/* AUX Content — lector de temario (antes tia-lector.css). Las clases conservan el prefijo tia-/uji- porque son
   el diseño normalizado de los temas (claude/diseno-temas.md) y las usan el tema del sitio y el contenido cargado. */

.tia-lector {
	--tia-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--tia-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--tia-ink: #1f2933;
	--tia-ink-suave: #5b6b7a;
	--tia-azul: #003366;        /* azul-intenso del tema */
	--tia-azul-claro: #f2f6fb;
	--tia-borde: #cfd6dd;
	--tia-fondo: #ffffff;
	--tia-fondo-2: #f4f6f8;
	--tia-aviso-fondo: #fff7d6;
	--tia-aviso-borde: #d4a017; /* amarillo-mostaza del tema */
	--tia-esq-fondo: #f0f4f0;
	--tia-enlace: #0a58ca;
	--tia-tam: 17.5px;

	font-family: var(--tia-serif);
	font-size: var(--tia-tam);
	line-height: 1.6;
	color: var(--tia-ink);
	background: var(--tia-fondo);
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1.2rem 3rem;
	position: relative;
}

.tia-lector.is-oscuro {
	--tia-ink: #e6e9ee;
	--tia-ink-suave: #a5b0bc;
	--tia-azul: #9cc2ff;
	--tia-azul-claro: #1b2634;
	--tia-borde: #3a4653;
	--tia-fondo: #12181f;
	--tia-fondo-2: #1b232c;
	--tia-aviso-fondo: #3a3010;
	--tia-aviso-borde: #d9b23a;
	--tia-esq-fondo: #18251a;
	--tia-enlace: #8ab4f8;
}

.tia-lector * { box-sizing: border-box; }
.tia-lector p { margin: 0 0 1rem; }
.tia-lector strong { font-weight: 600; }
.tia-lector li { margin: .25rem 0; }
.tia-lector a { color: var(--tia-enlace); }

/* ---------- cabecera y rail ---------- */
.tia-progreso { position: fixed; top: 0; left: 0; right: 0; height: 4px; background: transparent; z-index: 1000; }
.tia-progreso span { display: block; height: 100%; width: 0; background: var(--tia-azul); transition: width .1s linear; }

