/* ============================================================
   Preguntas frecuentes — estilo de las landings: dos columnas con línea
   divisoria, "+" que gira a "×", respuesta con transición de altura (faq.js).
   ============================================================ */
.bt.fq { background: #fff; padding: 88px 0 80px; color: var(--ink); }
.fq-head { text-align: center; max-width: 620px; margin: 0 auto; }
.fq .eyebrow { margin: 0 0 12px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }
.fq-h2 { margin: 0 0 12px; font: 800 max(28px, min(3.5vw, 42px))/1.12 'Plus Jakarta Sans', sans-serif; letter-spacing: -1px; color: var(--ink); }
.fq-sub { margin: 0; font-size: 16px; line-height: 1.6; color: var(--muted); }

.fq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; max-width: 1000px; margin: 44px auto 0; align-items: start; }
.fq-col { border-top: 1px solid var(--line); }
.fq details { border-bottom: 1px solid var(--line); }
.fq summary {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;
  padding: 19px 0; cursor: pointer; list-style: none;
  font: 600 15.5px/1.4 'Plus Jakarta Sans', Inter, sans-serif; letter-spacing: -.1px; color: var(--ink);
  -webkit-tap-highlight-color: transparent;
}
.fq summary::-webkit-details-marker { display: none; }
.fq summary::after {
  content: "+"; flex: none; margin-top: -2px; font: 400 22px/1 Inter, sans-serif; color: var(--blue);
  transition: transform .25s var(--ease-out);
}
.fq details[open] summary::after { transform: rotate(45deg); }
@media (hover: hover) { .fq summary:hover { color: var(--blue); } }
.fq-r { overflow: hidden; }
.fq-r p { margin: 0; padding: 0 36px 20px 0; font-size: 14.5px; line-height: 1.6; color: var(--muted); }

.fq-contacto {
  display: flex; align-items: center; gap: 14px; max-width: 1000px; margin: 36px auto 0;
  padding: 18px 22px; border-radius: 14px; background: var(--sky);
}
.fq-contacto-ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #fff; }
.fq-contacto-ico svg { width: 21px; height: 21px; fill: none; stroke: var(--blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fq-contacto p { margin: 0; }
.fq-contacto b { display: block; font: 700 15px/1.35 'Plus Jakarta Sans', sans-serif; color: var(--ink); }
.fq-contacto p span { display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.5; color: #4e6b81; }   /* solo el texto, no el recuadro del ícono */
.fq-contacto a { color: var(--blue); font-weight: 600; text-decoration: none; }
@media (hover: hover) { .fq-contacto a:hover { text-decoration: underline; } }

@media (max-width: 760px) {
  .bt.fq { padding: 60px 0; }
  .fq-sub { font-size: 15px; line-height: 1.55; }
  .fq-grid { grid-template-columns: 1fr; margin-top: 30px; }
  .fq-col + .fq-col { border-top: 0; }
  .fq summary { padding: 17px 0; font-size: 15px; }
  .fq-r p { padding-right: 0; font-size: 14.5px; line-height: 1.55; }
  .fq-contacto { align-items: flex-start; padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) { .fq summary::after { transition: none; } }
