/* Ategal · Presentación — diseño A1 (maqueta ~/mockups-ategal/portada-a1.html, aprobada 2026-10-22).
   Todo con prefijo at- para no pisar el contenido antiguo; los botones e inputs se redefinen enteros
   porque Hello les da borde y color propios. */
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

:root {
	/* Colores de la marca Ategal */
	--at-azul: #60add2;          /* azul de marca: solo como superficie, con texto oscuro */
	--at-azul-osc: #1a567c;      /* azul oscuro de «Memorias anuais»: botones y enlaces (7,9:1 con blanco) */
	--at-azul-osc-2: #123f5c;
	--at-azul-tono: #eaf4f9;
	--at-tinta: #1d2a34;
	--at-tinta-azul: #0d2433;    /* texto sobre --at-azul */
	--at-suave: #4b5a66;
	--at-linea: #d3e2ea;
	--at-branco: #ffffff;

	--at-letra: "Montserrat", system-ui, sans-serif;
	--at-ancho: 1240px;
	--at-margen: clamp(16px, 3vw, 40px);
	--at-radio: 6px;
}

/* ---------- Base de todo el sitio (también páginas antiguas) ---------- */
html { -webkit-text-size-adjust: 100%; }
body { background: var(--at-branco); color: var(--at-tinta); font-family: var(--at-letra); }
a { color: var(--at-azul-osc); }
a:hover, a:active { color: var(--at-azul-osc-2); }
:focus-visible { outline: 3px solid var(--at-azul-osc); outline-offset: 3px; }

/* Los widgets del plugin no llevan el margen entre widgets de Elementor */
.elementor-widget[class*="elementor-widget-ategal_"] { margin: 0 !important; --kit-widget-spacing: 0px; }

