/*
Theme Name: AGMER 2026
Author: Matias Herrera
Author URI: https://agmer.org.ar/
Description: Capa pública del sitio de AGMER con el diseño de 2026 (Archivo + Fraunces, acento #911618). Reemplaza el render de agmer8 sobre el mismo contenido y plugins.
Version: 1.3.0
Requires PHP: 7.4
Text Domain: agmer2026
*/

/* -------------------------------------------------------------------------
 * Tokens (tomados del CSS de 2026.agmer.org.ar)
 * ---------------------------------------------------------------------- */
:root {
	--ink: #16130f;
	--muted: #565049;
	--accent: #911618;
	--accent-strong: #6f0f12;
	--accent-soft: #f7e9e7;
	--background: #fbf8f4;
	--surface: #ffffff;
	--surface-muted: #f4efe7;
	--surface-inset: #ece4d8;
	--border: #e6dfd3;
	--border-strong: #c3b9a7;
	--primary: #16130f;
	--primary-strong: #000;
	--primary-soft: #efe9df;
	--primary-contrast: #fbf8f4;
	--navy: #171759;
	--ring: #911618;
	--grain-opacity: .03;

	--radius-card: 0.75rem;
	--radius-chip: 0.5rem;
	--shadow-soft: 0 1px 2px #16130f0a, 0 4px 14px -6px #16130f1a;
	--shadow-lift: 0 2px 4px #16130f0d, 0 12px 28px -10px #16130f2e;

	--font-texto: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-titulo: "Fraunces", Georgia, "Times New Roman", serif;

	--text-xs: 0.75rem;
	--text-sm: 0.85rem;
	--text-base: 1rem;
	--text-lg: 1.15rem;
	--text-xl: clamp(1.2rem, 1.1rem + 0.5vw, 1.45rem);
	--text-2xl: clamp(1.45rem, 1.2rem + 1vw, 1.95rem);
	--text-3xl: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);

	--ancho: 76rem;
	--espacio: clamp(1.5rem, 3vw, 2.75rem);
}

/* -------------------------------------------------------------------------
 * Base
 * ---------------------------------------------------------------------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--background);
	color: var(--ink);
	font-family: var(--font-texto);
	font-size: var(--text-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 60;
	pointer-events: none;
	opacity: var(--grain-opacity);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-underline-offset: 3px; }
a:hover { color: var(--accent-strong); }
h1, h2, h3, h4 { font-family: var(--font-titulo); font-weight: 600; line-height: 1.15; margin: 0 0 0.5rem; letter-spacing: -0.01em; }
p { margin: 0 0 1rem; }
ul, ol { margin: 0; padding: 0; list-style: none; }

.wrap {
	width: 100%;
	max-width: var(--ancho);
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 1.75rem);
}

.skip-link,
.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed;
	top: 0.5rem; left: 0.5rem;
	width: auto; height: auto;
	clip: auto;
	z-index: 999;
	padding: 0.6rem 1rem;
	background: var(--ink);
	color: var(--background);
	border-radius: var(--radius-chip);
}

.volanta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem;
	margin: 0 0 0.4rem;
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--muted);
}
.volanta-seccion { color: var(--accent); font-weight: 600; }

.enlace-flecha {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
}
.enlace-flecha span { transition: transform 0.2s ease; }
.enlace-flecha:hover span { transform: translateX(3px); }

.etiqueta {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: var(--radius-chip);
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sin-imagen {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	background:
		repeating-linear-gradient(135deg, var(--surface-inset) 0 8px, transparent 8px 16px),
		var(--surface-muted);
	border-radius: var(--radius-card);
}

/* -------------------------------------------------------------------------
 * Cabecera
 * ---------------------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--background) 92%, #fff);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--border);
}

.barra-superior {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 0.4rem;
	border-bottom: 1px solid var(--border);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--muted);
}
.barra-superior .fecha-hoy { margin: 0; }

.cabecera-principal {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding-block: 0.9rem;
}

.marca {
	display: grid;
	gap: 0.1rem;
	text-decoration: none;
	color: var(--ink);
	flex: 0 0 auto;
}
.marca-nombre {
	font-family: var(--font-titulo);
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: 0.01em;
	line-height: 1;
}
.marca-bajada {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--muted);
}

.nav-principal { display: flex; align-items: center; gap: 1.25rem; margin-left: auto; }

.menu { display: flex; align-items: center; gap: 1.15rem; font-size: var(--text-sm); }
.menu > li { position: relative; }
.menu a,
.submenu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.35rem 0;
	background: none;
	border: 0;
	font: inherit;
	color: var(--ink);
	text-decoration: none;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.menu a:hover,
.submenu-toggle:hover { color: var(--accent); border-bottom-color: var(--accent); }

/* Afiliate como botón dentro del menú (como 2026). */
.menu .boton-menu {
	padding: 0.5rem 1rem;
	background: var(--ink);
	color: var(--primary-contrast);
	border: 0;
	border-radius: var(--radius-chip);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
}
.menu .boton-menu:hover,
.menu .boton-menu:focus-visible {
	background: var(--accent);
	border-bottom-color: transparent;
	color: #fff;
}

.submenu {
	position: absolute;
	top: calc(100% + 0.75rem);
	left: 50%;
	transform: translateX(-50%);
	width: 15rem;
	display: none;
	flex-direction: column;
	padding: 0;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-lift);
	z-index: 50;
}
/* Puente invisible: el panel se separa del botón sin cortar el hover. */
.submenu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -0.75rem;
	height: 0.75rem;
}
/* En escritorio el panel también se abre con hover/foco; en móvil manda el toque. */
@media (min-width: 68.01rem) {
	.tiene-submenu:hover .submenu,
	.tiene-submenu:focus-within .submenu { display: flex; }
}
.tiene-submenu.abierto .submenu { display: flex; }
.submenu li { margin: 0; }
.submenu a {
	display: block;
	padding: 0.625rem 1rem;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--ink);
	border: 0;
	border-bottom: 1px solid var(--border);
	border-radius: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.submenu li:first-child a { border-radius: var(--radius-card) var(--radius-card) 0 0; }
.submenu li:last-child a { border-bottom: 0; border-radius: 0 0 var(--radius-card) var(--radius-card); }
.submenu a:hover,
.submenu a:focus-visible { background: var(--surface-muted); color: var(--ink); border-bottom-color: var(--border); }

