/* Asistente guiado (/que-hago) · diseño "Órbita grafito" (T-56). Solo tokens; ambos temas.
   El contenedor es una .card de styles.css; aquí solo va lo propio del asistente. */
.asist { max-width: 46rem; margin-inline: auto; }
.asist.is-js .asist__sinjs { display: none; }
.asist .card { padding: clamp(var(--sp-5), 4vw, 2.5rem); }

.asist__lista { display: grid; gap: var(--sp-2); margin: var(--sp-5) 0 0; padding: 0; list-style: none; }
.asist__lista a { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: var(--tap-lg); padding: var(--sp-3) var(--sp-5); border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: var(--bg); color: var(--text-strong); font-weight: var(--fw-semibold); text-decoration: none; }
.asist__lista a .icon { flex: none; color: var(--accent); }
.asist__lista a:hover { border-color: var(--accent); background: var(--accent-soft); }

.asist__progreso { margin: 0 0 var(--sp-3); font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--accent); }
.asist__q { margin: 0 0 var(--sp-3); font-family: var(--font-display); font-size: var(--fs-2xl); font-weight: var(--fw-semibold); line-height: 1.2; letter-spacing: var(--tracking-display); color: var(--text-strong); overflow-wrap: anywhere; }
.asist__q:focus { outline: none; }
.asist__q:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 4px; border-radius: var(--r-sm); }
.asist__ayuda { margin: 0 0 var(--sp-4); color: var(--text-muted); font-size: var(--fs-sm); line-height: 1.6; }

.asist__opts { display: grid; gap: var(--sp-3); margin: var(--sp-5) 0 0; padding: 0; list-style: none; }
.asist__opt { width: 100%; min-height: var(--tap-lg); padding: var(--sp-3) var(--sp-5); text-align: left; font: inherit; font-weight: var(--fw-semibold); color: var(--text-strong); background: var(--bg); border: 1px solid var(--field-line); border-radius: var(--r-xl); cursor: pointer; transition: border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out); }
.asist__opt:hover { border-color: var(--accent); background: var(--accent-soft); }
.asist__opt:focus-visible, .asist__enlaces a:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }

.asist__bloque { margin-top: var(--sp-5); padding-top: var(--sp-5); border-top: 1px solid var(--line); }
.asist__bloque p { margin: 0 0 var(--sp-3); color: var(--text); line-height: 1.6; }
.asist__sub { margin: 0 0 var(--sp-2); font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--accent); }
.asist__tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: 0 0 var(--sp-3); padding: 0; list-style: none; }
.asist__tags li { padding: .25rem .75rem; font-size: var(--fs-xs); color: var(--text); background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: var(--r-pill); }
.asist__enlaces { display: grid; gap: var(--sp-1); margin: 0; padding: 0; list-style: none; }
.asist__enlaces a { display: inline-flex; align-items: center; min-height: var(--tap); color: var(--accent); font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: 3px; }
.asist__wa { margin-top: var(--sp-6); width: 100%; white-space: normal; text-align: center; }

.asist__nav { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-6); }
.asist__aviso { max-width: 46rem; margin: var(--sp-5) auto 0; font-size: var(--fs-xs); line-height: 1.6; color: var(--text-muted); }

@media (prefers-reduced-motion: no-preference) {
    .asist__panel.is-in { animation: fade-in .3s var(--ease-out); }
}
@media (max-width: 30rem) {
    .asist__nav .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .asist__opt, .asist__lista a { transition: none; } }