/* ---------- Comunes ---------- */
:where([class^="at-"], [class*=" at-"]) { box-sizing: border-box; }
:where(.at-cab, .at-pe, [class^="at-"] ) :where(*, *::before, *::after) { box-sizing: border-box; }
:where(.at-cab, .at-pe, .at-portada, .at-formacion, .at-novas, .at-actividades, .at-experiencia, .at-stop, .at-colaboradores, .at-app, .at-arquivo) {
	font: 400 1.0625rem/1.6 var(--at-letra); color: var(--at-tinta);
}
:where(.at-cab, .at-pe, .at-portada, .at-formacion, .at-novas, .at-actividades, .at-experiencia, .at-stop, .at-colaboradores, .at-app, .at-arquivo) :where(h1, h2, h3, p, ul, ol, figure) { margin: 0; }
:where(.at-cab, .at-pe, .at-portada, .at-formacion, .at-novas, .at-actividades, .at-experiencia, .at-stop, .at-colaboradores, .at-app, .at-arquivo) img { display: block; max-width: 100%; height: auto; }
.at-envoltura { width: min(100% - 2 * var(--at-margen), var(--at-ancho)); margin-inline: auto; }
.at-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.at-ico { width: 18px; height: 18px; flex: none; }
.at-ico--relleno { fill: currentColor; }
.at-ico--trazo { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* Título de sección: la viñeta multicolor original + título en mayúsculas */
.at-titulo { display: flex; align-items: center; gap: 14px; margin: 0 0 36px; font: 700 clamp(1.5rem, 1.15rem + 1vw, 2rem)/1.15 var(--at-letra); text-transform: uppercase; letter-spacing: .01em; color: var(--at-tinta); }
.at-titulo img { width: 17px; height: 36px; flex: none; }

/* Botones: píldora como en el original, sin animaciones */
.at-boton, .at-boton:visited { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 28px; border-radius: 999px; font: 600 1rem/1.25 var(--at-letra); text-align: center; text-decoration: none; text-transform: none; border: 2px solid transparent; cursor: pointer; transition: none; white-space: normal; }
.at-boton--azul, .at-boton--azul:visited { background: var(--at-azul-osc); color: var(--at-branco); }
.at-boton--azul:hover, .at-boton--azul:focus { background: var(--at-azul-osc-2); color: var(--at-branco); }
.at-boton--linea, .at-boton--linea:visited { border-color: var(--at-azul-osc); color: var(--at-azul-osc); background: var(--at-branco); }
.at-boton--linea:hover, .at-boton--linea:focus { border-color: var(--at-azul-osc); background: var(--at-azul-osc); color: var(--at-branco); }
.at-boton .at-ico { width: 18px; height: 18px; }
.at-botons { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 40px; }
.at-botons--esquerda { justify-content: flex-start; margin-top: 32px; }
.at-sen-foto { display: block; aspect-ratio: 4 / 3; border-radius: var(--at-radio); background: var(--at-azul-tono) url("../img/Heading-decorate-1.png") center / 22px auto no-repeat; }

/* ---------- Cabecera ---------- */
.at-utilidades { background: var(--at-azul-osc); color: var(--at-branco); }
.at-utilidades .at-envoltura { display: flex; justify-content: flex-end; align-items: center; gap: 24px; min-height: 48px; }
.at-buscador { display: flex; align-items: center; margin: 0; }
.at-buscador input[type="search"] { width: 200px; height: 34px; margin: 0; padding: 0 12px; border: 0; border-radius: 999px 0 0 999px; background: var(--at-branco); font: 500 .9375rem var(--at-letra); color: var(--at-tinta); outline-offset: 0; }
.at-buscador input[type="search"]::placeholder { color: #66737e; opacity: 1; }
.at-buscador button[type="submit"] { display: grid; place-items: center; width: 42px; height: 34px; margin: 0; padding: 0; border: 0; border-radius: 0 999px 999px 0; background: var(--at-azul); color: var(--at-tinta-azul); cursor: pointer; }
.at-buscador button[type="submit"]:hover, .at-buscador button[type="submit"]:focus { background: var(--at-branco); color: var(--at-tinta-azul); }
.at-buscador .at-ico { stroke-width: 2.4; }
.at-redes { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.at-redes a, .at-redes a:visited { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--at-branco); }
.at-redes a:hover, .at-redes a:focus { background: var(--at-azul-osc-2); color: var(--at-branco); }
.at-redes .at-ico { width: 19px; height: 19px; }

.at-barra { background: var(--at-branco); border-bottom: 1px solid var(--at-linea); position: relative; z-index: 20; }
.at-barra .at-envoltura { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.at-marca { flex: none; padding-block: 10px; }
.at-marca img { width: 180px; height: auto; }
.at-menu { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: clamp(8px, 1.2vw, 22px); }
.at-menu > li { position: relative; margin: 0; }
.at-menu > li > a, .at-menu > li > button, .at-menu > li > button:hover, .at-menu > li > button:focus { display: flex; align-items: center; gap: 6px; height: 88px; margin: 0; padding: 0 2px; font: 600 .9375rem/1 var(--at-letra); text-transform: uppercase; letter-spacing: .03em; color: var(--at-tinta); text-decoration: none; background: none; border: 0; border-radius: 0; cursor: pointer; white-space: nowrap; }
.at-menu > li > a:hover, .at-menu > li > button:hover { color: var(--at-azul-osc); }
.at-menu > li > a[aria-current]::after, .at-menu > li.at-actual > button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--at-azul); }
.at-menu > li > button .at-ico { width: 12px; height: 12px; stroke-width: 3; }
.at-sub { display: none; position: absolute; left: -24px; top: 100%; grid-template-columns: auto auto; gap: 0 40px; padding: 22px 28px 24px; background: var(--at-branco); border-top: 5px solid var(--at-azul); box-shadow: 0 14px 30px rgba(13, 36, 51, .16); }
.at-menu > li:hover > .at-sub, .at-menu > li:focus-within > .at-sub, .at-menu > li > button[aria-expanded="true"] + .at-sub { display: grid; }
.at-menu > li.at-cerrado > .at-sub { display: none !important; }   /* cerrado con Escape o con un segundo clic */
.at-sub ul { list-style: none; margin: 0; padding: 0; min-width: 200px; }
.at-sub li { margin: 0; }
.at-sub a, .at-sub a:visited { display: block; padding: 9px 0; color: var(--at-tinta); text-decoration: none; font: 500 .9375rem/1.3 var(--at-letra); text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.at-sub a:hover, .at-sub a:focus { color: var(--at-azul-osc); text-decoration: underline; text-underline-offset: 4px; }
.at-sub a[aria-current] { color: var(--at-azul-osc); }
.at-sub .at-grupo { display: block; padding: 9px 0 6px; font: 700 .8125rem/1.3 var(--at-letra); letter-spacing: .06em; text-transform: uppercase; color: var(--at-azul-osc); border-bottom: 2px solid var(--at-azul); margin-bottom: 4px; }
.at-menu-movil { display: none; }

/* ---------- Portada: foto y logo originales ---------- */
.at-portada { position: relative; display: grid; place-items: center; min-height: clamp(420px, 38vw, 540px); padding: 72px var(--at-margen) 88px; color: var(--at-branco); text-align: center; background: #3c4247 var(--at-fondo) center 40% / cover no-repeat; isolation: isolate; }
.at-portada::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(13, 36, 51, .55), rgba(13, 36, 51, .68)); }
.at-portada::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: url("../img/decorative-line-1.png") center / cover; }
.at-portada h1 { margin: 0; line-height: 1; }
.at-portada h1 img { width: min(560px, 82vw); margin-inline: auto; }
.at-portada .at-lema { margin: 28px 0 0; font: 700 clamp(1.375rem, 1rem + 1.4vw, 2.125rem)/1.2 var(--at-letra); text-transform: uppercase; letter-spacing: .02em; color: var(--at-branco); }
.at-portada .at-entrada { margin: 14px auto 0; max-width: 34em; font: 500 clamp(1.0625rem, .95rem + .5vw, 1.375rem)/1.45 var(--at-letra); color: var(--at-branco); }
.at-portada .at-boton { margin-top: 32px; border-color: var(--at-branco); }

