/* ==========================================================================
   INEDMI - CSS del sitio.  ARCHIVO GENERADO: NO EDITAR A MANO.
   Generado el 2026-10-31 con Inedmi-notas/herramientas/build-css.py
   Fuente de mantenimiento: Inedmi-notas/css-src/*.css
   Arquitectura: ITCSS (capas de especificidad creciente) + BEM
   Para cambiar algo: editar el parcial de su capa y volver a ejecutar el script.
   ========================================================================== */

/* ---------- 00-doc.css ---------- */
/* =========================================================================
   INEDMI — CSS global (ITCSS + BEM)  ·  v1.2 (capas renumeradas 2026-10-12)
   Ubicación: Elementor > Ajustes del sitio > CSS personalizado (Kit 15886).
   Capas (ITCSS, de menor a mayor especificidad):
          01-settings · 02-generic · 03-elements · 04-objects · 05-components ·
          06-utilities · 07-overrides   (sin capa "tools": CSS puro, sin mixins)
   Prefijos: o- objetos · c- componentes · u- utilidades · is-/has- estados
   Regla: cada componente vive UNA sola vez, en 05-components, con sus
   modificadores y media queries juntos. No se añade CSS al final del archivo.
   ========================================================================= */

/* ---------- 00-fonts.css ---------- */
/* ===== 00-fonts ==========================================================
   Fuentes propias del tema (sustituyen la carga de Google Fonts de Elementor).
   Archivos en assets/fonts/ con rutas RELATIVAS: inmunes al cambio de dominio
   del Push, al contrario que los CSS de Elementor, que guardaban URLs absolutas
   de staging y ya provocaron errores CORS en produccion.
   Solo subsets latin y latin-ext (sitio en espanol). Outfit e Inter son fuentes
   variables: un unico @font-face por archivo declara el rango de pesos, en lugar
   de los 54 bloques repetidos que generaba Elementor.
   font-display:swap -> el texto se ve de inmediato con la fuente de sistema.
   ======================================================================== */

/* Outfit · latin-ext · normal · pesos 100 900 */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/outfit-feaf43e8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Outfit · latin · normal · pesos 100 900 */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/outfit-97312486.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter · latin-ext · italic · pesos 100 900 */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-02076e7d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter · latin · italic · pesos 100 900 */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-85a02229.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter · latin-ext · normal · pesos 100 900 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-b6db4a06.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter · latin · normal · pesos 100 900 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-6ab57b19.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 01-settings.css ---------- */
/* ===== 01-settings ======================================================= */
:root{
  /* Elementor: sin relleno por defecto en contenedores; el espaciado lo dan los componentes (secciones, tarjetas, gutter) */
  --container-default-padding-top:0px; --container-default-padding-right:0px; --container-default-padding-bottom:0px; --container-default-padding-left:0px;
  --color-primary:#001F8E; --color-primary-dark:#00135A; --color-primary-accent:#0066D6;
  --color-secondary:#CDA035; --color-secondary-dark:#7C5C01; --color-secondary-soft:#FFF3A6;
  --color-primary-light:#1B3FB8; --color-secondary-ink:#1A1200;
  --color-text:#1A1D2E; --color-text-muted:#4B5266;
  --color-background:#FFFFFF; --color-surface:#F5F7FC; --color-border:#D9DEEC;
  --color-on-primary:#FFFFFF; --color-on-primary-muted:#E8ECFA; --color-on-primary-line:rgba(255,255,255,.18);

  --font-heading:"Outfit",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --fs-h1:clamp(2.25rem,1.6rem + 2.6vw,3.5rem); --fs-h2:clamp(1.75rem,1.3rem + 1.8vw,2.5rem);
  --fs-h3:clamp(1.375rem,1.15rem + .9vw,1.75rem); --fs-h4:clamp(1.125rem,1.05rem + .4vw,1.375rem);
  --fs-body:1rem; --fs-small:.875rem; --fs-badge:.8125rem; --fs-caption:.75rem;
  --lh-heading:1.15; --lh-body:1.6;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --space-xs:.25rem; --space-sm:.5rem; --space-md:1rem; --space-lg:1.5rem; --space-xl:2.5rem; --space-2xl:4rem;
  --section-y:clamp(3rem,2rem + 4vw,6rem); --container-max:1200px; --gutter:clamp(1rem,.5rem + 2vw,2rem);

  --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(0,19,90,.08); --shadow-md:0 6px 20px rgba(0,19,90,.10); --shadow-lg:0 16px 40px rgba(0,19,90,.14);
  --ease:cubic-bezier(.2,.7,.2,1); --dur-fast:150ms; --dur:250ms;
  --tap-min:44px;
  --focus-color:var(--color-primary-accent);
}

/* ---------- 02-generic.css ---------- */
/* ===== 02-generic ======================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
img,video,svg{max-width:100%;height:auto}

/* ---------- 03-elements.css ---------- */
/* ===== 03-elements ======================================================= */
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-text);background:var(--color-background)}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--lh-heading);color:var(--color-primary);margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:var(--fw-bold)} h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold)}
h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold)} h4{font-size:var(--fs-h4);font-weight:var(--fw-medium)}
p{margin:0 0 var(--space-md)} p:last-child{margin-bottom:0}
ul,ol{margin:0 0 var(--space-md);padding-left:1.25rem}
a{color:var(--color-primary-accent);text-underline-offset:.2em}
a:hover{color:var(--color-primary)}
/* Foco de teclado: contorno real (Elementor sobrescribe box-shadow). Blanco sobre fondos oscuros. */
:is(.c-hero,.c-portal,.c-cta,.c-footer,.c-enroll){--focus-color:var(--color-on-primary)}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:none}

/* ---------- 04-objects.css ---------- */
/* ===== 04-objects ======================================================== */
/* 04.01  o-page · o-section · o-container · o-grid */
.o-page{width:100%}
.o-section{width:100%;padding-block:var(--section-y);padding-inline:var(--gutter)}
.o-section:nth-of-type(even){background:var(--color-surface)}
.o-container{width:100%;max-width:var(--container-max);margin-inline:auto}
.o-container--narrow{max-width:720px}
.o-grid{display:grid!important;gap:var(--space-lg);grid-template-columns:1fr} /* !important: Elementor fija display flex en el contenedor */
@media (min-width:768px){.o-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))} .o-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px){.o-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 04.02  o-bento (cuadrícula de 6 columnas desde tablet) */
.e-con.e-flex.o-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
@media (min-width:768px){.e-con.e-flex.o-bento{grid-template-columns:repeat(6,minmax(0,1fr))}.o-bento__item--half{grid-column:span 3}.o-bento__item--wide{grid-column:span 4}.o-bento__item--narrow{grid-column:span 2}}

/* ---------- 05-components.css ---------- */
/* ===== 05-components ===================================================== */

/* 05.01  c-button */
.c-button .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap-min);padding:.75rem 1.5rem;
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:1rem;line-height:1;border-radius:var(--radius-pill);border:2px solid transparent;
  text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}
.c-button .elementor-button:active{transform:translateY(1px)}
.c-button--primary .elementor-button{background:var(--color-primary);color:var(--color-on-primary)}
.c-button--primary .elementor-button:hover{background:var(--color-primary-dark);color:var(--color-on-primary);box-shadow:var(--shadow-md)}
.c-button--secondary .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark)}
.c-button--secondary .elementor-button:hover{background:var(--color-secondary-soft);color:var(--color-primary-dark)}
.c-button--outline .elementor-button{background:transparent;color:var(--color-on-primary);border-color:currentColor}
.c-button--outline .elementor-button:hover{background:var(--color-on-primary);color:var(--color-primary)}
.c-button--link .elementor-button{background:transparent;color:var(--color-primary-accent);padding-inline:0;min-height:var(--tap-min);border-radius:0}
.c-button--link .elementor-button:hover{color:var(--color-primary);text-decoration:underline}
/* Contraste: el botón primario sobre fondos oscuros pasa a dorado */
:is(.c-hero,.c-cta,.c-portal,.c-enroll) .c-button--primary .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark)}
:is(.c-hero,.c-cta,.c-portal,.c-enroll) .c-button--primary .elementor-button:is(:hover,:focus-visible){background:var(--color-secondary-dark);color:var(--color-primary-dark)}

