/* Ola 1 (2026-09) — complementos de la hoja forensic.css. Se enlaza desde la
   plantilla compartida del <head>, despues de forensic.css. Solo usa
   variables ya definidas en forensic.css (--navy, --acento, --brillo) y colores
   neutros; no redefine nada existente. */

/* Bloque plegable "Para su equipo legal y tecnico" */
.plegable { margin-top: 2.2rem; border: 1px solid rgba(11, 26, 46, .12); border-radius: 14px; background: #fff; }
.plegable > summary { cursor: pointer; list-style: none; padding: 1rem 1.25rem; font-weight: 600; color: var(--navy, #0B1A2E); display: flex; align-items: center; gap: .75rem; }
.plegable > summary::-webkit-details-marker { display: none; }
.plegable > summary::before { content: ""; width: .55rem; height: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .2s; flex: none; }
.plegable[open] > summary::before { transform: rotate(45deg); }
.plegable > summary small { font-weight: 400; opacity: .7; margin-left: auto; }
.plegable > :not(summary) { padding: 0 1.25rem 1.25rem; }
.plegable--seccion { border: 0; background: transparent; margin: 0; }
.plegable--seccion > summary { max-width: 1120px; margin: 0 auto; padding: 1.1rem 1.5rem; border-top: 1px solid rgba(11, 26, 46, .12); }
.plegable--seccion > :not(summary) { padding: 0; }
.plegable--seccion > section { padding-top: 0 !important; }

/* Preguntas frecuentes */
.faq { border-bottom: 1px solid rgba(11, 26, 46, .12); padding: .35rem 0; }
.faq > summary { cursor: pointer; list-style: none; padding: .85rem 0; font-weight: 600; color: var(--navy, #0B1A2E); display: flex; gap: .75rem; align-items: baseline; }
.faq > summary::-webkit-details-marker { display: none; }
.faq > summary::before { content: "+"; font-weight: 700; color: var(--acento, #0E6E86); flex: none; width: 1rem; }
.faq[open] > summary::before { content: "\2013"; }
.faq > p, .faq > div { margin: 0 0 1rem 1.75rem; color: #3F4C5C; line-height: 1.6; }

/* Selector de /empezar */
.selector__paso { border: 1px solid rgba(11, 26, 46, .12); border-radius: 14px; padding: 1.25rem 1.5rem; margin-top: 1.5rem; background: #fff; }
.selector__paso legend { font-weight: 700; color: var(--navy, #0B1A2E); padding: 0 .4rem; }
.selector__paso label { display: flex; gap: .7rem; align-items: flex-start; padding: .5rem 0; cursor: pointer; line-height: 1.45; }
.selector__paso input { margin-top: .3rem; flex: none; }
.selector__acciones { margin-top: 1.5rem; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.selector__resultado[hidden] { display: none; }
.selector__resultado { margin-top: 1.5rem; }
.selector__resultado--secundario { opacity: .92; }

/* Glosario en <dl> */
.glosario { display: grid; grid-template-columns: 1fr; gap: .2rem 1.5rem; margin-top: 1.5rem; }
.glosario dt { font-weight: 700; color: var(--navy, #0B1A2E); margin-top: .9rem; }
.glosario dd { margin: .2rem 0 0; color: #3F4C5C; line-height: 1.55; }
@media (min-width: 760px) { .glosario { grid-template-columns: 1fr 1fr; } }

/* Nota de estado normativo */
.estado-norma { font-size: .9rem; color: #3F4C5C; border-left: 3px solid var(--acento, #0E6E86); padding: .5rem 1rem; margin-top: 1.2rem; background: rgba(14, 110, 134, .06); border-radius: 0 10px 10px 0; }

/* Chip de contexto en /contacto */
.contexto-chip { display: inline-flex; gap: .5rem; align-items: center; font-size: .9rem; padding: .35rem .8rem; border-radius: 999px; background: rgba(14, 110, 134, .1); color: var(--navy, #0B1A2E); margin-bottom: 1rem; }

/* Tabla comparativa y matriz en paginas nuevas: hereda tabla-norm */
.tabla-norm--comparar th[scope="row"] { white-space: nowrap; }

/* Formulario Ola 1: error por campo y chip de contexto como <span> */
.campo__error { display: block; margin-top: .35rem; font-size: .88rem; color: #A03A2E; }
span.chip { cursor: default; }