/* ---------- Formación ---------- */
.at-formacion { padding-block: 64px 72px; }
.at-formacion .at-titulo { margin-bottom: 20px; }
.at-formacion-cabeza { display: grid; grid-template-columns: 1fr auto; gap: 28px 64px; align-items: center; }
.at-formacion-cabeza p { margin: 0; max-width: 46em; font-size: 1.1875rem; line-height: 1.6; }
.at-formacion-cabeza .at-botons { margin: 0; }

/* ---------- Novas ---------- */
.at-novas { background: var(--at-azul-tono); padding-block: 80px 88px; }
.at-novas-reixa { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: start; }
.at-nova a, .at-nova a:visited { display: block; color: var(--at-tinta); text-decoration: none; }
.at-nova img { width: 100%; object-fit: cover; border-radius: var(--at-radio); background: var(--at-azul-tono); }
.at-nova time { display: block; font: 600 .875rem/1.3 var(--at-letra); color: var(--at-suave); }
.at-nova h3 { font-weight: 700; color: var(--at-tinta); font-family: var(--at-letra); }
.at-nova a:hover h3, .at-nova a:focus h3 { color: var(--at-azul-osc); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.at-nova--grande img, .at-nova--grande .at-sen-foto { aspect-ratio: 16 / 10; }
.at-nova--grande time { margin-top: 22px; }
.at-nova--grande h3 { margin-top: 8px; font-size: clamp(1.375rem, 1.1rem + .9vw, 1.875rem); line-height: 1.25; }
.at-novas-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.at-novas-lista .at-nova { margin: 0; }
.at-novas-lista .at-nova a { display: grid; grid-template-columns: minmax(140px, 36%) 1fr; gap: 20px; align-items: start; }
.at-novas-lista .at-nova + .at-nova { border-top: 1px solid var(--at-linea); padding-top: 22px; }
.at-novas-lista img { aspect-ratio: 4 / 3; }
.at-novas-lista h3 { margin-top: 6px; font-size: 1.0625rem; line-height: 1.35; }

/* ---------- Actividades: agenda ---------- */
.at-actividades { padding-block: 80px 88px; }
.at-axenda { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.at-evento { display: flex; flex-direction: column; margin: 0; background: var(--at-branco); border-radius: var(--at-radio); padding: 24px; border: 1px solid var(--at-linea); }
.at-evento[hidden] { display: none; }
.at-evento.at-vacio { grid-column: 1 / -1; }
.at-evento-cabeza { display: flex; gap: 18px; align-items: flex-start; }
.at-data { flex: none; display: grid; justify-items: center; width: 84px; padding: 10px 0 12px; border-radius: var(--at-radio); background: var(--at-azul); color: var(--at-tinta-azul); line-height: 1; }
.at-data b { font-size: 2.25rem; font-weight: 800; }
.at-data span { margin-top: 6px; font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.at-sede, .at-sede:visited { display: inline-block; font: 700 .8125rem/1.3 var(--at-letra); text-transform: uppercase; letter-spacing: .05em; color: var(--at-azul-osc); text-decoration: none; }
.at-sede:hover { text-decoration: underline; color: var(--at-azul-osc-2); }
.at-evento h3 { margin-top: 6px; font: 700 1.125rem/1.35 var(--at-letra); }
.at-evento h3 a, .at-evento h3 a:visited { color: var(--at-tinta); text-decoration: none; }
.at-evento h3 a:hover, .at-evento h3 a:focus { color: var(--at-azul-osc); text-decoration: underline; text-underline-offset: 3px; }
.at-hora { display: flex; align-items: center; gap: 8px; margin: 18px 0 20px !important; font-size: .9375rem; font-weight: 500; color: var(--at-suave); }
.at-hora .at-ico { stroke-width: 2; }
.at-evento .at-boton { margin-top: auto; align-self: flex-start; min-height: 44px; padding: 8px 22px; font-size: .9375rem; }

/* ---------- Experiencia Ategal ---------- */
.at-experiencia { background: var(--at-azul-tono); padding-block: 80px 88px; }
.at-proxectos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.at-proxecto { margin: 0; }
.at-proxecto a, .at-proxecto a:visited { display: block; color: var(--at-tinta); text-decoration: none; }
.at-proxecto img, .at-proxecto .at-sen-foto { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--at-radio); background: #f1efec; }
.at-proxecto img.at-enteira { object-fit: contain; }
.at-proxecto h3 { margin-top: 18px; font: 700 1.1875rem/1.35 var(--at-letra); color: var(--at-tinta); }
.at-proxecto a:hover h3, .at-proxecto a:focus h3 { color: var(--at-azul-osc); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* ---------- #StopEdadismo ---------- */
.at-stop { background: var(--at-azul-osc); color: var(--at-branco); padding-block: 64px; }
.at-stop .at-envoltura { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 24px 56px; align-items: start; }
.at-stop .at-titulo { color: var(--at-branco); margin: 0; }
.at-stop ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .35); }
.at-stop li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .35); }
.at-stop a, .at-stop a:visited { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 4px; color: var(--at-branco); text-decoration: none; font-weight: 600; font-size: 1.125rem; line-height: 1.35; }
.at-stop a:hover, .at-stop a:focus { color: var(--at-branco); text-decoration: underline; text-underline-offset: 4px; }
.at-stop a:focus-visible { outline-color: var(--at-branco); }
.at-stop .at-ico { width: 22px; height: 22px; stroke: var(--at-azul); stroke-width: 2.4; }