.menu-toggle {
	display: none;
	align-items: center;
	gap: 0.5rem;
	margin-left: auto;
	padding: 0.45rem 0.75rem;
	font: inherit;
	font-size: var(--text-sm);
	background: var(--surface);
	color: var(--ink);
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	cursor: pointer;
}
.menu-toggle-icono { width: 14px; height: 2px; background: currentColor; position: relative; }
.menu-toggle-icono::before,
.menu-toggle-icono::after {
	content: "";
	position: absolute;
	left: 0;
	width: 14px;
	height: 2px;
	background: currentColor;
}
.menu-toggle-icono::before { top: -5px; }
.menu-toggle-icono::after { top: 5px; }

/* -------------------------------------------------------------------------
 * Portada: hero, accesos, layout
 * ---------------------------------------------------------------------- */
.site-main { padding-block: var(--espacio) 3rem; }

.hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 0;
	margin-bottom: var(--espacio);
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
}
.hero-media { display: block; min-height: 22rem; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-cuerpo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.75rem;
	padding: clamp(1.35rem, 3vw, 2.5rem);
}
.hero-titulo { font-size: var(--text-3xl); margin: 0; }
.hero-titulo a { color: var(--ink); text-decoration: none; }
.hero-titulo a:hover { color: var(--accent); }
.hero-bajada { color: var(--muted); margin: 0; }

.accesos {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-bottom: var(--espacio);
}
.acceso {
	display: grid;
	gap: 0.25rem;
	padding: 1.1rem 1.25rem;
	background: var(--surface);
	border: 1px solid var(--border);
	border-left: 3px solid var(--accent);
	border-radius: var(--radius-card);
	text-decoration: none;
	color: var(--ink);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.acceso:hover { box-shadow: var(--shadow-lift); transform: translateY(-1px); }
.acceso-num { font-size: var(--text-xs); color: var(--accent); font-weight: 700; letter-spacing: 0.1em; }
.acceso-titulo { font-family: var(--font-titulo); font-size: var(--text-xl); font-weight: 600; }
.acceso-desc { font-size: var(--text-sm); color: var(--muted); }

.layout {
	display: grid;
	grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	margin-bottom: var(--espacio);
}

.bloque-encabezado {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--border);
}
.bloque-encabezado h2 { font-size: var(--text-2xl); margin: 0; }
.bloque-encabezado p { margin: 0; font-size: var(--text-sm); color: var(--muted); }

/* Tarjetas */
.grilla-notas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: 1.25rem;
}
.tarjeta {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.tarjeta:hover { box-shadow: var(--shadow-lift); transform: translateY(-2px); }
.tarjeta-media { display: block; }
.tarjeta-media img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.tarjeta-cuerpo { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.9rem 1rem 1.1rem; }
.tarjeta-titulo { font-size: var(--text-lg); margin: 0; }
.tarjeta-titulo a { color: var(--ink); text-decoration: none; }
.tarjeta-titulo a:hover { color: var(--accent); }
.tarjeta-bajada {
	margin: 0 0 0.35rem;
	font-size: var(--text-sm);
	color: var(--muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Lista de últimas noticias */
.lista-notas { display: grid; gap: 0; margin-top: 0.5rem; }
.lista-notas li { border-bottom: 1px solid var(--border); }
.lista-notas li:last-child { border-bottom: 0; }
.nota-fila {
	display: grid;
	grid-template-columns: 6.5rem 1fr;
	gap: 1rem;
	align-items: start;
	padding: 1rem 0;
	text-decoration: none;
	color: var(--ink);
}
.nota-fila img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; border-radius: var(--radius-chip); }
.nota-fila h3 { font-size: var(--text-lg); margin: 0 0 0.25rem; }
.nota-fila:hover h3 { color: var(--accent); }
.nota-fila p { margin: 0; font-size: var(--text-sm); color: var(--muted); }

/* Panel lateral */
.panel {
	padding: 1.1rem 1.15rem 1.25rem;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-soft);
	margin-bottom: 1.25rem;
}
.panel-titulo {
	margin: 0 0 0.75rem;
	font-size: var(--text-xs);
	font-family: var(--font-texto);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--accent);
}
.mas-leido { counter-reset: leido; display: grid; gap: 0.8rem; }
.mas-leido li {
	counter-increment: leido;
	display: grid;
	grid-template-columns: 1.5rem 1fr;
	gap: 0.5rem;
	align-items: baseline;
	padding-bottom: 0.8rem;
	border-bottom: 1px dashed var(--border);
}
.mas-leido li:last-child { border-bottom: 0; padding-bottom: 0; }
.mas-leido li::before {
	content: counter(leido, decimal-leading-zero);
	font-family: var(--font-titulo);
	font-size: var(--text-lg);
	color: var(--border-strong);
}
.mas-leido a { color: var(--ink); text-decoration: none; font-size: var(--text-sm); font-weight: 500; }
.mas-leido a:hover { color: var(--accent); }
.mas-leido time { display: block; margin-top: 0.15rem; font-size: var(--text-xs); color: var(--muted); }

