/* ==========================================================================
   Preguntas frecuentes (faq.php) — diseño 2026, prefijo fq-.
   Boceto aprobado: mockups/faq-rediseno-2026.html.
   Preguntas con <details>: se abren y cierran sin JS.
   ========================================================================== */
.fq { padding: 40px 0 80px; }
.fq-wrap { width: var(--b-max); margin: 0 auto; }
.fq-head h1 { font-size: var(--b-fs-h1, clamp(34px, 3.4vw, 50px)); font-weight: 800; line-height: 1.05; }
.fq-head p { margin-top: 10px !important; color: var(--b-muted); font-size: var(--b-fs-lead, 20px); max-width: 34em; }

/* Cómo se juega en 3 pasos */
.fq-how { margin-top: 28px; padding: 26px 28px; border-radius: var(--b-radius-lg); background: linear-gradient(135deg, var(--b-blue-soft) 0%, var(--b-pink-soft) 100%); }
.fq-how-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.fq-how h2 { font-size: var(--b-fs-h2, 28px); font-weight: 800; line-height: 1.1; }
.fq-how-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.fq-step { padding: 20px 22px; }
.fq-step .b-step-num { margin-bottom: 12px; }
.fq-step h3 { font-size: var(--b-fs-h3, 21px); font-weight: 800; line-height: 1.2; }
.fq-step p { margin-top: 6px !important; color: var(--b-muted); font-size: 17px; line-height: 1.45; }

/* Índice + grupos */
.fq-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 40px; }
.fq-toc { position: sticky; top: calc(var(--site-header-h, 80px) + 20px); padding: 10px; }
.fq-toc ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.fq-toc a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; color: var(--b-text); font-size: 18px; font-weight: 700; text-decoration: none; }
.fq-toc a:hover { background: var(--b-surface-2); }
.fq-toc small { margin-left: auto; min-width: 28px; padding: 0 8px; border-radius: 999px; background: var(--b-surface-2); color: var(--b-muted); font-size: 14px; font-weight: 800; text-align: center; }

.fq-groups { display: grid; gap: 36px; min-width: 0; }
.fq-group { scroll-margin-top: calc(var(--site-header-h, 80px) + 20px); }
.fq-group h2 { display: flex; align-items: center; gap: 10px; font-size: var(--b-fs-h2, 26px); font-weight: 800; line-height: 1.15; margin-bottom: 14px !important; }
.fq-item { padding: 0; margin-top: 12px; overflow: hidden; }
.fq-item summary {
    display: flex; align-items: center; gap: 16px;
    padding: 18px 22px; cursor: pointer; list-style: none;
    font-size: 20px; font-weight: 800; line-height: 1.3;
}
.fq-item summary::-webkit-details-marker { display: none; }
.fq-item summary:hover { background: var(--b-surface-2); }
.fq-chev { margin-left: auto; width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%; background: var(--b-surface-2); position: relative; transition: transform .2s ease, background-color .2s ease; }
.fq-chev::before { content: ''; position: absolute; left: 50%; top: 45%; width: 9px; height: 9px; border-right: 3px solid var(--b-text); border-bottom: 3px solid var(--b-text); transform: translate(-50%, -50%) rotate(45deg); }
.fq-item[open] .fq-chev { transform: rotate(180deg); background: var(--b-blue-soft); }
.fq-answer { padding: 0 22px 20px; color: #394150; font-size: 18px; line-height: 1.6; }
.fq-answer ul { margin: 8px 0 0 !important; padding-left: 22px !important; display: grid; gap: 4px; }
.fq-answer a { color: var(--b-pink-ink); font-weight: 700; }
.fq-answer strong { color: var(--b-text); }
.fq-answer .fq-more-link { display: inline-block; margin-top: 8px; }

/* Caja final */
.fq-more { margin-top: 48px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 26px 30px; }
.fq-more-ico { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; background: var(--b-pink-soft); font-size: 30px; }
.fq-more h2 { font-size: var(--b-fs-h3, 24px); font-weight: 800; }
.fq-more p { color: var(--b-muted); font-size: 18px; }

@media (prefers-reduced-motion: reduce) { .fq-chev { transition: none; } }
@media (max-width: 1000px) {
    .fq-layout { grid-template-columns: 1fr; gap: 20px; }
    .fq-toc { position: static; }
    .fq-toc ul { display: flex; flex-wrap: wrap; gap: 6px; }
    .fq-toc a { padding: 8px 14px; background: var(--b-surface-2); }
}
@media (max-width: 760px) {
    .fq-how-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .fq { padding-top: 20px; }
    .fq-head p { font-size: var(--b-fs-lead, 18px); }
    .fq-how { padding: 20px 16px; }
    .fq-how h2 { font-size: var(--b-fs-h2, 24px); }
    .fq-how .b-btn, .fq-more .b-btn { width: 100%; }
    .fq-item summary { padding: 16px; font-size: 18px; }
    .fq-answer { padding: 0 16px 18px; font-size: 17px; }
    .fq-more { grid-template-columns: 1fr; padding: 22px 18px; }
    .fq-more-ico { display: none; }
}