/* ---------- Colaboradores ---------- */
.at-colaboradores { padding-block: 80px 88px; }
.at-marcas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); gap: 16px; }
.at-marcas li { position: relative; margin: 0; aspect-ratio: 245 / 126; border: 1px solid var(--at-linea); border-radius: var(--at-radio); background: var(--at-branco); overflow: hidden; }
.at-marcas a { position: absolute; inset: 0; }
.at-marcas img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; }
.at-marcas img.at-peq { top: 8%; left: 8%; width: 84%; height: 84%; }

/* ---------- App: banda discreta al final ---------- */
.at-app { background: var(--at-azul-tono); padding-block: 40px 48px; }
.at-app .at-envoltura { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.at-app .at-titulo { margin: 0; font-size: clamp(1.125rem, 1rem + .4vw, 1.375rem); }
.at-app .at-titulo img { width: 13px; height: 28px; }
.at-app .at-botons { margin: 0; gap: 12px; }
.at-app .at-boton { min-height: 46px; padding: 8px 22px; font-size: .9375rem; }

/* ---------- Pie ---------- */
.at-pe { position: relative; background: var(--at-azul); color: var(--at-tinta-azul); padding-block: 56px 32px; }
.at-pe::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px; background: url("../img/decorative-line-1.png") center / cover; }
.at-pe-arriba { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.at-logo-pe img { width: 210px; }
.at-xunta { display: block; background: var(--at-branco); padding: 8px 12px; border-radius: var(--at-radio); }
.at-xunta img { width: 260px; }
.at-pe-abaixo { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(13, 36, 51, .25); }
.at-pe .at-redes a, .at-pe .at-redes a:visited { background: var(--at-azul-osc); color: var(--at-branco); width: 44px; height: 44px; }
.at-pe .at-redes a:hover, .at-pe .at-redes a:focus { background: var(--at-tinta-azul); color: var(--at-branco); }
.at-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; font-size: .9375rem; font-weight: 500; }
.at-legal a, .at-legal a:visited { color: var(--at-tinta-azul); text-decoration: underline; text-underline-offset: 3px; }
.at-legal a:hover, .at-legal a:focus { color: var(--at-azul-osc-2); }
.at-pe :focus-visible { outline-color: var(--at-tinta-azul); }