.panel-cta { background: var(--ink); color: var(--background); border-color: var(--ink); }
.panel-cta h2 { color: var(--background); font-size: var(--text-xl); font-family: var(--font-titulo); text-transform: none; letter-spacing: 0; }
.panel-cta p { color: color-mix(in srgb, var(--background) 75%, transparent); font-size: var(--text-sm); }
.panel-cta .boton { background: var(--accent); color: #fff; }

.boton {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 1rem;
	border-radius: var(--radius-chip);
	background: var(--ink);
	color: var(--background);
	font-size: var(--text-sm);
	font-weight: 600;
	text-decoration: none;
	border: 0;
	cursor: pointer;
}
.boton:hover { background: var(--accent); color: #fff; }

/* Secciones */
.grilla-secciones {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 0.85rem;
}
.seccion {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 1rem 1.1rem;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	text-decoration: none;
	color: var(--ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.seccion:hover { border-color: var(--accent); box-shadow: var(--shadow-soft); }
.seccion-nombre { font-family: var(--font-titulo); font-size: var(--text-lg); font-weight: 600; }
.seccion-nombre::after { content: " →"; color: var(--accent); }
.seccion-desc { font-size: var(--text-sm); color: var(--muted); }

/* -------------------------------------------------------------------------
 * Nota individual
 * ---------------------------------------------------------------------- */
.articulo { max-width: 46rem; }
.migas { font-size: var(--text-xs); color: var(--muted); margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.06em; }
.migas a { color: var(--muted); text-decoration: none; }
.migas a:hover { color: var(--accent); }
.migas span { margin-inline: 0.35rem; }

.articulo-titulo { font-size: var(--text-3xl); margin: 0.35rem 0 0.75rem; }
.articulo-bajada { font-size: var(--text-lg); color: var(--muted); margin-bottom: 1.5rem; }
.articulo-imagen { margin: 0 0 1.75rem; }
.articulo-imagen img { width: 100%; border-radius: var(--radius-card); }
.articulo-imagen figcaption { margin-top: 0.5rem; font-size: var(--text-xs); color: var(--muted); }

.articulo-pie {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--border);
}
.etiquetas { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.etiquetas li a,
.etiquetas li {
	display: inline-block;
	padding: 0.25rem 0.6rem;
	background: var(--surface-muted);
	border-radius: var(--radius-chip);
	font-size: var(--text-xs);
	color: var(--muted);
	text-decoration: none;
}
.compartir { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; font-size: var(--text-sm); }
.compartir a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--border-strong); }
.compartir a:hover { color: var(--accent); border-color: var(--accent); }

.relacionadas { margin-top: 3rem; }

/* -------------------------------------------------------------------------
 * Prosa del contenido (equivalente a .prose-agmer de 2026)
 * ---------------------------------------------------------------------- */
.prose-agmer { color: var(--ink); font-size: 1.0625rem; line-height: 1.75; }
.prose-agmer > * + * { margin-top: 1.15em; }
.prose-agmer p,
.prose-agmer ul,
.prose-agmer ol { margin-block: 1.15em; }
.prose-agmer h2 { font-size: var(--text-2xl); margin-top: 1.8em; font-weight: 600; }
.prose-agmer h3 { font-size: var(--text-xl); margin-top: 1.5em; font-weight: 600; }
.prose-agmer a { color: var(--accent); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; }
.prose-agmer ul { padding-left: 1.1em; list-style: none; }
.prose-agmer ul li::before { content: "—"; width: 1.1em; margin-left: -1.1em; display: inline-block; color: var(--accent); }
.prose-agmer ol { padding-left: 1.4em; list-style: decimal; }
.prose-agmer blockquote {
	margin: 1.5em 0;
	padding: 0.5rem 0 0.5rem 1.25rem;
	border-left: 3px solid var(--accent);
	font-family: var(--font-titulo);
	font-size: var(--text-lg);
	color: var(--ink);
}
.prose-agmer figure { margin: 1.5em 0; }
.prose-agmer figcaption { font-size: var(--text-xs); color: var(--muted); margin-top: 0.4rem; }
.prose-agmer img { border-radius: var(--radius-chip); height: auto; }
.prose-agmer table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.prose-agmer th,
.prose-agmer td { padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--border); text-align: left; }
.prose-agmer iframe { max-width: 100%; border-radius: var(--radius-chip); }

/* -------------------------------------------------------------------------
 * Galería y videos de nota individual
 * ---------------------------------------------------------------------- */
.galeria-nota,
.videos-nota {
	margin: 2.5rem 0;
	padding: 1.5rem 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
.galeria-titulo,
.videos-titulo {
	font-size: var(--text-xl);
	font-family: var(--font-titulo);
	margin: 0 0 1rem;
	letter-spacing: -0.01em;
}
.galeria-nota .grilla-notas {
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	gap: 1rem;
}
.galeria-nota .tarjeta {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transition: none;
}
.galeria-nota .tarjeta:hover {
	box-shadow: none;
	transform: none;
}
.galeria-nota .tarjeta figcaption {
	margin-top: 0.4rem;
	font-size: var(--text-xs);
	color: var(--muted);
	text-align: center;
}
.videos-nota .grilla-notas {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.video-item {
	border-radius: var(--radius-card);
	overflow: hidden;
	background: var(--surface-muted);
}

/* Firma del autor (debajo de la imagen destacada, como en 2026). */
.articulo-firma {
	margin: 1rem 0 1.5rem;
	font-size: var(--text-sm);
	color: var(--muted);
	font-family: var(--font-titulo);
	letter-spacing: -0.01em;
}

/* Contador de fotos en la galería. */
.galeria-contador {
	margin-left: 0.5rem;
	font-size: var(--text-sm);
	color: var(--muted);
	font-weight: 500;
}

/* -------------------------------------------------------------------------
 * Archivos, búsqueda, 404
 * ---------------------------------------------------------------------- */
.cabecera-archivo { margin-bottom: var(--espacio); }
.cabecera-archivo h1 { font-size: var(--text-3xl); margin: 0.25rem 0 0.5rem; }
.archivo-desc { max-width: 48rem; color: var(--muted); }
.archivo-meta { font-size: var(--text-sm); color: var(--muted); }

.paginacion { display: flex; justify-content: center; margin-top: 2.5rem; }
/* -------------------------------------------------------------------------
 * Legislación: filtros y listado de normas (diseño 2026)
 * ---------------------------------------------------------------------- */
.filtro-normas {
	display: grid;
	grid-template-columns: 12rem 1fr auto;
	align-items: end;
	gap: 1rem;
	padding: 1.25rem 0;
	margin: 0 0 1.5rem;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
.filtro-normas .campo { display: flex; flex-direction: column; gap: 0.375rem; }
.filtro-normas label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
}
.filtro-normas select,
.filtro-normas input[type="search"] {
	height: 2.75rem;
	width: 100%;
	padding: 0 0.75rem;
	font: inherit;
	font-size: var(--text-sm);
	color: var(--ink);
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	transition: border-color 0.2s ease;
}
.filtro-normas select:hover,
.filtro-normas input[type="search"]:hover { border-color: var(--border-strong); }
.filtro-normas select:focus,
.filtro-normas input[type="search"]:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.filtro-normas .acciones { display: flex; gap: 0.5rem; }
.filtro-normas .boton { height: 2.75rem; padding: 0 1.25rem; }
.boton-secundario {
	display: inline-flex;
	align-items: center;
	height: 2.75rem;
	padding: 0 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: var(--radius-chip);
	transition: color 0.2s ease, border-color 0.2s ease;
}
.boton-secundario:hover { color: var(--ink); border-color: var(--border); }

.normas-barra { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.normas-barra .archivo-conteo { margin: 0; }
.normas-barra .archivo-conteo b { color: var(--accent); }
.normas-pagina {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}

.lista-normas { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.norma {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 1.5rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--border);
}
.norma-cuerpo { display: flex; flex-direction: column; gap: 0.5rem; min-width: 0; }
.norma-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.norma-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.625rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent-strong);
	background: var(--accent-soft);
	border-radius: var(--radius-chip);
}
.norma-anio {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}
.norma-titulo {
	margin: 0;
	font-family: var(--font-titulo);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ink);
}
.norma-bajada { margin: 0; max-width: 42rem; font-size: var(--text-sm); line-height: 1.6; color: var(--muted); }
.norma-accion {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	gap: 0.5rem;
	height: 2.5rem;
	padding: 0 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.norma-accion:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.norma-sin-archivo { color: var(--muted); border-style: dashed; }

@media (max-width: 68rem) {
	.filtro-normas { grid-template-columns: 1fr; }
	.norma { grid-template-columns: 1fr; gap: 0.75rem; }
}

.paginacion .nav-links { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.paginacion .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	background: var(--surface);
	color: var(--ink);
	font-size: var(--text-sm);
	text-decoration: none;
}
.paginacion .current { background: var(--ink); color: var(--background); border-color: var(--ink); }
.paginacion .dots { border: 0; background: none; }

.aviso-vacio {
	padding: 2rem;
	background: var(--surface);
	border: 1px dashed var(--border-strong);
	border-radius: var(--radius-card);
	color: var(--muted);
}

/* Legislación (CPT dlyr) */
.tabla-dlyr { width: 100%; border-collapse: collapse; font-size: var(--text-sm); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-card); overflow: hidden; }
.tabla-dlyr th { text-align: left; padding: 0.7rem 0.8rem; background: var(--surface-muted); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }
.tabla-dlyr td { padding: 0.65rem 0.8rem; border-top: 1px solid var(--border); vertical-align: top; }
.tabla-dlyr tr:hover td { background: var(--surface-muted); }

/* -------------------------------------------------------------------------
 * Pie
 * ---------------------------------------------------------------------- */
.site-footer {
	margin-top: 4rem;
	background: var(--surface);
	border-top: 1px solid var(--border);
	color: var(--ink);
}
.pie-grid {
	display: grid;
	gap: 1.25rem;
	padding-block: 1.5rem;
}
.pie-firma { display: flex; align-items: center; gap: 0.75rem; }
.pie-logo { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.pie-marca .marca-nombre {
	font-family: var(--font-titulo);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.pie-institucion {
	margin: 0.5rem 0 0;
	font-size: var(--text-xs);
	font-weight: 600;
	line-height: 1.3;
	color: var(--ink);
}
.pie-bajada { margin: 0.75rem 0 0; font-size: var(--text-xs); line-height: 1.6; color: var(--muted); }
.pie-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.25rem 2rem;
	align-content: start;
	justify-items: start;
}
.pie-nav a {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--muted);
	text-decoration: none;
	transition: color .15s;
}
.pie-nav a:hover { color: var(--accent); }
.pie-barra { border-top: 1px solid var(--border); }
.pie-barra-fila {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem 1.5rem;
	padding-block: 0.75rem;
}
.pie-redes { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.pie-red {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	text-decoration: none;
	transition: opacity .15s;
}
.pie-red:hover { opacity: .8; }
.pie-red svg { width: 13px; height: 13px; flex: 0 0 auto; }
.pie-red-instagram { color: #e1306c; }
.pie-red-youtube { color: #ff0000; }
.pie-red-facebook { color: #1877f2; }
.pie-copy {
	margin: 0;
	font-size: 0.625rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--muted);
}
@media (min-width: 40rem) {
	.pie-grid { grid-template-columns: 1fr 1.6fr; padding-block: 2rem; }
	.pie-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* -------------------------------------------------------------------------
 * Responsive
 * ---------------------------------------------------------------------- */
@media (max-width: 68rem) {
	.cabecera-principal { flex-wrap: wrap; }
	.menu-toggle { display: inline-flex; }
	.nav-principal {
		display: none;
		order: 3;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
		margin: 0.5rem 0 0;
		padding-top: 0.75rem;
		border-top: 1px solid var(--border);
	}
	.nav-principal.abierto { display: flex; }
	.menu { flex-direction: column; align-items: stretch; gap: 0.15rem; }
	.submenu {
		position: static;
		top: auto;
		left: auto;
		transform: none;
		width: auto;
		box-shadow: none;
		border: 0;
		border-left: 2px solid var(--border);
		border-radius: 0;
		margin: 0.25rem 0 0 0.5rem;
		padding: 0 0 0 0.75rem;
	}
	.submenu::before { display: none; }
	.submenu a { padding: 0.4rem 0.25rem; }
	.submenu li:first-child a,
	.submenu li:last-child a { border-radius: 0; }
	.menu .boton-menu { align-self: flex-start; width: auto; max-width: 100%; }
	.layout { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
	.hero { grid-template-columns: 1fr; }
	.hero-media { min-height: 14rem; }
	.accesos { grid-template-columns: 1fr; }
	.barra-superior { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
	.nota-fila { grid-template-columns: 5.25rem 1fr; }
	.articulo-pie { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* -------------------------------------------------------------------------
 * Cabecera: barra azul institucional (como 2026.agmer.org.ar)
 * ---------------------------------------------------------------------- */
:root { --navy: #171759; }

.barra-superior {
	display: block;
	background: var(--navy);
	color: #fff;
	padding-block: 0;
	border-bottom: 0;
}
.barra-superior-fila {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 2rem;
}
.barra-nombre,
.barra-superior .fecha-hoy {
	margin: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #fff;
}
.barra-superior .fecha-hoy { color: rgb(255 255 255 / 0.8); }

.marca-logo { width: auto; height: 40px; max-width: 40px; object-fit: contain; flex: 0 0 auto; }
.marca { display: flex; align-items: center; gap: 0.75rem; }

/* -------------------------------------------------------------------------
 * Cronograma de pagos
 * ---------------------------------------------------------------------- */
.crono { display: grid; gap: 1.5rem; }

.crono-meses {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	padding-bottom: 0.5rem;
	scrollbar-width: thin;
}
.crono-mes {
	flex: 0 0 auto;
	min-width: 6.25rem;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	background: var(--surface);
	color: var(--ink);
	text-decoration: none;
	text-transform: capitalize;
	font-weight: 600;
	line-height: 1.2;
}
.crono-mes:hover { border-color: var(--border-strong); }
.crono-mes .mes-tramos {
	display: block;
	margin-top: 0.2rem;
	font-size: var(--text-xs);
	font-weight: 400;
	color: var(--muted);
	text-transform: none;
}
.crono-mes.activo { background: var(--navy); border-color: var(--navy); color: #fff; }
.crono-mes.activo .mes-tramos { color: rgb(255 255 255 / 0.72); }

.crono-panel {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-soft);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.crono-panel-cab {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--border);
}
.crono-panel h2 {
	margin: 0.15rem 0 0.35rem;
	font-family: var(--font-titulo);
	font-size: var(--text-2xl);
	text-transform: capitalize;
}
.crono-sub { margin: 0; color: var(--muted); }
.boton-imprimir {
	padding: 0.45rem 0.95rem;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-chip);
	background: var(--surface);
	color: var(--ink);
	font: inherit;
	cursor: pointer;
}
.boton-imprimir:hover { background: var(--surface-muted); }

.crono-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1.25rem 0;
}
.crono-stat {
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-chip);
	background: var(--surface-muted);
}
.crono-stat dt {
	margin: 0;
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--muted);
}
.crono-stat dd { margin: 0.15rem 0 0; font-weight: 600; }
.crono-avance {
	height: 0.4rem;
	margin-top: 0.35rem;
	background: var(--surface-inset);
	border-radius: 99px;
	overflow: hidden;
}
.crono-avance span { display: block; height: 100%; background: var(--accent); }

.crono-lista { margin: 0; padding: 0; list-style: none; }
.crono-tramo {
	display: grid;
	grid-template-columns: 2.1rem 1fr auto;
	gap: 1rem;
	align-items: start;
	padding: 1rem 0;
	border-top: 1px solid var(--border);
}
.crono-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: var(--surface-inset);
	color: var(--muted);
	font-size: var(--text-sm);
	font-weight: 600;
}
.crono-fecha { font-weight: 600; text-transform: capitalize; }
.crono-fecha small {
	display: block;
	font-size: var(--text-xs);
	font-weight: 400;
	color: var(--muted);
	text-transform: none;
}
.crono-monto {
	font-family: var(--font-titulo);
	font-size: var(--text-lg);
	line-height: 1.2;
}
.crono-monto small {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--font-texto);
	font-size: var(--text-xs);
	font-weight: 400;
	color: var(--muted);
}
.crono-estado {
	justify-self: end;
	padding: 0.15rem 0.6rem;
	border-radius: 99px;
	background: var(--surface-muted);
	color: var(--muted);
	font-size: var(--text-xs);
	white-space: nowrap;
}
.crono-estado.pagado { background: #e7f2ea; color: #1c6b35; }

/* -------------------------------------------------------------------------
 * Afiliate
 * ---------------------------------------------------------------------- */
.afi-hero {
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.afi-hero h1 { margin: 0.25rem 0 0.75rem; font-size: var(--text-3xl); font-family: var(--font-titulo); }
.afi-hero p { max-width: 52ch; color: var(--muted); }

.afi-bloque { margin-top: var(--espacio); }
.afi-bloque > h2 {
	font-family: var(--font-titulo);
	font-size: var(--text-2xl);
	margin: 0 0 0.35rem;
}
.afi-bloque > p { color: var(--muted); max-width: 60ch; margin-top: 0; }

.afi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.afi-card {
	padding: 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
}
.afi-card h3 { margin: 0 0 0.25rem; font-size: var(--text-lg); }
.afi-card p { margin: 0.35rem 0 0; color: var(--muted); font-size: var(--text-sm); }
.afi-porcentaje {
	display: block;
	margin-bottom: 0.25rem;
	font-family: var(--font-titulo);
	font-size: 2.4rem;
	line-height: 1;
	color: var(--accent);
}

.afi-beneficios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.afi-beneficios li {
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--accent);
	background: var(--surface);
	border-radius: 0 var(--radius-chip) var(--radius-chip) 0;
}
.afi-beneficios strong { display: block; margin-bottom: 0.15rem; }
.afi-beneficios span { color: var(--muted); font-size: var(--text-sm); }

.afi-pasos { counter-reset: paso; margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; }
.afi-pasos li { counter-increment: paso; display: grid; grid-template-columns: 2rem 1fr; gap: 0.85rem; align-items: start; }
.afi-pasos li::before {
	content: counter(paso);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--navy);
	color: #fff;
	font-size: var(--text-sm);
	font-weight: 600;
}

.afi-fichas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.afi-ficha {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
	color: var(--ink);
	text-decoration: none;
}
.afi-ficha:hover { border-color: var(--accent); }
.afi-ficha small { display: block; color: var(--muted); font-size: var(--text-sm); margin-top: 0.15rem; }
.afi-ficha b { color: var(--accent); font-size: 1.25rem; line-height: 1; }

@media (max-width: 72rem) {
	.crono-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 48rem) {
	.barra-superior { display: none; }
	.afi-grid, .afi-beneficios, .afi-fichas { grid-template-columns: 1fr; }
	.crono-tramo { grid-template-columns: 1.9rem 1fr; }
	.crono-estado { grid-column: 2; justify-self: start; }
}

@media print {
	.site-header, .site-footer, .crono-meses, .boton-imprimir, .skip-link { display: none !important; }
	body { background: #fff; }
	.crono-panel { border: 0; box-shadow: none; padding: 0; }
	.crono-tramo { break-inside: avoid; }
}

/* -------------------------------------------------------------------------
 * Galería de fotos con lightbox / deslizador (como 2026.agmer.org.ar)
 * ---------------------------------------------------------------------- */
.galeria-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.galeria-titulo {
	font-size: var(--text-xl);
	font-family: var(--font-titulo);
	margin: 0;
	letter-spacing: -0.01em;
}
.galeria-contador {
	margin-left: 0.5rem;
	font-size: var(--text-sm);
	color: var(--muted);
	font-weight: 500;
}
.galeria-pantalla-completa {
	background: none;
	border: 1px solid var(--border);
	color: var(--ink);
	padding: 0.35rem 0.75rem;
	border-radius: var(--radius-chip);
	font-size: var(--text-xs);
	cursor: pointer;
	font-family: inherit;
}
.galeria-pantalla-completa:hover { border-color: var(--accent); color: var(--accent); }

.galeria-grilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	gap: 1rem;
}
.galeria-item {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transition: none;
}
.galeria-item:hover { box-shadow: none; transform: none; }
.galeria-abrir {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	margin: 0;
}
.galeria-abrir img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: var(--radius-card);
	display: block;
}
.galeria-sobrelado {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 0.5rem;
	background: linear-gradient(to top, rgba(22,19,15,0.6), transparent);
	border-radius: var(--radius-card);
	color: #fff;
	font-size: var(--text-xs);
	font-weight: 600;
	letter-spacing: -0.01em;
	gap: 0.25rem;
}

/* Lightbox */
.galeria-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(0,0,0,0.9);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	backdrop-filter: blur(2px);
}
.galeria-overlay.abierto {
	opacity: 1;
	visibility: visible;
}
.galeria-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1010;
	display: flex;
	flex-direction: column;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.galeria-lightbox.abierto {
	opacity: 1;
	visibility: visible;
}
.galeria-cerrar {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 1020;
	background: rgba(255,255,255,0.1);
	border: 0;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.galeria-cerrar:hover { background: rgba(255,255,255,0.2); }
.galeria-lightbox-inner {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	overflow: hidden;
}
.galeria-imagen-actual {
	max-width: 90vw;
	max-height: 70vh;
	width: auto;
	height: auto;
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-lift);
	object-fit: contain;
	display: block;
	margin: 0 auto;
}
.galeria-caption {
	margin-top: 0.75rem;
	color: #fff;
	font-size: var(--text-sm);
	text-align: center;
	max-width: 60ch;
}
.galeria-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,0.15);
	border: 0;
	color: #fff;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1015;
}
.galeria-nav-prev { left: 1rem; }
.galeria-nav-next { right: 1rem; }
.galeria-nav:hover { background: rgba(255,255,255,0.3); }
.galeria-nav:disabled { opacity: 0.4; cursor: not-allowed; }

