/* ANAV · Presentación — diseño B1 (aprobado 2026-10-20). Trasladado de ~/mockups-anav/b/portada-b1.html.
   Colores de la marca #33245F y #FF7C00; Source Sans 3 alojada; botones planos sin animación. */

@font-face { font-family: "Source Sans 3"; src: url("../fonts/source-sans-3.woff2") format("woff2"); font-weight: 400 900; font-display: swap; }

:root {
	--an-morado: #33245f;
	--an-morado-osc: #261a49;
	--an-naranja: #ff7c00;
	--an-naranja-osc: #e86f00;
	--an-gris-cartel: #ecebe9;
	--an-tono: #f4f3f7;
	--an-tono-2: #e9e6f0;
	--an-tinta: #1f1838;
	--an-suave: #514a66;
	--an-blanco: #ffffff;
	--an-enlace: #b85500;
	--an-titulos: "Source Sans 3", system-ui, sans-serif;
	--an-texto: "Source Sans 3", system-ui, sans-serif;
	--an-ancho: 1240px;
	--an-margen: clamp(16px, 3vw, 40px);
	--an-radio: 3px;
}

/* ---------- Todo el sitio: tipografía y colores de la marca ---------- */
body { font-family: var(--an-texto); color: var(--an-tinta); background: var(--an-blanco); -webkit-text-size-adjust: 100%; }
body[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: "Source Sans 3";
	--e-global-typography-secondary-font-family: "Source Sans 3";
	--e-global-typography-text-font-family: "Source Sans 3";
	--e-global-typography-accent-font-family: "Source Sans 3";
}
body :where(h1, h2, h3, h4, h5, h6, p, li, a, span, button, input, select, textarea, label, td, th) { font-family: var(--an-texto); }
body a { color: var(--an-enlace); }
body a:hover { color: var(--an-morado); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--an-naranja); outline-offset: 2px; }

/* ---------- Ámbito de los bloques ---------- */
.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie { font: 400 1.125rem/1.55 var(--an-texto); color: var(--an-tinta); }
:where(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie) *,
:where(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie) *::before,
:where(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie) *::after { box-sizing: border-box; }
:where(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie) img { display: block; max-width: 100%; height: auto; }
:where(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-volmas, .an-interes, .an-pie) :where(h1, h2, h3) { font-family: var(--an-titulos); margin: 0; padding: 0; }
.an-envoltura { width: min(100% - 2 * var(--an-margen), var(--an-ancho)); margin-inline: auto; }
/* Hello y Elementor no deben pintar sus estilos de botón sobre los nuestros */
:is(.an-cab, .an-cartel, .an-noticias, .an-galeria-zona, .an-agrupaciones, .an-pie) button { font-family: var(--an-titulos); box-shadow: none; }
a.an-boton, a.an-facebook { text-decoration: none; }
/* Los bloques van pegados: sin la separación que Elementor pone entre widgets */
.elementor-widget[class*="elementor-widget-anav_"] { margin: 0 !important; }

.an-titulo-seccion { font: 800 clamp(1.5rem, 1.1rem + 1.2vw, 2rem)/1.15 var(--an-titulos); text-transform: uppercase; color: var(--an-morado); letter-spacing: .01em; margin: 0 0 32px; }

/* Botones: planos, sin animación */
.an-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: var(--an-radio); font: 700 .9375rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.an-boton--naranja { background: var(--an-naranja); color: var(--an-morado); }
.an-boton--naranja:hover { background: var(--an-naranja-osc); color: var(--an-morado); }
.an-boton--morado { background: var(--an-morado); color: var(--an-blanco); }
.an-boton--morado:hover { background: var(--an-morado-osc); color: var(--an-blanco); }
.an-boton--linea-blanca { border-color: var(--an-blanco); color: var(--an-blanco); background: transparent; }
.an-boton--linea-blanca:hover { background: var(--an-blanco); color: var(--an-morado); }
.an-boton--linea-morada { border-color: var(--an-morado); color: var(--an-morado); background: transparent; }
.an-boton--linea-morada:hover { background: var(--an-morado); color: var(--an-blanco); }