/* ---------- Arquivo de novas (/actualidade/) ---------- */
.at-arquivo { padding-block: 56px 88px; }
.at-arquivo .at-titulo { margin-bottom: 28px; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); }
.at-anos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.at-anos a, .at-anos a:visited { display: inline-grid; place-items: center; min-height: 44px; min-width: 64px; padding: 0 16px; border: 2px solid var(--at-azul-osc); border-radius: 999px; color: var(--at-azul-osc); background: var(--at-branco); font: 600 .9375rem/1 var(--at-letra); text-decoration: none; }
.at-anos a:hover, .at-anos a:focus, .at-anos a[aria-current] { background: var(--at-azul-osc); color: var(--at-branco); }
.at-lista-arquivo { grid-template-columns: repeat(2, 1fr); gap: 28px 48px; }
.at-lista-arquivo .at-nova + .at-nova { border-top: 0; padding-top: 0; }
.at-lista-arquivo .at-nova { border-bottom: 1px solid var(--at-linea); padding-bottom: 28px; }
.at-lista-arquivo .at-vacio { grid-column: 1 / -1; }
.at-paxinas { margin-top: 48px; }
.at-paxinas ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.at-paxinas li { margin: 0; }
.at-paxinas a, .at-paxinas span.page-numbers { display: inline-grid; place-items: center; min-width: 48px; min-height: 48px; padding: 0 10px; border-radius: 999px; font: 600 1rem/1 var(--at-letra); text-decoration: none; color: var(--at-azul-osc); border: 2px solid var(--at-linea); background: var(--at-branco); }
.at-paxinas a:hover, .at-paxinas a:focus { border-color: var(--at-azul-osc); color: var(--at-azul-osc-2); }
.at-paxinas .current { background: var(--at-azul-osc) !important; border-color: var(--at-azul-osc) !important; color: var(--at-branco) !important; }
.at-paxinas .dots { border-color: transparent !important; }

/* ---------- Formularios antiguos (Gravity Forms con el estilador de UAEL) ----------
   UAEL solo da texto blanco y borde al botón: el fondo lo ponía Astra. Con Hello quedaba blanco sobre blanco.
   El borde lleva !important: el de UAEL (#6EC1E4) va con selector de id de elemento. */
.gform_wrapper .gform_footer .gform_button, .gform_wrapper .gform_page_footer .gform_button { background-color: var(--at-azul-osc); border-color: var(--at-azul-osc) !important; color: var(--at-branco); transition: none; cursor: pointer; }
.gform_wrapper .gform_footer .gform_button:hover, .gform_wrapper .gform_footer .gform_button:focus,
.gform_wrapper .gform_page_footer .gform_button:hover, .gform_wrapper .gform_page_footer .gform_button:focus { background-color: var(--at-azul-osc-2); border-color: var(--at-azul-osc-2) !important; color: var(--at-branco); }

/* ---------- Interiores: h1 = texto del menú (05-interiores-h1.php) ----------
   Sobre la foto de cabecera original, sin cambiar su altura: etiqueta azul oscuro en posición absoluta. */
.at-banda > .elementor-container, .at-banda .elementor-widget-wrap { position: relative; }
.at-banda .elementor-widget-heading.at-h1-foto { position: absolute; z-index: 2; top: 50%; left: 0; right: 0; transform: translateY(-50%); width: min(100% - 2 * var(--at-margen), var(--at-ancho)); margin: 0 auto !important; }
.at-h1-foto .elementor-heading-title { display: inline-block; max-width: 100%; margin: 0; padding: .32em .75em; border-radius: var(--at-radio); background: var(--at-azul-osc); color: var(--at-branco); font: 700 clamp(1.375rem, 1rem + 1.5vw, 2.25rem)/1.15 var(--at-letra); text-transform: uppercase; letter-spacing: .01em; }
/* Sin foto (Axenda, Podcast): como los títulos de las demás páginas, con la viñeta original */
.at-h1-sen-foto .elementor-heading-title { margin: 15px 0 0; padding-left: 30px; background: url("../img/Heading-decorate-1.png") left center no-repeat; font-size: 2.5rem; font-weight: 500; line-height: 1.2; color: var(--at-tinta); text-transform: uppercase; }
/* El h1 antiguo, ahora h2, conserva su tamaño */
.elementor-widget-heading.at-antes-h1 h2.elementor-heading-title { font-size: 2.5rem; }