.galeria-controles {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 2rem;
	background: rgba(0,0,0,0.7);
	border-top: 1px solid rgba(255,255,255,0.1);
}
.galeria-indicador {
	color: #fff;
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: -0.01em;
}
.galeria-indicador-actual,
.galeria-indicador-total { font-variant-numeric: tabular-nums; }
.galeria-pantalla-completa-btn {
	background: rgba(255,255,255,0.15);
	border: 0;
	color: #fff;
	padding: 0.4rem 0.8rem;
	border-radius: var(--radius-chip);
	font-size: var(--text-xs);
	cursor: pointer;
	font-family: inherit;
}
.galeria-pantalla-completa-btn:hover { background: rgba(255,255,255,0.3); }

.galeria-miniaturas {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	padding: 1rem 2rem;
	background: rgba(0,0,0,0.5);
	border-top: 1px solid rgba(255,255,255,0.05);
	scrollbar-width: thin;
}
.galeria-miniatura {
	flex: 0 0 auto;
	width: 4rem;
	height: 2.5rem;
	border-radius: var(--radius-chip);
	overflow: hidden;
	border: 2px solid transparent;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.2s ease;
}
.galeria-miniatura img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.galeria-miniatura.activa { opacity: 1; border-color: var(--accent); }
.galeria-miniatura:hover { opacity: 0.8; }

