/*
 * Abriguemos Causas · Sitio nuevo (S1).
 * Sistema de diseño del prototipo aprobado (sitio (1).html): tokens, cabecera,
 * pie, menú móvil, botón flotante y páginas. Todo va bajo .abs para no tocar
 * los estilos viejos (abgc.css) cuando la cabecera y el pie nuevos se pintan
 * en las vistas de siempre.
 */

/* ===== Tokens ===== */
.abs {
	--az: #0B4EA2;
	--az-d: #073A80;
	--az-dd: #052A5E;
	--rojo: #DE3B3E;
	/* Rojo para TEXTO chico (< 18,66 px en negrita o < 24 px) sobre blanco y
	   para el fondo de los botones con texto blanco: 5,32:1 sobre blanco y
	   4,89:1 sobre --crema (WCAG AA). #DE3B3E da 4,37:1 y queda para fondos,
	   bordes y títulos grandes. Lo verifica tests/test-sitio.php. */
	--rojo-tx: #C9302F;
	--rojo-d: #B32E31;
	--oro: #F5B72E;
	--crema: #FDF4E8;
	--gris: #F0F4F9;
	--linea: #E2E9F2;
	--tx: #22303F;
	--tx-2: #5E6E7E;
	--f-disp: "Anton", Impact, "Arial Narrow", sans-serif;
	--f-ac: "Playfair Display", Georgia, serif;
	--f-cuerpo: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-family: var(--f-cuerpo);
	color: var(--tx);
	line-height: 1.6;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
}
.abs, .abs *, .abs *::before, .abs *::after { box-sizing: border-box; }
.abs a { color: inherit; }
.abs :focus-visible { outline: 2px solid var(--rojo); outline-offset: 2px; }
/* Sobre fondos azules o rojos el contorno rojo casi no se distingue (contraste < 3:1). */
.abs.abs-hd :focus-visible, .abs.abs-menu :focus-visible, .abs.abs-ft :focus-visible, .abs .abs-portada :focus-visible { outline-color: var(--oro); }
.abs .abs-band :focus-visible { outline-color: #fff; }
.abs img { max-width: 100%; }
.abs button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

body.abs-body { margin: 0; background: #fff; overflow-x: hidden; }
body.abs-menu-abierto { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.abs *, .abs *::before, .abs *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

.abs-saltar { position: absolute; left: -9999px; top: 8px; z-index: 100; background: #fff; color: #0B4EA2; padding: 8px 14px; border-radius: 6px; font: 600 14px "Barlow", sans-serif; }
.abs-saltar:focus { left: 8px; }
.abs-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.abs-previa { background: #0E1B2C; color: #E7EEF6; font: 600 12px/1.4 "Barlow", sans-serif; text-align: center; padding: 7px 12px; }
.abs-previa a { color: #F5B72E; }

/* ===== Base ===== */
.abs .abs-wrap { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.abs .abs-disp { font-family: var(--f-disp); font-weight: 400; text-transform: uppercase; letter-spacing: .005em; line-height: 1.04; text-wrap: balance; overflow-wrap: anywhere; }
.abs em.abs-ac { font-family: var(--f-ac); font-style: italic; text-transform: none; font-weight: 500; letter-spacing: -.01em; }
.abs .abs-h2 { font-family: var(--f-disp); text-transform: uppercase; font-size: 34px; line-height: 1.04; margin: 0 0 12px; color: var(--az); font-weight: 400; text-wrap: balance; overflow-wrap: anywhere; }
.abs .abs-h2 em { font-family: var(--f-ac); font-style: italic; text-transform: none; color: var(--rojo); font-weight: 500; }
.abs .abs-eb { display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: .19em; text-transform: uppercase; color: var(--rojo-tx); font-weight: 600; margin-bottom: 11px; }
.abs .abs-eb i { width: 26px; height: 2px; background: currentColor; display: block; border-radius: 2px; flex: none; }
.abs .abs-eb.ctr { justify-content: center; }
.abs .abs-eb.oro { color: var(--oro); }
.abs p { margin: 0 0 12px; }
.abs .abs-lead { color: var(--tx-2); max-width: 62ch; }
.abs .abs-mut { color: var(--tx-2); }
.abs .abs-ctr { text-align: center; }
.abs .abs-centro { margin-left: auto; margin-right: auto; justify-content: center; }
.abs .abs-mb { margin-bottom: 24px; }
.abs .abs-num { font-variant-numeric: tabular-nums; }
.abs .abs-sec { padding: 56px 0; }
.abs .abs-sec.crema { background: var(--crema); }
.abs .abs-sec.gris { background: var(--gris); }
.abs .abs-tag { display: inline-block; font-size: 10.5px; letter-spacing: .11em; text-transform: uppercase; color: var(--rojo-tx); font-weight: 700; text-decoration: none; }
.abs .abs-sec-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 22px; flex-wrap: wrap; }

/* ===== Botones ===== */
.abs .abs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 99px; padding: 12px 22px; font-size: 11.5px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; border: 1.5px solid transparent; text-decoration: none; cursor: pointer; font-family: var(--f-cuerpo); line-height: 1.2; text-align: center; transition: filter .18s, transform .18s; }
.abs .abs-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.abs .abs-btn.rojo { background: var(--rojo-tx); color: #fff; }
.abs .abs-btn.azul { background: var(--az); color: #fff; }
.abs .abs-btn.blanco { background: #fff; color: var(--rojo-tx); }
.abs .abs-btn.line { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.abs .abs-btn.line-az { background: #fff; color: var(--az); border-color: var(--linea); }
.abs .abs-btn.sm { padding: 9px 16px; font-size: 10.5px; }
.abs .abs-btn.blk { width: 100%; }
.abs .abs-botones { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }

/* ===== Tarjetas y grillas ===== */
.abs .abs-card { background: #fff; border: 1px solid var(--linea); border-radius: 12px; padding: 20px; box-shadow: 0 8px 22px -18px rgba(11, 78, 162, .5); min-width: 0; }
.abs .abs-card-t { font-size: 21px; color: var(--az); margin: 0 0 8px; }
.abs .abs-grid { display: grid; gap: 18px; }
.abs .abs-grid.g1 { grid-template-columns: minmax(0, 1fr); }
.abs .abs-grid.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abs .abs-grid.g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.abs .abs-grid.g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.abs .abs-2col { display: grid; grid-template-columns: 1.05fr 1fr; gap: 38px; align-items: center; }
.abs .abs-2col.solo { grid-template-columns: minmax(0, 1fr); }
.abs .abs-foto { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; display: block; }
.abs .abs-ico { width: 40px; height: 40px; border-radius: 11px; background: #FDECEC; display: grid; place-items: center; color: var(--rojo); font-size: 18px; flex: none; }

/* ===== Cabecera ===== */
.abs.abs-hd { background: var(--az); padding: 13px 0; position: relative; z-index: 20; }
.abs .abs-hd-in { max-width: 1180px; margin: 0 auto; padding: 0 26px; display: flex; align-items: center; gap: 12px; }
.abs .abs-burger { width: 36px; height: 36px; border-radius: 50%; background: #fff; display: grid; place-items: center; align-content: center; gap: 3px; flex: none; }
.abs .abs-burger i { display: block; width: 14px; height: 2px; background: var(--az); border-radius: 2px; }
.abs .abs-hd-cta { background: var(--rojo-tx); color: #fff; border-radius: 6px; padding: 6px 12px; font-size: 10px; font-weight: 700; line-height: 1.15; text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 6px; text-decoration: none; flex: none; }
.abs .abs-hd-cta .abs-cor { font-size: 14px; }
.abs .abs-hd-login { border: 1.5px solid #fff; color: #fff; border-radius: 99px; padding: 7px 16px; font-size: 11.5px; font-weight: 600; text-decoration: none; white-space: nowrap; flex: none; }
.abs .abs-hd-nav { flex: 1; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; min-width: 0; }
.abs .abs-hd-nav a { color: #fff; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; text-decoration: none; }
.abs .abs-hd-nav a:hover, .abs .abs-hd-nav a.on { color: var(--oro); }
.abs .abs-hd-nav a.on { font-weight: 700; }
.abs .abs-lang { display: flex; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .32); border-radius: 99px; padding: 2px; flex: none; }
.abs .abs-lang a { color: #DCE9F7; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; padding: 5px 10px; border-radius: 99px; line-height: 1; text-decoration: none; transition: .18s; }
.abs .abs-lang a.on { background: #fff; color: var(--az); }
.abs .abs-hd-logo { flex: none; text-decoration: none; margin-left: auto; }
.abs .abs-logo { width: 40px; height: 40px; border-radius: 50%; background: #fff; object-fit: contain; padding: 3px; display: block; }
.abs .abs-logo-txt { display: grid; place-items: center; width: auto; min-width: 40px; height: 40px; border-radius: 99px; padding: 0 12px; background: #fff; color: var(--az); font: 400 12px/1 var(--f-disp); text-transform: uppercase; white-space: nowrap; }

/* ===== Menú desplegable ===== */
.abs.abs-velo { position: fixed; inset: 0; background: rgba(5, 26, 55, .55); opacity: 0; pointer-events: none; transition: opacity .25s; z-index: 60; }
.abs.abs-velo.on { opacity: 1; pointer-events: auto; }
.abs.abs-menu { position: fixed; top: 0; left: 0; bottom: 0; width: min(330px, 86vw); background: var(--az); color: #fff; z-index: 61; transform: translateX(-105%); transition: transform .3s cubic-bezier(.3, .8, .3, 1); overflow-y: auto; padding: 22px 24px 40px; visibility: hidden; }
.abs.abs-menu.on { transform: none; visibility: visible; }
.abs.abs-menu h5 { margin: 22px 0 8px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #8FB4DE; font-weight: 700; }
.abs.abs-menu a { display: block; padding: 8px 0; color: #EAF1FA; text-decoration: none; font-size: 15px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.abs.abs-menu a:hover { color: var(--oro); }
.abs .abs-menu-cerrar { position: absolute; top: 12px; right: 14px; color: #fff; font-size: 26px; line-height: 1; width: 36px; height: 36px; }
.abs .abs-menu-marca { display: flex; align-items: center; gap: 11px; margin: 0 40px 6px 0; }
.abs .abs-menu-marca b { font-size: 14px; }
.abs .abs-menu-logo { width: 40px; height: 40px; border-radius: 50%; background: #fff; padding: 4px; object-fit: contain; }
.abs.abs-menu .abs-menu-inicio { border-bottom: 0; font-weight: 700; color: var(--oro); padding-top: 12px; }

/* ===== Botón flotante ===== */
.abs.abs-flota { position: fixed; right: 20px; bottom: 18px; z-index: 40; background: var(--rojo-tx); color: #fff; border-radius: 99px; padding: 12px 20px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 10px 26px -8px rgba(222, 59, 62, .75); display: flex; gap: 8px; align-items: center; text-decoration: none; }
.abs.abs-flota:hover { filter: brightness(1.07); }

/* ===== Pie ===== */
.abs.abs-ft { background: var(--az); color: #DCE7F5; padding: 42px 0 52px; font-size: 13.5px; }
.abs.abs-ft h4 { color: #fff; font-size: 14px; margin: 0 0 12px; font-weight: 700; }
.abs.abs-ft a { color: #DCE7F5; text-decoration: none; display: block; padding: 3px 0; overflow-wrap: anywhere; }
.abs.abs-ft a:hover { color: #fff; text-decoration: underline; }
.abs .abs-ft-cols { display: grid; grid-template-columns: 76px repeat(4, minmax(0, 1fr)); gap: 24px; align-items: start; }
.abs .abs-ft-img { width: 66px; height: 66px; border-radius: 50%; background: #fff; padding: 7px; object-fit: contain; display: block; }
.abs .abs-ft-logo .abs-logo-txt { font: 400 12px/1.2 var(--f-disp); color: var(--az); background: #fff; border-radius: 16px; padding: 10px; display: inline-block; width: auto; height: auto; max-width: 100%; white-space: normal; overflow: visible; text-align: center; overflow-wrap: anywhere; }
/* Sin logo de imagen, el nombre del sitio va completo: en el menú ya se lee al lado, así que no se repite cortado. */
.abs .abs-menu-marca .abs-logo-txt { display: none; }
.abs .abs-ft-dir { display: block; padding: 3px 0; }
.abs .abs-ft-socs { display: flex; gap: 9px; margin-top: 12px; flex-wrap: wrap; }
.abs.abs-ft .abs-ft-socs a { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); display: grid; place-items: center; padding: 0; }
.abs .abs-ft-btm { margin-top: 30px; border-top: 1px solid rgba(255, 255, 255, .16); padding: 15px 0 22px; font-size: 12px; color: #C3D5EB; display: flex; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; }
.abs.abs-ft .abs-ft-btm a { display: inline; color: #DCE7F5; }

/* ===== Encabezados de página ===== */
.abs .abs-hero { background: linear-gradient(160deg, var(--az), var(--az-d) 60%, var(--az-dd)); color: #fff; padding: 52px 0 56px; text-align: center; }
.abs .abs-hero h1 { font-size: 46px; margin: 0 0 12px; color: #fff; }
.abs .abs-hero em.abs-ac { color: var(--oro); }
.abs .abs-hero-sub { color: #C6DCF3; max-width: 58ch; margin: 0 auto; font-size: 15px; }
.abs .abs-hero-sub p:last-child { margin-bottom: 0; }
.abs .abs-migas { font-size: 10.5px; letter-spacing: .17em; text-transform: uppercase; color: #9DC0EA; margin-bottom: 14px; }
.abs .abs-migas a { color: inherit; text-decoration: none; }
.abs .abs-migas a:hover { text-decoration: underline; }
.abs .abs-migas.oscuro { color: #5E6E7E; }
.abs .abs-cab-gris { background: var(--gris); padding: 34px 0; }
.abs .abs-archivo-t { font-size: 34px; color: var(--az); margin: 0 0 6px; }
.abs .abs-archivo-t em.abs-ac, .abs .abs-busq-t em.abs-ac, .abs .abs-404-t em.abs-ac, .abs .abs-nota-t em.abs-ac { color: var(--rojo); }

/* ===== Portada ===== */
.abs .abs-portada { position: relative; background: var(--az-dd); min-height: 380px; display: grid; }
.abs .abs-portada-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; display: block; }
.abs .abs-portada-velo { position: relative; display: grid; align-content: center; padding: 56px 0; background: linear-gradient(90deg, rgba(5, 42, 94, .92), rgba(5, 42, 94, .3)); }
.abs .abs-portada:not(.con-img) .abs-portada-velo { background: linear-gradient(160deg, var(--az), var(--az-d) 60%, var(--az-dd)); }
.abs .abs-portada-in { max-width: 34rem; }
.abs .abs-portada-eb { font-size: 10.5px; letter-spacing: .19em; text-transform: uppercase; color: #9DC0EA; margin-bottom: 12px; }
.abs .abs-portada h1 { font-size: 48px; color: #fff; margin: 0 0 14px; }
.abs .abs-portada h1 em.abs-ac { color: var(--oro); }
.abs .abs-portada-p { color: #CFE0F3; }
.abs .abs-fotos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.abs .abs-fotos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; }
.abs .abs-fotos.n1 { grid-template-columns: minmax(0, 1fr); }
.abs .abs-fotos.n3 img:first-child { grid-column: span 2; aspect-ratio: 16 / 9; }
.abs .abs-act { padding: 0; overflow: hidden; }
.abs .abs-act img { width: 100%; height: 130px; object-fit: cover; display: block; }
.abs .abs-act-in { padding: 13px 14px; }
.abs .abs-act-t { font-weight: 700; font-size: 14.5px; line-height: 1.25; margin-top: 4px; }
.abs .abs-act-t a { text-decoration: none; }
.abs .abs-impacto { background: linear-gradient(120deg, var(--az), var(--az-d)); color: #fff; padding: 46px 0; }
.abs .abs-impacto-t { font-size: 32px; margin: 0 0 26px; color: #fff; }
.abs .abs-impacto-t em.abs-ac { color: var(--oro); }
.abs .abs-cifra { font-size: 44px; color: var(--oro); }
.abs .abs-cifra-l { font-size: 12.5px; color: #C6DCF3; line-height: 1.4; }
.abs .abs-forma { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.abs .abs-forma p { font-size: 13.5px; color: var(--tx-2); margin: 0; flex: 1; }
.abs .abs-forma-t { font-weight: 700; font-size: 16px; }
.abs .abs-mensual { display: grid; grid-template-columns: 1fr auto; gap: 26px; align-items: center; padding: 26px 28px; border-left: 4px solid var(--rojo); }
.abs .abs-mensual-t { font-size: 27px; margin: 0 0 8px; color: var(--az); }
.abs .abs-mensual-t em.abs-ac { color: var(--rojo); }
.abs .abs-mensual p { margin: 0 0 6px; font-size: 14px; }
.abs .abs-testi { margin: 0; display: flex; flex-direction: column; }
.abs .abs-testi-q { color: var(--oro); font-size: 26px; line-height: 1; margin-bottom: 8px; }
.abs .abs-testi blockquote { margin: 0 0 14px; font-size: 14px; flex: 1; }
.abs .abs-testi figcaption { border-top: 1px solid var(--linea); padding-top: 12px; display: flex; flex-direction: column; }
.abs .abs-testi figcaption b { font-size: 13.5px; }
.abs .abs-testi figcaption span { font-size: 12px; color: var(--tx-2); }
.abs .abs-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; align-items: center; }
.abs .abs-logo-al { padding: 12px; height: 78px; display: grid; place-items: center; text-align: center; text-decoration: none; }
.abs .abs-logo-al img { max-height: 52px; width: auto; object-fit: contain; }
.abs .abs-logo-al span { font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; color: #5E6E7E; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.abs .abs-caso { background: var(--crema); border: 0; margin-top: 24px; }
.abs .abs-caso p { margin: 6px 0 0; }

/* ===== Banda roja ===== */
.abs .abs-band { background: linear-gradient(115deg, #D2413F, #E2504A 55%, #D9403F); color: #fff; text-align: center; padding: 60px 0 78px; position: relative; overflow: hidden; }
.abs .abs-band h3 { font-family: var(--f-disp); text-transform: uppercase; font-size: 38px; margin: 0 0 12px; font-weight: 400; line-height: 1.06; text-wrap: balance; overflow-wrap: anywhere; }
.abs .abs-band p { color: #FBDEDE; max-width: 46ch; margin: 0 auto 22px; }
.abs .abs-band .abs-btn { margin-top: 8px; position: relative; z-index: 1; }
.abs .abs-wave { position: absolute; left: 0; right: 0; bottom: -1px; height: 46px; background: #E9494B; border-radius: 60% 60% 0 0 / 100% 100% 0 0; transform: scaleX(1.4); }

/* ===== Quiénes somos / Qué hacemos / Equipo ===== */
.abs .abs-linea { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 0; }
.abs .abs-linea li { padding: 14px 14px 0; border-top: 2px solid var(--linea); }
.abs .abs-linea li.on { border-top-color: var(--rojo); }
.abs .abs-linea-a { font-size: 25px; color: var(--rojo); }
.abs .abs-linea p { font-size: 13.5px; color: var(--tx-2); margin: 5px 0 0; }
.abs .abs-prog { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: center; }
.abs .abs-prog + .abs-prog { margin-top: 46px; }
.abs .abs-prog.inv .abs-prog-txt { order: 2; }
.abs .abs-prog.solo { grid-template-columns: minmax(0, 1fr); }
.abs .abs-prog-t { font-size: 30px; color: var(--az); margin: 0 0 10px; }
.abs .abs-metrica { display: inline-block; background: var(--crema); border-radius: 8px; padding: 8px 13px; font-size: 13px; font-weight: 600; color: var(--rojo-tx); }
.abs .abs-persona { text-align: center; padding: 16px; }
.abs .abs-persona img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; display: block; }
.abs .abs-persona-ini { width: 100%; aspect-ratio: 1; border-radius: 10px; background: var(--gris); display: grid; place-items: center; font: 400 44px/1 var(--f-disp); color: #9DB0C6; }
.abs .abs-persona-n { font-weight: 700; font-size: 14.5px; margin-top: 11px; overflow-wrap: anywhere; }
.abs .abs-persona-c { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--rojo-tx); font-weight: 600; margin-top: 3px; }

/* ===== Cómo apoyar ===== */
.abs .abs-hub { display: flex; gap: 16px; align-items: flex-start; }
.abs .abs-hub .abs-forma-t { margin-bottom: 5px; }
.abs .abs-hub p { font-size: 13.5px; }
.abs .abs-sinpe dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; font-size: 13.5px; }
.abs .abs-sinpe dt { font-weight: 700; color: var(--tx-2); }
.abs .abs-sinpe dd { margin: 0; overflow-wrap: anywhere; }
.abs .abs-copiar { font-size: 11px; font-weight: 700; color: var(--az); border: 1px solid var(--linea); border-radius: 99px; padding: 3px 10px; margin-left: 4px; background: #fff; }

/* ===== Legales ===== */
.abs .abs-legal-grid { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 34px; align-items: start; }
.abs .abs-legal-grid.abs-acuerdo-solo { grid-template-columns: minmax(0, 1fr); max-width: 820px; margin: 0 auto; }
.abs .abs-lnav { background: #fff; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; position: sticky; top: 16px; }
.abs .abs-lnav a { display: block; padding: 11px 15px; font-size: 13.5px; color: var(--tx-2); text-decoration: none; border-left: 3px solid transparent; }
.abs .abs-lnav a.on { background: #F2F7FD; color: var(--az); font-weight: 700; border-left-color: var(--rojo); }
.abs .abs-legal-txt { max-width: 70ch; overflow-wrap: anywhere; }
.abs .abs-legal-txt h2, .abs .abs-legal-txt h3 { font-size: 17px; font-weight: 700; margin: 24px 0 8px; color: var(--az); }
.abs .abs-legal-txt p, .abs .abs-legal-txt li { color: var(--tx-2); }
.abs .abs-legal-fecha { font-size: 12.5px; }
.abs .abs-aviso-admin { background: #FFF6E0; border: 1px dashed #E2B23C; color: #6B4E00; border-radius: 10px; padding: 12px 16px; font-size: 13px; margin: 16px auto; max-width: 1016px; }

/* ===== Blog ===== */
.abs .abs-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.abs .abs-con-side { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 30px; align-items: start; }
.abs .abs-nota { padding: 0; overflow: hidden; transition: transform .18s, box-shadow .18s; }
.abs .abs-nota:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(11, 78, 162, .7); }
.abs .abs-nota-link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.abs .abs-nota-img { width: 100%; height: 150px; object-fit: cover; display: block; }
.abs .abs-nota-cuerpo { padding: 15px 16px; display: flex; flex-direction: column; flex: 1; min-width: 0; }
.abs .abs-nota-meta { display: flex; gap: 9px; align-items: center; margin-bottom: 7px; font-size: 12px; color: #5E6E7E; flex-wrap: wrap; }
.abs .abs-nota h3 { font-size: 16px; font-weight: 700; margin: 0 0 7px; line-height: 1.25; overflow-wrap: anywhere; }
.abs .abs-nota p { font-size: 13.5px; color: var(--tx-2); margin: 0 0 12px; flex: 1; }
.abs .abs-mas { font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--az); }
.abs .abs-nota-fila .abs-nota-link { flex-direction: row; }
.abs .abs-nota-fila .abs-nota-img { width: 190px; height: auto; min-height: 124px; flex: none; }
.abs .abs-nota-mini .abs-nota-img { height: 92px; }
.abs .abs-nota-mini h3 { font-size: 13.5px; margin: 0; }
.abs .abs-filas { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.abs .abs-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.abs .abs-side-t { font-weight: 700; margin-bottom: 10px; font-size: 14.5px; display: block; }
.abs .abs-side-cat { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--linea); font-size: 13.5px; text-decoration: none; }
.abs .abs-side-cat:hover span:first-child { color: var(--az); }
.abs .abs-side-cat .abs-num { color: #5E6E7E; }
.abs .abs-side-nota { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--linea); text-decoration: none; }
.abs .abs-side-nota img { width: 54px; height: 46px; object-fit: cover; border-radius: 6px; flex: none; }
.abs .abs-side-nota b { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; }
.abs .abs-side-nota small { font-size: 11.5px; color: #5E6E7E; }
.abs .abs-side-don { background: var(--crema); border: 0; }
.abs .abs-side-don p { font-size: 13px; color: var(--tx-2); }
.abs .abs-buscar-fila { display: flex; gap: 8px; }
.abs .abs-buscar input[type="search"] { flex: 1; min-width: 0; border: 1px solid var(--linea); border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 14px; color: var(--tx); background: #fff; }
.abs .abs-buscar-grande { max-width: 520px; margin-bottom: 22px; }
.abs .abs-buscar-404 { max-width: 460px; margin: 0 auto 20px; }
.abs .abs-pag { display: flex; gap: 6px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
.abs .abs-pag .page-numbers { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 99px; border: 1.5px solid var(--linea); color: var(--az); font-weight: 700; font-size: 13px; text-decoration: none; padding: 0 10px; }
.abs .abs-pag .page-numbers.current { background: var(--az); border-color: var(--az); color: #fff; }
.abs .abs-vacio { text-align: center; color: var(--tx-2); }
.abs .abs-lectura { max-width: 70ch; margin: 0 auto; }
.abs .abs-nota-t { font-size: 40px; color: var(--az); margin: 0 0 14px; }
.abs .abs-autor { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); margin-bottom: 20px; flex-wrap: wrap; font-size: 13px; }
.abs .abs-compartir { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.abs .abs-compartir span { font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--tx-2); font-weight: 700; margin-right: 2px; }
.abs .abs-compartir a, .abs .abs-compartir .abs-copiar { font-size: 11.5px; font-weight: 600; color: var(--tx-2); border: 1px solid var(--linea); border-radius: 99px; padding: 4px 10px; text-decoration: none; margin: 0; }
.abs .abs-nota-portada { margin-bottom: 20px; aspect-ratio: 16 / 9; }
.abs .abs-contenido { font-size: 16px; overflow-wrap: anywhere; }
.abs .abs-contenido img { height: auto; border-radius: 10px; }
.abs .abs-contenido h2, .abs .abs-contenido h3 { color: var(--az); font-weight: 700; margin: 26px 0 8px; line-height: 1.25; }
.abs .abs-contenido blockquote { margin: 20px 0; padding: 14px 20px; border-left: 3px solid var(--rojo); background: var(--crema); font-style: italic; }
.abs .abs-contenido a { color: var(--az); }
.abs .abs-cta-don { margin-top: 26px; background: var(--crema); border: 0; display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.abs .abs-cta-don-t { font-weight: 700; margin-bottom: 4px; }
.abs .abs-cta-don p { margin: 0; font-size: 13.5px; color: var(--tx-2); }
.abs .abs-relac { margin-top: 32px; }
.abs .abs-relac-t { font-weight: 700; margin-bottom: 12px; }

/* ===== Búsqueda y 404 ===== */
.abs .abs-busq-t { font-size: 30px; color: var(--az); margin: 0 0 18px; }
.abs .abs-resultados { display: flex; flex-direction: column; gap: 11px; max-width: 72ch; }
.abs .abs-resultado { display: flex; flex-direction: column; gap: 3px; text-decoration: none; }
.abs .abs-resultado-t { font-weight: 700; font-size: 16px; }
.abs .abs-resultado .abs-mut { font-size: 13.5px; }
.abs .abs-404-sec { padding: 72px 0; }
.abs .abs-404-n { font-size: 88px; color: var(--gris); line-height: 1; }
.abs .abs-404-t { font-size: 34px; color: var(--az); margin: 0 0 12px; }

/* ===== Pantallas medianas ===== */
@media (max-width: 1080px) {
	.abs .abs-hd-nav { display: none; }
	.abs .abs-hd-logo { margin-left: 0; }
	.abs .abs-lang { margin-left: auto; }
	.abs .abs-lang + .abs-lang { margin-left: 0; }
}
@media (max-width: 980px) {
	.abs .abs-wrap { padding: 0 20px; }
	.abs .abs-grid.g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abs .abs-grid.g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abs .abs-ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
	.abs .abs-2col, .abs .abs-prog, .abs .abs-con-side, .abs .abs-legal-grid { grid-template-columns: minmax(0, 1fr); }
	.abs .abs-prog.inv .abs-prog-txt { order: 0; }
	.abs .abs-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.abs .abs-linea { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abs .abs-lnav { position: static; display: flex; flex-wrap: wrap; }
	.abs .abs-lnav a { border-left: 0; border-bottom: 3px solid transparent; }
	.abs .abs-lnav a.on { border-bottom-color: var(--rojo); }
}
@media (max-width: 700px) {
	.abs { font-size: 14.5px; }
	.abs .abs-hd-in { gap: 8px; padding: 0 14px; }
	.abs .abs-hd-login { padding: 7px 11px; font-size: 10.5px; }
	.abs .abs-hd-cta { padding: 6px 9px; }
	.abs .abs-lang a { padding: 5px 7px; font-size: 10px; }
	.abs .abs-logo, .abs .abs-burger { width: 34px; height: 34px; }
	/* Nombre en vez de logo: se achica y parte en renglones antes que cortarse («ABRIG…», QA 2.19). */
	.abs .abs-hd-logo { flex: 0 1 auto; min-width: 0; }
	.abs .abs-logo.abs-logo-txt { display: flex; align-items: center; justify-content: center; width: auto; min-width: 34px; max-width: 132px; height: auto; min-height: 34px; padding: 4px 9px; border-radius: 17px; font-size: 10px; line-height: 1.05; white-space: normal; text-align: center; overflow-wrap: anywhere; }
	.abs .abs-grid.g4, .abs .abs-grid.g3, .abs .abs-grid.g2 { grid-template-columns: minmax(0, 1fr); }
	.abs .abs-grid.abs-ctr.g4, .abs .abs-grid.abs-ctr.g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abs .abs-ft-cols { grid-template-columns: minmax(0, 1fr); }
	.abs .abs-sec { padding: 38px 0; }
	.abs .abs-h2 { font-size: 27px; }
	.abs .abs-hero { padding: 40px 0 44px; }
	.abs .abs-hero h1, .abs .abs-portada h1 { font-size: 34px; }
	.abs .abs-portada { min-height: 0; }
	.abs .abs-portada-velo { padding: 44px 0; background: linear-gradient(180deg, rgba(5, 42, 94, .88), rgba(5, 42, 94, .6)); }
	.abs .abs-band h3 { font-size: 28px; }
	.abs .abs-band { padding: 46px 0 66px; }
	.abs .abs-cifra { font-size: 36px; }
	.abs .abs-impacto-t, .abs .abs-archivo-t, .abs .abs-busq-t, .abs .abs-404-t { font-size: 26px; }
	.abs .abs-nota-t { font-size: 30px; }
	.abs .abs-mensual { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; }
	.abs .abs-mensual-t { font-size: 23px; }
	.abs .abs-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abs .abs-linea { grid-template-columns: minmax(0, 1fr); }
	.abs .abs-nota-fila .abs-nota-link { flex-direction: column; }
	.abs .abs-nota-fila .abs-nota-img { width: 100%; height: 150px; min-height: 0; }
	.abs .abs-hub { flex-direction: column; gap: 10px; }
	.abs .abs-404-n { font-size: 64px; }
	.abs.abs-flota { right: 14px; bottom: 14px; padding: 11px 16px; font-size: 10.5px; }
	.abs.abs-ft { padding-bottom: 60px; }
}
@media (max-width: 480px) {
	/* Sin logo de imagen y con poco ancho (más aún con el selector de moneda), el nombre va en su propio renglón arriba. */
	.abs .abs-hd-in:has(.abs-logo-txt) { flex-wrap: wrap; row-gap: 10px; }
	.abs .abs-hd-in:has(.abs-logo-txt) .abs-hd-logo { order: -1; flex: 1 0 100%; display: flex; justify-content: center; }
	.abs .abs-hd-in:has(.abs-logo-txt) .abs-logo.abs-logo-txt { max-width: 100%; min-height: 30px; padding: 4px 14px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; line-height: 22px; }
}
@media (max-width: 359px) {
	.abs .abs-hd-login { display: none; }
}

/* ===== 2.26 · Sitio completo: estados vacíos y bloques de Quiénes somos ===== */
.abs .abs-mt { margin-top: 24px; }
.abs .abs-vacio-xl { text-align: center; padding: 44px 28px; display: flex; flex-direction: column; align-items: center; }
.abs .abs-vacio-ico { width: 72px; height: 72px; border-radius: 50%; background: var(--gris); color: var(--az); display: grid; place-items: center; margin-bottom: 16px; }
.abs .abs-vacio-t { font-size: 30px; color: var(--az); margin: 0 0 10px; line-height: 1.05; }
.abs .abs-vacio-t em.abs-ac { color: var(--rojo); }
.abs .abs-vacio-xl .abs-mut { max-width: 46ch; margin: 0 auto 8px; }
.abs .abs-vacio-xl .abs-botones { margin-top: 12px; }
.abs .abs-prog-card .abs-eb { margin-bottom: 8px; }
.abs .abs-causa-mini h3 { margin-top: 4px; }
@media (max-width: 700px) {
	.abs .abs-vacio-xl { padding: 32px 18px; }
	.abs .abs-vacio-t { font-size: 25px; }
	.abs .abs-vacio-xl .abs-botones .abs-btn { width: 100%; }
}

/* ===== 2.30.1 · Fidelidad al prototipo (DEC-79) ===== */
.abs .abs-prog-pie { align-items: center; margin-top: 4px; }
.abs .abs-prog-pie .abs-metrica { margin: 0; }
.abs .abs-ft-cor { color: var(--rojo); }
.abs .abs-impacto .abs-btn.line { margin-top: 8px; }
/* Vistas del plugin anteriores al sitio nuevo (causas, causa, /donar, apoyo
   mensual, gracias): mismos colores y letras que el prototipo aprobado. */
.abgc-body.abs-vieja {
	--abgc-az: #0B4EA2; --abgc-az-d: #073A80; --abgc-rojo: #DE3B3E; --abgc-rojo-d: #B32E31; --abgc-oro: #F5B72E;
	--abgc-linea: #E2E9F2; --abgc-tx: #22303F; --abgc-tx2: #5E6E7E;
	--abgc-disp: "Anton", Impact, sans-serif; --abgc-body: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.abgc-body.abs-vieja .abgc-donar-plan, .abgc-body.abs-vieja .abgc-donar-tiers .abgc-tier { border: 2px solid var(--abgc-linea); border-radius: 12px; background: #fff; }
.abgc-body.abs-vieja .abgc-donar-plan.on, .abgc-body.abs-vieja .abgc-donar-tiers .abgc-tier.on { border-color: var(--abgc-rojo); background: #FDECEC; }
.abgc-body.abs-vieja .abgc-disp, .abgc-body.abs-vieja .abgc-h2, .abgc-body.abs-vieja .abgc-donar-plan b { font-weight: 400; }
.abgc-body.abs-vieja .abgc-ac, .abgc-body.abs-vieja .abgc-h2 em { font-weight: 500; }
/* Encabezado de Causas con el HERO azul del prototipo (todas sus páginas internas lo usan). */
.abgc-body.abs-vieja .abgc-hero-mini { background: linear-gradient(160deg, #0B4EA2, #073A80 60%, #052A5E); color: #fff; padding: 52px 0 56px; text-align: center; }
.abgc-body.abs-vieja .abgc-hero-mini .abgc-eb { justify-content: center; color: #9DC0EA; }
.abgc-body.abs-vieja .abgc-hero-mini .abgc-eb i { background: #9DC0EA; }
.abgc-body.abs-vieja .abgc-hero-mini h1 { color: #fff; font-size: 44px; }
.abgc-body.abs-vieja .abgc-hero-mini h1 em { color: #F5B72E; }
.abgc-body.abs-vieja .abgc-hero-mini .abgc-lead { color: #C6DCF3; margin-left: auto; margin-right: auto; }
@media (max-width: 700px) { .abgc-body.abs-vieja .abgc-hero-mini h1 { font-size: 32px; } .abgc-body.abs-vieja .abgc-hero-mini { padding: 40px 0 44px; } }
/* Blog: categorías a la izquierda y «Buscar en el blog» a la derecha, como el prototipo. */
.abs .abs-blog-filtros { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 22px; }
.abs .abs-blog-filtros .abs-chips { margin-bottom: 0; flex: 1 1 auto; }
.abs .abs-blog-buscar input { min-width: 190px; border: 1px solid var(--linea); border-radius: 8px; padding: 10px 12px; background: #fff; font: inherit; font-size: 13.5px; color: var(--tx); }
@media (max-width: 700px) { .abs .abs-blog-buscar, .abs .abs-blog-buscar input { width: 100%; } }

/* ===== 2.35 · Tienda solidaria en la cabecera (previo menu-tienda-preview) =====
   Solo con la tienda encendida (.abs-hd-in.con-tienda). «Doná ahora» sigue rojo y
   principal; la Tienda sale de la fila de textos y es la segunda acción, dorada. */
.abs .abs-hd-login-ic, .abs .abs-hd-bolsa { display: none; }
/* Con el botón aparte la fila necesita más ancho: hasta 1320 px y un poco menos
   de aire entre enlaces, siempre en una sola línea. */
.abs .abs-hd-in.con-tienda { max-width: 1320px; }
.abs .abs-hd-in.con-tienda .abs-hd-nav { flex-wrap: nowrap; overflow: hidden; gap: 12px; padding: 5px 4px; margin: -5px 0; } /* el relleno deja ver el contorno de foco */
/* Compu: botón dorado con la bolsita en círculo blanco, junto a ES/EN. */
.abs .abs-hd-tienda { position: relative; display: flex; align-items: center; gap: 8px; flex: none; text-decoration: none; color: var(--az-dd); background: linear-gradient(135deg, #FFD66B, var(--oro)); border-radius: 99px; padding: 8px 16px 8px 10px; font-weight: 800; font-size: 12px; line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 4px 14px rgba(245, 183, 46, .35); }
.abs .abs-hd-tienda:hover { filter: brightness(1.05); }
.abs .abs-hd-tienda-ic { width: 28px; height: 28px; border-radius: 50%; background: #fff; display: grid; place-items: center; color: var(--az); flex: none; }
.abs .abs-hd-tienda .abs-carrito-num { position: absolute; top: -5px; left: 26px; }
.abs .abs-carrito-num { background: var(--rojo-tx); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: 0; line-height: 1; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; display: grid; place-items: center; border: 2px solid var(--az); }
.abs .abs-carrito-num[hidden] { display: none; }
.abs .abs-hd-tienda-punto { position: absolute; top: 2px; right: 4px; width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px var(--oro); }
.abs .abs-hd-tienda-tip { position: absolute; top: calc(100% + 10px); left: 50%; transform: translate(-50%, -4px); background: var(--az-dd); color: #fff; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 12.5px; white-space: nowrap; padding: 7px 12px; border-radius: 10px; opacity: 0; pointer-events: none; transition: .2s; z-index: 30; }
.abs .abs-hd-tienda:hover .abs-hd-tienda-tip, .abs .abs-hd-tienda:focus-visible .abs-hd-tienda-tip { opacity: 1; transform: translate(-50%, 0); }
/* Sobre el dorado el contorno dorado no se ve: blanco, por fuera, sobre el azul. */
.abs.abs-hd .abs-hd-tienda:focus-visible, .abs.abs-hd .abs-hd-bolsa:focus-visible, .abs.abs-menu .abs-menu-tienda:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
/* Late 3 veces al entrar (una vez por visita, abgc-sitio.js) y queda quieta. */
.abs .abs-latir { animation: abs-latir 1s ease-in-out 3; }
@keyframes abs-latir { 0%, 100% { transform: scale(1); box-shadow: 0 4px 14px rgba(245, 183, 46, .35); } 40% { transform: scale(1.09); box-shadow: 0 0 0 8px rgba(245, 183, 46, .28); } }
/* Celular: bolsita dorada redonda en la barra azul. */
.abs .abs-hd-bolsa { position: relative; width: 34px; height: 34px; border-radius: 50%; place-items: center; flex: none; background: linear-gradient(135deg, #FFD66B, var(--oro)); color: var(--az-dd); text-decoration: none; }
.abs .abs-hd-bolsa .abs-carrito-num { position: absolute; top: -4px; right: -4px; font-size: 10px; min-width: 17px; height: 17px; }
/* Menú ☰: la Tienda primera, como tarjeta dorada. */
.abs.abs-menu .abs-menu-tienda { display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #FFE7A3, var(--oro)); border-radius: 18px; padding: 14px; text-decoration: none; color: var(--az-dd); margin: 16px 0 6px; border-bottom: 0; }
.abs.abs-menu .abs-menu-tienda:hover { color: var(--az-dd); filter: brightness(1.04); }
.abs .abs-menu-tienda-ic { width: 44px; height: 44px; border-radius: 14px; background: #fff; display: grid; place-items: center; color: var(--az); flex: none; }
.abs .abs-menu-tienda b { display: block; font: 400 20px/1.1 var(--f-disp); text-transform: uppercase; }
.abs .abs-menu-tienda small { display: block; font-size: 13px; font-weight: 600; line-height: 1.3; margin-top: 2px; }
/* Franja delgada debajo de la portada (inicio). */
.abs .abs-franja-tienda { display: block; background: #FFFBF2; border-bottom: 1px solid #F1E3C2; color: var(--az-dd); text-decoration: none; font-weight: 500; line-height: 1.35; }
.abs .abs-franja-in { display: flex; align-items: center; gap: 14px; padding-top: 14px; padding-bottom: 14px; }
.abs .abs-franja-ic { width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--az); display: grid; place-items: center; flex: none; box-shadow: 0 0 0 2px var(--oro), 0 4px 10px rgba(5, 42, 94, .08); }
.abs .abs-franja-tienda b { font-weight: 700; color: var(--az); }
.abs .abs-franja-tx { min-width: 0; }
.abs .abs-franja-ir { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; background: var(--az); color: #fff; border-radius: 99px; padding: 10px 18px; font-weight: 700; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; box-shadow: 0 4px 12px rgba(11, 78, 162, .22); transition: background .18s, transform .18s; }
.abs .abs-franja-fl { transition: transform .18s; }
.abs .abs-franja-tienda:hover .abs-franja-ir, .abs .abs-franja-tienda:focus-visible .abs-franja-ir { background: var(--az-dd); }
.abs .abs-franja-tienda:hover .abs-franja-fl { transform: translateX(3px); }
@media (max-width: 700px) { .abs .abs-franja-in { gap: 10px; padding-top: 11px; padding-bottom: 11px; } .abs .abs-franja-ic { width: 34px; height: 34px; } .abs .abs-franja-ir { padding: 8px 14px; } }
.abs .abs-franja-corto { display: none; }
/* Sin espacio para los enlaces de texto (o el JS vio que no caben): versión con ☰. */
@media (max-width: 1080px) {
	.abs .abs-hd-in.con-tienda .abs-hd-tienda { margin-left: auto; }
	.abs .abs-hd-in.con-tienda .abs-lang { margin-left: 0; }
}
.abs .abs-hd-in.con-tienda.apretado .abs-hd-nav { display: none; }
.abs .abs-hd-in.con-tienda.apretado .abs-hd-tienda { margin-left: auto; }
.abs .abs-hd-in.con-tienda.apretado .abs-hd-logo { margin-left: 0; }
@media (max-width: 700px) {
	.abs .abs-hd-in.con-tienda .abs-hd-tienda { display: none; }
	.abs .abs-hd-in.con-tienda .abs-hd-bolsa { display: grid; }
	.abs .abs-hd-in.con-tienda .abs-lang { margin-left: auto; }
	.abs .abs-hd-in.con-tienda .abs-lang + .abs-lang { margin-left: 0; }
	/* «Mi cuenta» pasa a la personita (mismo enlace; el nombre va en aria-label). */
	.abs .abs-hd-in.con-tienda .abs-hd-login { width: 34px; height: 34px; padding: 0; border-width: 2px; border-radius: 50%; display: grid; place-items: center; }
	.abs .abs-hd-in.con-tienda .abs-hd-login-ic { display: block; }
	.abs .abs-hd-in.con-tienda .abs-hd-login-t { display: none; }
	.abs .abs-franja-in { padding-top: 11px; padding-bottom: 11px; font-size: 14px; }
	.abs .abs-franja-ir { font-size: 11px; }
	.abs .abs-franja-largo { display: none; }
	.abs .abs-franja-corto { display: inline; }
}
@media (max-width: 359px) {
	.abs .abs-hd-in.con-tienda { gap: 6px; padding: 0 10px; }
	.abs .abs-hd-in.con-tienda .abs-hd-login { display: grid; width: 32px; height: 32px; }
	.abs .abs-hd-in.con-tienda .abs-hd-bolsa, .abs .abs-hd-in.con-tienda .abs-burger, .abs .abs-hd-in.con-tienda .abs-logo { width: 32px; height: 32px; }
	.abs .abs-hd-in.con-tienda .abs-hd-cta { padding: 6px 7px; gap: 4px; }
	.abs .abs-hd-in.con-tienda .abs-lang a { padding: 5px 6px; }
}
/* Barra de administración de WordPress: el menú ☰ (fijo arriba) no queda debajo. */
body.admin-bar .abs.abs-menu { padding-top: 54px; }
body.admin-bar .abs .abs-menu-cerrar { top: 44px; }
@media (max-width: 782px) {
	body.admin-bar .abs.abs-menu { padding-top: 68px; }
	body.admin-bar .abs .abs-menu-cerrar { top: 58px; }
}
/* Vistas con montos (₡/$ además de ES/EN) en celulares angostos: menos aire
   para que nada se corte; con menos de 360 px el logo cede su lugar (el menú
   ☰ trae «Inicio» y el logo). El logo de imagen nunca se aplasta. */
.abs .abs-hd-in.con-tienda .abs-hd-logo:has(img) { flex: none; }
@media (max-width: 420px) {
	.abs .abs-hd-in.con-tienda:has(.abs-lang + .abs-lang) { gap: 5px; padding: 0 10px; }
	.abs .abs-hd-in.con-tienda:has(.abs-lang + .abs-lang) .abs-lang a { padding: 5px 5px; }
}
@media (max-width: 359px) {
	.abs .abs-hd-in.con-tienda:has(.abs-lang + .abs-lang) .abs-hd-logo { display: none; }
}

/* ── 2.36.2: botón «App» para instalar (el de la cabecera vieja) ─────────── */
.abs.abs-hd .abgc-pwa-btn{
	position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;
	flex:none;cursor:pointer;-webkit-appearance:none;appearance:none;
	font:inherit;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
	color:var(--az)!important;background:#fff!important;border:0!important;
	border-radius:99px;padding:8px 14px;min-height:36px;margin:0;
	box-shadow:0 2px 10px rgba(0,20,45,.22);transition:background .18s,color .18s,transform .18s}
.abs.abs-hd .abgc-pwa-btn:hover{background:var(--oro)!important;color:var(--az-dd)!important;transform:translateY(-1px)}
.abs.abs-hd .abgc-pwa-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.abs.abs-hd .abgc-pwa-btn svg{flex:none;display:block;fill:none!important;stroke:currentColor!important}
.abs .abgc-pwa-btn::after{content:"";position:absolute;inset:0;border-radius:99px;pointer-events:none;opacity:0}
.abs .abgc-pwa-btn.pulso::after{animation:abs-pwa-anillo 1.9s cubic-bezier(.2,.7,.4,1) 6}
.abs .abgc-pwa-btn.pulso{animation:abs-pwa-latido 1.9s ease-in-out 6}
@keyframes abs-pwa-anillo{0%{opacity:.7;box-shadow:0 0 0 0 #fff}65%{opacity:0;box-shadow:0 0 0 11px #fff}100%{opacity:0;box-shadow:0 0 0 11px #fff}}
@keyframes abs-pwa-latido{0%,100%{transform:scale(1)}18%{transform:scale(1.07)}36%{transform:scale(1)}}
/* Celular: botón redondo solo con el ícono; si aparece, el logo cede su lugar (está en el menú ☰). */
@media (max-width:700px){
	.abs.abs-hd .abgc-pwa-btn{width:38px;height:38px;min-height:38px;padding:0}
	.abs.abs-hd .abgc-pwa-btn span{display:none}
}
@media (max-width:440px){
	.abs .abs-hd-in:has(.abgc-pwa-btn:not([style*="none"])) .abs-hd-logo{display:none}
}
/* Panel con las instrucciones (iPhone, o Android cuando Chrome no ofrece instalar). */
.abgc-pwa-ios{position:fixed;inset:0;z-index:100001;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,26,52,.6);
	padding:18px calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));
	-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:'Barlow','Segoe UI',Roboto,Arial,sans-serif}
.abgc-pwa-ios[hidden]{display:none}
.abgc-pwa-ios-caja{background:#fff;border-radius:18px;padding:22px 20px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,26,52,.3);animation:abs-pwa-sube .24s cubic-bezier(.2,.9,.3,1)}
.abgc-pwa-ios-caja b{display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:22px;color:#0B4EA2;margin-bottom:8px}
.abgc-pwa-ios-caja p{margin:0 0 16px;font-size:14.5px;color:#5B6B7E;line-height:1.5}
.abgc-pwa-ios-caja button{border:0;border-radius:99px;background:#0B4EA2;color:#fff;font:800 12px 'Barlow',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:12px 22px;cursor:pointer}
@keyframes abs-pwa-sube{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:701px){.abgc-pwa-ios{align-items:center}}
@media (prefers-reduced-motion:reduce){.abgc-pwa-ios-caja,.abs .abgc-pwa-btn.pulso,.abs .abgc-pwa-btn.pulso::after{animation:none}}
