/* ---------- 9 · Preguntas ---------- */
.faq { display: grid; gap: clamp(8px, 1.6vh, 16px); }
.faq-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.faq-tab { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--glass); color: var(--text); font-size: 13px; font-weight: 650; transition: all .28s var(--ease); }
.faq-tab i { font-size: 12px; color: var(--accent); }
.faq-tab:hover { color: var(--strong); border-color: var(--accent); }
.faq-tab[aria-selected="true"] { background: var(--btn-bg); color: var(--btn-ink); border-color: transparent; }
.faq-tab[aria-selected="true"] i { color: var(--btn-ink); }
.faq-body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .6fr); gap: 16px; align-items: start; }
.faq-lists { min-width: 0; }
.faq-group { display: grid; gap: 8px; }
.js .faq-group:not(.is-active) { display: none; }
.faq-group.is-active { animation: view-in .5s var(--ease) both; }
.faq-group details { border: 1px solid var(--line); border-radius: 16px; padding: 0 18px; background: var(--glass); transition: border-color .28s var(--ease), background .28s var(--ease); }
.faq-group details[open] { border-color: color-mix(in srgb, var(--sky) 45%, transparent); background: color-mix(in srgb, var(--sky) 5%, var(--card)); }
.faq-group summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: clamp(44px, 7vh, 56px); padding: 10px 0; color: var(--strong); font-size: clamp(13.5px, 2vh, 15.5px); font-weight: 650; line-height: 1.35; letter-spacing: -.015em; }
.faq-group summary::-webkit-details-marker { display: none; }
.faq-group summary::after { content: "\2b"; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 12px; color: var(--accent); flex: none; transition: transform .28s var(--ease); }
.faq-group details[open] summary::after { transform: rotate(45deg); }
.faq-group details p { font-size: clamp(12.5px, 1.85vh, 14.5px); line-height: 1.7; padding-bottom: 14px; }
.faq-group details[open] p { animation: view-in .4s var(--ease) both; }
.faq-aside { display: grid; gap: 10px; align-content: start; padding: 18px; border-radius: 20px; border: 1px solid var(--line-2); background: var(--glass); }
.faq-aside h3 { font-size: 17px; letter-spacing: -.03em; }
.faq-aside p { font-size: 13px; line-height: 1.6; }
.faq-aside hr { border: 0; border-top: 1px solid var(--hair); width: 100%; margin: 4px 0; }
.faq-aside .btn { justify-self: start; }
html:not(.js) .faq-group { margin-bottom: 14px; }
@media (min-width: 901px) and (max-height: 880px) {
  .faq-aside { padding: 14px; gap: 8px; }
  .faq-aside p { font-size: 12.5px; line-height: 1.5; }
}
@media (max-width: 900px) {
  .faq-body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .faq-tabs { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 4px 16px 6px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .faq-tabs::-webkit-scrollbar { display: none; }
  .faq-tab { flex: none; min-height: 44px; padding-inline: 14px; scroll-snap-align: start; }
  .faq-group summary { min-height: 48px; }
  .faq-group details p { font-size: 14px; line-height: 1.65; }
  .faq-aside .btn { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-group { animation: none !important; }
}