@media (max-width: 48rem) {
	.galeria-header { flex-direction: column; align-items: stretch; gap: 0.75rem; }
	.galeria-pantalla-completa { align-self: flex-start; }
	.galeria-controles { flex-direction: column; gap: 0.75rem; align-items: stretch; }
	.galeria-miniaturas { padding: 1rem; }
	.galeria-miniatura { width: 3.5rem; height: 2rem; }
}

/* -------------------------------------------------------------------------
 * Fidelidad con 2026.agmer.org.ar: nota y cronograma
 * ---------------------------------------------------------------------- */

/* Nota: ancho de 48rem (max-w-3xl), título compacto e imagen al 48% a la derecha */
.articulo { max-width: 48rem; }
.articulo-titulo {
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0.5rem 0 0;
}
.articulo-bajada {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--muted);
	margin: 0 0 1rem;
}
.articulo-imagen {
	float: none;
	width: 100%;
	margin: 0 0 1.25rem;
}
.articulo-imagen img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--border);
	border-radius: 0;
	object-fit: cover;
}
.articulo-imagen figcaption { margin-top: 0.5rem; font-size: var(--text-xs); color: var(--muted); }
.articulo-firma {
	margin: 1.25rem 0 0;
	font-family: var(--font-titulo);
	font-size: var(--text-sm);
	color: var(--muted);
}
.clear-both { clear: both; }