/* 05.02  c-header / c-nav (una sola fila en todos los tamaños: logo | menú | acción) */
.c-header{z-index:100}
.e-con.c-header__inner{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-md)}
.e-con.c-header__brand,.e-con.c-header__actions{flex:0 0 auto;width:auto}
.e-con.c-header__actions{gap:var(--space-sm)}
.e-con.c-header__nav{flex:1 1 auto;width:auto;min-width:0;justify-content:flex-end}
.c-nav .elementor-item{font-family:var(--font-heading);font-weight:var(--fw-medium);color:var(--color-text)!important} /* !important: Elementor aplica el color del menú desde el widget */
.c-nav .elementor-item:hover,.c-nav .elementor-item.elementor-item-active{color:var(--color-primary-accent)!important}
.c-header .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap}
.c-header .elementor-nav-menu--main .elementor-item{white-space:nowrap;padding-inline:.45rem;font-size:.9375rem}
.c-header__actions .elementor-button{padding:.6rem 1.1rem;font-size:.9375rem;white-space:nowrap}
.elementor-menu-toggle{min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center}
@media (min-width:1025px){.elementor-nav-menu--main .elementor-nav-menu li.c-nav__item--mobile{display:none}} /* el acceso al portal solo vive en el menú móvil */
/* 05.03b  c-nav: CTA de inscripción dentro del menú móvil (ítem con clases c-nav__item--mobile c-nav__item--cta) */
.elementor-nav-menu--dropdown li.c-nav__item--cta{padding:var(--space-sm) var(--space-md) var(--space-xs)}
.elementor-nav-menu--dropdown li.c-nav__item--cta>a{display:flex;align-items:center;justify-content:center;min-height:var(--tap-min);border-radius:var(--radius-pill);background:var(--color-secondary);color:var(--color-primary-dark);font-weight:700;text-align:center}
.elementor-nav-menu--dropdown li.c-nav__item--cta>a:hover,.elementor-nav-menu--dropdown li.c-nav__item--cta>a:focus-visible{background:var(--color-primary);color:var(--color-on-primary)}
/* objetivos táctiles cómodos en móvil: migas de pan */
@media (max-width:767px){.c-breadcrumb a{min-height:var(--tap-min);display:inline-flex;align-items:center;padding-inline:.35rem;margin-inline:-.35rem}}
/* 05.03  c-header cápsula flotante: píldora fija sobre el contenido */
.elementor-location-header{position:relative;z-index:100;height:0}
.c-header{position:fixed;inset-block-start:var(--space-xs);inset-inline:0;pointer-events:none;padding-inline:var(--space-sm)}
.admin-bar .c-header{inset-block-start:calc(var(--wp-admin--admin-bar--height,32px) + var(--space-xs))}
.e-con.c-header__inner{position:relative;pointer-events:auto;width:100%;max-width:1120px;margin-inline:auto;min-height:4rem;padding-inline:var(--space-md);border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)}
@supports (backdrop-filter:blur(1px)){.e-con.c-header__inner{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}
.c-header__logo img,.c-header__logo img.attachment-full{max-height:44px;height:44px;width:auto}
.c-header .c-header__cta .elementor-button{background:var(--color-secondary);color:var(--color-primary-dark);font-weight:var(--fw-semibold);border-radius:var(--radius-pill)}
.c-header .c-header__cta .elementor-button:hover,.c-header .c-header__cta .elementor-button:focus-visible{background:var(--color-secondary-soft)}
@media (min-width:1025px){.e-con.c-header__actions{display:flex}}
@media (max-width:1024px){.e-con.c-header__actions{display:none}.c-header .elementor-nav-menu--dropdown{margin-block-start:var(--space-xs)}}
/* 05.04  c-nav: indicador activo, paneles y estados (Elementor pinta #3f444b por defecto) */
.c-nav .elementor-nav-menu--main .elementor-item:before,.c-nav .elementor-nav-menu--main .elementor-item:after{height:2px;background-color:var(--color-secondary)}
.c-header .elementor-nav-menu--dropdown.elementor-nav-menu__container,.c-header .elementor-nav-menu--main .sub-menu{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
.c-header .elementor-nav-menu--dropdown .elementor-item,.c-header .elementor-nav-menu--main .sub-menu .elementor-sub-item{font-family:var(--font-heading);font-weight:var(--fw-medium);color:var(--color-text);padding:.85rem 1.25rem}
.c-header .elementor-nav-menu--dropdown a:is(:hover,:focus,:active){background:var(--color-surface);color:var(--color-primary)}
.c-header .elementor-nav-menu--dropdown a:focus-visible{outline:2px solid var(--color-primary-accent);outline-offset:-2px}
.c-header .elementor-nav-menu--dropdown a.elementor-item-active,.c-header .elementor-nav-menu--dropdown a.highlighted,.c-header .elementor-nav-menu--main .sub-menu a.elementor-item-active{background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-secondary)}
.c-header .elementor-nav-menu--dropdown a.elementor-item-active,.c-header .elementor-nav-menu--main .sub-menu a.elementor-item-active{color:var(--color-primary)!important} /* !important: .c-nav .elementor-item fuerza el color del menú */
.c-header .elementor-menu-toggle,.c-header .elementor-menu-toggle:hover{background:transparent;border-radius:var(--radius-pill);color:var(--color-primary)}
.c-header .elementor-menu-toggle svg{fill:currentColor}
.c-header .elementor-nav-menu--dropdown a,.c-header .elementor-menu-toggle{-webkit-tap-highlight-color:transparent}
/* panel móvil: debajo de la píldora y con submenús como lista anidada */
@media (max-width:1024px){
.e-con.c-header__nav,.c-header__nav .elementor-widget-nav-menu,.c-header__nav .elementor-widget-container{position:static}
.c-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute;inset-inline:0;top:calc(100% + var(--space-xs));width:auto;margin:0}
}
.c-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu{background:transparent;border:0;border-radius:0;box-shadow:none}
.c-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{padding-inline-start:2rem;font-weight:var(--fw-regular)}
/* 05.05  c-search-toggle (lupa del header con panel desplegable, <details> sin JS) */
.e-con.c-header__search{flex:0 0 auto;width:auto;position:static}
.c-header__search .elementor-widget,.c-header__search .elementor-widget-container{position:static}
.c-search-toggle{position:static}
.c-search-toggle__button{list-style:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;color:var(--color-primary);cursor:pointer;transition:background-color .2s}
.c-search-toggle__button::-webkit-details-marker{display:none}
.c-search-toggle__button:hover,.c-search-toggle[open] .c-search-toggle__button{background:var(--color-surface)}
.c-search-toggle__button:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}
.c-search-toggle__panel{position:absolute;inset-inline:var(--space-md);inset-block-start:calc(100% + var(--space-xs));max-width:28rem;margin-inline-start:auto;padding:var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.c-search-toggle__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.c-search-toggle__row{display:flex;gap:var(--space-xs)}
.c-search-toggle__input{flex:1 1 auto;min-width:0;min-height:2.75rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font:inherit}
.c-search-toggle__input:focus-visible{outline:3px solid var(--color-secondary);outline-offset:1px;border-color:var(--color-primary)}
.c-search-toggle__submit{min-height:2.75rem;padding:.5rem 1.25rem;border:0;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-heading);font-weight:var(--fw-semibold);cursor:pointer}
.c-search-toggle__submit:hover{background:var(--color-primary-dark)}
.c-search-toggle__submit:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}

/* 05.06  c-hero (fondo: degradado + resplandores + malla; solo CSS, sin imágenes)
   2026-10-28: retiradas por decisión del usuario las figuras geométricas (punto dorado,
   anillo circular y cuadrado "cristal" con sus animaciones). Se conservan el degradado,
   los resplandores de color y la malla.
   2026-10-28: retirada también la cinta dorada (SVG inline) de las páginas internas. */
.c-hero{position:relative;isolation:isolate;overflow:clip;padding-block:var(--section-y);padding-inline:var(--gutter);color:var(--color-on-primary);
  background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 55%,var(--color-primary-accent) 140%)}
.c-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(38rem 26rem at 88% -8%,color-mix(in srgb,var(--color-secondary) 34%,transparent),transparent 62%),
    radial-gradient(30rem 22rem at 4% 118%,color-mix(in srgb,var(--color-primary-accent) 60%,transparent),transparent 62%),
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px) 0 0/48px 48px}
.c-hero--home{min-height:clamp(420px,70vh,640px);display:flex;align-items:center}
/* variante compacta de las páginas internas: menos altura que el hero de inicio */
.c-hero--page{padding-block:clamp(1.5rem,1rem + 2.5vw,3rem)}
.c-hero--page,.c-hero--home{padding-block-start:calc(clamp(2.5rem,2rem + 3vw,4.5rem) + 5.5rem)} /* deja sitio a la cápsula fija */
.c-hero--page::before{background:
    radial-gradient(30rem 20rem at 88% -20%,color-mix(in srgb,var(--color-secondary) 30%,transparent),transparent 62%),
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/48px 48px}
.c-hero--page .c-hero__content{gap:var(--space-xs)}
.c-hero--page .c-hero__text{font-size:1rem}
.c-hero__eyebrow{display:inline-block;font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}
.c-hero__title,.c-hero__title .elementor-heading-title{color:var(--color-on-primary)}
.c-hero__text{max-width:60ch;font-size:1.125rem;color:var(--color-on-primary-muted)}
.c-hero__content{max-width:760px}
.c-hero__text .elementor-post-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin:0;padding:0;list-style:none}
.c-hero__text .elementor-post-info__item--type-terms{display:inline-block;padding:.2rem .85rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-badge);letter-spacing:.02em}
.c-hero__text .elementor-post-info__item--type-date{color:var(--color-on-primary);opacity:.9}

/* 05.06b  c-hero__figure — figuras del escudo en el hero
   ---------------------------------------------------------------------------
   Decidido el 2026-10-28. El marcado SVG lo inserta inc/hero.php; aquí viven el
   tamaño, la posición y las animaciones.

   La figura es el ÁTOMO del escudo, el icono de «Ciencia» del lema, en todo el
   sitio. En páginas internas va más pequeño y algo más adentro, porque el hero es
   compacto.

   Hubo una variante con el CIRCUITO (icono de Tecnología) para las páginas
   internas; se retiró el 2026-10-29 por decisión del usuario. Su SVG y su script
   siguen en Inedmi-notas/herramientas/hero-atomo/ (circuit.svg, build-circuit.py)
   por si se quiere recuperar.

   POR QUÉ EL SVG VA EN EL DOM Y NO EN UN background-image
   La primera versión lo embebía como data-URI. Funcionaba, pero el navegador
   cachea la imagen ya renderizada y, a partir de la segunda página, el SVG
   aparecía con la animación terminada. En el DOM la animación corre en cada carga
   y, además, el SVG puede usar las variables CSS del tema: los dorados salen de
   --color-secondary en lugar de ir escritos a mano.

   MOVIMIENTO (WCAG 2.2.2 «Pausar, detener, ocultar», nivel A)
   El criterio exige un control cuando el movimiento automático pasa de 5 s. Ambas
   figuras entran en 4,5 s, desaceleran y se detienen para siempre: una sola
   iteración con animation-fill-mode:forwards. Al parar por debajo del umbral no
   hace falta botón de pausa. Con prefers-reduced-motion no hay movimiento: se
   pinta el estado final, que en los dos casos es una figura completa.
   --------------------------------------------------------------------------- */
.c-hero__figure{position:absolute;top:50%;right:-3%;translate:0 -50%;
  width:min(29rem,58vw);height:auto;aspect-ratio:1;z-index:-1;pointer-events:none}