.tia-rail {
	position: sticky; top: .5rem; z-index: 20;
	display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between;
	font-family: var(--tia-sans); font-size: .85rem;
	background: var(--tia-fondo); padding: .5rem 0; border-bottom: 1px solid var(--tia-borde);
}
.tia-rail__grupo { display: flex; gap: .35rem; }
.tia-btn {
	font: inherit; font-weight: 600; cursor: pointer;
	padding: .35rem .7rem; border-radius: 8px;
	border: 1.5px solid var(--tia-borde); background: var(--tia-fondo); color: var(--tia-ink);
}
.tia-btn:hover { border-color: var(--tia-azul); color: var(--tia-azul); }
.tia-btn.is-activo { background: var(--tia-azul); border-color: var(--tia-azul); color: #fff; }

.tia-cab { margin: 1.5rem 0 1rem; font-family: var(--tia-sans); }
.tia-cab__temario { margin: 0; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: var(--tia-ink-suave); }
.tia-lector h1.tia-cab__titulo, .tia-cab__titulo { margin: .2rem 0 0; font-size: 1.45rem; line-height: 1.3; font-weight: 700; color: var(--tia-ink); }
.tia-cab__num { display: block; font-size: .95rem; color: var(--tia-azul); font-weight: 700; }
.tia-borrador { font-family: var(--tia-sans); font-size: .8rem; color: #b45309; }

/* ---------- cabeceras de nodos (diseño normalizado) ---------- */
.tia-lector h2.uji-sec__titulo, .uji-sec__titulo {
	display: block; margin: 2.8rem 0 1.2rem; padding: .6rem 1rem;
	font-family: var(--tia-sans); font-size: 1.3rem; line-height: 1.3; font-weight: 700; color: var(--tia-azul);
	border: 2px solid var(--tia-azul); border-radius: 12px; background: var(--tia-azul-claro);
}
.tia-lector h3.uji-ep__titulo, .uji-ep__titulo {
	display: inline-block; margin: 1.9rem 0 .8rem; padding: .3rem .8rem;
	font-family: var(--tia-sans); font-size: 1.08rem; line-height: 1.3; font-weight: 600; color: var(--tia-azul);
	border: 1.5px solid var(--tia-azul); border-radius: 8px;
}
.tia-lector h4.uji-ap__titulo, .uji-ap__titulo {
	margin: 1.3rem 0 .6rem; font-family: var(--tia-sans); font-size: 1rem; font-weight: 700;
	text-decoration: underline; text-underline-offset: 3px; color: var(--tia-ink);
}
.uji-sub__titulo { margin: 1rem 0 .4rem; font-family: var(--tia-sans); font-size: .95rem; font-weight: 600; color: var(--tia-ink-suave); }
.uji-sec:first-child .uji-sec__titulo { margin-top: 1.2rem; }

/* ---------- contenido ---------- */
.uji-ref { color: var(--tia-enlace); border-bottom: 1px dotted var(--tia-enlace); cursor: pointer; font-style: normal; }
.uji-ref:hover { background: var(--tia-azul-claro); }
.uji-lista { padding-left: 1.4rem; }
.uji-cita { border-left: 4px solid var(--tia-azul); margin: 1rem 0; padding: .5rem 1rem; background: var(--tia-fondo-2); font-style: italic; }
.uji-tabla { border-collapse: collapse; width: 100%; margin: 1rem 0; font-family: var(--tia-sans); font-size: .9rem; line-height: 1.45; }
.uji-tabla th, .uji-tabla td { border: 1px solid var(--tia-borde); padding: .45rem .65rem; vertical-align: top; text-align: left; }
.uji-tabla th { background: var(--tia-azul-claro); color: var(--tia-azul); }
.uji-tabla ul { margin: 0; padding-left: 1.1rem; }
.uji-aviso { font-family: var(--tia-sans); font-size: .93rem; line-height: 1.5; background: var(--tia-aviso-fondo); border-left: 4px solid var(--tia-aviso-borde); padding: .65rem .95rem; margin: 1.1rem 0; border-radius: 0 6px 6px 0; }
.uji-esq { font-family: var(--tia-sans); font-size: .93rem; line-height: 1.55; background: var(--tia-esq-fondo); padding: 1rem 1rem 1rem 2rem; border-radius: 6px; margin: 0 0 1rem; }
.tia-esq-sec .uji-sec__titulo { margin-top: 2rem; }

.tia-glosario__lista { font-size: .97rem; }
.tia-glosario__lista dt { font-family: var(--tia-sans); font-weight: 600; margin-top: .9rem; }
.tia-glosario__lista dd { margin: .2rem 0 0; }
.tia-glosario__lista dd p { margin: 0; }

/* ---------- índice y navegación ---------- */
.tia-indice { font-family: var(--tia-sans); font-size: .95rem; margin-top: 1.5rem; }
.tia-indice ol { padding-left: 1.3rem; }
.tia-indice > ol > li { margin: .6rem 0; font-weight: 600; }
.tia-indice ol ol li { font-weight: 400; margin: .25rem 0; }
.tia-indice a { color: var(--tia-ink); text-decoration: none; }
.tia-indice a:hover { color: var(--tia-azul); text-decoration: underline; }

.tia-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--tia-borde); font-family: var(--tia-sans); font-size: .95rem; }
.tia-nav a { text-decoration: none; font-weight: 600; }