@media (min-width: 40rem) {
	.articulo-imagen { float: right; width: 48%; margin: 0 0 1rem 2rem; }
}

/* Galería: visor grande con tira de miniaturas (no grilla) */
.galeria-bloque {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border);
}
.galeria-nota {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	border: 0;
}
.galeria-nota .galeria-header {
	margin: 0;
	gap: 0.5rem;
}
.galeria-nota .galeria-titulo {
	font-size: var(--text-xl);
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0;
}
.galeria-nota .galeria-contador {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--muted);
}
.galeria-visor {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--surface-inset);
}
.galeria-principal {
	display: block;
	width: 100%;
	height: auto;
	max-height: 70vh;
	object-fit: contain;
}
.galeria-flecha {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.2);
	border-radius: 50%;
	background: rgb(22 19 15 / 0.6);
	color: #fff;
	font: inherit;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(4px);
}
.galeria-flecha:hover { background: rgb(22 19 15 / 0.85); }
.galeria-flecha:disabled { opacity: 0.35; cursor: not-allowed; }
.galeria-flecha-prev { left: 0.5rem; }
.galeria-flecha-next { right: 0.5rem; }
.galeria-contador-visor {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	padding: 0.15rem 0.5rem;
	border-radius: var(--radius-chip);
	background: rgb(22 19 15 / 0.7);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	backdrop-filter: blur(4px);
}
.galeria-pantalla-completa {
	position: absolute;
	right: 0.5rem;
	bottom: 0.5rem;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid rgb(255 255 255 / 0.2);
	border-radius: var(--radius-chip);
	background: rgb(22 19 15 / 0.7);
	color: #fff;
	font-family: inherit;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	cursor: pointer;
	backdrop-filter: blur(4px);
}
.galeria-pantalla-completa:hover { background: rgb(22 19 15 / 0.9); color: #fff; }
.galeria-nota .galeria-miniaturas {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	padding: 0 0 0.25rem;
	background: none;
	border: 0;
}
.galeria-nota .galeria-miniatura {
	flex: 0 0 auto;
	width: 5rem;
	height: 3.5rem;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 0;
	background: var(--surface-inset);
	opacity: 0.7;
	cursor: pointer;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}
.galeria-nota .galeria-miniatura img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.galeria-nota .galeria-miniatura.activa {
	opacity: 1;
	border-color: var(--accent);
	box-shadow: 0 0 0 1px var(--accent);
}
.galeria-nota .galeria-miniatura:hover { opacity: 0.9; }

/* Cronograma: cabecera con migas, chips ink y línea de tiempo */
.cabecera-seccion {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
}
.cabecera-seccion .migas { margin-bottom: 0.75rem; }
.cabecera-seccion h1 {
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
	margin: 0;
}
.cabecera-desc {
	max-width: 28rem;
	margin: 0;
	padding-left: 1rem;
	border-left: 2px solid var(--accent);
	color: var(--muted);
}

.crono { gap: 2rem; }
.crono-meses {
	gap: 0.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--border);
}
.crono-mes {
	min-width: 0;
	padding: 0.6rem 1rem;
	text-transform: none;
}
.crono-mes-nombre {
	display: block;
	font-family: var(--font-titulo);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
}
.crono-mes .mes-tramos {
	margin-top: 0.25rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
}
.crono-mes.activo { background: var(--ink); border-color: var(--ink); color: var(--primary-contrast); }
.crono-mes.activo .mes-tramos { color: rgb(251 248 244 / 0.7); }

.crono-panel { padding: 1.5rem; }
.crono-panel h2 {
	font-size: 1.875rem;
	line-height: 1;
	margin: 0.75rem 0 0;
	text-transform: capitalize;
}
.label {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--muted);
}
.crono-sub { margin: 0.75rem 0 0; font-size: var(--text-sm); }