.c-hero--home .c-hero__figure{width:min(32rem,62vw);right:-6%}
.c-hero--page .c-hero__figure{width:min(17rem,34vw);right:3%;opacity:.8}
@media (max-width:767px){
  .c-hero--home .c-hero__figure{width:min(20rem,70vw);right:-22%;opacity:.42}
  .c-hero--page .c-hero__figure{width:min(14rem,48vw);right:-10%;opacity:.34}
}

/* -- Átomo: planos orbitales, electrones y núcleo -- */
.c-hero__ring{fill:none;stroke:var(--color-secondary);stroke-width:1.6;opacity:.42}
.c-hero__electron{fill:var(--color-secondary)}
.c-hero__electron--soft{fill:var(--color-secondary-soft)}
/* La rotación de cada plano (0°, 60°, 120°) va en el <g> exterior del marcado;
   aquí solo se anima el <g> interior. Así, sin movimiento, la figura cruzada
   se conserva en lugar de apilarse. */
.c-hero__orbit{transform-origin:200px 200px;opacity:0;
  animation:c-hero-settle 4.5s cubic-bezier(.12,.75,.2,1) forwards}
.c-hero__orbit--2{animation-delay:.18s}
.c-hero__orbit--3{animation-delay:.36s}
@keyframes c-hero-settle{
  from{transform:rotate(-320deg) scale(.82);opacity:0}
  60%{opacity:1}
  to{transform:rotate(0) scale(1);opacity:1}}
.c-hero__nucleus{transform-origin:200px 200px;opacity:0;
  animation:c-hero-core 4.5s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes c-hero-core{
  from{transform:scale(0);opacity:0}
  55%{transform:scale(1.18);opacity:1}
  to{transform:scale(1);opacity:1}}

/* Sin movimiento: se pinta el estado final. Para los trazos hay que forzar
   stroke-dashoffset:0, o quedarían invisibles. */
@media (prefers-reduced-motion:reduce){
  .c-hero__orbit,.c-hero__nucleus{animation:none;opacity:1}
}

/* 05.07  c-hero (home): mensaje + columna de accesos rápidos (bento) */
.c-hero__layout{display:grid!important;gap:var(--space-lg);align-items:center;grid-template-columns:1fr;width:100%} /* !important: idem o-grid */
@media (min-width:1025px){.c-hero__layout{grid-template-columns:1.35fr 1fr;gap:var(--space-xl)}}
.c-hero--home .c-hero__title,.c-hero--home .c-hero__title .elementor-heading-title{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);line-height:1.1;text-wrap:balance}
.single-post .c-hero__title .elementor-heading-title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem);line-height:1.2}
.single-post .c-hero__content{max-width:880px}
.c-shortcuts{display:grid!important;gap:var(--space-sm);grid-template-columns:1fr 1fr} /* !important: idem o-grid */
.c-shortcuts>.c-shortcut:last-child{grid-column:1/-1}
@media (min-width:1025px){.c-shortcuts{grid-template-columns:1fr}}

/* 05.08  c-shortcut (atajo de acceso rápido: título enlazado que cubre toda la tarjeta) */
.c-shortcut{position:relative;gap:.25rem;padding:var(--space-md) var(--space-md);border-radius:var(--radius-lg);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);transition:background .2s,transform .2s,border-color .2s}
.c-shortcut:hover,.c-shortcut:focus-within{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
@media (prefers-reduced-motion:no-preference){.c-shortcut:hover{transform:translateY(-2px)}}
@media (prefers-reduced-transparency:reduce){.c-shortcut{backdrop-filter:none;background:var(--color-primary-dark)}}
.c-shortcut--accent{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-secondary-ink)}
.c-shortcut--accent:hover,.c-shortcut--accent:focus-within{background:var(--color-secondary-soft);border-color:var(--color-secondary-soft)}
.c-shortcut--accent .c-shortcut__title a,.c-shortcut--accent .c-shortcut__text{color:var(--color-secondary-ink)}
.c-shortcut__title,.c-shortcut__title .elementor-heading-title{margin:0;font:600 1.125rem/1.3 var(--font-heading);color:var(--color-on-primary)}
.c-shortcut__title a{color:inherit;text-decoration:none}
.c-shortcut__title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.c-shortcut__title a:focus-visible{outline:none}
.c-shortcut:has(.c-shortcut__title a:focus-visible){outline:3px solid var(--focus-color);outline-offset:3px}
.c-shortcut__text{font-size:.875rem;line-height:1.4;color:var(--color-on-primary-muted)}
.c-shortcut__text p{margin:0}
@media (max-width:767px){.c-shortcut__text{display:none}} /* en móvil solo título: tarjetas bajas */
.c-shortcut__links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem var(--space-md)}
.c-shortcut__links a{display:inline-block;padding-block:.5rem;color:var(--color-on-primary);font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.c-shortcut__links a:hover{color:var(--color-secondary);border-color:var(--color-secondary)}

/* 05.09  c-breadcrumb (migas de pan de Yoast; también emite BreadcrumbList) */
.c-breadcrumb{font-size:.8125rem;color:var(--color-on-primary-muted)}
.c-breadcrumb a{color:var(--color-on-primary);text-decoration:none;display:inline-block;padding-block:.35rem}
.c-breadcrumb a:hover{color:var(--color-secondary);text-decoration:underline}
.c-breadcrumb .breadcrumb_last{color:var(--color-secondary-soft)}

/* 05.10  c-section-header */
.c-section-header--center{text-align:center;align-items:center;margin-inline:auto;max-width:720px}
.c-section-header__eyebrow{font-family:var(--font-heading);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-small);color:var(--color-secondary-dark)}
.c-section-header__text{color:var(--color-text-muted)}

/* 05.11  c-card (+ c-level-card, c-card--static, c-card--checklist, c-card--news) */
.c-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.c-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.c-card--static:hover{transform:none;box-shadow:var(--shadow-sm)}
.c-card__title,.c-card__title .elementor-heading-title{font-size:var(--fs-h4)}
.c-card__text{color:var(--color-text-muted)}
.c-level-card{border-top:4px solid var(--color-secondary)}
.c-card--checklist ul{margin:0;padding:0;list-style:none}
.c-card--checklist li{position:relative;padding-inline-start:1.75rem;margin-bottom:.5rem}
.c-card--checklist li::before{content:"\2713";position:absolute;inset-inline-start:0;color:var(--color-secondary-dark);font-weight:var(--fw-bold)}
.c-card--news{position:relative;height:100%;padding:0;overflow:hidden}
.c-card--news .c-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-lg)}
.c-card--news .c-card__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.c-card--news:hover .c-card__media img{transform:scale(1.03)}
.c-card--news .c-card__meta .elementor-icon-list-items{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-card--news .c-card__meta .elementor-icon-list-item:first-child .elementor-icon-list-text{display:inline-block;padding:.2rem .75rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-badge);letter-spacing:.02em}
.c-card--news .c-card__meta .elementor-icon-list-item:last-child .elementor-icon-list-text{color:var(--color-text-muted);font-size:var(--fs-small)}
.c-card--news .c-card__title a{color:var(--color-primary)}
.c-card--news .c-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.c-card--news:hover .c-card__title a{color:var(--color-primary-accent)}
@media (prefers-reduced-motion:reduce){.c-card--news .c-card__media img,.c-card--news:hover .c-card__media img{transition:none;transform:none}}
/* 05.12  c-about / c-levels (Inicio): fondos de sección y tres niveles en tarjetas de igual ancho (o-grid--3) */
.o-section.c-about{background:var(--color-background)}
.o-section.c-levels{background:var(--color-surface)}
.c-levels .e-con.e-flex.o-grid{counter-reset:lvl}
.c-levels .c-card.c-level-card{position:relative;overflow:hidden;min-height:20rem;justify-content:flex-end;border:0;border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--color-primary),var(--color-primary-dark));counter-increment:lvl}
.c-levels .c-card.c-level-card:nth-child(2){background:linear-gradient(160deg,var(--color-primary-light),var(--color-primary))}
.c-levels .c-card.c-level-card:nth-child(3){background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary-light))}
.c-levels .c-level-card::before{content:"0" counter(lvl);position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-md);font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:4.5rem;line-height:1;color:color-mix(in srgb,var(--color-secondary-soft) 28%,transparent);pointer-events:none}
.c-levels .c-level-card .c-card__title .elementor-heading-title{color:var(--color-on-primary)}
.c-levels .c-level-card .c-card__text,.c-levels .c-level-card .c-card__text p{color:var(--color-on-primary-muted)}
.c-levels .c-level-card .c-button--link .elementor-button{color:var(--color-secondary-soft)}
.c-levels .c-level-card{--focus-color:var(--color-on-primary)}

/* 05.13  c-motto (Inicio): banda azul con tipografía grande */
.o-section.c-motto{position:relative;overflow:hidden;text-align:center;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));color:var(--color-on-primary);--focus-color:var(--color-on-primary)}
.c-motto::before{content:"";position:absolute;inset-inline-end:-8%;inset-block-start:-40%;width:min(46vw,34rem);aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 45%,transparent);pointer-events:none}
.c-motto__text{max-width:62ch;margin-inline:auto}
.c-motto .c-motto__text,.c-motto .c-motto__text p{color:var(--color-on-primary-muted)}
.c-motto__title,.c-motto__title .elementor-heading-title{font-size:clamp(2.4rem,1.5rem + 5vw,5rem);line-height:1.05;color:var(--color-secondary-soft)}