.tia-temario__titulo { font-family: var(--tia-sans); font-size: 1.45rem; margin: 1.5rem 0 1rem; }
.tia-temario__lista { font-family: var(--tia-sans); padding-left: 0; list-style: none; }
.tia-temario__tema { padding: .6rem .8rem; border: 1.5px solid var(--tia-borde); border-radius: 10px; margin: .5rem 0; }
.tia-temario__tema a { text-decoration: none; color: var(--tia-ink); display: block; }
.tia-temario__tema a:hover { color: var(--tia-azul); }
.tia-temario__tema--pendiente { color: var(--tia-ink-suave); }
.tia-temario__num { color: var(--tia-azul); font-weight: 700; margin-right: .4rem; }

.tia-acceso, .tia-error { font-family: var(--tia-sans); }

/* ---------- popup de artículo ---------- */
.tia-pop { position: fixed; inset: 0; z-index: 2000; background: rgba(15, 23, 32, .55); display: flex; align-items: flex-end; justify-content: center; padding: 0; }
.tia-pop[hidden] { display: none; }
.tia-pop__caja { position: relative; width: 100%; max-width: 760px; max-height: 85vh; overflow: auto; background: var(--tia-fondo); color: var(--tia-ink); border-radius: 14px 14px 0 0; padding: 1.2rem 1.4rem 1.6rem; box-shadow: 0 -8px 30px rgba(0,0,0,.25); }
@media (min-width: 700px) { .tia-pop { align-items: center; padding: 2rem; } .tia-pop__caja { border-radius: 14px; } }
.tia-pop__cerrar { position: absolute; top: .5rem; right: .7rem; font: 1.5rem/1 var(--tia-sans); background: none; border: 0; color: var(--tia-ink-suave); cursor: pointer; }
.tia-pop__norma { font-family: var(--tia-sans); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--tia-ink-suave); margin: 0 0 .3rem; }
.tia-pop__art { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--tia-borde); }
.tia-pop__art:first-of-type { border-top: 0; padding-top: 0; }
.tia-pop__art h3 { font-family: var(--tia-sans); font-size: 1.05rem; margin: 0 0 .3rem; color: var(--tia-azul); }
.tia-pop__ctx { font-family: var(--tia-sans); font-size: .8rem; color: var(--tia-ink-suave); margin: 0 0 .6rem; }
.tia-pop__texto { white-space: pre-line; font-size: .97rem; }
.tia-pop__texto p { margin: 0 0 .7rem; }
.tia-pop__ap { display: flex; gap: .5rem; margin: 0 0 .6rem; }
.tia-pop__ap b { flex: 0 0 1.6rem; color: var(--tia-azul); }
.tia-pop__ap.is-pedido { background: var(--tia-aviso-fondo); border-radius: 6px; padding: .3rem .5rem; margin-left: -.5rem; }
.tia-pop__cargando, .tia-pop__error { font-family: var(--tia-sans); color: var(--tia-ink-suave); }

/* ---------- modo campus (auxiliar-administrativo.com) ---------- */
.tia-lector--campus { max-width: 960px; padding-top: .5rem; }
.tia-volver { margin: .5rem 0 0; }
.tia-volver .tia-btn { font-size: .85rem; }
.tia-lector--campus .tia-rail { top: 0; }
.tia-lector--campus .tia-nav a { cursor: pointer; }
.campus-layout .tia-lector p, .campus-layout .tia-lector li { font-family: var(--tia-serif); }

/* ---------- móvil ---------- */
@media (max-width: 600px) {
	.tia-lector { padding: 0 .9rem 3rem; --tia-tam: 16.5px; }
	.uji-sec__titulo { font-size: 1.15rem; padding: .5rem .8rem; }
	.uji-ep__titulo { font-size: 1rem; }
	.uji-tabla { display: block; overflow-x: auto; }
	.tia-rail { font-size: .8rem; }
}

@media print {
	.tia-rail, .tia-progreso, .tia-nav, .tia-pop { display: none !important; }
	.tia-vista[hidden] { display: none; }
}
