/* Oli · preguntas.css — solo /preguntas/ */
.faq { padding-block: clamp(32px, 6vw, 104px) var(--s-seccion); }
.faq__lado { display: grid; gap: var(--s-5); align-content: start; margin-bottom: var(--s-7); }
.faq__lado h1 { font-family: var(--f-display); font-weight: 600; font-size: var(--t-h1-int); line-height: 1; letter-spacing: -.02em; color: var(--ink); }
.faq__lado h1 .firma { font-size: 1.08em; line-height: 1.18; vertical-align: -.04em; }
.faq__saltos { display: flex; flex-wrap: wrap; gap: 0 var(--s-6); }
@media (min-width: 1024px) {
  .faq__lado { grid-column: 1 / 5; grid-row: 1; align-self: start; position: sticky; top: 112px; margin: 0; }
  .faq__saltos { display: grid; }
  .faq__lista { grid-column: 6 / 13; grid-row: 1; }
}

/* Buscador */
.buscador { display: grid; gap: var(--s-2); margin-top: var(--s-2); }
.no-js .buscador { display: none; }
.buscador label { font-weight: 600; font-size: 15px; color: var(--ink); }
.buscador__campo { position: relative; }
.buscador__campo .icono { position: absolute; left: 16px; top: 50%; translate: 0 -50%; color: var(--slate); pointer-events: none; }
.buscador input {
  width: 100%; min-height: 52px; padding: 0 16px 0 50px; border: 1.5px solid var(--borde-input); border-radius: var(--r-input);
  background: var(--off-white); color: var(--ink); font-size: 17px;
}
.buscador input:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; }
.buscador__resultado { font-size: var(--t-caption); color: var(--slate); min-height: 1.45em; }

/* Grupos y acordeón */
.faq__grupo + .faq__grupo { margin-top: var(--s-8); }
.faq__grupo h2 { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); line-height: 1.1; letter-spacing: -.01em; color: var(--ink); margin-bottom: var(--s-4); scroll-margin-top: 96px; }
.faq__grupo { scroll-margin-top: 96px; }
.faq__grupo[hidden] { display: none; }
.pregunta { border-top: 1px solid var(--sand); }
.pregunta:last-of-type { border-bottom: 1px solid var(--sand); }
.pregunta summary {
  display: grid; grid-template-columns: minmax(0, 1fr) 22px; align-items: center; gap: var(--s-4);
  min-height: 56px; padding-block: var(--s-3); cursor: pointer; list-style: none;
  font-family: var(--f-texto); font-weight: 500; font-size: clamp(1.1875rem, 1.1rem + .4vw, 1.375rem); line-height: 1.3; color: var(--ink);
}
.pregunta summary::-webkit-details-marker { display: none; }
.pregunta summary:focus-visible { outline-offset: 2px; border-radius: 4px; }
.pregunta__signo { width: 22px; height: 22px; overflow: visible; }
/* Cerrada: un «+». Abierta: la raya vertical se retrae y la horizontal se vuelve la ondita de Oli */
.pregunta__signo path { fill: none; stroke: var(--terracota-deep); stroke-width: 2; stroke-linecap: round; transform-origin: center; transform-box: fill-box; }
.pregunta__signo .ondulado { opacity: 0; scale: 1 .2; }
.pregunta[open] .pregunta__signo .ondulado { opacity: 1; scale: 1 1; }
.pregunta[open] .pregunta__signo .recto { opacity: 0; }
.pregunta[open] .pregunta__signo .vertical { scale: 1 0; rotate: 90deg; }
.pregunta__resp { padding: 0 0 var(--s-5); max-width: 62ch; font-size: 17px; line-height: 1.65; color: var(--ink); }
.pregunta mark { background: var(--mostaza-soft); color: var(--ink); border-radius: 2px; }
@media (prefers-reduced-motion: no-preference) {
  .pregunta__signo path { transition: opacity 200ms var(--ease-suave), rotate 240ms var(--ease-suave), scale 240ms var(--ease-suave); }
  .pregunta::details-content { block-size: 0; overflow: clip; transition: block-size 260ms var(--ease-suave), content-visibility 260ms allow-discrete; }
  .pregunta[open]::details-content { block-size: auto; }
}
@media (hover: hover) { .pregunta summary:hover .pregunta__q { text-decoration: underline; text-decoration-color: var(--rosa); text-underline-offset: 5px; text-decoration-thickness: 2px; } }
.faq__cierre { margin-top: var(--s-8); font-family: var(--f-italica); font-style: italic; font-size: 1.375rem; line-height: 1.4; color: var(--graphite); }