/* ---------- Axenda (/eventos-mensuales/): lista por días con letra grande, para leer sin esfuerzo ---------- */
.at-axenda-mes { padding-block: 28px 80px; font-size: 1.125rem; color: var(--at-tinta); }
/* Va dentro de la columna de Elementor de la página: sin el margen de .at-envoltura, alineada con el h1 */
.elementor-widget-ategal_axenda .at-envoltura { width: 100%; }
.at-sedes { margin-bottom: 28px; }
.at-sedes a, .at-sedes a:visited { min-height: 48px; font-size: 1.0625rem; }
.at-mes-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-block: 2px solid var(--at-linea); }
.at-mes-titulo { margin: 0; font: 700 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1.2 var(--at-letra); color: var(--at-tinta); text-align: center; }
.at-mes-nav .at-boton { min-height: 52px; padding: 10px 22px; font-size: 1.0625rem; }
.at-mes-nav--pe { margin-top: 40px; border-bottom: 0; }
.at-axenda-nota { margin: 20px 0 0; font-size: 1.0625rem; color: var(--at-suave); }
.at-axenda-nota a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.at-dia { margin-top: 36px; }
.at-dia h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 6px; padding: 12px 18px; border-radius: var(--at-radio); background: var(--at-azul-tono); font: 500 1.375rem/1.3 var(--at-letra); color: var(--at-tinta); }
.at-dia h3 b { font-weight: 800; }
.at-dia--hoxe h3 { background: var(--at-azul); color: var(--at-tinta-azul); }
.at-hoxe { padding: 4px 12px; border-radius: 999px; background: var(--at-azul-osc); color: var(--at-branco); font-size: .9375rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.at-dia ul { list-style: none; margin: 0; padding: 0; }
.at-ev { display: grid; grid-template-columns: 190px 1fr auto; gap: 8px 24px; align-items: center; margin: 0; padding: 18px; border-bottom: 1px solid var(--at-linea); }
.at-ev-hora { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.at-ev-hora .at-ico { flex: none; width: 22px; height: 22px; stroke-width: 2; color: var(--at-azul-osc); }
.at-ev h4 { margin: 0; font: 700 1.25rem/1.35 var(--at-letra); }
.at-ev h4 a, .at-ev h4 a:visited { color: var(--at-tinta); text-decoration: none; }
.at-ev h4 a:hover, .at-ev h4 a:focus { color: var(--at-azul-osc); text-decoration: underline; text-underline-offset: 3px; }
.at-ev-sede { margin: 4px 0 0; font-size: 1rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--at-azul-osc); }
.at-ev .at-boton { min-height: 48px; padding: 8px 22px; font-size: 1rem; }
.at-axenda-mes .at-vacio { margin: 40px 0 0; padding: 28px; border-radius: var(--at-radio); background: var(--at-azul-tono); font-size: 1.25rem; text-align: center; }
/* Selector Calendario / Lista */
.at-vistas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; }
.at-vistas > span { margin-right: 6px; font-weight: 600; color: var(--at-suave); }
.at-vistas a, .at-vistas a:visited { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border: 2px solid var(--at-azul-osc); border-radius: 999px; background: var(--at-branco); color: var(--at-azul-osc); font: 600 1.0625rem/1 var(--at-letra); text-decoration: none; }
.at-vistas a:hover, .at-vistas a:focus, .at-vistas a[aria-current] { background: var(--at-azul-osc); color: var(--at-branco); }
.at-vistas .at-ico { width: 20px; height: 20px; }
@media (max-width: 639px) {
	.at-vistas > span { width: 100%; }
	.at-vistas a { flex: 1; justify-content: center; padding: 0 12px; }
}
/* Calendario mensual: título enteiro de cada evento, sen cortar (as táboas de Hello levan fondos alternos: fóra) */
.at-axenda-mes .at-cal { width: 100%; margin: 24px 0 0; border-collapse: collapse; table-layout: fixed; font-size: 1rem; }
.at-axenda-mes .at-cal th { padding: 10px 8px; border: 1px solid var(--at-azul-osc); background: var(--at-azul-osc); color: var(--at-branco); font: 700 1rem/1.2 var(--at-letra); text-align: left; text-transform: uppercase; letter-spacing: .04em; }
.at-cal abbr { text-decoration: none; cursor: default; }
.at-axenda-mes .at-cal tbody > tr > td { height: 132px; padding: 8px; border: 1px solid var(--at-linea); background: var(--at-branco); vertical-align: top; line-height: 1.3; }
.at-axenda-mes .at-cal tbody > tr > td.at-cal-fora { background: var(--at-azul-tono); }
.at-axenda-mes .at-cal tbody > tr > td.at-cal-hoxe { background: var(--at-azul-tono); box-shadow: inset 0 0 0 3px var(--at-azul); }
.at-cal-dia { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; margin: 0 0 8px; }
.at-cal-dia b { font-size: 1.25rem; font-weight: 800; }
.at-cal-pasado .at-cal-dia b { color: var(--at-suave); font-weight: 600; }
.at-cal-semana, .at-cal-mes { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.at-cal .at-hoxe { padding: 3px 8px; font-size: .75rem; }
.at-cal ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.at-cal li { margin: 0; }
.at-cal li a, .at-cal li a:visited { display: block; padding: 6px 8px; border-left: 4px solid var(--at-azul-osc); border-radius: 4px; background: var(--at-azul-tono); color: var(--at-tinta); font: 600 .9375rem/1.3 var(--at-letra); text-decoration: none; overflow-wrap: anywhere; }
.at-cal-hoxe li a, .at-cal-hoxe li a:visited { background: var(--at-branco); }
.at-cal li a:hover, .at-cal li a:focus { background: var(--at-azul-osc); color: var(--at-branco); }
.at-cal-hora { display: block; font-weight: 800; color: var(--at-azul-osc); }
.at-cal li a:hover .at-cal-hora, .at-cal li a:focus .at-cal-hora { color: inherit; }
/* Por debaixo de 900 px a rexilla non se le: só os días con actividades, un debaixo doutro, co día da semana */
@media (max-width: 899px) {
	.at-axenda-mes .at-cal, .at-cal tbody, .at-cal tr { display: block; width: auto; }
	.at-cal thead, .at-axenda-mes .at-cal tbody > tr > td.at-cal-fora, .at-axenda-mes .at-cal tbody > tr > td.at-cal-sen { display: none; }
	.at-axenda-mes .at-cal tbody > tr > td { display: block; height: auto; margin: 0 0 24px; padding: 0; border: 0; box-shadow: none !important; background: none !important; }
	.at-cal-dia { justify-content: flex-start; gap: 10px; padding: 12px 16px; border-radius: var(--at-radio); background: var(--at-azul-tono); font-size: 1.25rem; }
	.at-cal-hoxe .at-cal-dia { background: var(--at-azul); color: var(--at-tinta-azul); }
	.at-cal-semana, .at-cal-mes { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
	.at-cal-semana { font-weight: 800; }
	.at-cal-dia b, .at-cal-pasado .at-cal-dia b { font-size: inherit; font-weight: 500; color: inherit; }
	.at-cal .at-hoxe { font-size: .875rem; }
	.at-cal ul { gap: 10px; padding: 0 4px; }
	.at-cal li a, .at-cal li a:visited { padding: 12px 14px; background: var(--at-branco); border: 1px solid var(--at-linea); border-left-width: 5px; border-left-color: var(--at-azul-osc); font-size: 1.125rem; }
	.at-cal-hoxe li a, .at-cal-hoxe li a:visited { background: var(--at-branco); }
	/* Mes en curso: desde hoy (los días anteriores, con «Ver tamén os días anteriores», ?todo=1) */
	.at-axenda-mes .at-cal--desde-hoxe tbody > tr > td.at-cal-pasado { display: none; }
}
/* Avisos que solo tienen sentido en móvil (calendario apilado) */
@media (min-width: 900px) {
	.at-so-movil { display: none; }
}
@media (max-width: 767px) {
	.at-mes-nav { display: grid; grid-template-columns: 1fr 1fr; }
	.at-mes-titulo { grid-column: 1 / -1; grid-row: 1; }
	.at-mes-nav .at-boton { padding-inline: 12px; }
	.at-mes-nav--pe { display: grid; }
	.at-ev { grid-template-columns: 1fr; padding: 18px 4px; }
	.at-ev .at-boton { justify-self: start; }
}

/* ---------- Reproductor de Podcast (plugin podcast-lmco) ----------
   Hello pinta todos los <button> (display inline-block, borde y texto #c36, relleno .5rem 1rem, ancho auto) y, al cargarse después, ganaba a .lmco-podcast-btn:
   botones rosas, iconos aplastados y el play rosa sobre el degradado. Se reponen los valores del propio plugin. */
.lmco-podcast-card .lmco-podcast-btn { display: inline-flex; align-items: center; justify-content: center; gap: 2px; flex: none; width: 42px; height: 42px; padding: 0; border: 1px solid var(--lmco-line); border-radius: 50%; background-color: #fff; color: var(--lmco-ink); font-size: inherit; line-height: 1; white-space: normal; }
.lmco-podcast-card .lmco-podcast-btn:hover, .lmco-podcast-card .lmco-podcast-btn:focus { background-color: #fff; color: var(--lmco-ink); border-color: #cbd0d8; }
.lmco-podcast-card .lmco-podcast-play { width: 52px; height: 52px; }
.lmco-podcast-card .lmco-podcast-play, .lmco-podcast-card .lmco-podcast-play:hover, .lmco-podcast-card .lmco-podcast-play:focus { border: 0; background-color: transparent; color: #fff; }
.lmco-podcast-card .lmco-podcast-skip { font-size: 20px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1239px) {
	.at-menu > li > a, .at-menu > li > button, .at-menu > li > button:hover, .at-menu > li > button:focus { font-size: .875rem; letter-spacing: .02em; }
	.at-marca img { width: 150px; }
}
@media (max-width: 1199px) {
	.at-utilidades, .at-barra nav.at-principal { display: none; }
	.at-barra .at-envoltura { min-height: 76px; }
	.at-marca img { width: 150px; }
	.at-menu-movil { display: block; }
	.at-menu-movil > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 999px; background: var(--at-azul-osc); color: var(--at-branco); font: 600 1rem var(--at-letra); list-style: none; cursor: pointer; }
	.at-menu-movil > summary::-webkit-details-marker { display: none; }
	.at-menu-movil > summary .at-ico { width: 22px; height: 22px; stroke-width: 2.4; }
	.at-panel-movil { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 76px); overflow: auto; background: var(--at-branco); border-top: 5px solid var(--at-azul); box-shadow: 0 14px 30px rgba(13, 36, 51, .2); padding: 8px var(--at-margen) 28px; }
	.at-panel-movil a, .at-panel-movil a:visited, .at-panel-movil summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; border-bottom: 1px solid var(--at-linea); color: var(--at-tinta); text-decoration: none; font: 600 1.0625rem var(--at-letra); text-transform: uppercase; letter-spacing: .02em; list-style: none; cursor: pointer; }
	.at-panel-movil summary::-webkit-details-marker { display: none; }
	.at-panel-movil summary::after { content: "+"; font-size: 1.5rem; font-weight: 500; color: var(--at-azul-osc); }
	.at-panel-movil details[open] > summary::after { content: "−"; }
	.at-panel-movil details > div { padding-left: 18px; }
	.at-panel-movil details > div a { font-weight: 500; font-size: 1rem; }
	.at-panel-movil .at-grupo { display: block; padding: 18px 0 6px; font: 700 .875rem var(--at-letra); letter-spacing: .06em; text-transform: uppercase; color: var(--at-azul-osc); }
	.at-panel-movil a[aria-current] { color: var(--at-azul-osc); box-shadow: inset 5px 0 0 var(--at-azul); padding-left: 14px; }
	.at-panel-movil .at-buscador { margin-top: 24px; }
	.at-panel-movil .at-buscador input[type="search"] { flex: 1; width: auto; height: 48px; border: 2px solid var(--at-azul-osc); border-right: 0; font-size: 1rem; }
	.at-panel-movil .at-buscador button[type="submit"], .at-panel-movil .at-buscador button[type="submit"]:hover { width: 56px; height: 48px; background: var(--at-azul-osc); color: var(--at-branco); }
	.at-panel-movil .at-redes { margin-top: 20px; }
	.at-panel-movil .at-redes a, .at-panel-movil .at-redes a:visited { width: 48px; height: 48px; min-height: 0; border-bottom: 0; background: var(--at-azul-osc); color: var(--at-branco); justify-content: center; }
}
@media (max-width: 1079px) {
	.at-novas-reixa { grid-template-columns: 1fr; }
	.at-formacion-cabeza { grid-template-columns: 1fr; align-items: start; }
	.at-axenda, .at-proxectos { grid-template-columns: repeat(2, 1fr); }
	.at-stop .at-envoltura { grid-template-columns: 1fr; }
	.at-marcas { grid-template-columns: repeat(4, 1fr); }
	.at-lista-arquivo { grid-template-columns: 1fr; }
}
@media (max-width: 639px) {
	.at-marca img { width: 132px; }
	.at-portada { padding-block: 56px 72px; background-image: var(--at-fondo-movil); }
	.at-portada .at-boton { width: 100%; max-width: 360px; }
	.at-formacion { padding-block: 48px 56px; }
	.at-novas, .at-actividades, .at-experiencia, .at-colaboradores { padding-block: 56px 64px; }
	.at-formacion-cabeza p { font-size: 1.0625rem; }
	.at-novas-lista .at-nova a { grid-template-columns: 112px 1fr; gap: 16px; }
	.at-novas-lista h3 { font-size: 1.0625rem; }
	.at-axenda, .at-proxectos { grid-template-columns: 1fr; }
	.at-botons .at-boton { width: 100%; }
	.at-marcas { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.at-pe-arriba, .at-pe-abaixo { flex-direction: column; align-items: flex-start; }
	.at-xunta img { width: 230px; }
}
