/* cdm */
/* Logo giratorio */
body{
  overflow-x: clip;
}

/* * { outline: 1px solid red; } */

.centrada {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
z-index: -1;
}

.centrada-h { /* alternativa personalizada */
  position: absolute;
  top: 70px;
  left: 50%;
  width: 100%;
z-index: -1;
}


.absolute {
position:absolute;
}

.relative {
position:relative;
}

.margin-top--60 {
margin-top: -60px!important;
}

.margin-top--30 {
margin-top: -30px!important;
}
/* END Logo giratorio */

/* Efecto fondo texto degradado */
.mark-gradient .has-pale-pink-color {
  background: linear-gradient(135deg, rgb(149, 227, 244), rgb(28, 174, 199), rgb(32, 56, 182));
  background-size: 200% 200%;
  background-position: 0% 50%;
  animation: gradientFlow 6s ease infinite;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
}

@keyframes gradientFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}



.mark-gradient .has-light-green-cyan-color {
  background: linear-gradient(135deg, rgb(225, 254, 179), rgb(73, 165, 78), rgb(250, 186, 36));
  background-size: 200% 200%;
  background-position: 0% 50%;
  animation: gradientFlowPink 6s ease infinite;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
}

@keyframes gradientFlowPink {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
/* END Efecto fondo texto degradado */

/* FORMULARIO DE CONTACTO PROPIO */
.fila-doble {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.fila-doble .campo {
  flex: 1;
  min-width: 200px;
}

.campo {
  margin-top: 10px;
}

.boton-enviar {
  margin-top: 10px;
}

@media (max-width: 768px) {
  .fila-doble {
    flex-direction: column;
  }
}




#formulario-contacto label, #formulario-contacto input, #formulario-contacto textarea, #formulario-contacto button {
    font-family: var(--wp--preset--font-family--dm-sans);
}
#formulario-contacto label {
    font-size: 1rem;
    color: #333333;
}

#formulario-contacto input, #formulario-contacto textarea {
    height: 40px;
    padding: 10px;
    box-sizing: border-box;
    border: none;
    font-size: 1rem;
    margin: 10px 0px 15px;
    width: 100%;
}

#formulario-contacto textarea {
    height: 100px!important;
}

#formulario-contacto input[type="checkbox"] {
    height: 16px !important;
    width: 16px !important;
    padding: 0px !important;
    margin: 0px 7px 20px 0px!important;
}

#formulario-contacto input:focus, #formulario-contacto textarea:focus {
    outline: none;
    /* background-color: #f7f7f7; */
}

#formulario-contacto button {
    width: 100%;
    height: 50px;
    border: none;
    background-color: black;
    color: white;
    font-size: 1rem;
background: linear-gradient(135deg, #020381, #2874fc);
}