/* ---------- Cabecera: franja morada (identidad + Gobierno) y barra de menú ---------- */
.an-franja { background: var(--an-morado); color: var(--an-blanco); }
.an-franja .an-envoltura { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 96px; }
.an-marca { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.an-marca img { width: 68px; height: 68px; }
.an-marca span { font: 800 1.0625rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .01em; color: var(--an-blanco); }
.an-marca span b { display: block; color: var(--an-naranja); font-weight: 800; }
.an-gobierno { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.an-gobierno p { margin: 0; max-width: 18em; text-align: right; font: 600 .8125rem/1.3 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; color: var(--an-blanco); }
.an-gobierno img { width: 283px; height: 50px; background: var(--an-blanco); padding: 0; border-radius: var(--an-radio); }

.an-barra { background: var(--an-blanco); border-bottom: 4px solid var(--an-naranja); position: relative; z-index: 20; }
.an-menu { display: flex; justify-content: space-between; list-style: none; margin: 0; padding: 0; }
.an-menu > li { position: relative; }
.an-menu > li > a, .an-menu > li > button { display: flex; align-items: center; gap: 6px; height: 56px; padding: 0 4px; font: 700 .96875rem/1 var(--an-titulos); text-transform: uppercase; letter-spacing: .04em; color: var(--an-morado); text-decoration: none; background: none; border: 0; cursor: pointer; }
.an-menu > li > a:hover, .an-menu > li > button:hover { color: var(--an-naranja-osc); }
.an-menu > li > a[aria-current]::after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 0; height: 4px; background: var(--an-morado); }
.an-menu > li > button::after { content: "+"; font-size: 1rem; }
.an-sub { display: none; position: absolute; left: -12px; top: 100%; min-width: 220px; margin: 0; padding: 8px 0; list-style: none; background: var(--an-blanco); border-top: 4px solid var(--an-naranja); box-shadow: 0 10px 24px rgba(31, 24, 56, .16); }
.an-menu > li:hover > .an-sub, .an-menu > li:focus-within > .an-sub { display: block; }
.an-sub a { display: block; padding: 10px 18px; color: var(--an-morado); text-decoration: none; font: 600 .9375rem/1.3 var(--an-titulos); }
.an-sub a:hover { background: var(--an-tono); color: var(--an-morado); }
.an-menu-movil { display: none; }
.an-gobierno-movil { display: none; }

/* ---------- Cartel del 30 aniversario ---------- */
.an-cartel-zona { padding-top: 32px; }
.an-cartel { display: grid; grid-template-columns: .95fr 1.15fr .9fr; border-radius: var(--an-radio); overflow: hidden; }
.an-cartel-logo { background: var(--an-gris-cartel); display: flex; align-items: center; justify-content: center; padding: 32px 28px; }
.an-cartel-logo img { width: min(100%, 330px); }
.an-cartel-texto { background: var(--an-morado); color: var(--an-blanco); display: flex; flex-direction: column; justify-content: center; padding: 40px clamp(24px, 3vw, 48px); }
.an-cartel-texto h1 { font: 800 clamp(1.5rem, .9rem + 1.3vw, 2.125rem)/1.12 var(--an-titulos); text-transform: uppercase; letter-spacing: .01em; color: var(--an-blanco); }
.an-cartel-texto .an-lema { margin: 20px 0 0; font: 700 clamp(1.25rem, .9rem + .9vw, 1.75rem)/1.15 var(--an-titulos); color: var(--an-naranja); }
.an-cartel-texto .an-accesos { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
/* Tercera columna: medallas y seguros (el selector de la portada original) */
.an-cartel-servicios { background: var(--an-tono); display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 32px clamp(20px, 2.4vw, 36px); }
.an-servicio-cab { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.an-servicio-cab img { width: 56px; height: auto; }
.an-servicio-cab h2 { font: 800 1.25rem/1.1 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; color: var(--an-morado); }
.an-servicio ul { list-style: none; margin: 0; padding: 0; }
.an-servicio li + li { border-top: 1px solid var(--an-tono-2); }
.an-servicio a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; font: 600 1.0625rem/1.3 var(--an-titulos); color: var(--an-morado); text-decoration: none; }
.an-servicio a::after { content: "›"; font-size: 1.375rem; line-height: 1; color: var(--an-naranja-osc); }
.an-servicio a:hover { color: var(--an-enlace); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ---------- Noticias: una destacada y tres filas compactas (portada de periódico) ---------- */
.an-noticias { padding-block: 72px; }
.an-noticias-rejilla { display: grid; grid-template-columns: 1.45fr 1fr; gap: 48px; align-items: start; }
.an-destacada a { display: block; text-decoration: none; color: var(--an-tinta); }
.an-destacada img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--an-radio); background: var(--an-tono); }
.an-destacada time, .an-noticia time { display: block; font: 700 .8125rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-suave); }
.an-destacada time { margin-top: 20px; }
.an-destacada h2 { margin-top: 8px; font: 800 clamp(1.5rem, 1.1rem + 1vw, 2rem)/1.15 var(--an-titulos); color: var(--an-morado); }
.an-destacada a:hover h2, .an-noticia a:hover h3 { text-decoration: underline; text-decoration-color: var(--an-naranja); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.an-mas-recientes { display: flex; flex-direction: column; align-items: flex-start; gap: 28px; }
.an-lista-noticias { list-style: none; margin: 0; padding: 0; width: 100%; }
.an-noticia + .an-noticia { border-top: 1px solid var(--an-tono-2); }
.an-noticia a { display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: start; padding: 18px 0; text-decoration: none; color: var(--an-tinta); }
.an-noticia:first-child a { padding-top: 0; }
.an-noticia img { width: 132px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--an-radio); background: var(--an-tono); }
.an-noticia h3 { margin-top: 6px; font: 700 1.0625rem/1.3 var(--an-titulos); color: var(--an-morado); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Galería: álbum de fotos sobre el gris del cartel ---------- */
.an-galeria-zona { background: var(--an-gris-cartel); padding-block: 72px; }
/* (sin encabezado visible) */
.an-galeria-cabeza { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: 32px; }
.an-galeria-cabeza .an-titulo-seccion { margin: 0; }
.an-album { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.an-album .an-album-vol { display: flex; align-items: center; justify-content: center; padding: 20px; background: var(--an-blanco); border-radius: var(--an-radio); }
.an-album .an-album-vol img { aspect-ratio: auto; object-fit: contain; width: 100%; height: auto; }
.an-galeria-pie { margin-top: 28px; }
.an-album a { position: relative; display: block; overflow: hidden; border-radius: var(--an-radio); text-decoration: none; }
.an-album img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.an-album span { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 20px; background: var(--an-morado); color: var(--an-blanco); font: 700 1rem/1.35 var(--an-titulos); }
.an-album a:hover span { background: var(--an-naranja); color: var(--an-morado); }
.an-facebook { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 20px; border-radius: var(--an-radio); background: #0f3f7f; color: var(--an-blanco); font: 700 .9375rem/1 var(--an-titulos); text-decoration: none; }
.an-facebook:hover { background: #0a2f60; color: var(--an-blanco); }
.an-facebook svg { width: 20px; height: 20px; fill: currentColor; }

/* ---------- Buscador de agrupaciones ---------- */
.an-agrupaciones { background: var(--an-morado); color: var(--an-blanco); }
.an-agrupaciones .an-envoltura { display: grid; grid-template-columns: auto 1fr; gap: 24px 56px; padding-block: 48px; align-items: center; }
.an-agrupaciones .an-titulo-seccion + .an-boton { margin-top: 4px; }
.an-agrupaciones .an-titulo-seccion { color: var(--an-blanco); margin-bottom: 16px; }
.an-agrupaciones .an-titulo-seccion b { color: var(--an-naranja); font-weight: 800; }
.an-agrupaciones form { margin: 0; }
.an-agrupaciones label { display: block; font: 700 .9375rem/1.3 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; margin-bottom: 8px; }
.an-agrupaciones .an-fila { display: flex; gap: 8px; }
.an-agrupaciones input { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 0; border-radius: var(--an-radio); font: inherit; color: var(--an-tinta); }
.an-resultados { list-style: none; margin: 16px 0 0; padding: 0; min-height: 48px; }
.an-resultados li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.an-resultados li span { color: #ddd8ec; text-align: right; }
.an-resultados .an-estado { border: 0; color: #ddd8ec; }

/* ---------- Vol+ ---------- */
.an-volmas { padding-block: 72px; }
.an-volmas a { display: block; width: min(100%, 860px); margin-inline: auto; }

/* ---------- De interés ---------- */
.an-interes { background: var(--an-tono); padding-block: 80px; }
.an-lista-interes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; list-style: none; margin: 0; padding: 0; }
.an-lista-interes a { display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 20px; background: var(--an-blanco); border-radius: var(--an-radio); text-decoration: none; color: var(--an-tinta); }
.an-lista-interes a:hover { background: var(--an-tono-2); color: var(--an-tinta); }
.an-lista-interes img { width: 100%; height: 72px; object-fit: contain; object-position: left center; }
.an-lista-interes h3 { font: 700 1rem/1.3 var(--an-titulos); color: var(--an-morado); }
.an-lista-interes p { margin: 6px 0 0; font-size: 1rem; line-height: 1.45; color: var(--an-suave); }

/* ---------- Pie ---------- */
.an-pie { background: var(--an-morado); color: var(--an-blanco); padding-block: 56px 32px; font-size: 1rem; }
.an-pie-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.an-pie-logos img { height: 72px; width: auto; }
.an-pie-logos .an-caja { background: var(--an-blanco); padding: 8px 14px; border-radius: var(--an-radio); }
.an-pie-logos .an-caja img { height: 56px; }
.an-pie-datos { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; margin-top: 40px; }
.an-pie-datos h2 { font: 800 .875rem/1.3 var(--an-titulos); text-transform: uppercase; letter-spacing: .04em; color: var(--an-naranja); margin-bottom: 10px; }
.an-pie-datos p, .an-pie-datos address { margin: 0; font-style: normal; line-height: 1.6; }
.an-pie a { color: var(--an-blanco); }
.an-pie a:hover { color: var(--an-naranja); }
.an-pie-final { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); color: #ddd8ec; }
.an-pie-final nav { display: flex; gap: 20px; }

/* ---------- Tableta ---------- */
@media (max-width: 1180px) {
	.an-menu > li > a, .an-menu > li > button { font-size: .8125rem; padding: 0 2px; }
	.an-gobierno p { display: none; }
}
/* ---------- Móvil ---------- */
@media (max-width: 1023px) {
	.an-franja .an-envoltura { min-height: 72px; }
	.an-marca img { width: 48px; height: 48px; }
	.an-marca span { font-size: .8125rem; }
	.an-franja .an-gobierno { display: none; }
	.an-gobierno-movil { display: flex; justify-content: center; background: var(--an-blanco); padding: 10px var(--an-margen); }
	.an-gobierno-movil img { width: 226px; height: 40px; }
	.an-barra { display: none; }
	.an-menu-movil { display: block; }
	.an-menu-movil summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 0 12px; border: 2px solid var(--an-blanco); border-radius: var(--an-radio); font: 700 .8125rem/1 var(--an-titulos); text-transform: uppercase; }
	.an-menu-movil summary::-webkit-details-marker { display: none; }
	.an-menu-movil[open] summary { background: var(--an-blanco); color: var(--an-morado); }
	.an-panel-movil { position: absolute; left: 0; right: 0; top: 72px; z-index: 30; background: var(--an-blanco); border-bottom: 4px solid var(--an-naranja); padding: 8px var(--an-margen) 20px; }
	.an-panel-movil > a, .an-panel-movil summary { display: block; padding: 14px 0; font: 700 1rem/1.2 var(--an-titulos); text-transform: uppercase; color: var(--an-morado); text-decoration: none; border-bottom: 1px solid var(--an-tono-2); list-style: none; cursor: pointer; }
	.an-panel-movil summary::after { content: " +"; }
	.an-panel-movil details[open] summary::after { content: " –"; }
	.an-panel-movil details div a { display: block; padding: 12px 16px; color: var(--an-morado); text-decoration: none; font: 600 1rem/1.2 var(--an-titulos); border-bottom: 1px solid var(--an-tono-2); }
	.an-franja { position: relative; }

	.an-cartel-zona { padding-top: 0; }
	.an-cartel-zona .an-envoltura { width: 100%; }
	.an-cartel { grid-template-columns: 1fr; border-radius: 0; }
	.an-cartel-logo { padding: 24px var(--an-margen); }
	.an-cartel-logo img { width: min(70%, 300px); }
	.an-cartel-texto { padding: 28px var(--an-margen) 32px; }
	.an-cartel-texto .an-accesos .an-boton { flex: 1 1 100%; }
	.an-cartel-servicios { grid-column: auto; display: flex; flex-direction: column; padding: 28px var(--an-margen); }

	.an-noticias { padding-block: 56px; }
	.an-noticias-rejilla { grid-template-columns: 1fr; gap: 32px; }
	.an-noticia a { grid-template-columns: 96px 1fr; gap: 14px; }
	.an-noticia img { width: 96px; }
	.an-galeria-zona { padding-block: 56px; }
	.an-album { grid-template-columns: 1fr; gap: 16px; }
	.an-galeria-pie .an-facebook { width: 100%; }
	.an-album span { position: static; display: block; padding: 14px 16px; }

	.an-agrupaciones .an-envoltura { grid-template-columns: 1fr; padding-block: 48px; }
	.an-volmas { padding-block: 48px; }
	.an-interes { padding-block: 56px; }
	.an-lista-interes { grid-template-columns: 1fr 1fr; }
	.an-pie-datos { grid-template-columns: 1fr; }
	.an-pie-logos { gap: 12px; }
	.an-pie-logos img { height: 56px; }
	.an-pie-logos .an-caja { padding: 6px 10px; }
	.an-pie-logos .an-caja img { height: 44px; }
}
@media (max-width: 1180px) and (min-width: 1024px) {
	.an-cartel { grid-template-columns: 1fr 1.2fr; }
	.an-cartel-servicios { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
	.an-lista-interes { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
	.an-lista-interes { grid-template-columns: 1fr; }
	.an-lista-interes a { display: grid; grid-template-columns: 64px 1fr; align-items: start; }
	.an-lista-interes img { width: 64px; height: 64px; object-position: center; }
	.an-facebook { width: 100%; }
}

/* Hello pinta los <button> en rosa al pasar el ratón: los desplegables del menú no son botones visuales */
.an-cab .an-menu > li > button, .an-cab .an-menu > li > button:hover, .an-cab .an-menu > li > button:focus { background: none; border: 0; border-radius: 0; box-shadow: none; }
/* «Cargar más» mientras pide noticias */
.an-mas[aria-busy="true"] { opacity: .6; cursor: progress; }

/* ---------- Galería en tableta: dos columnas ---------- */
@media (max-width: 1180px) and (min-width: 1024px) {
	.an-album { grid-template-columns: 1fr 1fr; }
}

/* ---------- Histórico de noticias (/noticias/) ---------- */
.an-archivo { font: 400 1.125rem/1.55 var(--an-texto); color: var(--an-tinta); }
.an-archivo * { box-sizing: border-box; }
.an-archivo-cab { background: var(--an-morado); color: var(--an-blanco); }
.an-archivo-cab .an-envoltura { padding-block: 40px; }
.an-archivo-cab h1 { margin: 0; font: 800 clamp(1.75rem, 1.2rem + 1.5vw, 2.5rem)/1.1 var(--an-titulos); text-transform: uppercase; letter-spacing: .01em; color: var(--an-blanco); }
.an-archivo-cuerpo { padding-block: 40px 80px; }
.an-anios { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.an-anios a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 2px solid var(--an-morado); border-radius: var(--an-radio); font: 700 1rem/1 var(--an-titulos); color: var(--an-morado); text-decoration: none; }
.an-anios a:hover { background: var(--an-tono); color: var(--an-morado); }
.an-anios a[aria-current] { background: var(--an-morado); color: var(--an-blanco); }
.an-lista-archivo { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.an-lista-archivo .an-noticia { border-top: 1px solid var(--an-tono-2); }
.an-lista-archivo .an-noticia a { grid-template-columns: 180px 1fr; padding: 22px 0; }
.an-lista-archivo .an-noticia:first-child a, .an-lista-archivo .an-noticia:nth-child(2) a { padding-top: 22px; }
.an-lista-archivo .an-noticia img { width: 180px; }
.an-lista-archivo .an-noticia h3 { font-size: 1.1875rem; margin-top: 6px; }
.an-vacio { padding: 24px 0; color: var(--an-suave); }
.an-paginas { margin-top: 40px; }
.an-paginas ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.an-paginas a, .an-paginas span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: var(--an-radio); font: 700 1rem/1 var(--an-titulos); text-decoration: none; color: var(--an-morado); background: var(--an-tono); }
.an-paginas a:hover { background: var(--an-tono-2); color: var(--an-morado); }
.an-paginas .current { background: var(--an-morado); color: var(--an-blanco); }
.an-paginas .dots { background: none; }
@media (max-width: 1023px) {
	.an-lista-archivo { grid-template-columns: 1fr; }
	.an-lista-archivo .an-noticia:nth-child(2) a { padding-top: 22px; }
	.an-lista-archivo .an-noticia a { grid-template-columns: 112px 1fr; gap: 14px; }
	.an-lista-archivo .an-noticia img { width: 112px; }
	.an-archivo-cab .an-envoltura { padding-block: 28px; }
}
.an-archivo img { display: block; max-width: 100%; height: auto; }
/* Que los títulos largos no ensanchen la rejilla en móvil */
.an-lista-archivo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.an-noticia a > div { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1023px) { .an-lista-archivo { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Cartel: logo centrado (el <picture> ocupa todo el ancho de su columna) ---------- */
.an-cartel-logo picture { display: flex; justify-content: center; width: 100%; }

/* ---------- Cartel en escritorio: el fondo llega a los bordes de la página; el contenido sigue en su ancho ----------
   A la izquierda continúa el gris del cartel y a la derecha el tono de la columna Medallas/Seguros (dos campos lisos). */
@media (min-width: 1181px) {
	.an-cartel-zona { position: relative; padding-top: 0; overflow: hidden; }
	.an-cartel-zona::before, .an-cartel-zona::after { content: ""; position: absolute; top: 0; bottom: 0; width: 50%; }
	.an-cartel-zona::before { left: 0; background: var(--an-gris-cartel); }
	.an-cartel-zona::after { right: 0; background: var(--an-tono); }
	.an-cartel-zona .an-cartel { position: relative; z-index: 1; border-radius: 0; min-height: 440px; }
	.an-cartel-logo, .an-cartel-servicios { background: transparent; }
	.an-cartel-logo { padding-left: 0; }
	.an-cartel-servicios { padding-right: 0; }
}

/* ---------- Páginas interiores antiguas ----------
   Su primera sección (la banda morada del título) tenía margin-top: -24px para meterse bajo la cabecera de Astra:
   con la cabecera nueva tapaba la franja del Gobierno en móvil. */
.elementor[data-elementor-type="wp-page"] > .elementor-top-section:first-child,
.elementor[data-elementor-type="wp-page"] > .e-con:first-child { margin-top: 0 !important; }
.elementor[data-elementor-type="wp-page"] > .elementor-top-section:first-child h1.elementor-heading-title { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; }

/* ---------- Histórico: banda como la de las demás páginas (título centrado) ---------- */
.an-archivo-cab .an-envoltura { text-align: center; }
.an-archivo-cab h1 { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); font-weight: 700; }

/* ---------- Noticia individual y 404 ---------- */
.an-nota { font: 400 1.125rem/1.65 var(--an-texto); color: var(--an-tinta); }
.an-nota * { box-sizing: border-box; }
.an-estrecha { max-width: 820px; }
.an-banda { background: var(--an-morado); color: var(--an-blanco); text-align: center; }
.an-banda .an-envoltura { padding-block: 36px 40px; }
.an-banda h1 { margin: 8px auto 0; max-width: 30em; font: 700 clamp(1.5rem, 1.1rem + 1.2vw, 2.125rem)/1.18 var(--an-titulos); color: var(--an-blanco); }
.an-banda time { display: block; margin-top: 14px; font: 700 .875rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-naranja); }
.an-banda .an-volver { font: 700 .875rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-blanco); text-decoration: underline; text-underline-offset: 4px; }
.an-banda .an-volver::before { content: "‹ "; }
.an-banda .an-volver:hover { color: var(--an-naranja); }
.an-nota-cuerpo { padding-block: 40px 72px; }
.an-nota .an-nota-foto { margin: 0 0 32px; }
.an-nota-foto img { display: block; width: 100%; height: auto; border-radius: var(--an-radio); }
.an-nota .an-prosa > * { margin: 0 0 1em; }
.an-nota .an-prosa > *:last-child { margin-bottom: 0; }
.an-prosa img { max-width: 100%; height: auto; border-radius: var(--an-radio); }
.an-prosa h2, .an-prosa h3 { font-family: var(--an-titulos); color: var(--an-morado); line-height: 1.2; margin-top: 1.4em; }
.an-prosa a { color: var(--an-enlace); }
.an-prosa ul, .an-prosa ol { padding-left: 1.4em; }
.an-prosa iframe { max-width: 100%; }
.an-nav-notas { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--an-tono-2); }
.an-nav-notas a { display: block; padding: 16px 18px; background: var(--an-tono); border-radius: var(--an-radio); color: var(--an-morado); text-decoration: none; font: 600 1rem/1.35 var(--an-titulos); }
.an-nav-notas a:hover { background: var(--an-tono-2); color: var(--an-morado); }
.an-nav-notas span { display: block; margin-bottom: 4px; font: 700 .8125rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-suave); }
.an-nav-notas .an-siguiente { grid-column: 2; text-align: right; }
.an-404 .an-nota-cuerpo p + p { margin-top: 24px; }
.an-404 .an-boton { margin: 0 8px 8px 0; }
@media (max-width: 640px) {
	.an-nav-notas { grid-template-columns: 1fr; }
	.an-nav-notas .an-siguiente { grid-column: auto; text-align: left; }
}
.an-nota .an-nota-foto + .an-prosa { margin-top: 32px; }

/* ---------- Formularios (Contacto, Asociarse): formulario + ficha institucional ---------- */
.an-formulario { font: 400 1.0625rem/1.55 var(--an-texto); color: var(--an-tinta); padding-block: 48px 80px; }
.an-formulario * { box-sizing: border-box; }
.an-formulario-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.an-form-intro { margin: 0 0 28px; font-size: 1.125rem; max-width: 46em; }
.an-ficha { background: var(--an-morado); color: var(--an-blanco); border-radius: var(--an-radio); padding: 28px 28px 32px; position: sticky; top: 24px; }
.an-ficha h2 { margin: 0 0 16px; font: 700 1.1875rem/1.25 var(--an-titulos); color: var(--an-blanco); }
.an-ficha address { font-style: normal; line-height: 1.6; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.2); }
.an-ficha p { margin: 0; display: grid; gap: 2px; }
.an-ficha span { margin-top: 8px; font: 700 .8125rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-naranja); }
.an-ficha a { color: var(--an-blanco); font-weight: 600; overflow-wrap: anywhere; }
.an-ficha a:hover { color: var(--an-naranja); }
/* Gravity Forms (tema Orbital) con los colores de la marca */
/* Gravity Forms define sus variables con un selector de id (#gform_wrapper_N…): se imponen con !important */
.an-form .gform_wrapper.gform-theme--framework {
	--gf-color-primary: #33245f !important; --gf-color-primary-rgb: 51, 36, 95 !important; --gf-color-primary-contrast: #fff !important; --gf-color-primary-darker: #261a49 !important; --gf-color-primary-lighter: #4a3a7f !important;
	--gf-color-in-ctrl: #fff !important; --gf-color-in-ctrl-contrast: #1f1838 !important; --gf-ctrl-border-color: #8f88a6 !important; --gf-ctrl-border-width: 1px !important; --gf-radius: 3px !important;
	--gf-ctrl-label-color-primary: #33245f !important; --gf-ctrl-label-font-size-primary: 16px !important; --gf-ctrl-label-font-weight-primary: 700 !important;
	--gf-ctrl-font-size: 17px !important; --gf-ctrl-size: 48px !important; --gf-font-family-base: "Source Sans 3", system-ui, sans-serif !important; --gf-font-family-primary: "Source Sans 3", system-ui, sans-serif !important;
	--gf-ctrl-outline-color-focus: #ff7c00 !important; --gf-form-gap-y: 24px !important; --gf-ctrl-btn-font-size: 16px !important; --gf-ctrl-btn-font-weight: 700 !important;
}
.an-form .gform-theme--framework .gfield_label, .an-form .gform-theme--framework legend.gfield_label { text-transform: none; letter-spacing: 0; }
.an-form .gform-theme--framework .gfield_required { color: #b85500; }
.an-form .gform-theme--framework .gform_footer .gform_button, .an-form .gform-theme--framework .gform_footer input[type="submit"], .an-form .gform-theme--framework .gform-footer .gform_button {
	min-height: 52px; padding: 0 32px; border-radius: 3px; background: #ff7c00 !important; border: 0 !important; color: #33245f !important; font: 700 1rem/1 var(--an-titulos) !important; text-transform: uppercase; letter-spacing: .03em; box-shadow: none !important; }
.an-form .gform-theme--framework .gform_button:hover { background: #e86f00 !important; color: #33245f !important; }
.an-form .gform-theme--framework .gfield_description, .an-form .gform-theme--framework .ginput_complex label { color: #514a66; }
@media (max-width: 1023px) {
	.an-formulario { padding-block: 32px 56px; }
	.an-formulario-rejilla { grid-template-columns: 1fr; gap: 32px; }
	.an-ficha { position: static; order: -1; }
}

/* ---------- Página Galería: pestañas del widget de galería de Elementor como los años del histórico ---------- */
.elementor-gallery__titles-container { gap: 8px; margin-bottom: 28px; }
.elementor-gallery__titles-container .elementor-gallery-title { margin: 0; padding: 0 18px; min-height: 44px; display: inline-flex; align-items: center; border: 2px solid #33245f; border-radius: 3px; font: 700 1rem/1 "Source Sans 3", system-ui, sans-serif; color: #33245f; text-transform: none; }
.elementor-gallery__titles-container .elementor-gallery-title::before, .elementor-gallery__titles-container .elementor-gallery-title::after { display: none; }
.elementor-gallery__titles-container .elementor-gallery-title:hover { background: #f4f3f7; color: #33245f; }
.elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active,
.elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active:hover { background: #33245f !important; color: #fff !important; }

/* ---------- Banner de cookies (Complianz) compacto ---------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	--cmplz_banner_width: 400px; font-family: "Source Sans 3", system-ui, sans-serif;
	border: 0; border-top: 4px solid #ff7c00; border-radius: 3px; padding: 16px 18px; grid-row-gap: 10px; box-shadow: 0 10px 30px rgba(31, 24, 56, .25); color: #1f1838; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header { grid-template-columns: 1fr auto; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { grid-column: 1; grid-row: 1; justify-self: start; text-align: left; font-size: 17px; font-weight: 700; color: #33245f; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { grid-column: 2; grid-row: 1; width: 44px; height: 44px; margin: -12px -12px -12px 0; display: grid; place-items: center; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg { width: 16px; height: 16px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: 15px; line-height: 1.45; margin: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { gap: 8px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 44px; border-radius: 3px; font-size: 16px; font-weight: 700; padding: 8px 12px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { background: #33245f; border-color: #33245f; color: #fff; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { background: #f4f3f7; border-color: #f4f3f7; color: #33245f; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link { font-size: 14px; color: #b85500; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: flex-start; }
@media (min-width: 769px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner { min-width: 0; width: 400px; right: 16px; bottom: 16px; }
	#cmplz-cookiebanner-container .cmplz-message, #cmplz-cookiebanner-container .cmplz-categories { width: auto; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { flex-wrap: wrap; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { width: auto; flex: 1 1 auto; }
}
@media (max-width: 768px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner { border-radius: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); grid-row-gap: 8px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { display: block; font-size: 16px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: 14px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { flex-direction: row; flex-wrap: wrap; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { flex: 1 1 40%; width: auto; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { flex: 1 1 100%; min-height: 40px; background: none; border: 0; text-decoration: underline; font-weight: 600; color: #33245f; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-documents ul { justify-content: flex-start; flex-wrap: wrap; }
}

/* ---------- Catálogo de medallas ---------- */
.an-catalogo { font: 400 1.0625rem/1.5 var(--an-texto); color: var(--an-tinta); padding-top: 48px; }
.an-catalogo * { box-sizing: border-box; }
.an-cat-intro { margin: 0 0 32px; max-width: 46em; font-size: 1.125rem; }
.an-cat-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0 0 72px; }
.an-cat-rejilla a { display: flex; flex-direction: column; height: 100%; background: var(--an-blanco); border: 1px solid var(--an-tono-2); border-radius: var(--an-radio); overflow: hidden; text-decoration: none; color: var(--an-tinta); }
.an-cat-rejilla a:hover { border-color: var(--an-morado); }
.an-cat-foto { display: block; aspect-ratio: 4 / 3; background: var(--an-tono); }
.an-catalogo .an-cat-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.an-cat-foto.an-cat-contener { background: var(--an-blanco); }
.an-catalogo .an-cat-contener img { object-fit: contain; padding: 12px; }
.an-cat-texto { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 16px 18px 18px; border-top: 4px solid var(--an-naranja); }
.an-cat-nombre { font: 700 1.125rem/1.25 var(--an-titulos); color: var(--an-morado); }
.an-cat-rejilla a:hover .an-cat-nombre { text-decoration: underline; text-decoration-color: var(--an-naranja); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.an-cat-precio { margin-top: auto; padding-top: 6px; font: 600 1rem/1.2 var(--an-titulos); color: var(--an-suave); font-variant-numeric: tabular-nums; }
.an-cat-docs { background: var(--an-tono); padding-block: 48px 64px; }
.an-cat-docs h2 { margin: 0 0 20px; font: 800 1.375rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; color: var(--an-morado); }
.an-docs { display: flex; flex-wrap: wrap; gap: 12px; }
.an-doc { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 22px 0 14px; background: var(--an-blanco); border: 2px solid var(--an-morado); border-radius: var(--an-radio); font: 700 1.0625rem/1.2 var(--an-titulos); color: var(--an-morado); text-decoration: none; }
.an-catalogo a.an-doc:hover { background: var(--an-morado); color: var(--an-blanco); }
.an-doc-tipo { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 28px; padding: 0 6px; border-radius: 2px; background: var(--an-naranja); color: var(--an-morado); font-size: .8125rem; letter-spacing: .04em; }
@media (max-width: 1180px) { .an-cat-rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .an-cat-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .an-cat-texto { padding: 12px 12px 14px; } .an-cat-nombre { font-size: 1.0625rem; } }
@media (max-width: 1023px) { .an-catalogo { padding-top: 32px; } }
@media (max-width: 420px) {
	.an-cat-rejilla { grid-template-columns: minmax(0, 1fr); }
	.an-cat-rejilla a { flex-direction: row; }
	.an-cat-foto { flex: 0 0 120px; aspect-ratio: auto; min-height: 104px; }
	.an-cat-texto { border-top: 0; border-left: 4px solid var(--an-naranja); }
	.an-docs .an-doc { flex: 1 1 100%; }
}
/* Catálogo: las fotos se ven enteras (antes salían cortadas), sobre el tono claro */
.an-cat-foto { position: relative; }
.an-catalogo .an-cat-foto img { position: absolute; inset: 0; object-fit: contain; padding: 10px; }
.an-cat-foto.an-cat-contener { background: var(--an-tono); }

/* ---------- Ficha de medalla (pedido) ---------- */
.an-medalla { font: 400 1.0625rem/1.6 var(--an-texto); color: var(--an-tinta); padding-block: 40px 80px; }
.an-medalla * { box-sizing: border-box; }
.an-med-intro { max-width: 52em; margin-bottom: 40px; font-size: 1.125rem; }
.an-medalla .an-prosa > * { margin: 0 0 1em; }
.an-medalla .an-prosa > *:last-child { margin-bottom: 0; }
.an-med-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 360px; grid-template-areas: "form lado"; gap: 48px; align-items: start; }
.an-med-form { grid-area: form; }
.an-med-lado { grid-area: lado; display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
.an-med-form > h2 { margin: 0 0 20px; padding-bottom: 12px; border-bottom: 4px solid var(--an-naranja); font: 800 1.375rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .02em; color: var(--an-morado); }
.an-med-precio { margin: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 22px; background: var(--an-morado); color: var(--an-blanco); border-radius: var(--an-radio); font: 800 2rem/1 var(--an-titulos); font-variant-numeric: tabular-nums; }
.an-med-precio span { font: 700 .875rem/1.2 var(--an-titulos); text-transform: uppercase; letter-spacing: .06em; color: var(--an-naranja); }
.an-med-fotos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.an-med-foto { display: block; background: var(--an-tono); border-radius: var(--an-radio); aspect-ratio: 1; position: relative; overflow: hidden; }
.an-med-foto:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.an-medalla .an-med-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.an-med-foto:hover { outline: 2px solid var(--an-morado); outline-offset: -2px; }
.an-med-leyenda { grid-column: 1 / -1; font-size: .9375rem; line-height: 1.45; color: var(--an-suave); }
.an-med-leyenda p { margin: 0; }
.an-med-leyenda strong, .an-med-leyenda b { color: var(--an-morado); }
.an-med-nota { padding: 14px 16px; background: var(--an-tono); border-left: 4px solid var(--an-naranja); border-radius: var(--an-radio); font-size: .9375rem; line-height: 1.5; }
.an-med-nota p { margin: 0; }
.an-medalla .an-docs { display: flex; flex-direction: column; gap: 8px; }
.an-medalla a.an-doc { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 18px 0 12px; background: var(--an-blanco); border: 2px solid var(--an-morado); border-radius: var(--an-radio); font: 700 1rem/1.2 var(--an-titulos); color: var(--an-morado); text-decoration: none; }
.an-medalla a.an-doc:hover { background: var(--an-morado); color: var(--an-blanco); }
/* Formulario de pedido: producto, total y firma con los colores de la marca */
.an-med-form .gform-theme--framework .ginput_product_price, .an-med-form .gform-theme--framework .ginput_total { font-weight: 700; color: #33245f; font-size: 1.125rem; }
.an-med-form .gform-theme--framework .gfield--type-html { padding: 14px 16px; background: #f4f3f7; border-radius: 3px; font-size: 1rem; line-height: 1.55; }
.an-med-form .gform-theme--framework .gfield--type-signature canvas, .an-med-form .gform-theme--framework .gfield_signature_container { border: 1px solid #8f88a6 !important; border-radius: 3px; background: #fff; }
.an-med-form .gform-theme--framework .gform_fileupload_rules { color: #514a66; }
@media (max-width: 1023px) {
	.an-medalla { padding-block: 28px 56px; }
	.an-med-rejilla { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lado" "form"; gap: 32px; }
	.an-med-lado { position: static; }
	.an-med-fotos { grid-template-columns: repeat(3, 1fr); }
	.an-med-foto:first-child { grid-column: auto; aspect-ratio: 1; }
}
@media (max-width: 480px) { .an-med-fotos { grid-template-columns: 1fr 1fr; } .an-med-foto:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; } }
