/* H2D · Apartado público de temario (Policía Local y CGPC).
   Se apoya en los tokens de landing-publica.css; no redefine paleta ni fuentes. */

/* El body venía en blanco puro (heredado de landing-publica.css) y encima
   cada tarjeta también es blanca: sin separación visual entre página y
   tarjeta, todo el cuerpo se lee como un bloque plano. Se sube un tono muy
   sutil (el --surface que ya usa el resto del sitio para alternar secciones,
   p. ej. .pricing-section) para que las tarjetas respiren; el hero mantiene
   su propio fondo oscuro, así que no le afecta. */
body.seo-temario{background:var(--surface)}

/* --- Hero de índice y de tema ---------------------------------------------- */
/* La § en miniatura junto a cada cita legal (temario-normas, bloque de
   contexto) se queda: ahí el contexto ("Texto legal de referencia", junto al
   nombre de una ley) deja claro que es el signo de párrafo/sección de la
   tipografía legal. A gran escala y sin ese contexto, aislado en el hero, se
   leía como otra cosa (una doble S) en vez de leerse como símbolo legal, así
   que se quita la marca de agua grande; la firma visual queda en el detalle
   tipográfico repetido, no en un símbolo enorme y ambiguo. */
.temario-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 8%,rgba(57,121,239,.38),transparent 40%),linear-gradient(135deg,#06172f 0%,#0b2752 55%,#19104a 100%);color:var(--white);padding:clamp(2.6rem,6vw,4.4rem) 1.25rem clamp(3.6rem,7vw,5rem)}
.temario-hero__inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.temario-hero__top{display:flex;align-items:center;gap:.7rem;margin-bottom:.2rem}
.temario-hero__logo{width:2.6rem;height:2.6rem;padding:.3rem;border-radius:10px;background:rgba(255,255,255,.08);object-fit:contain}
.temario-hero h1{margin:.6rem 0 0;font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
.temario-hero__lead{max-width:62ch;margin:1rem 0 0;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.65}
.temario-hero--tema{padding-bottom:clamp(2.4rem,5vw,3.4rem)}
.temario-hero .hero__actions{margin-top:1.6rem}
.temario-hero__indice{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;color:#cfe0f7;font-size:.86rem;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(207,224,247,.35);transition:color .15s ease,border-color .15s ease,opacity .1s ease}
.temario-hero__indice:hover,.temario-hero__indice:focus-visible{color:var(--white);border-color:var(--white)}
.temario-hero__indice:active{opacity:.7;transition-duration:.05s}

/* Migas de pan (componente global .seo-breadcrumbs, aquí solo el espaciado) */
.seo-temario .seo-breadcrumbs{padding-top:18px}

/* "Sigue explorando" (componente global .seo-related de seo-pages.css): la
   versión de base es una nube de píldoras en línea, que en móvil con temas
   largos queda desequilibrada (filas de ancho muy distinto). Aquí se
   sustituye, solo en esta sección, por el mismo patrón de fila-tarjeta con
   borde de color y flecha que ya usa .temario-lista en esta misma página,
   así el enlace largo a un tema no se comporta distinto a los cortos. */
.seo-temario .seo-related{display:grid;grid-template-columns:1fr;gap:.6rem;align-items:stretch}
.seo-temario .seo-related h2{grid-column:1/-1}
.seo-temario .seo-related a{position:relative;display:flex;align-items:center;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 14px 14px 0;padding:.85rem 2.3rem .85rem 1rem;background:var(--white);color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.35;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.seo-temario .seo-related a:after{content:'→';position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#9db3cc;font-size:1rem;transition:transform .18s ease,color .18s ease}
.seo-temario .seo-related a:hover,.seo-temario .seo-related a:focus-visible{transform:translateY(-2px);border-color:#8fb1e8;box-shadow:0 14px 32px rgba(8,45,97,.1)}
.seo-temario .seo-related a:hover:after,.seo-temario .seo-related a:focus-visible:after{transform:translate(3px,-50%);color:var(--blue)}
.seo-temario .seo-related a:active{transform:translateY(0) scale(.99);transition-duration:.06s}
@media(min-width:640px){.seo-temario .seo-related{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.seo-temario .seo-related a,.seo-temario .seo-related a:after{transition:none}}
.modulo-cgpc.seo-temario .seo-related a{border-left-color:#ad2647}
.modulo-cgpc.seo-temario .seo-related a:hover,.modulo-cgpc.seo-temario .seo-related a:focus-visible{border-color:#d98ba0}
.modulo-cgpc.seo-temario .seo-related a:hover:after,.modulo-cgpc.seo-temario .seo-related a:focus-visible:after{color:#ad2647}

/* Bug preexistente en landing-refinement-v1188-42.css (no se toca aquí, es
   compartido): en .page-seo fuerza el menú SIEMPRE visible con
   `display:flex!important`, en vez de dejarlo colapsado tras el botón de
   hamburguesa como en el resto del sitio — probablemente pensado como
   fallback para páginas sin JS, pero estas páginas de temario/inglés sí
   cargan landing-publica.js (el mismo script que ya controla el toggle en
   landing.html), así que aquí se restaura el comportamiento normal:
   colapsado por defecto, desplegado solo al pulsar el botón. */
@media(max-width:850px){
  .seo-temario .site-header{height:68px}
  .seo-temario .site-header__inner{height:68px;min-height:0;flex-wrap:nowrap;padding:0}
  .seo-temario .main-nav{display:none!important;position:absolute;left:16px;right:16px;top:74px;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:#0a2141;box-shadow:0 20px 40px rgba(0,0,0,.25)}
  .seo-temario .main-nav.is-open{display:flex!important}
  .seo-temario .main-nav a{padding:12px}
  .seo-temario .nav-modulos{width:100%}
  .seo-temario .nav-modulos__panel{position:static;left:auto;right:auto;top:auto;width:100%;max-width:none;margin:.4rem 0 0;box-shadow:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
  .seo-temario .nav-modulos__panel a{color:#fff}
  .seo-temario .nav-modulos__panel a:hover,.seo-temario .nav-modulos__panel a:focus-visible{background:rgba(255,255,255,.1);color:#fff}
}

/* --- Franja de estadísticas, solapada sobre el hero (como .home-proof) --- */
.temario-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-width:calc(var(--max) - 2px);margin:clamp(-2.6rem,-4vw,-2.1rem) auto 0;position:relative;z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);overflow:hidden}
.temario-stats article{display:flex;align-items:center;gap:.9rem;padding:1.15rem 1.3rem;border-right:1px solid var(--line)}
.temario-stats article:last-child{border-right:0}
.temario-stats__icon{display:grid;place-items:center;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:12px;background:rgba(28,95,212,.1);color:var(--blue);font-weight:800;font-size:1rem}
.temario-stats small{display:block;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.temario-stats strong{display:block;margin-top:.15rem;color:var(--navy-2);font-size:1.1rem}
.temario-stats p{margin:.2rem 0 0;color:var(--muted);font-size:.74rem;line-height:1.4}
@media(max-width:640px){.temario-stats{grid-template-columns:1fr}.temario-stats article{border-right:0;border-bottom:1px solid var(--line)}.temario-stats article:last-child{border-bottom:0}}

/* --- Índice de temas -------------------------------------------------------- */
.temario-lista__titulo{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:2.2rem 0 .85rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.temario-lista__titulo:first-child{margin-top:0}
.temario-lista__titulo h2{margin:0;font-size:.82rem;font-weight:800;color:var(--navy-2);text-transform:uppercase;letter-spacing:.06em}
.temario-lista__titulo span{color:var(--muted);font-size:.78rem;white-space:nowrap}

.temario-lista{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
/* Los índices más largos (CGPC llega a 45 temas) rinden de golpe sin
   necesidad: content-visibility:auto deja que el navegador se salte el
   layout/pintado de las tarjetas fuera de pantalla hasta que se acercan
   al viewport. contain-intrinsic-size evita que la barra de scroll salte
   al no tener aún la altura real medida. */
.temario-lista li{content-visibility:auto;contain-intrinsic-size:0 92px}
.temario-lista a{position:relative;display:flex;align-items:center;gap:.9rem;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 16px 16px 0;padding:.9rem 2.4rem .9rem 1rem;background:var(--white);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.temario-lista a:hover,.temario-lista a:focus-visible{transform:translateY(-2px);border-color:#8fb1e8;border-left-color:var(--blue);box-shadow:0 14px 32px rgba(8,45,97,.1)}
.temario-lista a:active{transform:translateY(0) scale(.99);transition-duration:.06s}
.temario-lista__badge{display:grid;place-items:center;flex:0 0 2.6rem;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--surface);color:var(--blue);font-weight:800;font-size:1.05rem}
.temario-lista__body{display:grid;gap:.2rem;min-width:0}
.temario-lista__num{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.temario-lista strong{font-size:1.02rem;line-height:1.35}
.temario-lista em{font-style:normal;font-size:.8rem;color:var(--muted)}
.temario-lista__arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#9db3cc;font-size:1rem;transition:transform .18s ease,color .18s ease}
.temario-lista a:hover .temario-lista__arrow,.temario-lista a:focus-visible .temario-lista__arrow{transform:translate(3px,-50%);color:var(--blue)}
@media(min-width:820px){.temario-lista{grid-template-columns:repeat(2,1fr)}}

/* --- Contexto legal del tema ------------------------------------------------ */
/* La cita legal exacta (artículo, decreto, ley) es la prueba de que el
   contenido es de fiar frente a la competencia: aquí se trata con más
   cuidado tipográfico que el resto de la página, no como una etiqueta más. */
.temario-contexto__bloque{padding:clamp(1.2rem,2.5vw,1.7rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 18px 46px rgba(8,45,97,.08)}
.temario-contexto__bloque h2{display:flex;align-items:center;gap:.45rem;margin:0 0 .55rem;font-size:clamp(1.05rem,2vw,1.25rem);color:var(--ink)}
.temario-contexto__bloque h2:before{content:'§';display:grid;place-items:center;flex:0 0 1.6rem;height:1.6rem;border-radius:8px;background:rgba(28,95,212,.1);color:var(--blue);font-size:1rem;font-weight:800}
.temario-contexto__bloque p{margin:0 0 .6rem;color:var(--ink);line-height:1.6}
.temario-normas{list-style:none;padding:0;margin:.6rem 0 .8rem;display:grid;gap:.4rem}
.temario-normas li{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .9rem;border-left:3px solid var(--blue);border-radius:0 10px 10px 0;background:var(--surface);color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.4;letter-spacing:.005em;font-variant-numeric:tabular-nums}
.temario-normas li:before{content:'§';flex:0 0 auto;color:var(--blue);font-weight:800;font-size:.82rem;line-height:inherit}

/* --- Preguntas --------------------------------------------------------------- */
.temario-preguntas-titulo{margin:0 0 1.1rem;font-size:clamp(1.1rem,2vw,1.35rem);color:var(--ink)}
.temario-pregunta{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:0 var(--radius) var(--radius) 0;background:var(--white);padding:clamp(1.1rem,2.4vw,1.8rem);margin:0 0 1rem;box-shadow:0 18px 46px rgba(8,45,97,.08)}
.temario-pregunta header{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem}
.temario-pregunta__badge{display:grid;place-items:center;flex:0 0 1.9rem;width:1.9rem;height:1.9rem;border-radius:9px;background:var(--navy);color:var(--white);font-size:.8rem;font-weight:800}
.temario-pregunta__num{font-size:.76rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.temario-pregunta__examen{margin-left:auto;font-size:.75rem;font-weight:700;border-radius:999px;padding:.22rem .68rem;background:rgba(28,95,212,.1);color:var(--blue)}
.temario-pregunta h3{margin:0 0 1rem;font-size:clamp(1rem,1.7vw,1.14rem);line-height:1.5;color:var(--ink)}

.temario-opciones{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.temario-opciones li{display:flex;gap:.75rem;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:.7rem .85rem;line-height:1.45;color:var(--ink);font-variant-numeric:tabular-nums}
.temario-opciones li.is-correct{border-color:rgba(18,166,109,.5);background:rgba(18,166,109,.07)}
.temario-opciones__letra{position:relative;flex:0 0 1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;background:var(--surface);color:var(--muted)}
.temario-opciones li.is-correct .temario-opciones__letra{background:var(--green);color:var(--white)}
.temario-opciones li.is-correct .temario-opciones__letra:after{content:'✓';position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:1rem;height:1rem;border-radius:50%;border:2px solid var(--white);background:var(--navy-2);color:var(--white);font-size:.56rem;font-weight:900}
.temario-opciones li.is-wrong{border-color:rgba(200,65,69,.5);background:rgba(200,65,69,.06)}
.temario-opciones li.is-wrong .temario-opciones__letra{background:var(--red);color:var(--white)}

/* Interactividad progresiva: sin JS la respuesta ya está en el HTML
   (SEO y accesibilidad intactas); con JS, .is-unrevealed la oculta
   hasta que se responde, como en la aplicación real. */
.temario-opciones__btn{all:unset;box-sizing:border-box;display:flex;gap:.75rem;align-items:flex-start;width:100%;cursor:pointer}
.temario-opciones__btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:10px}
.temario-opciones__btn:disabled{cursor:default}
.temario-reveal{display:none;margin-top:1rem;padding:.65rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--blue);font-weight:700;font-size:.86rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .12s ease}
.temario-reveal:hover,.temario-reveal:focus-visible{border-color:var(--blue);background:var(--surface)}
.temario-reveal:active{transform:scale(.97);transition-duration:.06s}

.temario-pregunta.is-unrevealed .temario-opciones li{transition:border-color .18s ease,background .18s ease,transform .1s ease}
.temario-pregunta.is-unrevealed .temario-opciones li:hover,.temario-pregunta.is-unrevealed .temario-opciones li:focus-within{border-color:#8fb1e8}
.temario-pregunta.is-unrevealed .temario-opciones li:active{transform:scale(.985);transition-duration:.05s}
.temario-pregunta.is-unrevealed .temario-opciones li.is-correct{border-color:var(--line);background:var(--white)}
.temario-pregunta.is-unrevealed .temario-opciones li.is-correct .temario-opciones__letra{background:var(--surface);color:var(--muted)}
.temario-pregunta.is-unrevealed .temario-opciones li.is-correct .temario-opciones__letra:after{display:none}
.temario-pregunta.is-unrevealed .temario-correccion{display:none}
.temario-pregunta.is-unrevealed .temario-reveal{display:inline-flex}
@media(prefers-reduced-motion:reduce){.temario-pregunta.is-unrevealed .temario-opciones li,.temario-reveal{transition:none}}

.temario-correccion{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--line)}
.temario-correccion__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .8rem;margin-bottom:.6rem}
.temario-correccion__respuesta{color:var(--green);font-weight:700;font-size:.94rem}
.temario-correccion__respuesta strong{font-weight:800}
.temario-correccion__label{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.temario-correccion__texto{margin:0;font-size:.94rem;line-height:1.6;color:var(--ink);font-variant-numeric:tabular-nums}
.temario-correccion__texto strong{color:var(--navy-2);letter-spacing:.005em}
/* Las preguntas oficiales de CGPC no traen tabla en su explicación (solo
   "Base legal:" / "Clave / regla de examen:" en línea, a diferencia de Local,
   que sí suele traerla) y esa corrección se leía más pobre en comparación.
   El > (solo hijo directo) es a propósito: dentro de una tabla, el <strong>
   de cada celda ya tiene su propio estilo en .h2d-rich-text td strong, más
   específico, y no debe convertirse en esta etiqueta. */
.temario-correccion__texto>strong{display:inline-block;margin:.7rem 0 .3rem;padding:.2rem .55rem;border-radius:6px;background:rgba(28,95,212,.09);color:var(--navy-2);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.temario-correccion__texto>strong:first-child{margin-top:0}
.modulo-cgpc .temario-correccion__texto>strong{background:rgba(173,38,71,.09);color:#ad2647}
/* La corrección de CGPC casi nunca trae tabla (dato real del banco, no un
   fallo de extracción), así que se queda más corta que la de Local; para
   que no se lea como una versión "pobre" se le da su propio marco, del
   color del módulo, en vez de dejarla flotando como texto suelto. */
.modulo-cgpc .temario-correccion__texto{padding:.9rem 1.05rem;border-radius:14px;background:rgba(173,38,71,.045);border:1px solid rgba(173,38,71,.14)}

.temario-mas{margin:1.3rem 0 0;color:var(--muted);font-size:.92rem}
.temario-cta{margin-top:1.5rem}
.temario-aviso{margin-top:1.2rem;color:var(--muted);font-size:.88rem}

/* .button--outline no está definido en landing-publica.css (solo existe
   --outline-light, pensado para fondos oscuros). Sin esta regla el botón
   "Volver al temario" se queda sin borde ni fondo sobre fondo claro. */
.button--outline{border-color:var(--line);background:var(--white);color:var(--navy-2)}
.button--outline:hover{border-color:var(--blue);background:var(--surface);color:var(--blue)}
.button--outline:active{background:var(--line)}

/* --- Paginación entre temas --------------------------------------------------- */
.temario-pager{max-width:var(--max);margin:0 auto;padding:0 1.25rem 2.6rem;display:grid;gap:.7rem;grid-template-columns:1fr 1fr}
.temario-pager a{display:grid;gap:.25rem;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 16px 16px 0;padding:.95rem 1.15rem;text-decoration:none;color:var(--ink);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.temario-pager--next{border-left:1px solid var(--line);border-right:3px solid var(--blue);border-radius:16px 0 0 16px}
.temario-pager a:hover,.temario-pager a:focus-visible{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 12px 28px rgba(8,45,97,.08)}
.temario-pager a:active{transform:translateY(0) scale(.99);transition-duration:.06s}
.temario-pager small{color:var(--muted);font-size:.78rem}
.temario-pager--next{text-align:right}
@media(max-width:640px){.temario-pager{grid-template-columns:1fr}.temario-pager--next{text-align:left}}
@media(prefers-reduced-motion:reduce){.temario-lista a,.temario-pager a,.temario-lista__arrow{transition:none}}

@media(min-width:820px){.temario-contexto{max-width:820px}}

/* --- Identidad CGPC ----------------------------------------------------------
   Mismo granate que ya usa .cgpc-official y .tutor-card--cgpc en el resto
   del sitio (shared/landing-publica.css) — no es un color nuevo, es el que
   el sitio ya asigna a este módulo. Local se queda con el azul por defecto. */
.modulo-cgpc .temario-hero{background:radial-gradient(circle at 88% 8%,rgba(173,38,71,.4),transparent 40%),linear-gradient(135deg,#06172f 0%,#3a0f28 55%,#5b1027 100%)}
.modulo-cgpc .temario-lista a,.modulo-cgpc .temario-pregunta,.modulo-cgpc .temario-pager a{border-left-color:#ad2647}
.modulo-cgpc .temario-pager--next{border-right-color:#ad2647}
.modulo-cgpc .temario-pregunta__badge{background:#ad2647}
.modulo-cgpc .temario-reveal{color:#ad2647}
.modulo-cgpc .temario-reveal:hover,.modulo-cgpc .temario-reveal:focus-visible{border-color:#ad2647}
.modulo-cgpc .temario-lista a:hover,.modulo-cgpc .temario-lista a:focus-visible,.modulo-cgpc .temario-pager a:hover,.modulo-cgpc .temario-pager a:focus-visible{border-color:#d98ba0;border-left-color:#ad2647}
.modulo-cgpc .temario-lista a:hover .temario-lista__arrow,.modulo-cgpc .temario-lista a:focus-visible .temario-lista__arrow{color:#ad2647}
.modulo-cgpc .temario-pregunta.is-unrevealed .temario-opciones li:hover,.modulo-cgpc .temario-pregunta.is-unrevealed .temario-opciones li:focus-within{border-color:#d98ba0}
.modulo-cgpc .temario-opciones__btn:focus-visible{outline-color:#ad2647}
.modulo-cgpc .temario-contexto__bloque h2:before{background:rgba(173,38,71,.12);color:#ad2647}
.modulo-cgpc .temario-normas li{border-left-color:#ad2647}
.modulo-cgpc .temario-normas li:before{color:#ad2647}
.modulo-cgpc .temario-stats__icon{background:rgba(173,38,71,.12);color:#ad2647}

/* Texto enriquecido de las claves (tablas, listas, blockquote):
   copiado literal del sistema real de la app en rich-text-key.js
   para que la corrección se vea igual aquí que dentro de la plataforma. */
.h2d-rich-text{display:block;max-width:100%;line-height:1.55;overflow-wrap:break-word;word-break:normal}
.h2d-rich-text>:first-child{margin-top:0}
.h2d-rich-text>:last-child{margin-bottom:0}
.h2d-rich-text p{margin:.45rem 0}
.h2d-rich-text h3,.h2d-rich-text h4{margin:.65rem 0 .35rem;font-size:1em;line-height:1.3}
.h2d-rich-text ul,.h2d-rich-text ol{margin:.5rem 0;padding-left:1.35rem}
.h2d-rich-text li{margin:.18rem 0}
.h2d-rich-text blockquote{margin:.6rem 0;padding:.65rem .8rem;border-left:4px solid #2563eb;border-radius:8px;background:#eff6ff}
.h2d-table-scroll{display:block;max-width:100%;margin:.65rem 0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-radius:12px;box-shadow:0 5px 16px rgba(15,23,42,.07)}
.h2d-rich-text table.h2d-adaptive-table,.h2d-rich-text table{width:100%;min-width:100%;margin:.38rem 0 .3rem;table-layout:auto;border-collapse:separate;border-spacing:0;border:1px solid #94a3b8;border-radius:12px;overflow:hidden;background:#fff;color:#334155;font-size:.94em;line-height:1.45}
.h2d-rich-text th,.h2d-rich-text td{padding:.62rem .72rem;border:0;border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;text-align:left;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:break-word}
.h2d-rich-text th{color:#0f172a;font-weight:800;background:linear-gradient(180deg,#eef2f7 0%,#e2e8f0 100%)}
.h2d-rich-text td{background:#fff}
.h2d-rich-text tbody tr:nth-child(even) td{background:#f8fafc}
.h2d-rich-text tr>:last-child{border-right:0}
.h2d-rich-text tbody tr:last-child td{border-bottom:0}
.h2d-rich-text td strong{color:#1e293b;font-weight:800}
@media(max-width:640px){.h2d-rich-text table.h2d-adaptive-table,.h2d-rich-text table{font-size:.9em}.h2d-rich-text th,.h2d-rich-text td{padding:.55rem .6rem}}
