/* Explora Docentes 2.0 · componente compartido. Cada sitio ajusta las variables en su propia hoja (sobre .d20-eco). */
.d20-eco{--d20-eco-fondo:#1C1220;--d20-eco-texto:#FBF5EA;--d20-eco-tenue:#D8CBDB;--d20-eco-acento:#F0B424;
  --d20-eco-panel:#FBF5EA;--d20-eco-panel-texto:#241828;--d20-eco-panel-tenue:#584A5C;--d20-eco-borde:#DCD2C8;
  --d20-eco-letra:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--d20-eco-alto:36px;--d20-eco-ancho:1200px;--d20-eco-z:10050;
  position:relative;z-index:var(--d20-eco-z);background:var(--d20-eco-fondo);color:var(--d20-eco-texto);
  font:400 13px/1.3 var(--d20-eco-letra);letter-spacing:0;text-transform:none}
.d20-eco *,.d20-eco *::before,.d20-eco *::after{box-sizing:border-box}
.d20-eco__barra{max-width:var(--d20-eco-ancho);margin:0 auto;padding:0 16px;height:var(--d20-eco-alto);
  display:flex;align-items:center;justify-content:space-between;gap:16px}
.d20-eco a{color:inherit}
.d20-eco__marca{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:32px;padding:0 4px}
.d20-eco__marca:hover{text-decoration:underline}
.d20-eco__explora{position:static}
.d20-eco__boton{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 8px;
  border-radius:4px;color:var(--d20-eco-tenue);font-weight:600;user-select:none}
.d20-eco__boton::-webkit-details-marker{display:none}
.d20-eco__boton::marker{content:''}
.d20-eco__boton:hover,.d20-eco__explora[open] .d20-eco__boton{color:var(--d20-eco-texto)}
.d20-eco__flecha{display:block;transition:transform .15s ease}
.d20-eco__explora[open] .d20-eco__flecha,.d20-eco-movil__det[open] .d20-eco__flecha{transform:rotate(180deg)}
.d20-eco :focus-visible,.d20-eco-movil :focus-visible{outline:2px solid var(--d20-eco-acento);outline-offset:2px}
.d20-eco__panel{position:absolute;left:0;right:0;top:100%;background:var(--d20-eco-panel);color:var(--d20-eco-panel-texto);
  border-top:3px solid var(--d20-eco-acento);box-shadow:0 16px 32px rgba(36,24,40,.18);max-height:calc(100vh - var(--d20-eco-alto));overflow:auto}
.d20-eco__rejilla{max-width:var(--d20-eco-ancho);margin:0 auto;padding:20px 16px 24px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px 24px}
.d20-eco__cat{margin:0 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--d20-eco-panel-tenue)}
.d20-eco__lista,.d20-eco-movil__lista{list-style:none;margin:0;padding:0}
.d20-eco__lista a{display:flex;align-items:center;min-height:36px;padding:4px 0;font-size:15px;font-weight:600;text-decoration:none;color:var(--d20-eco-panel-texto)}
.d20-eco__lista a:hover{text-decoration:underline}
.d20-eco a[aria-current],.d20-eco-movil a[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.d20-eco__aqui{font-size:11px;font-weight:700;margin-left:2px;opacity:.75}
.d20-eco__actual{display:block;padding:8px 0;min-height:36px;font-size:15px;font-weight:700}
.d20-eco-movil .d20-eco__actual{min-height:44px;padding:11px 0 11px 12px;font-size:inherit}
.d20-eco-movil__titulo{margin:12px 0 0;font-weight:700}
/* dentro del menú móvil del sitio: hereda su letra y sus colores */
/* color: por defecto hereda el del menú del sitio; si su contenedor no fija color (el texto quedaría oscuro sobre fondo oscuro),
   el sitio define --d20-eco-movil-texto en .d20-eco-movil o en un antepasado */
.d20-eco-movil{border-top:1px solid currentColor;border-color:rgba(127,127,127,.35);margin-top:8px;padding-top:4px;font:inherit;color:var(--d20-eco-movil-texto,inherit)}
.d20-eco-movil__boton{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 0;font-weight:600}
.d20-eco-movil__boton::-webkit-details-marker{display:none}
.d20-eco-movil__boton::marker{content:''}
.d20-eco-movil__cat{margin:10px 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
/* Dentro del menú de otro sitio el plegable no puede crecer sin límite: si la cabecera del sitio es fija y su menú
   no tiene tope, los últimos enlaces quedan inalcanzables (lo vio la dueña en la Editorial, 22 sep 2026). Esto es
   un cinturón: cada sitio debe poner su propio tope (ver GUIA-INTEGRACION.md). SIN overscroll-behavior, para que al
   terminar el panel el gesto CONTINÚE en el menú del sitio y no se quede encerrado. Y sin summary pegajoso: con
   «background: inherit» salía transparente y el texto se leía por debajo (hallazgo de QC con captura). */
.d20-eco-movil__det[open]{max-height:min(68vh,520px);overflow-y:auto;overflow-anchor:none}
.d20-eco-movil__lista a{display:flex;align-items:center;min-height:44px;padding:6px 0 6px 12px;text-decoration:none;color:inherit}
.d20-eco-movil__marca{display:flex;align-items:center;min-height:44px;padding:6px 0 6px 12px;font-weight:700;color:inherit}
@media (prefers-reduced-motion:reduce){.d20-eco__flecha{transition:none}}
@media print{.d20-eco{display:none}}