/* 05.14  c-cta (+ c-cta--gold: cierre dorado de Inicio) */
.o-section.c-cta{background:var(--color-primary);color:var(--color-on-primary)}
.c-cta .o-container{align-items:center;justify-content:space-between;gap:var(--space-lg)}
.c-cta__title,.c-cta__title .elementor-heading-title{color:var(--color-on-primary)}
.c-cta__text{color:var(--color-on-primary-muted)}
.o-section.c-cta--gold{background:var(--color-secondary);color:var(--color-primary-dark);--focus-color:var(--color-primary-dark)}
.c-cta--gold .c-cta__title,.c-cta--gold .c-cta__title .elementor-heading-title,.c-cta--gold .c-cta__text,.c-cta--gold .c-cta__text p{color:var(--color-primary-dark)}
.o-section.c-cta--gold .c-button--primary .elementor-button{background:var(--color-primary-dark);color:var(--color-on-primary)}
.o-section.c-cta--gold .c-button--primary .elementor-button:is(:hover,:focus-visible){background:var(--color-primary);color:var(--color-on-primary)}

/* 05.15  c-portal (acceso a Control Académic en Inicio): fondo claro para alternar con el lema */
.o-section.c-portal{background:var(--color-background);color:var(--color-text);--focus-color:var(--color-primary)}
.e-con.c-portal__inner{align-items:center;justify-content:space-between}
.e-con.c-portal__content{flex:1 1 28rem;width:auto;max-width:44rem}
.e-con.c-portal__actions{flex:0 0 auto;width:auto}
.c-portal .c-portal__eyebrow,.c-portal .c-portal__eyebrow p{color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-small);letter-spacing:.08em;text-transform:uppercase;margin:0}
.c-portal .c-portal__title .elementor-heading-title{color:var(--color-primary)}
.c-portal .c-portal__text,.c-portal .c-portal__text p,.c-portal .c-portal__text li{color:var(--color-text-muted)}
.c-portal__text ul{margin:var(--space-sm) 0 0;padding-inline-start:1.25rem}
@media (max-width:767px){.e-con.c-portal__actions{width:100%}.c-portal__actions .elementor-button{width:100%;justify-content:center}}

/* 05.16  c-timeline: proceso con línea que se completa al hacer scroll (CSS puro; estado final si no hay soporte o hay reduced-motion) */
.c-timeline{--tl-gap:var(--space-xl);--tl-dot:3rem;position:relative;display:flex;flex-direction:column;gap:var(--tl-gap)}
.c-timeline>.e-con.c-timeline__item{--width:100%}
.c-timeline__item{position:relative;align-items:flex-start;gap:var(--space-lg)}
.c-timeline__item::before,.c-timeline__item::after{content:"";position:absolute;inset-inline-start:calc(var(--tl-dot)/2 - 1.5px);top:var(--tl-dot);height:calc(100% - var(--tl-dot) + var(--tl-gap));width:3px;border-radius:2px}
.c-timeline__item::before{background:var(--color-border)}
.c-timeline__item::after{background:linear-gradient(var(--color-primary-accent),var(--color-secondary));transform-origin:top}
.c-timeline__item:last-child::before,.c-timeline__item:last-child::after{display:none}
.c-timeline__marker{flex:none;display:grid;place-items:center;width:var(--tl-dot);height:var(--tl-dot);border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);
  font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:1.375rem;z-index:1;box-shadow:0 0 0 6px color-mix(in srgb,var(--color-secondary) 35%,transparent)}
.c-timeline__marker .elementor-heading-title{font:inherit;color:inherit;line-height:1}
.c-timeline__item>.e-con.c-timeline__body{--width:auto;flex:1 1 0;min-width:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}
.c-timeline__title,.c-timeline__title .elementor-heading-title{font-size:var(--fs-h4)}
.c-timeline__item--finish .c-timeline__marker{background:var(--color-secondary);color:var(--color-primary-dark)}
.c-timeline__item--finish>.e-con.c-timeline__body{background:linear-gradient(135deg,var(--color-background),var(--color-secondary-soft));border:2px solid var(--color-secondary)}
.c-timeline__item--finish .c-timeline__title,.c-timeline__item--finish .c-timeline__title .elementor-heading-title{font-size:var(--fs-h3);color:var(--color-primary)}
.c-timeline__item--finish .c-button{margin-top:var(--space-sm)}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .c-timeline__item::after{transform:scaleY(0);animation:c-tl-fill linear both;animation-timeline:view();animation-range:cover 38% cover 72%}
  .c-timeline__marker{animation:c-tl-dot linear both;animation-timeline:view();animation-range:cover 30% cover 42%}
  .c-timeline__item--finish .c-timeline__marker{animation-name:c-tl-dot-finish}
  .c-timeline__body{animation:c-tl-in linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
  @keyframes c-tl-fill{to{transform:scaleY(1)}}
  @keyframes c-tl-dot{from{background:var(--color-background);color:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-border),0 0 0 0 transparent}}
  @keyframes c-tl-dot-finish{from{background:var(--color-background);color:var(--color-secondary-dark);box-shadow:inset 0 0 0 3px var(--color-border),0 0 0 0 transparent}}
  @keyframes c-tl-in{from{opacity:.25;transform:translateY(1.25rem)}}
}}
@media (max-width:767px){.c-timeline{--tl-dot:2.5rem}.c-timeline__item{gap:var(--space-md)}.c-timeline__item>.e-con.c-timeline__body{padding:var(--space-md)}}

/* 05.17  c-admission (lista + tarjeta fija) / c-enroll */
.e-con.c-admission{align-items:flex-start;gap:var(--space-2xl)}
.c-admission>.e-con.c-timeline{--width:auto;flex:1 1 0;min-width:0}
.c-admission>.e-con.c-enroll{--width:21rem;flex:0 0 21rem;align-self:flex-start;position:sticky;top:7rem;gap:var(--space-sm);padding:var(--space-lg);
  border-radius:calc(var(--radius-md)*1.5);background:linear-gradient(160deg,var(--color-primary),var(--color-primary-dark));color:var(--color-on-primary);box-shadow:var(--shadow-lg)}
.c-enroll__eyebrow,.c-enroll__eyebrow .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-small);color:var(--color-secondary)}
.c-enroll__price,.c-enroll__price .elementor-heading-title{margin:0;font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:clamp(2.5rem,4vw,3.25rem);line-height:1;color:var(--color-on-primary);font-variant-numeric:tabular-nums}
.c-enroll__text,.c-enroll__help{color:color-mix(in srgb,var(--color-on-primary) 85%,transparent);font-size:var(--fs-small)}
.c-enroll__text p,.c-enroll__help p{margin:0}
.c-enroll .c-button .elementor-button{width:100%}
@media (max-width:1024px){.c-admission>.e-con.c-enroll{--width:100%;flex:none;align-self:stretch;position:static;order:-1}}
/* los contenedores de este bloque no llevan padding de Elementor */
.e-con.c-admission,.e-con.c-timeline,.e-con.c-timeline__item,.e-con.c-payment{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}

/* 05.18  c-payment (alternativas de pago dentro de un paso) */
.c-payment{gap:var(--space-md);margin-top:var(--space-sm);align-items:stretch}
.c-payment__option{flex:1 1 0;min-width:0;gap:var(--space-xs);padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}
.c-payment__title,.c-payment__title .elementor-heading-title{font-size:var(--fs-body);color:var(--color-primary)}
.c-payment__text{font-size:var(--fs-small)}
.c-payment__text p{margin:0}
@media (max-width:767px){.c-payment{flex-direction:column}}

