/* daezpro.com — 06-adqueo-testimonios-faq-ctc-footer.css
   Home: seccion Adqueo, testimonios, FAQ, CTA+contacto, footer + su responsive. */

/* ============================================================================
   daezpro.com — frag-bottom.css
   Estilos NUEVOS de las secciones finales (F1). Se anexan a site.css.
   Prefijos exclusivos: .adq- (Adqueo) · .tst- (testimonios) · .faq- (FAQ)
                        .ctc- (contacto/form) · .foot- (footer)
   Usa las clases compartidas de site.css (.wrap .sec .kicker .h2 .card
   .ph/.ph--dark .btn/.btn--invert .lead .reveal). Aquí, cero redefiniciones.
   Responsive: breakpoints 1024 / 900 / 768 / 520.
   ============================================================================ */

/* ---------------------------------------------------------- 5.7 ADQUEO */
#adqueo{ scroll-margin-top:90px; }
.adq__title{ max-width:20ch; }
.adq-lead{
  /* Equivalente a .lead pero legible sobre fondo tinta (.lead usa --text-body) */
  max-width:60ch;
  margin-top:20px;
  font-size:clamp(18px, 1.4vw, 20px);
  line-height:1.55;
  color:var(--text-body);
}

.adq-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
  margin-top:54px;
}
.adq-card{
  display:flex;
  flex-direction:column;
  padding:16px 16px 22px;
  color:inherit;
  text-decoration:none;
}
a.adq-card:hover .adq-card__title{ color:var(--accent-strong); }
.adq-shot{ margin-bottom:18px; }
.adq-card__title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-h3);
  letter-spacing:-0.02em;
  line-height:1.15;
  color:var(--text-strong);
  margin-bottom:8px;
}
.adq-card__desc{
  font-size:var(--fs-title);
  line-height:1.5;
  color:var(--text-body);
}

.adq-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid var(--border);
}
.adq-foot__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.adq-seal{
  font-family:var(--font-mono);
  font-size:var(--fs-xs);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-muted);
}

/* ------------------------------------------------------ 5.8 TESTIMONIOS */
.tst-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
  margin-top:52px;
}
.tst-card{
  display:flex;
  flex-direction:column;
  padding:30px 30px 26px;
}
.tst-quote{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(48px, 6vw, 72px);
  line-height:.7;
  color:var(--accent);
  margin-bottom:10px;
}
.tst-body{
  /* Estilo del testimonial real; el texto placeholder se reemplaza tal cual */
  margin:0 0 26px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(18px, 1.6vw, 21px);
  line-height:1.4;
  letter-spacing:-0.01em;
  color:var(--text-strong);
}
.tst-meta{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--border);
}
/* Avatar circular 56px reutilizando .ph (aspect-ratio anulado) */
.tst-avatar{
  flex:0 0 auto;
  width:56px; height:56px;
  aspect-ratio:auto;
  padding:6px;
  gap:2px;
  border-radius:50%;
}
.tst-avatar .ph__icon{ font-size:var(--fs-title); }
.tst-avatar span:not(.ph__icon){ font-size:var(--fs-2xs); line-height:1.05; }
.tst-person{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.tst-name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-title);
  letter-spacing:-0.01em;
  color:var(--text-strong);
}
.tst-role{ font-size:var(--fs-sm); color:var(--text-body); line-height:1.3; }
.tst-stat{
  margin-left:auto;
  flex:0 0 auto;
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--fs-h3);
  letter-spacing:-0.02em;
  color:var(--accent-strong);
  white-space:nowrap;
}

/* -------------------------------------------------------------- 5.9 FAQ */
.faq__title{ margin-bottom:44px; }
.faq-list{
  max-width:820px;
  border-bottom:1px solid var(--border);
}
.faq-item{ border-top:1px solid var(--border); }
.faq-q{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 4px;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(17px, 1.5vw, 20px);
  letter-spacing:-0.02em;
  line-height:1.3;
  color:var(--text-strong);
}
.faq-q::-webkit-details-marker{ display:none; }
.faq-q::marker{ content:""; }
.faq-q__txt{ flex:1 1 auto; }
.faq-chevron{
  flex:0 0 auto;
  color:var(--text-body);
  transition:transform .24s cubic-bezier(.2,.7,.2,1), color .18s ease;
}
.faq-item[open] .faq-chevron{ transform:rotate(180deg); color:var(--accent-strong); }
.faq-q:hover{ color:var(--accent-strong); }
.faq-q:focus-visible{ outline:2px solid var(--accent-strong); outline-offset:2px; border-radius:var(--r-sm); }
.faq-a{
  padding:0 4px 24px;
  max-width:70ch;
}
.faq-a p{
  color:var(--text-body);
  font-size:var(--fs-title);
  line-height:1.6;
}
.faq-a a{ color:var(--accent-strong); font-weight:600; }