.crono-stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 1.5rem 0 0;
	border-top: 1px solid var(--border);
	background: color-mix(in srgb, var(--surface-muted) 60%, transparent);
}
.crono-stat {
	padding: 1rem 1.5rem;
	border: 0;
	border-bottom: 1px solid var(--border);
	border-radius: 0;
	background: none;
}
.crono-stat:last-child { border-bottom: 0; }
.crono-stat dt { font-size: 11px; font-weight: 700; letter-spacing: 0.18em; }
.crono-stat dd {
	margin: 0.5rem 0 0;
	font-family: var(--font-titulo);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
}

.crono-avance-bloque {
	padding: 1rem 1.5rem;
	border-top: 1px solid var(--border);
}
.crono-avance-cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--muted);
}
.crono-avance-pct { color: var(--accent); }
.crono-avance {
	height: 0.5rem;
	margin-top: 0.75rem;
	border-radius: 999px;
	background: var(--surface-inset);
}

.crono-detalle { padding-top: 1rem; border-top: 1px solid var(--border); }
.crono-detalle > .label { margin-bottom: 1.5rem; }
.crono-lista { position: relative; }
.crono-tramo {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	padding: 0 0 2rem;
	border: 0;
}
.crono-tramo:last-child { padding-bottom: 0; }
.crono-conector { display: none; }
.crono-marca { display: none; }

.crono-fecha { display: flex; flex-direction: column; gap: 0.125rem; }
.crono-fecha time {
	font-family: var(--font-titulo);
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1;
	color: var(--ink);
}
.crono-fecha time span {
	margin-left: 0.375rem;
	font-family: var(--font-texto);
	font-size: var(--text-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--muted);
}
.crono-dia {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--muted);
}

.crono-tarjeta {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.crono-tarjeta:hover { border-color: var(--border-strong); box-shadow: var(--shadow-soft); }
.crono-tarjeta-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.crono-tarjeta .crono-estado {
	justify-self: auto;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--muted);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.16em;
}
.crono-tarjeta .crono-estado.pagado { background: none; color: var(--muted); }
.crono-monto {
	padding-left: 0.75rem;
	border-left: 1px solid var(--border);
	font-family: var(--font-titulo);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ink);
}
.crono-desc { margin: 0; font-size: var(--text-sm); line-height: 1.6; color: var(--muted); }

@media (min-width: 40rem) {
	.crono-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.crono-stat { border-bottom: 0; border-right: 1px solid var(--border); }
	.crono-stat:last-child { border-right: 0; }
	.crono-avance-bloque { padding: 1rem 2rem; }
	.crono-panel { padding: 2rem; }
	.crono-tramo { grid-template-columns: 2.5rem 7.5rem 1fr; gap: 1rem; }
	.crono-conector {
		display: block;
		position: absolute;
		left: 19px;
		top: 2.5rem;
		height: calc(100% - 2rem);
		width: 1px;
		background: var(--border-strong);
	}
	.crono-tramo:last-child .crono-conector { display: none; }
	.crono-marca { display: flex; justify-content: center; padding-top: 0.25rem; }
	.crono-marca span {
		display: block;
		width: 1.75rem;
		height: 1.75rem;
		border: 2px solid var(--border-strong);
		background: var(--surface);
		transform: rotate(45deg);
	}
}

@media (max-width: 39.99rem) {
	.cabecera-seccion { align-items: flex-start; }
	.cabecera-desc { max-width: none; }
}

/* Tiras horizontales sin barra visible (clase no-scrollbar de 2026) */
.crono-meses,
.galeria-miniaturas {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.crono-meses::-webkit-scrollbar,
.galeria-miniaturas::-webkit-scrollbar { display: none; }

.crono-mes-nombre { text-transform: capitalize; }

/* La cabecera no debe desbordar el viewport en 1280px */

/* -------------------------------------------------------------------------
 * Portada y secciones: fidelidad con 2026.agmer.org.ar
 * ---------------------------------------------------------------------- */
.portada {
	display: flex;
	flex-direction: column;
	gap: clamp(2.5rem, 5vw, 4rem);
}

/* Héroe: destacada con texto superpuesto + columna lateral */
.portada-hero { display: grid; gap: 1.5rem; }
@media (min-width: 64rem) {
	.portada-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}

.portada-destacada { display: flex; min-width: 0; }
.portada-destacada > .destacada-card { flex: 1; }
.destacada-card {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
	color: #fff;
	text-decoration: none;
}
.destacada-media { position: absolute; inset: 0; display: block; }
.destacada-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
@media (min-width: 40rem) {
	.destacada-card { aspect-ratio: 4 / 3; }
}
@media (min-width: 64rem) {
	.destacada-card { aspect-ratio: auto; height: 100%; min-height: 34rem; }
}
.destacada-card:hover .destacada-media img { transform: scale(1.03); }

.destacada-texto {
	position: absolute;
	left: 0;
	bottom: 0;
	max-width: 92%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1rem;
	padding-top: 2.25rem;
	background: linear-gradient(to right, rgb(22 19 15 / 0.95), rgb(22 19 15 / 0.85) 55%, rgb(22 19 15 / 0.35));
}
@media (min-width: 40rem) {
	.destacada-texto { max-width: 88%; padding: 1.25rem; padding-top: 2.5rem; }
}
.destacada-etiqueta {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	border-radius: var(--radius-chip);
	background: rgb(22 19 15 / 0.75);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--primary-contrast);
}
.destacada-etiqueta span { margin-left: 0.375rem; opacity: 0.8; }
.destacada-titulo {
	margin-top: 0.5rem;
	font-family: var(--font-titulo);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -0.01em;
	color: #fff;
}
@media (min-width: 40rem) {
	.destacada-titulo { font-size: 1.25rem; }
}
.destacada-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.5rem;
	font-size: 13px;
	font-weight: 600;
	color: var(--primary-contrast);
}
.destacada-cta span { transition: transform 0.2s ease; }
.destacada-card:hover .destacada-cta span { transform: translateX(4px); }

.portada-lateral { display: flex; flex-direction: column; gap: 0.75rem; }
.portada-logo { display: flex; align-items: center; justify-content: center; padding: 1rem; }
.portada-logo img { height: 7rem; width: auto; object-fit: contain; }
.portada-voz { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.25rem; }
.portada-voz h2 { margin: 0; font-size: 1.125rem; line-height: 1.3; }
@media (min-width: 40rem) {
	.portada-voz h2 { font-size: 1.25rem; }
}
.portada-voz p { margin: 0; font-size: 0.875rem; line-height: 1.6; color: var(--muted); }
.portada-voz .boton { align-self: flex-start; margin-top: 0.25rem; }

