/* ============================================================
   COMPONENTS — ESTILOS VISUALES, ANIMACIONES, ESTADOS, HOVERS
   ============================================================ */




/* ------------------------------ */
/*  HERO  LANDING PAGE.           /
/* ------------------------------ */

/*
.hero {
  background-image: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.1)
    ),
    url('/wp-content/themes/aquayi-theme/assets/img/hero-2400-compressed.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top:8rem;
}

@media (max-width: 1600px) {
  .hero {
      background-image: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.1)
    ),
    url('/wp-content/themes/aquayi-theme/assets/img/hero-1600-compressed.webp');

  }
}

@media (max-width: 1200px) {
  .hero {
     background-image: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.1)
    ),
    url('/wp-content/themes/aquayi-theme/assets/img/hero-1200-compressed.webp');
  }
}

@media (max-width: 800px) {
  .hero {
    background-image: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.1)
    ),
    url('/wp-content/themes/aquayi-theme/assets/img/hero-800-compressed.webp');
  
  }
}

@media (max-width: 480px) {
  .hero {
    background-image: linear-gradient(
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.1)
    ),
    url('/wp-content/themes/aquayi-theme/assets/img/hero-480-compressed.webp');
   
  }
}
*/






.hero {
  position: relative;
  min-height: 36rem;
  padding: 4rem 1.5rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: 18px;
  margin-top: 8rem;
}

.hero-img {
    position: absolute;
    inset: 0;
    width: 100%;

    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.hero-inner {
  position: relative;
  z-index: 2;
}

/* etiqueta visible dentro de .hero-inner para debugging - quitar después */
.aqy-hero-label {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 99999;
  background: rgba(0,0,0,0.65);
  color: #fff;
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 6px;
  line-height: 1;
  pointer-events: none;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  max-width: calc(100% - 32px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 3px 10px rgba(0,0,0,0.25);
}

/* Si prefieres que el label vaya dentro del flujo (por ejemplo, centrado), comenta el absolute */


/*.hero {
    position: relative;
    width: 100%;
    height: 80vh;
    min-height: 30rem;
    margin-top: 8rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}*/



.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        rgba(255, 255, 255, 0.1),
        rgba(255, 255, 255, 0.1)
    );
}


.hero-inner {
  background: rgba(8, 8, 8,0.60);
  padding: 2rem;
  border-radius: 12px;
  backdrop-filter: blur(2px);
  max-width: 600px;
  color: white;
  top: 4rem;
}



/*.hero-subtitle {
  font-weight: bold;
}*/

@media (max-width: 768px) {
  .hero-title {
    font-size: 2.3rem;
  }
  .hero-inner {
    padding: 0rem 1.2rem;
  }
}





/* ------------------------------ */
/* 3. DROPDOWN VISUAL */
/* ------------------------------ */

/* Estado base invisible */


/* Contenedor del menú — SOLO estructura */

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  visibility: hidden;
  z-index: 3000;
  background: var(--bg-header);
  border-radius: var(--radius-card);
  border: 1px solid var(--border-soft);
  box-shadow: 0 9px 8px #0000005c;
  width: -webkit-fill-available;
  margin-right: 1rem;
  margin-left: 1rem;

  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
}

.dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    transition: all, transform 400ms;
    visibility: visible;
  
}

.dropdown-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dropdown-menu-list li {
  display: block;
}


/* Items */
.dropdown-menu-list li a {
  display: block;
  padding: 0.4rem 1.3rem;
  margin: 0.8rem 1rem;

  /*background-color: #8d7d70;*/
  
  color:#413e3a;
  border-radius: 18px;


  /*text-align: center;*/
  text-decoration: none;
  cursor: pointer;
  font-weight: 500;

  transition: background .25s ease, color .25s ease;
}


/* Hover estilo tierra */
.dropdown-menu-list li a:hover,
.dropdown-menu-list li a:active,
.dropdown-menu-list li.open > a:first-of-type {
  background: rgba(131,124,117,0.18);
  color: var(--text-primary);
  border-radius: 12px;
}

/* Estado de cierre suave */
.dropdown-menu.closing {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}


.submenu-toggle,
.submenu-toggle::before {
  display: none !important; /* sin flecha */
}



/* ------------------------------ */
/*  FICHA DE SERVICIO.            */
/* ------------------------------ */

.servicio {
    transition: transform .3s ease;
}

.servicio:hover {
    transform: translateY(-4px);
}

.servicio-ficha {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-top: 3rem;

}

.servicio-header {
  background-color:var(--bg-service-header);
  color:white;
  padding:2rem;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  align-items: center;

}
.servicio-header img {
  border-radius:25px;
  margin: 2px;
  max-width: 56rem;
  width: 100%;

}

.servicio-header p {
  text-align: center;
  font-size: 2rem;
}


.servicio-content {
  background-color: var(--bg-service-content);
  padding:2rem;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
}