/* 05.19  c-offer (niveles como chips) */
.c-offer ul{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-offer li{padding:.4rem 1rem;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-weight:var(--fw-semibold);color:var(--color-primary)}

/* 05.20  c-table */
.c-table-wrap{overflow-x:auto}
.c-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.c-table__cell{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}
.c-table__cell--head{width:34%;font-family:var(--font-heading);font-weight:var(--fw-semibold);color:var(--color-primary);background:var(--color-surface)}
@media (max-width:767px){.c-table__row{display:block;margin-bottom:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
  .c-table__cell{display:block;width:100%;border:0}}

/* 05.21  c-form */
.c-form .elementor-field-group{margin-bottom:0}
.c-form .elementor-field-label{display:block;margin-bottom:var(--space-sm);font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);color:var(--color-primary)}
.c-form .elementor-field-textual{min-height:3rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem 1rem;font:inherit;background:var(--color-background);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.c-form textarea.elementor-field-textual{min-height:9rem}
.c-form .elementor-field-textual:focus{border-color:var(--color-primary-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-accent) 20%,transparent)}
.c-form .e-form__buttons{margin-top:var(--space-lg)}
.c-form .elementor-button{min-height:3rem;padding:.875rem 2rem;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:var(--fw-semibold)}
.c-form .elementor-button:hover{background:var(--color-primary-dark)}

/* 05.22  c-search */
.c-search .elementor-search-form__input{min-height:var(--tap-min)}

/* 05.23  c-prose / c-note / c-article */
.c-prose{max-width:75ch}
.c-prose img{border-radius:var(--radius-md)}
.c-note,.c-note *{font-size:var(--fs-small);color:var(--color-secondary-dark)}
.c-article .o-container>.elementor-widget.c-article__image,.c-article .o-container>.elementor-widget.c-prose,.c-article .o-container>.elementor-widget.c-article__nav{width:100%;max-width:46rem;align-self:center}
.c-article .c-article__image img{display:block;width:100%;height:clamp(11rem,30vw,17rem);object-fit:cover;border-radius:var(--radius-lg)}
.c-article__nav .elementor-post-navigation{gap:var(--space-md)}

/* 05.24  c-contact (tarjetas + lista de datos con icono) y c-map */
.c-contact .o-grid--2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.c-contact .c-card{padding:var(--space-xl);gap:var(--space-lg)}
.c-contact .c-card__title{margin-bottom:var(--space-xs)}
.c-contact-list .elementor-icon-list-items{display:flex;flex-direction:column;gap:var(--space-md);margin:0;padding:0}
.c-contact-list .elementor-icon-list-item,.c-contact-list .elementor-icon-list-item>a{display:flex;align-items:center;gap:var(--space-md);text-decoration:none}
.c-contact-list .elementor-icon-list-item>a{flex:1;min-width:0}
.c-contact-list .elementor-icon-list-icon{display:flex;align-items:center;justify-content:center;flex:none;width:2.75rem;height:2.75rem;padding:0;border-radius:50%;background:var(--color-surface);color:var(--color-primary);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-contact-list .elementor-icon-list-icon i{display:block;width:auto;font-size:1.125rem;line-height:1}
.c-contact-list .elementor-icon-list-icon svg{display:block;width:1.125rem;height:1.125rem;fill:currentColor}
.c-nav .e-font-icon-svg{fill:currentColor}
/* reCAPTCHA v3: insignia oculta; el aviso legal que exige Google va en cada formulario (.c-form__legal) */
.grecaptcha-badge{visibility:hidden}
.c-form__legal{font-size:var(--fs-caption);line-height:1.5;color:var(--color-text-muted)}
.c-form__legal p{margin:0}
.c-form__legal a{color:inherit;text-decoration:underline}
.c-contact-list .elementor-icon-list-text{display:flex;flex-direction:column;padding:0;color:var(--color-text);text-decoration:none}
.c-contact-list__label,.c-contact-list__label .elementor-heading-title{display:block;font-family:var(--font-heading);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.c-contact-list__value{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--color-text)}
.c-contact-list a:is(:hover,:focus-visible) .c-contact-list__value{color:var(--color-primary-accent)}
.c-contact-list a:is(:hover,:focus-visible) .elementor-icon-list-icon{background:var(--color-primary);color:var(--color-on-primary)}
.c-contact .c-social{margin-top:calc(var(--space-sm) * -1)}
.c-map .c-map__embed iframe{display:block;width:100%;height:26rem;min-height:0;border:0;border-radius:var(--radius-md)}
.c-map .c-button{margin-top:var(--space-md)}
@media (max-width:1024px){.c-contact .o-grid--2{grid-template-columns:1fr}}
@media (max-width:767px){.c-contact .c-card{padding:var(--space-lg)}.c-map .c-map__embed iframe{height:20rem}}

/* 05.25  c-social (widget Social Icons) */
.c-social{--social-fg:var(--color-primary);--social-hover-bg:var(--color-primary);--social-hover-fg:var(--color-on-primary)}
.c-social .elementor-social-icon{width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid currentColor;color:var(--social-fg);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-social .elementor-social-icon i{color:inherit;font-size:18px}
.c-social .elementor-social-icon svg{fill:currentColor;width:18px;height:18px}
.c-social .elementor-social-icon:is(:hover,:focus-visible){background:var(--social-hover-bg);color:var(--social-hover-fg)}

/* 05.26  c-filter (filtro de taxonomía en Actualidad) */
.c-filter .e-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-block-end:var(--space-xl)}
.c-filter .e-filter-item{order:0;padding:.5rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font-weight:var(--fw-semibold);font-size:var(--fs-small);line-height:1.2;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.c-filter .e-filter-item[data-filter="__all"]{order:-1}
.c-filter .e-filter-item:hover{border-color:var(--color-primary);color:var(--color-primary)}
.c-filter .e-filter-item[aria-pressed="true"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}

/* 05.27  c-error (404) */
.c-error{min-height:70vh;display:flex;align-items:center;text-align:center;padding-block-end:var(--section-y)}
.c-error__code,.c-error__code .elementor-heading-title{font-family:var(--font-heading);font-size:clamp(5rem,4rem + 8vw,9rem);font-weight:var(--fw-bold);line-height:1;color:var(--color-secondary)}

/* 05.28  c-footer: marca | navegación | contacto con rótulos; legal con autoría */
.c-footer{position:relative;background:var(--color-primary-dark);color:var(--color-on-primary-muted);padding-block:var(--space-xl) var(--space-md);padding-inline:var(--gutter)}
.c-footer::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--color-secondary),transparent 70%)}
.c-footer a{color:var(--color-on-primary);text-decoration:none}
.c-footer a:hover{color:var(--color-secondary);text-decoration:underline}
.c-footer__grid{display:grid!important;gap:var(--space-lg);grid-template-columns:1fr} /* !important: idem o-grid */
@media (min-width:768px){.c-footer__grid{grid-template-columns:1fr 1fr}.c-footer__contact{grid-column:1/-1}}
@media (min-width:1025px){.c-footer__grid{grid-template-columns:1.2fr 1.1fr 1.5fr}.c-footer__contact{grid-column:auto}}
/* marca: escudo + nombre en dos líneas (lockup horizontal); redes debajo */
.e-con.e-flex.c-footer__brand{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-sm) var(--space-md);text-align:left}
.c-footer__brand .c-footer__social{grid-column:1/-1}
.c-footer__brand .elementor-widget{text-align:left}
.c-footer__social .elementor-social-icons-wrapper{justify-content:flex-start;gap:.75rem}
.c-footer__logo{position:relative}
.c-footer__logo::before{content:"";position:absolute;inset:-14%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 65%);pointer-events:none} /* resplandor sutil: separa el borde azul del fondo */
.c-footer__logo img{position:relative;display:block;width:5.5rem;height:5.5rem;margin-left:-.15rem;object-fit:contain}
.c-footer__name{font:600 .75rem/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}
.c-footer__motto{margin-top:.35rem;font-size:.85rem;color:var(--color-on-primary-muted)}
.c-footer__social{--icon-size:1rem}
.c-footer__social .elementor-social-icon{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border-radius:50%;background:var(--color-secondary);border:0;color:var(--color-primary-dark);transition:background .2s}
.c-footer__social .elementor-social-icon i{color:inherit}
.c-footer__social .elementor-social-icon svg{fill:currentColor;width:.9rem;height:.9rem}
.c-footer__social .elementor-social-icon:hover,.c-footer__social .elementor-social-icon:focus-visible{background:var(--color-secondary-soft);color:var(--color-primary-dark)}
.c-footer__tagline{font-size:var(--fs-small);line-height:1.5}
.c-footer__tagline p{margin:0}
.c-footer__title,.c-footer__title .elementor-heading-title{margin:0 0 var(--space-xs);font:600 .75rem/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-secondary)}
.c-footer__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-md);font-size:.9rem}
.c-footer__list a{display:inline-flex;align-items:center;min-height:2.5rem;padding-block:0}
.c-footer__data{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;column-gap:var(--space-lg);row-gap:0;font-size:.9rem}
.c-footer__item{display:flex;align-items:center;gap:var(--space-sm);min-width:0;min-height:2.5rem}
.c-footer__item--address,.c-footer__item--email{flex-basis:100%}
.c-footer__item::before{content:"";flex:none;width:1.25rem;height:1.25rem;background:var(--color-secondary);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.c-footer__item--address{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M12%202C8.13%202%205%205.13%205%209c0%205.25%207%2013%207%2013s7-7.75%207-13c0-3.87-3.13-7-7-7zm0%209.5a2.5%202.5%200%201%201%200-5%202.5%202.5%200%200%201%200%205z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--email{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M20%204H4c-1.1%200-1.99.9-1.99%202L2%2018c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2zm0%204-8%205-8-5V6l8%205%208-5v2z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--phone{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M6.62%2010.79c1.44%202.83%203.76%205.14%206.59%206.59l2.2-2.2c.27-.27.67-.36%201.02-.24%201.12.37%202.33.57%203.57.57.55%200%201%20.45%201%201V20c0%20.55-.45%201-1%201-9.39%200-17-7.61-17-17%200-.55.45-1%201-1h3.5c.55%200%201%20.45%201%201%200%201.25.2%202.45.57%203.57.11.35.03.74-.25%201.02l-2.2%202.2z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--whatsapp{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M17.47%2014.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94%201.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2%200-.52.07-.79.37-.27.3-1.04%201.02-1.04%202.48s1.07%202.88%201.21%203.07c.15.2%202.1%203.2%205.08%204.49.71.3%201.26.49%201.69.63.71.23%201.36.2%201.87.12.57-.08%201.76-.72%202-1.41.25-.7.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.05%2021.8h-.01a9.87%209.87%200%200%201-5.03-1.38l-.36-.21-3.74.98%201-3.65-.24-.37a9.86%209.86%200%200%201-1.51-5.26c0-5.45%204.44-9.88%209.89-9.88%202.64%200%205.12%201.03%206.99%202.9a9.83%209.83%200%200%201%202.89%206.99c0%205.45-4.44%209.88-9.88%209.88zM20.46%203.49A11.82%2011.82%200%200%200%2012.05%200C5.5%200%20.16%205.34.16%2011.89c0%202.1.55%204.14%201.59%205.95L.06%2024l6.3-1.65a11.88%2011.88%200%200%200%205.68%201.45h.01c6.55%200%2011.89-5.34%2011.89-11.89%200-3.18-1.24-6.17-3.48-8.41z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__item--mobile{--i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M16%201H8C6.34%201%205%202.34%205%204v16c0%201.66%201.34%203%203%203h8c1.66%200%203-1.34%203-3V4c0-1.66-1.34-3-3-3zm-2%2020h-4v-1h4v1zm3.25-3H6.75V4h10.5v14z%22%2F%3E%3C%2Fsvg%3E")}
.c-footer__label{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} /* rótulo solo para lector de pantalla */
.c-footer__value{min-width:0;overflow-wrap:anywhere}
.c-footer__data a{display:inline-block;padding-block:.4rem}
.c-footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem var(--space-md);border-top:1px solid var(--color-on-primary-line);padding-top:var(--space-md);font-size:.8rem}
.c-footer__legal p{margin:0}
.c-footer__legal>.elementor-widget{width:max-content;max-width:100%}
.c-footer__legal a{display:inline-block;padding-block:.4rem}

/* 05.29  c-identity (datos clave + tabla), c-keyfact */
.e-con.e-flex.c-identity__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);align-items:start}
.e-con.e-flex.c-keyfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.c-keyfact{background:var(--color-background);border:1px solid var(--color-border);border-top:3px solid var(--color-secondary);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm)}
.c-keyfact__label .elementor-heading-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
.c-keyfact__value .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:1.2;color:var(--color-primary);overflow-wrap:anywhere}
.c-identity .c-table-wrap{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}
@media (min-width:900px){.e-con.e-flex.c-identity__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
/* 05.30  c-card--featured / --accent (modificadores de 05.11) */
.c-card--featured{background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary));border:0;overflow:hidden}
.c-card--featured .c-card__title .elementor-heading-title{color:var(--color-secondary-soft)}
.c-card--featured .c-card__text,.c-card--featured .c-card__text *{color:var(--color-on-primary-muted)}
.c-card--featured::after{content:"";position:absolute;inset-inline-end:-2rem;inset-block-end:-2rem;width:8rem;aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 50%,transparent);pointer-events:none}
.c-card--accent{border-inline-start:4px solid var(--color-secondary)}
/* 05.31  c-symbols (escudo + bandera | texto), c-tags */
.e-con.e-flex.c-symbols__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}
.e-con.e-flex.c-symbols__art{align-items:center}
.c-symbols__shield,.c-symbols__flag{text-align:center}
.c-symbols__shield img{width:min(14rem,60vw);height:auto;filter:drop-shadow(0 8px 20px rgba(0,19,90,.25))}
.c-symbols__flag img{width:min(22rem,100%);height:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}
.c-tags__list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0;list-style:none}
.c-tags__item{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);letter-spacing:.12em;text-transform:uppercase;background:var(--color-primary);color:var(--color-on-primary);padding:.35rem .9rem;border-radius:var(--radius-pill)}
@media (min-width:900px){.e-con.e-flex.c-symbols__layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
/* 05.32  c-hymn (letra en dos columnas + reproductor nativo) */
.c-hymn__card{padding:var(--space-lg)}
.e-con.e-flex.c-hymn__lyrics{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
.c-hymn__verses p{margin:0 0 1rem;color:var(--color-text-muted)}
.c-hymn__verses .c-hymn__credit{color:var(--color-text)}
.c-hymn__audio{display:block;width:100%;accent-color:var(--color-primary)}
@media (min-width:768px){.c-hymn__card{padding:var(--space-xl)}.e-con.e-flex.c-hymn__lyrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}}
/* 05.33  c-team / c-person (fotos circulares con aro dorado) */
.c-team__title .elementor-heading-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--fs-h4)}
.c-team__title .elementor-heading-title::after{content:"";flex:1;height:1px;background:var(--color-border)}
.e-con.e-flex.c-team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
.e-con.e-flex.c-person{align-items:center;text-align:center}
.c-person__photo img{width:100%;max-width:11rem;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:50%;border:3px solid var(--color-background);box-shadow:0 0 0 2px var(--color-secondary)}
.c-person__name .elementor-heading-title{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--color-text)}
.c-person__badge .elementor-heading-title{display:inline-block;padding:.15rem .7rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-size:var(--fs-badge);font-weight:var(--fw-semibold);letter-spacing:.02em}
.c-person__role .elementor-heading-title{font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--color-text-muted)}
@media (min-width:640px){.e-con.e-flex.c-team__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* 05.34  c-lead / c-milestone (cifra de años calculada con [inedmi_anios]) */
.e-con.e-flex.c-lead__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:center}
.c-milestone{background:linear-gradient(160deg,var(--color-primary-dark),var(--color-primary));border-radius:var(--radius-lg);padding:var(--space-xl);overflow:hidden}
.c-milestone::after{content:"";position:absolute;inset-inline-end:-2.5rem;inset-block-end:-2.5rem;width:10rem;aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-secondary) 50%,transparent);pointer-events:none}
.c-milestone__number{font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:clamp(4rem,3rem + 5vw,6.5rem);line-height:1;color:var(--color-secondary-soft)}
.c-milestone__label .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-h4);letter-spacing:.12em;text-transform:uppercase;color:var(--color-on-primary)}
@media (min-width:900px){.e-con.e-flex.c-lead__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
/* 05.35  c-video (iframe youtube-nocookie con loading=lazy: accesible, sin JavaScript) */
.c-video__player{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.c-video__frame{display:block;width:100%;aspect-ratio:16/9;border:0}

/* 05.36  c-quote (frase destacada con filo dorado) */
.c-quote,.c-quote *{font-family:var(--font-heading);font-weight:var(--fw-medium);font-size:clamp(1.2rem,1rem + 1vw,1.6rem);line-height:1.35;color:var(--color-primary)}
.c-quote{max-width:46rem;padding-block:var(--space-xs);padding-inline-start:var(--space-lg);border-inline-start:4px solid var(--color-secondary)}
.c-quote p{margin:0}
/* 05.37  c-video-card (video + título + descripción) */
.c-video-card__title .elementor-heading-title{font-size:var(--fs-h4);color:var(--color-primary)}
.c-video-card__text,.c-video-card__text p{margin:0;color:var(--color-text-muted);font-size:var(--fs-small)}
/* 05.38  c-photo-grid (+ --featured, --pair; widget Image Gallery como cuadrícula con ampliación) */
.c-photo-grid .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}
/* Elementor fija .gallery-item{max-width:25%} (columns-4) con 4 clases: se iguala y supera con la clase del widget */
.elementor-widget-image-gallery.c-photo-grid .gallery[class*="gallery-columns"] .gallery-item{width:auto;max-width:none;margin:0;padding:0}
.c-photo-grid .gallery-icon a{display:block;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}
.c-photo-grid .gallery-icon a:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
.c-photo-grid .gallery-icon img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}
.c-photo-grid .gallery-caption{margin:var(--space-sm) 0 0;padding:0;text-align:center;font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);color:var(--color-text)}
@media (min-width:768px){.c-photo-grid .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* --featured: la primera foto ocupa todo el ancho en móvil y 2×2 desde tablet; todas se recortan a 4:3 (el orden lo define la galería de Elementor) */
.c-photo-grid--featured .gallery-item,.c-photo-grid--featured .gallery-icon,.c-photo-grid--featured .gallery-icon a{height:100%}
.c-photo-grid--featured .gallery-icon img{height:100%;aspect-ratio:4/3;object-fit:cover}
.c-photo-grid--featured .gallery-item:first-child{grid-column:span 2}
@media (min-width:768px){.c-photo-grid--featured .gallery-item:first-child{grid-row:span 2}}
/* --pair: dos fotos grandes (4:3): una columna en móvil, lado a lado desde tablet */
.c-photo-grid--pair .gallery{grid-template-columns:minmax(0,1fr)}
.c-photo-grid--pair .gallery-icon img{aspect-ratio:4/3;object-fit:cover}
@media (min-width:768px){.c-photo-grid--pair .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* --two: 4 fotos en 2×2 en todos los tamaños; --three: 6 fotos en 3×2 desde tablet (2 columnas en móvil) */
.c-photo-grid--two .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-photo-grid--two .gallery-icon img,.c-photo-grid--three .gallery-icon img{aspect-ratio:4/3;object-fit:cover}
@media (min-width:768px){.c-photo-grid--three .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 05.39 c-maintenance: página única del modo mantenimiento (plantilla PAGE – MANTENIMIENTO, lienzo sin cabecera ni pie) */
.c-maintenance{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl) var(--gutter);text-align:center;color:var(--color-on-primary);background:radial-gradient(900px 400px at 85% -10%,color-mix(in srgb,var(--color-secondary) 28%,transparent),transparent 60%),radial-gradient(700px 400px at 0% 110%,color-mix(in srgb,var(--color-primary-light) 45%,transparent),transparent 60%),linear-gradient(160deg,var(--color-primary),var(--color-primary-dark))}
.c-maintenance__seal{width:96px;height:96px;border:3px solid var(--color-secondary);border-radius:50%;overflow:hidden}
.c-maintenance__seal img{display:block;width:100%;height:100%;object-fit:cover}
.c-maintenance__eyebrow .elementor-heading-title{margin:0;font-size:var(--fs-badge);font-weight:var(--fw-bold);letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary)}
.c-maintenance__title .elementor-heading-title{max-width:18ch;margin-inline:auto;font-family:var(--font-heading);font-size:clamp(1.8rem,5vw,2.8rem);line-height:var(--lh-heading);text-wrap:balance;color:inherit}
.c-maintenance .c-maintenance__text{max-width:46ch}
.c-maintenance__text p,.c-maintenance__meta p{margin:0;color:var(--color-on-primary-muted)}
.c-maintenance__meta{font-size:var(--fs-small)}

/* 05.39  c-careers + c-steps */
.e-con.e-flex.c-careers__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}
@media (min-width:900px){.e-con.e-flex.c-careers__layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.c-careers__info{display:flex;flex-direction:column;gap:var(--space-md)}
.c-careers__card{padding:var(--space-lg)}
@media (min-width:768px){.c-careers__card{padding:var(--space-xl)}}
.c-stepper{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-md);counter-reset:step}
.c-stepper__item{display:grid;grid-template-columns:2.5rem 1fr;column-gap:var(--space-sm);counter-increment:step}
.c-stepper__item::before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-heading);font-weight:var(--fw-bold)}
.c-stepper__title{display:block;color:var(--color-primary);font-weight:var(--fw-semibold)}
.c-stepper__text{display:block;color:var(--color-text-muted)}

