/* Glosario emergente (D360-CC-039): términos marcados, burbuja, «?» de los gráficos y página «Glosario». */
.termino {
    cursor: help;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(23, 59, 87, 0.55);
    text-underline-offset: 3px;
    border-radius: 2px;
}
.termino:hover { text-decoration-color: currentColor; }
.termino:focus { outline: none; }
.termino:focus-visible { outline: 2px solid #0b5fa5; outline-offset: 2px; }
/* Sobre fondos oscuros (tarjeta activa, botones) el subrayado toma el color del texto. */
.t-chip .termino, .dncp-nav .termino { text-decoration-color: currentColor; }

.termino-ayuda {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    padding: 0;
    border: 1px solid #9fb0bf;
    border-radius: 50%;
    background: #ffffff;
    color: #173b57;
    font: 700 12px/1 system-ui, sans-serif;
    vertical-align: middle;
    cursor: help;
}
/* En la cabecera de un panel, el «?» va arriba a la derecha, junto al título. */
.t-panel header > .termino-ayuda { float: right; margin: 2px 0 4px 8px; }
.termino-ayuda:hover, .termino-ayuda[aria-expanded="true"] { background: #173b57; border-color: #173b57; color: #ffffff; }
.termino-ayuda:focus-visible { outline: 2px solid #0b5fa5; outline-offset: 2px; }

.glosario-burbuja {
    position: fixed;
    z-index: 2000;
    box-sizing: border-box;
    width: max-content;
    max-width: 340px;
    max-height: 70vh;
    overflow-y: auto;
    padding: 10px 12px;
    border-radius: 8px;
    background: #173b57;
    color: #ffffff;
    box-shadow: 0 6px 22px rgba(10, 30, 50, 0.28);
    font: 400 13px/1.45 system-ui, sans-serif;
    text-align: left;
    white-space: normal;
}
.glosario-burbuja[hidden] { display: none; }
.glosario-burbuja .glosario-item + .glosario-item { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.25); }
.glosario-burbuja strong { display: block; margin-bottom: 2px; font-size: 13px; }
.glosario-burbuja p { margin: 4px 0 0; }
.glosario-burbuja .glosario-rotulo { color: #bfe3ff; font-weight: 600; }

/* Página «Glosario». */
.glosario-pagina .g-barra { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.glosario-pagina .g-barra input { flex: 1 1 260px; max-width: 480px; padding: 8px 10px; border: 1px solid #c4d0da; border-radius: 6px; font-size: 15px; }
.glosario-pagina .g-letras { display: flex; flex-wrap: wrap; gap: 4px; margin: 10px 0 0; padding: 0; list-style: none; }
.glosario-pagina .g-letras a { display: inline-block; min-width: 26px; padding: 3px 6px; border-radius: 4px; background: #eef3f7; text-align: center; font-weight: 600; }
.glosario-pagina .g-grupo h2 { margin: 0 0 6px; font-size: 20px; color: #173b57; }
.glosario-pagina dl { margin: 0; }
.glosario-pagina dt { margin-top: 12px; font-weight: 700; color: #173b57; }
.glosario-pagina dd { margin: 3px 0 0; max-width: 78ch; }
.glosario-pagina dd p { margin: 2px 0; }
.glosario-pagina .g-rotulo { color: #4a5b6b; font-weight: 600; }
.glosario-pagina [hidden] { display: none; }

@media print {
    .glosario-burbuja, .termino-ayuda { display: none !important; }
    .termino { text-decoration: none; }
}