.servicio-content a {
  align-self: center;
  margin-top:auto;
}

.servicio-content p.cta-line {
  align-self: center;
  margin-top:auto;
}

@media (min-width: 801px) {
  .servicio-ficha .know-more {
      display: none;
  }
}


@media (max-width: 800px) {
   .servicio-ficha {
      grid-template-columns: 1fr;
  }
    .servicio-content.close {
        visibility: hidden;
        position: absolute;
        opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s ease-out;
    }

    .servicio-content.open {
        visibility: visible;
        position: relative;
        opacity: 1;
        transform: translateY(0);
    }

    .know-more {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        text-decoration: none;
        color: var(--bg-service-content);

    }

    /* Recuadro del + */
    .know-more::after {
        content: "+";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 23px;
        height: 23px;
        border: 1px solid currentColor;
        border-radius: 4px;
        font-size: 14px;
        line-height: 1;
        transition: transform 0.25s ease, background 0.25s ease;
    }

    /* Hover elegante */
    .know-more:hover::after {
        /*transform: rotate(90deg);*/
        background: rgba(0,0,0,0.05);
    }

    .servicio-ficha:has(.servicio-content.open) .know-more::after {
        content: "–";
    }
    .servicio-ficha:has(.servicio-content.open) .know-more {
        display: none;
    }

}


/* ------------------------------ */
/*  QUIENES SOMOS - SECTION       */
/* ------------------------------ */

.quienes-somos h2 {
    text-align: center;
}

.foto-juntos img {
    border-radius: 12px;
}

.post-card__read {
    font-size: 1.6rem;
    margin-left: 1rem;
}

.cta-suave, .cta-suave a {
    color: #6C665E;
}

p.cta-line ,p.cta-line-2 {align-self: center;margin-top: 0.4rem;}

/*.cta-line a {
    color: #a96b46;
    text-decoration: none;
    opacity: 0.7;
    font-weight: 500;
}

.cta-line-2 a {
    color: #a96b46;
    text-decoration: none;
    opacity: 0.8;
    font-weight: 500;
    border-bottom: 1px dotted;
}

.cta-line a:hover,.cta-line-2 a:hover {
    opacity: 1;
    border-bottom: 1px solid;
}*/

.cta-linse a {
  display: inline-block;
  padding: 4px 13px;
  border: 1px solid rgba(195, 160, 115, 0.35); /* tono cálido suave */
  border-radius: 14px;
  color: #b68a51; /* acento cálido, zen */
  font-weight: 500;
  text-decoration: none;
  transition: all 0.25s ease;
}

.cta-linse a:hover {
  /*background: rgba(195, 160, 115, 0.08); /* halo zen */
  border-color: #b68a51;
  color: #925f2d; /* un pelín más oscuro al pasar */
}

.cta-line a, .cta-line-warm a  {
  display: inline-block;
  padding: 4px 13px;
  /*border: 1px solid rgba(90, 60, 40, 0.23); cálido oscuro suave */
  border: 1px solid #7a674e59;
  border-radius: 14px;
  color: #7a674e; /* marrón suave pero visible */
  font-weight: 500;
  text-decoration: none;
  transition: all 0.25s ease;
  /*background: rgba(122, 103, 78, 0.02);   /* halo suave */
  background: rgba(122, 103, 78, 0.08);
}

.cta-line-warm a:hover, .cta-line a:hover {
  border-color: rgba(122, 103, 78, 0.55); /* un poco más visible */
  background: rgba(122, 103, 78, 0.04);   /* halo suave */
  color: #6A5A43; /* un pelín más profundo */
}

/* Micro banners – autoridad sutil */
.aqy-micro-banners {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px 0 24px;
}

.aqy-micro-banner {
  padding: 10px 18px;
  border-radius: 999px;
  background-color: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 15px;
  font-weight: 500;
  color: #5a4636; /* tono tierra, ajusta a tu paleta */
  white-space: nowrap;
}

.aqy-logo-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 24px 0;
}

.aqy-logo-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 7px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
}

.aqy-logo-badge img {
  max-height: 50px;
  max-width: 100%;
  object-fit: contain;
}

/* Control
.aqy-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9em;
  color: #777;
  text-decoration: none;
  margin: 8px 0 16px;
}

.aqy-toggle:hover {
  color: #000;
}

.aqy-toggle-icon {
  font-weight: bold;
}

.trayectoria-header {
  margin-bottom: 0.5em;
  align-items: baseline !important;
}

.trayectoria-header h3 {
  margin-bottom: 0.2em;
}

.trayectoria-header .aqy-toggle {
  margin-top: 0;
}


/* Colapsado solo en móvil 
@media (min-width: 769px) {
  .aqy-toggle {display: none;}
}
@media (max-width: 768px) {

  .trayectoria-bloque {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.8s ease;
  }

  .trayectoria-bloque.is-open {
    max-height: 2000px;
  }
}
 */