.accesos-frecuentes { padding: 1rem; }
.accesos-frecuentes h2 {
	margin: 0 0 0.5rem;
	font-family: var(--font-texto);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--muted);
}
.accesos-frecuentes ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.accesos-frecuentes li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
	font-size: 0.875rem;
	color: var(--ink);
	text-decoration: none;
}
.accesos-frecuentes li:last-child a { border-bottom: 0; }
.accesos-frecuentes li a:hover { color: var(--accent); }
.accesos-frecuentes li a span { color: var(--muted); transition: transform 0.2s ease; }
.accesos-frecuentes li a:hover span { transform: translateX(4px); }

.bloque-portada { display: flex; flex-direction: column; gap: 1.25rem; }
.bloque-portada .bloque-encabezado { margin: 0; padding-bottom: 0; border-bottom: 0; }
.bloque-portada .bloque-encabezado h2 { font-size: 1.25rem; }
@media (min-width: 40rem) {
	.bloque-portada .bloque-encabezado h2 { font-size: 1.5rem; }
}

.grilla-titulares,
.grilla-noticias { grid-template-columns: 1fr; }
@media (min-width: 40rem) {
	.grilla-titulares,
	.grilla-noticias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.grilla-titulares,
	.grilla-noticias { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Tarjeta de nota estilo 2026 */
.tarjeta-media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: contain;
	background: var(--surface-inset);
}
.tarjeta-cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem;
}
.tarjeta-fecha { font-size: 0.75rem; color: var(--muted); }
.tarjeta-titulo { font-size: 0.875rem; font-weight: 600; line-height: 1.35; margin: 0; }
.tarjeta-bajada {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tarjeta-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: auto;
	padding-top: 0.25rem;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent);
	text-decoration: none;
}
.tarjeta-cta span { transition: transform 0.2s ease; }
.tarjeta-cta:hover span { transform: translateX(4px); }

/* Secciones en la portada */
.grilla-secciones-2026 { grid-template-columns: 1fr; }
@media (min-width: 40rem) {
	.grilla-secciones-2026 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.grilla-secciones-2026 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.seccion-2026 {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
	color: var(--ink);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.seccion-2026:hover { border-color: var(--border-strong); box-shadow: var(--shadow-lift); color: var(--ink); }
.seccion-fila { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; }
.seccion-2026 .seccion-nombre { font-family: var(--font-titulo); font-size: 0.875rem; font-weight: 600; line-height: 1.3; }
.seccion-2026 .seccion-nombre::after { content: none; }
.seccion-2026:hover .seccion-nombre { color: var(--accent); }
.seccion-arrow { flex: 0 0 auto; color: var(--accent); font-size: 0.875rem; transition: transform 0.2s ease; }
.seccion-2026:hover .seccion-arrow { transform: translateX(2px); }
.seccion-2026 .seccion-desc {
	font-size: 0.75rem;
	line-height: 1.6;
	color: var(--muted);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Barra de resultados de las secciones */
.archivo-barra {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	margin-bottom: 1.5rem;
}
@media (min-width: 48rem) {
	.archivo-barra { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
}
.archivo-conteo { margin: 0; font-family: var(--font-titulo); font-size: 1.125rem; color: var(--ink); }
.archivo-conteo b { color: var(--accent); font-weight: 600; }
.archivo-conteo em { font-style: italic; }
.buscador-seccion { display: flex; width: 100%; }
@media (min-width: 48rem) {
	.buscador-seccion { width: auto; }
}
.buscador-seccion input {
	flex: 1;
	min-width: 0;
	height: 2.5rem;
	padding: 0 0.75rem;
	border: 1px solid var(--border);
	border-right: 0;
	border-radius: var(--radius-chip) 0 0 var(--radius-chip);
	background: var(--surface);
	font: inherit;
	font-size: 0.875rem;
	color: var(--ink);
}
.buscador-seccion input:focus { outline: 0; border-color: var(--ink); }
.buscador-seccion button {
	height: 2.5rem;
	padding: 0 1rem;
	border: 1px solid var(--ink);
	background: var(--ink);
	color: var(--primary-contrast);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	border-radius: 0 var(--radius-chip) var(--radius-chip) 0;
	cursor: pointer;
}
.buscador-seccion button:hover { background: var(--accent); border-color: var(--accent); }

/* En móvil el logo va solo con el nombre: la bajada larga desbordaba la cabecera */
@media (max-width: 39.99rem) {
	.marca-bajada { display: none; }
	.marca { min-width: 0; }
}

/* Institucional: pestañas, panel de contenido y seccionales */
.tabs-seccion {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--border);
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.tabs-seccion::-webkit-scrollbar { display: none; }
.tabs-seccion a {
	position: relative;
	white-space: nowrap;
	padding: 0.75rem 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--muted);
	text-decoration: none;
	transition: color 0.2s ease;
}
.tabs-seccion a:hover { color: var(--ink); }
.tabs-seccion a.activa { color: var(--ink); }
.tabs-seccion a.activa::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: var(--accent);
}

.panel-contenido {
	padding: 1.5rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
}
@media (min-width: 40rem) {
	.panel-contenido { padding: 2.5rem; }
}

.grilla-seccionales { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 40rem) {
	.grilla-seccionales { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.grilla-seccionales { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.seccional {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background: var(--surface);
}
.seccional h3 { margin: 0; font-size: 1rem; }
.seccional-autoridad { margin: 0; font-size: 0.875rem; color: var(--ink); }
.seccional-datos {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.25rem 0.5rem;
	margin: 0;
	font-size: 0.8125rem;
}
.seccional-datos dt {
	padding-top: 0.15rem;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--muted);
}
.seccional-datos dd { margin: 0; color: var(--ink); }
.seccional-datos a { color: var(--accent); word-break: break-word; }
.seccional-filiales { margin: 0; font-size: 0.8125rem; color: var(--muted); }
.seccional-filiales ul {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
}
.seccional-filiales li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.5rem;
	padding-top: 0.35rem;
	border-top: 1px dashed var(--border);
	color: var(--ink);
}
.filial-nombre { font-weight: 600; }
.filial-dato { color: var(--muted); }

/* Subsecciones: pestañas con subrayado, como /gremial de 2026 */
.tabs-subsecciones {
	flex: 1 0 100%;
	margin: 0.5rem 0 0;
}
.cabecera-seccion .tabs-subsecciones { margin-bottom: 0; }
.con-subsecciones .archivo-barra { border-top: 0; }

.grilla-archivo { grid-template-columns: 1fr; }
@media (min-width: 40rem) {
	.grilla-archivo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.grilla-archivo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