/* 05.40  c-levelnav + c-levelnext */
.c-levelnav{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-block-end:var(--space-lg)}
.c-levelnav__link{display:inline-flex;align-items:center;min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);font-family:var(--font-heading);font-weight:var(--fw-semibold);text-decoration:none;transition:background-color .2s,color .2s}
.c-levelnav__link:hover{border-color:var(--color-primary);color:var(--color-primary)}
.c-levelnav__link[aria-current="page"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.c-levelnav__link:focus-visible,.c-levelnext__link:focus-visible{outline:3px solid var(--color-secondary);outline-offset:3px}
.c-levelnext{padding-block:var(--space-lg)}
.c-levelnext__nav{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);justify-content:space-between}
.c-levelnext__link{display:inline-flex;align-items:center;gap:.4em;min-height:2.75rem;color:var(--color-primary);font-family:var(--font-heading);font-weight:var(--fw-semibold);text-decoration:none}
.c-levelnext__link:hover{text-decoration:underline}

/* 05.41  c-policy + c-toc */
.e-con.e-flex.c-policy__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl);align-items:start}
@media (min-width:900px){.e-con.e-flex.c-policy__layout{grid-template-columns:260px minmax(0,1fr)}}
.c-toc{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}
@media (min-width:900px){.c-policy__layout .elementor-widget-html{position:sticky;inset-block-start:6.5rem}}
.c-toc__title{margin:0 0 var(--space-xs);font-family:var(--font-heading);font-weight:var(--fw-bold);color:var(--color-text)}
.c-toc__list{margin:0;padding-inline-start:1.1rem;display:grid;gap:var(--space-xs)}
.c-toc__link{display:inline-block;padding-block:.2rem;color:var(--color-primary)}
.c-policy__body{max-width:70ch}