/* --------------------------------------------------- 5.10 CTA + CONTACTO */
.ctc__intro{ max-width:38ch; margin-bottom:40px; }
.ctc__sub{ margin-top:16px; }

.ctc-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 22px;
  padding:clamp(24px, 3vw, 40px);
}
.ctc-field{ display:flex; flex-direction:column; gap:8px; }
.ctc-field--full{ grid-column:1 / -1; }
.ctc-field label{
  font-size:var(--fs-body);
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--text-strong);
}
.ctc-req{ color:var(--accent-strong); }
.ctc-form input,
.ctc-form textarea,
.ctc-form select{
  width:100%;
  padding:12px 14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  color:var(--text-strong);
  font-family:var(--font-ui);
  font-size:var(--fs-title);
  line-height:1.5;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.ctc-form textarea{ resize:vertical; min-height:132px; }
.ctc-form input::placeholder,
.ctc-form textarea::placeholder{ color:var(--text-body); opacity:.7; }
.ctc-form input:focus-visible,
.ctc-form textarea:focus-visible,
.ctc-form select:focus-visible{
  outline:none;
  border-color:var(--accent);
  box-shadow:var(--sh-focus);
  background:var(--surface);
}
.ctc-legend{
  font-size:var(--fs-body);
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--text-strong);
  margin:0;
}
.ctc-intents{ display:flex; flex-wrap:wrap; gap:8px; }
.ctc-intent{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:6px 12px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:var(--surface);
  cursor:pointer;
  font-size:var(--fs-title);
  font-weight:500;
  color:var(--text-strong);
}
.ctc-intent:has(input:checked){
  border-color:var(--text-strong);
  background:var(--text-strong);
  color:var(--text-invert);
}
.ctc-intent input{ width:auto; margin:0; accent-color:currentColor; }

/* honeypot: fuera de pantalla, no anunciado, sin foco */
.ctc-hp{
  position:absolute;
  left:-9999px;
  width:1px; height:1px;
  overflow:hidden;
}

.ctc-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.ctc-submit{ align-self:flex-start; }
.ctc-alt{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:24px;
}
.ctc-alt__card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:22px 24px;
}
.ctc-alt__k{
  font-family:var(--font-mono);
  font-size:var(--fs-xs);
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent-strong);
}
.ctc-alt__v{
  font-family:var(--font-mono);
  font-size:var(--fs-body);
  line-height:1.5;
  color:var(--text-body);
}
.ctc-note{
  margin:0;
  font-size:var(--fs-body);
  font-weight:500;
  line-height:1.45;
  color:var(--accent-strong);
}
.ctc-note[hidden]{ display:none; }

/* mensaje de éxito que reemplaza al formulario */
.ctc-ok{
  display:flex;
  align-items:center;
  gap:16px;
  padding:clamp(24px, 3vw, 40px);
}
.ctc-ok:focus-visible{ outline:2px solid var(--accent-strong); outline-offset:3px; }
.ctc-ok__mark{
  flex:0 0 auto;
  width:40px; height:40px;
  display:inline-flex;
  align-items:center; justify-content:center;
  font-size:var(--fs-h3); font-weight:700;
  color:var(--accent-strong);
  background:var(--accent-soft);
  border-radius:50%;
}
.ctc-ok__msg{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(18px, 1.8vw, 22px);
  letter-spacing:-0.02em;
  line-height:1.25;
  color:var(--text-strong);
}

/* ==========================================================================
   RESPONSIVE  (breakpoints 1024 / 900 / 768 / 520)
   ========================================================================== */
@media (max-width:1024px){
  .adq-grid{ grid-template-columns:repeat(2, 1fr); }
}

@media (max-width:768px){
  .adq-grid{ gap:18px; margin-top:40px; }
  .adq-foot{ flex-direction:column; align-items:flex-start; }
  .ctc-alt{ grid-template-columns:1fr; gap:16px; }

  .tst-grid{ grid-template-columns:1fr; margin-top:40px; }

  /* Formulario a una columna */
  .ctc-form{ grid-template-columns:1fr; }

}

@media (max-width:520px){
  .adq-grid{ grid-template-columns:1fr; }

  .tst-meta{ flex-wrap:wrap; }
  .tst-stat{ margin-left:0; flex-basis:100%; }

  .ctc-submit{ width:100%; }
  .ctc-form .btn{ width:100%; }

}