.popup-formulario-enviado {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  /* background-color: rgba(0, 0, 0, 0.6); */ /* fondo oscuro semitransparente */
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.popup-formulario-enviado .contenido-popup {
  background: #fff;
  max-width: 500px;
  width: 100%;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  animation: aparecer 0.3s ease-out;
}

@keyframes aparecer {
  from { transform: scale(0.9); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}


/* END FORMULARIO DE CONTACTO PROPIO */



/* Estilos generales */
.margin-top--50 {
margin-top: -50px!important;
}

.margin-top--100 {
margin-top: -100px!important;
}

.mark-lr-padding-15 mark {
padding: 0 15px!important;
}

.blur-bg-10 {
backdrop-filter: blur(10px);
}


@media (max-width: 768px) {
.hide-border-mobile {
border:0;
}
}

/* END Estilos generales */


/* footer menu in column in phone */
@media (max-width: 768px) {
.navigation-column-mobile {
--navigation-layout-direction: column;
text-align: center !important;
        align-items: normal !important;
}
/* END footer menu in column in phone */
/* END cdm */

























/* Generales */
a {
  text-decoration: none!important;
  color: #000;
}
/* END Generales */

/* Formulario de contacto */
.wpforms-field input:focus, .wpforms-field textarea:focus  {
  outline: none!important;
  border: none!important;
  background-color: #8080801f!important;
  box-shadow: none!important;
  border-bottom: solid 1px black !important;
}
.wpforms-field input, .wpforms-field textarea {
  border: none!important;
  border-radius: 0!important;
  border-bottom: solid 1px #000!important;
  background:none!important;
}

.wpforms-field textarea {
  height: 150px!important;
}

.wpforms-field fieldset input {
  border-bottom: none!important;
}

.wpforms-submit {
  background-color: #000!important;
  border-radius: 0!important;
}

.wpforms-field label {
  font-weight: 300!important;
}
/* END Formulario de contacto */



/* Puntero Círculo */
html, body {
      margin: 0;
      padding: 0;
      height: 100%;
      /*cursor: none;*/ /* Oculta el cursor nativo */
    }

    a {
      /*cursor: none !important;*/ /* Evita el puntero de dedo sobre enlaces */
    }

    .custom-cursor {
      position: fixed;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      pointer-events: none;
      z-index: 9999;
      background-color: white;
      mix-blend-mode: difference; /* Inverso según fondo */
      transition: transform 0.05s ease;
    }

    @media (pointer: coarse) {
      html, body, a {
        cursor: auto;
      }

      .custom-cursor {
        display: none;
      }
    }
/* END Puntero Círculo */



/* Reverse column on mobile */
@media (max-width: 768px) {
	.reverse {
		flex-direction: column-reverse;
		flex-wrap: inherit !important;
	}
}
/* END Reverse column on mobile */

/* Blur Effect */
.glass-effect {
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}
/* END Blur Effect*/


/* Estilos del lightbox */
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(5px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.lightbox-overlay img {
  max-width: 90%;
  max-height: 80vh;
  /* box-shadow: 0 0 20px rgba(255,255,255,0.2); */
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2rem;
  color: black;
  cursor: pointer;
  user-select: none;
  padding: 0 20px;
}

.lightbox-prev { left: 0; }
.lightbox-next { right: 0; }

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2rem;
  color: black;
  cursor: pointer;
}
/* END Estilos del lightbox */





/* Hyperlink Group Block */
.wp-block-tiptip-hyperlink-group-block {
  text-decoration: none;
}
/* END Hyperlink Group Block */










@media (max-width: 768px) {
.tex-align-center-mobile {
text-align: center;
}
}







@media (max-width: 768px) {
.margin-auto-mobile {
margin: auto!important;
}
}



@media (max-width: 768px) {
.display-only-desk {
display: none;
}
}


@media (min-width: 768px) {
.display-only-mobile {
display: none;
}
}


.fixed-top {
position:fixed;
top-0;
z-index:9998;
width:100%;
}










/* FONDO MENÚ MÓVIL */
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
background-color: #f8f5f14c;
z-index: -1;
padding-top:120px;
backdrop-filter: blur(20px);
}


.wp-block-navigation__responsive-container-content {
align-items:center!important;
}
.wp-block-navigation__container {
text-align:center!important;
align-items:center!important;
}

.wp-block-navigation__responsive-close {
max-width: 1410px!important;
}
/* END FONDO MENÚ MÓVIL */




















/* Esto es de la página de cada proyecto */
@media (min-width: 600px) {
.fixed-bottom-desk {
position: fixed;
bottom: 0px;
}

.fixed-top-desk {
position: fixed;
top: 0px;
}
}



@media (max-width: 600px) {
.desk-only {
display: none;
}
}

/* quitar la flech del bloque detalles */
details summary {
  list-style: none;         /* Quita el marcador predeterminado */
  cursor: pointer;
}


/* efecto en el bloque de detalles */

/* END Esto es de la página de cada proyecto */




























/* Página de proyectos - listado */
/* 🧱 Bloque interactivo */
.wp-block-tiptip-hyperlink-group-block {
  position: relative;
  display: inline-block;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
}

/* 📷 Imagen con posible zoom */
.wp-block-tiptip-hyperlink-group-block img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
  z-index: 0;
}

/* 🎨 Fondo blanco translúcido */
.bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

/* 📝 Texto que debe verse siempre en móvil */
.text-overlay {
  position: absolute;
  inset: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: left;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.4s ease;
  opacity: 1;
}

.text-overlay * {
  text-align: left !important;
}

/* 🖥️ Escritorio: ocultar texto y mostrar en hover */
@media (min-width: 1024px) {
  .text-overlay {
    opacity: 0;
  }

  .wp-block-tiptip-hyperlink-group-block:hover img {
    transform: scale(1.05);
  }

  .wp-block-tiptip-hyperlink-group-block:hover .bg-overlay {
    opacity: 1;
  }

  .wp-block-tiptip-hyperlink-group-block:hover .text-overlay {
    opacity: 1;
  }
}

/* 📱 Móvil: texto visible, fondo y zoom al tocar */
@media (max-width: 1023px) {
  .text-overlay {
    opacity: 1;
  }

  .bg-overlay {
    opacity: 0;
  }

  .wp-block-tiptip-hyperlink-group-block img {
    transform: none !important;
  }

  .wp-block-tiptip-hyperlink-group-block.is-touched .bg-overlay {
    opacity: 1;
  }

  .wp-block-tiptip-hyperlink-group-block.is-touched img {
    transform: scale(1.05);
  }
}
/* END Página de proyectos - listado */























/* Pruebas View Transitions - BORRAR */
@view-transition {
  navigation: auto;
}

::view-transition-group(*) {
    animation-duration: 0.5s;
}

.wp-post-image {
    view-transition-name: prueba;
}