/* 05.42  c-download (bloque de descarga de un PDF) + c-circular-meta (hero) + datos/tablas dentro de c-prose (circulares) */
.c-article .o-container>.e-con.c-download{width:100%;max-width:46rem;align-self:center}
.c-download{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.c-download--end{margin-block-start:var(--space-lg)}
.c-download__icon{flex:none;color:var(--color-danger,#B70202);line-height:0}
.c-download__info{flex:1 1 14rem;min-width:0;display:flex;flex-direction:column;gap:.125rem}
.c-download__title .elementor-heading-title{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:1.2;color:var(--color-text)}
.c-download__meta .elementor-heading-title{font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--color-text-muted)}
.c-circular-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}
.c-circular-meta__item .elementor-heading-title{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--color-on-primary-muted)}
.c-prose h2{font-size:var(--fs-h3);margin-block:var(--space-xl) var(--space-sm)}
.c-prose .c-circular__datos{display:grid;grid-template-columns:auto 1fr;gap:.25rem var(--space-md);margin:0 0 var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-inline-start:4px solid var(--color-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0}
.c-prose .c-circular__datos dt{font-weight:var(--fw-semibold);color:var(--color-primary)}
.c-prose .c-circular__datos dd{margin:0}
.c-prose .c-circular__firma{margin-block-start:var(--space-xl);color:var(--color-text-muted)}
.c-prose figure.wp-block-table{overflow-x:auto;margin:var(--space-lg) 0}
.c-prose table{width:100%;min-width:34rem;border-collapse:collapse;font-size:var(--fs-small)}
.c-prose caption{caption-side:top;padding-block-end:var(--space-sm);text-align:left;font-weight:var(--fw-semibold);color:var(--color-primary)}
.c-prose :is(th,td){padding:.625rem .75rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}
.c-prose thead th{background:var(--color-primary);color:var(--color-on-primary);border-bottom:0}
.c-prose tbody th{font-weight:var(--fw-semibold);color:var(--color-primary)}
@media (max-width:600px){.c-prose .c-circular__datos{grid-template-columns:1fr}.c-prose .c-circular__datos dd{margin-block-end:var(--space-sm)}.c-download .elementor-button{width:100%}}

/* 05.43  c-card--circular (tarjeta del listado de circulares) + c-filter--years (filtro por año del shortcode [inedmi_circulares_anios]) */
.c-card--circular{height:100%}
.c-card--circular .c-card__body{display:flex;flex-direction:column;flex:1;gap:var(--space-sm)}
.c-card--circular .c-card__meta .elementor-heading-title{display:inline-block;padding:.2rem .75rem;border-radius:var(--radius-pill);background:var(--color-secondary-soft);color:var(--color-secondary-dark);font-weight:var(--fw-bold);font-size:var(--fs-badge);letter-spacing:.02em}
.c-card--circular .c-card__date .elementor-heading-title{font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--color-text-muted)}
.c-card--circular .c-card__title a{color:var(--color-primary)}
.c-card--circular .c-card__title a:hover{color:var(--color-primary-accent)}
.c-card--circular .c-card__actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-lg);margin-block-start:auto;padding-block-start:var(--space-sm)}
.c-filter__list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin:0 0 var(--space-xl);padding:0;list-style:none}
.c-filter__link{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:.5rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-text);font-weight:var(--fw-semibold);font-size:var(--fs-small);line-height:1.2;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.c-filter__link:hover{border-color:var(--color-primary);color:var(--color-primary)}
.c-filter__link[aria-current="true"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}

/* 05.44  c-cookies — aviso de cookies
   ---------------------------------------------------------------------------
   Añadido el 2026-10-30. El marcado lo inserta inc/cookies.php y la lógica está en
   assets/js/consent.js.

   NO ES MODAL a propósito: no atrapa el foco ni tapa el contenido. Un aviso que
   secuestra la página es hostil y empuja a aceptar solo para quitarlo de en medio.
   Va fijo abajo, deja leer, y la decisión puede tomarse cuando la persona quiera.

   Los dos botones tienen el mismo tamaño y contraste: rechazar no debe costar más
   que aceptar.
   --------------------------------------------------------------------------- */
.c-cookies{position:fixed;inset-inline:0;inset-block-end:0;z-index:200;
  background:var(--color-primary-dark);color:var(--color-on-primary);
  border-block-start:3px solid var(--color-secondary);
  box-shadow:0 -8px 30px rgba(0,19,90,.35);
  padding:var(--space-md) var(--gutter);
  animation:c-cookies-in .35s var(--ease) both}
@keyframes c-cookies-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.c-cookies{animation:none}}
.c-cookies[hidden]{display:none}
.c-cookies__inner{max-width:var(--container-max);margin-inline:auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}
.c-cookies__text{margin:0;flex:1 1 28ch;font-size:var(--fs-small);line-height:1.5;
  color:var(--color-on-primary-muted)}
.c-cookies__link{color:var(--color-secondary-soft);text-underline-offset:.2em}
.c-cookies__link:hover{color:var(--color-on-primary)}
.c-cookies__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);flex:0 0 auto}
.c-cookies__btn{min-height:var(--tap-min);padding:.6rem 1.3rem;cursor:pointer;
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:.9375rem;
  border-radius:var(--radius-pill);border:2px solid transparent;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-cookies__btn--accept{background:var(--color-secondary);color:var(--color-primary-dark)}
.c-cookies__btn--accept:hover{background:var(--color-secondary-soft)}
.c-cookies__btn--reject{background:transparent;color:var(--color-on-primary);border-color:currentColor}
.c-cookies__btn--reject:hover{background:var(--color-on-primary);color:var(--color-primary-dark)}
/* En móvil ocupaba el 49% de la pantalla (medido a 375x812): demasiado para una
   primera visita. Se compacta el texto y los botones van en fila, repartidos a
   partes iguales, de modo que rechazar siga costando lo mismo que aceptar. */
@media (max-width:600px){
  .c-cookies{padding:var(--space-sm) var(--space-md)}
  .c-cookies__inner{flex-direction:column;align-items:stretch;gap:var(--space-sm)}
  .c-cookies__text{font-size:var(--fs-caption);line-height:1.45}
  .c-cookies__actions{flex-direction:row;gap:var(--space-sm)}
  .c-cookies__btn{flex:1 1 0;min-width:0;padding-inline:.5rem;font-size:.875rem;
    min-height:42px;white-space:nowrap}
}

/* 05.45  c-map-consent — el mapa no carga hasta que se pide
   ---------------------------------------------------------------------------
   Mientras no haya consentimiento, el iframe de Google Maps NO existe en el HTML:
   así el navegador no contacta con Google en ningún momento. inc/cookies.php lo
   sustituye por esta caja y consent.js crea el iframe cuando se pulsa el botón.
   Hereda la relación de aspecto del contenedor .c-map__embed de Elementor.
   --------------------------------------------------------------------------- */
.c-map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--space-sm);min-height:260px;height:100%;padding:var(--space-lg);text-align:center;
  background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}
.c-map-consent__text{margin:0;font-size:var(--fs-small);color:var(--color-text-muted);max-width:40ch}
.c-map-consent__address{margin:0;font-family:var(--font-heading);font-weight:var(--fw-semibold);
  color:var(--color-primary);max-width:34ch}
.c-map-consent__btn{min-height:var(--tap-min);padding:.65rem 1.4rem;cursor:pointer;
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:.9375rem;
  border-radius:var(--radius-pill);border:2px solid transparent;
  background:var(--color-primary);color:var(--color-on-primary);
  transition:background var(--dur) var(--ease)}
.c-map-consent__btn:hover{background:var(--color-primary-accent)}
.c-map-consent__note{margin:0;font-size:var(--fs-caption);color:var(--color-text-muted)}

/* 05.46  c-agenda — calendario escolar (agenda por meses)
   ---------------------------------------------------------------------------
   Añadido el 2026-10-30. El marcado lo genera el shortcode [inedmi_calendario] de
   inc/calendario.php y la lógica está en assets/js/calendario.js.

   AGENDA, NO REJILLA DE MES. Una rejilla de 7 columnas obliga a 31 celdas que casi
   siempre están vacías, y en móvil no cabe sin reducir la letra o permitir arrastre
   horizontal. La agenda lista solo los días que tienen algo, se lee igual de arriba
   abajo en cualquier ancho y no necesita ningún script para mostrarse.

   UN SOLO COLOR POR TIPO. El modificador del evento (--aca, --cul, --dep, --reu) fija
   --ag, y de ahí beben el filo, el número del día y la etiqueta. Para añadir un tipo
   basta una línea aquí y una entrada en inedmi_ev_tipos().

   CONTRASTE (medido el 2026-10-30, sobre blanco y sobre --color-surface). Los cuatro
   pasan AA como texto en los dos fondos: académico 13,24 y 12,35:1 (azul institucional),
   cultural 6,20 y 5,78:1 (dorado oscuro del sistema), deportivo 6,45 y 6,02:1, reunión
   8,82 y 8,23:1. El dorado claro de marca (#CDA035) da 2,42:1 y por eso no se usa nunca
   para texto, solo como filo decorativo en la caja de próximos.

   Y el color nunca es el único indicador: cada evento lleva su tipo escrito en la
   etiqueta, así que la agenda se entiende igual sin distinguir colores.

   PASADOS SIN OPACIDAD. Atenuar con opacity bajaría el contraste del texto por debajo
   de AA. Un evento pasado cambia de fondo y pasa a --color-text-muted, que sí cumple.
   --------------------------------------------------------------------------- */
.c-agenda{--ag:var(--color-primary);
  --ag-dep:#146C43; --ag-reu:#6A2C91;
  display:flex;flex-direction:column;gap:var(--space-xl)}

/* Próximos eventos ------------------------------------------------------- */
/* Fondo blanco, no surface: ver la nota del velo en «eventos pasados». */
.c-agenda__next{background:var(--color-background);border:1px solid var(--color-border);
  border-block-start:3px solid var(--color-secondary);border-radius:var(--radius-md);
  padding:var(--space-lg)}
.c-agenda__next[hidden]{display:none}
.c-agenda__eyebrow{margin:0 0 var(--space-md);font-family:var(--font-heading);
  font-weight:var(--fw-semibold);font-size:var(--fs-caption);letter-spacing:.14em;
  text-transform:uppercase;color:var(--color-primary)}
.c-agenda__next-list{display:grid;gap:var(--space-md);
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.c-agenda-next{display:flex;flex-direction:column;gap:.15rem;
  min-height:var(--tap-min);padding:var(--space-md);
  background:var(--color-background);border:1px solid var(--color-border);
  border-radius:var(--radius-sm);text-decoration:none;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.c-agenda-next:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}
.c-agenda-next__title{font-family:var(--font-heading);font-weight:var(--fw-semibold);
  font-size:var(--fs-body);line-height:var(--lh-heading);color:var(--color-primary)}
.c-agenda-next:hover .c-agenda-next__title{text-decoration:underline}
.c-agenda-next__meta{font-size:var(--fs-small);color:var(--color-text-muted)}

/* Barra de filtros y acciones -------------------------------------------- */
.c-agenda__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-md);
  align-items:center;justify-content:space-between}
.c-agenda__filters{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.c-agenda__filters[hidden],.c-agenda__btn[hidden]{display:none}
.c-agenda__chip{--ag:var(--color-primary);
  display:inline-flex;align-items:center;gap:.45rem;
  min-height:var(--tap-min);padding:.5rem 1.1rem;
  border:1px solid var(--color-border);border-radius:var(--radius-pill);
  background:var(--color-background);color:var(--color-text);
  font-family:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-small);
  line-height:1.2;cursor:pointer;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.c-agenda__chip--cul{--ag:var(--color-secondary-dark)}
.c-agenda__chip--dep{--ag:var(--ag-dep)}
.c-agenda__chip--reu{--ag:var(--ag-reu)}
.c-agenda__chip-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--ag)}
.c-agenda__chip:hover{border-color:var(--ag);color:var(--ag)}
.c-agenda__chip[aria-pressed="true"]{background:var(--ag);border-color:var(--ag);
  color:var(--color-on-primary)}
.c-agenda__chip[aria-pressed="true"] .c-agenda__chip-dot{background:var(--color-on-primary)}

.c-agenda__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.c-agenda__btn{display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--tap-min);padding:.6rem 1.25rem;
  border:2px solid var(--color-primary);border-radius:var(--radius-pill);
  background:var(--color-background);color:var(--color-primary);
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-small);
  line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.c-agenda__btn--primary{background:var(--color-primary);color:var(--color-on-primary)}
.c-agenda__btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}
.c-agenda__btn--outline:hover{background:var(--color-primary);color:var(--color-on-primary)}

/* Meses ------------------------------------------------------------------ */
.c-agenda__months{display:flex;flex-direction:column;gap:var(--space-xl)}
.c-agenda__month[hidden]{display:none}
.c-agenda__month-title{margin:0 0 var(--space-md);padding-block-end:var(--space-sm);
  border-block-end:2px solid var(--color-secondary);
  font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-h3);
  line-height:var(--lh-heading);color:var(--color-primary)}
.c-agenda__items{display:flex;flex-direction:column;gap:var(--space-sm)}

/* Un evento -------------------------------------------------------------- */
.c-agenda-item{--ag:var(--color-primary);
  display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-md);
  align-items:center;padding:var(--space-md);
  background:var(--color-background);
  border:1px solid var(--color-border);border-inline-start:4px solid var(--ag);
  border-radius:var(--radius-sm);
  transition:box-shadow var(--dur) var(--ease)}
.c-agenda-item:hover{box-shadow:var(--shadow-sm)}
.c-agenda-item[hidden]{display:none}
.c-agenda-item--cul{--ag:var(--color-secondary-dark)}
.c-agenda-item--dep{--ag:var(--ag-dep)}
.c-agenda-item--reu{--ag:var(--ag-reu)}

.c-agenda-item__date{flex:none;display:flex;flex-direction:column;align-items:center;
  justify-content:center;min-width:3.25rem;margin:0;padding:.35rem .5rem;
  background:var(--color-surface);border-radius:var(--radius-sm);
  font-family:var(--font-heading);line-height:1.05;color:var(--ag)}
.c-agenda-item__date strong{font-weight:var(--fw-bold);font-size:1.5rem}
.c-agenda-item__date span{font-weight:var(--fw-semibold);font-size:var(--fs-caption);
  text-transform:uppercase;letter-spacing:.06em}

.c-agenda-item__body{min-width:0}
.c-agenda-item__title{margin:0;font-family:var(--font-heading);
  font-weight:var(--fw-semibold);font-size:var(--fs-body);line-height:var(--lh-heading)}
.c-agenda-item__title a{color:var(--color-primary);text-decoration:none}
.c-agenda-item__title a:hover{text-decoration:underline}
.c-agenda-item__meta{margin:.2rem 0 0;font-size:var(--fs-small);color:var(--color-text-muted)}

.c-agenda-item__side{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;
  text-align:end}
.c-agenda-item__badge{display:inline-block;padding:.25rem .7rem;
  border:1px solid var(--ag);border-radius:var(--radius-pill);
  font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-caption);
  line-height:1.3;white-space:nowrap;color:var(--ag)}
.c-agenda-item__add{min-height:var(--tap-min);display:inline-flex;align-items:center;
  font-size:var(--fs-caption);font-weight:var(--fw-medium);
  color:var(--color-primary-accent);text-decoration:none}
.c-agenda-item__add:hover{color:var(--color-primary);text-decoration:underline}

/* Eventos ya pasados ----------------------------------------------------- */
/* El velo sale de --color-border a medio gas, no de --color-surface: la sección que
   contiene la agenda es la segunda del documento y `.o-section:nth-of-type(even)` ya la
   pinta con --color-surface, asi que un pasado de ese mismo color desapareceria. Mezclado
   con transparent, el velo queda algo mas oscuro que el fondo sea blanco o sea surface. */
.c-agenda-item--past{background:color-mix(in srgb,var(--color-border) 35%,transparent);
  border-inline-start-color:var(--color-border)}
.c-agenda-item--past .c-agenda-item__date,
.c-agenda-item--past .c-agenda-item__badge,
.c-agenda-item--past .c-agenda-item__title a{color:var(--color-text-muted)}
.c-agenda-item--past .c-agenda-item__date{background:transparent}
.c-agenda-item--past .c-agenda-item__badge{border-color:var(--color-border)}
.c-agenda-item--past .c-agenda-item__add{display:none}

.c-agenda__empty{margin:0;padding:var(--space-lg);text-align:center;
  background:transparent;border:1px dashed var(--color-border);
  border-radius:var(--radius-md);color:var(--color-text-muted)}
.c-agenda__empty[hidden]{display:none}

/* Móvil: la etiqueta y el enlace pasan debajo del texto --------------------- */
@media (max-width:40em){
  .c-agenda-item{grid-template-columns:auto 1fr;gap:var(--space-sm) var(--space-md)}
  .c-agenda-item__side{grid-column:1 / -1;flex-direction:row;align-items:center;
    justify-content:space-between;gap:var(--space-md);text-align:start}
  .c-agenda__toolbar{flex-direction:column;align-items:stretch}
  .c-agenda__actions .c-agenda__btn{flex:1 1 auto}
}

/* Impresión: el año en papel, sin controles ------------------------------- */
@media print{
  .c-agenda{gap:1rem}
  .c-agenda__next,.c-agenda__toolbar,.c-agenda-item__add,.c-agenda__empty{display:none}
  .c-agenda__months{gap:1rem}
  .c-agenda__month{break-inside:avoid}
  .c-agenda__month-title{font-size:1.1rem;border-block-end:1px solid #000;color:#000}
  .c-agenda__items{gap:0}
  .c-agenda-item{break-inside:avoid;padding:.3rem 0;gap:.6rem;
    border:0;border-block-end:1px solid #ccc;border-radius:0;background:none;box-shadow:none}
  .c-agenda-item__date{min-width:2.6rem;padding:0;background:none;color:#000}
  .c-agenda-item__date strong{font-size:1.1rem}
  .c-agenda-item__title a,.c-agenda-item__meta,.c-agenda-item__badge{color:#000}
  .c-agenda-item__badge{border-color:#666}
  .c-agenda-item--past{background:none}
}

/* ---------- 06-utilities.css ---------- */
/* ===== 06-utilities ====================================================== */
.u-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.u-text-center{text-align:center}

/* ---------- 07-overrides.css ---------- */
/* ===== 07-overrides (Elementor) ========================================== */
.elementor-widget-container{max-width:100%}
.e-con.o-page{--gap:0px;--row-gap:0px;--column-gap:0px} /* sin franja entre secciones: el ritmo vertical lo da cada o-section */
.e-con.o-container,.e-con.o-section{--padding-top:0;--padding-bottom:0}
.e-con.o-section{--padding-top:var(--section-y);--padding-bottom:var(--section-y)}

