@charset "UTF-8";
/* --- 01-BASE --- */
/* ==================
     SISTEMA DE BRILLO
     ================== */
:root {
  font-size: 100%;
  font: -apple-system-body;
  --v2-brillo-color: 10%;
  --v2-gris-h: 223;
  --v2-gris-s: 30%;
  --v2-gris-l: 86%;
  --v2-gris: hsl(var(--v2-gris-h), var(--v2-gris-s), var(--v2-gris-l));
  --v2-gris-claro: hsl(var(--v2-gris-h), var(--v2-gris-s), calc(var(--v2-gris-l) + var(--v2-brillo-color)));
  --v2-gris-oscuro: hsl(var(--v2-gris-h), var(--v2-gris-s), calc(var(--v2-gris-l) - var(--v2-brillo-color)));
  --v2-azul-h: 225;
  --v2-azul-s: 54%;
  --v2-azul-l: 29%;
  --v2-azul: hsl(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l));
  --v2-azul-claro: hsl(var(--v2-azul-h), var(--v2-azul-s), calc(var(--v2-azul-l) + var(--v2-brillo-color)));
  --v2-azul-oscuro: hsl(var(--v2-azul-h), var(--v2-azul-s), calc(var(--v2-azul-l) - var(--v2-brillo-color)));
  --v2-amarillo-h: 41;
  --v2-amarillo-s: 79%;
  --v2-amarillo-l: 58%;
  --v2-amarillo: hsl(var(--v2-amarillo-h), var(--v2-amarillo-s), var(--v2-amarillo-l));
  --v2-amarillo-claro: hsl(var(--v2-amarillo-h), var(--v2-amarillo-s), calc(var(--v2-amarillo-l) + var(--v2-brillo-color)));
  --v2-amarillo-oscuro: hsl(var(--v2-amarillo-h), var(--v2-amarillo-s), calc(var(--v2-amarillo-l) - var(--v2-brillo-color)));
  --v2-rojo-h: 342;
  --v2-rojo-s: 64%;
  --v2-rojo-l: 48%;
  --v2-rojo: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
  --v2-rojo-claro: hsl(var(--v2-rojo-h), var(--v2-rojo-s), calc(var(--v2-rojo-l) + var(--v2-brillo-color)));
  --v2-rojo-oscuro: hsl(var(--v2-rojo-h), var(--v2-rojo-s), calc(var(--v2-rojo-l) - var(--v2-brillo-color)));
  --v2-naranja-tv-h: 24;
  --v2-naranja-tv-s: 89%;
  --v2-naranja-tv-l: 54%;
  --v2-naranja-tv: hsl(var(--v2-naranja-tv-h), var(--v2-naranja-tv-s), var(--v2-naranja-tv-l));
  --v2-naranja-tv-claro: hsl(var(--v2-naranja-tv-h), var(--v2-naranja-tv-s), calc(var(--v2-naranja-tv-l) + var(--v2-brillo-color)));
  --v2-naranja-tv-oscuro: hsl(var(--v2-naranja-tv-h), var(--v2-naranja-tv-s), calc(var(--v2-naranja-tv-l) - var(--v2-brillo-color)));
  --v2-verde-radio-h: 138;
  --v2-verde-radio-s: 46%;
  --v2-verde-radio-l: 27%;
  --v2-verde-radio: hsl(var(--v2-verde-radio-h), var(--v2-verde-radio-s), var(--v2-verde-radio-l));
  --v2-verde-radio-claro: hsl(var(--v2-verde-radio-h), var(--v2-verde-radio-s), calc(var(--v2-verde-radio-l) + var(--v2-brillo-color)));
  --v2-verde-radio-oscuro: hsl(var(--v2-verde-radio-h), var(--v2-verde-radio-s), calc(var(--v2-verde-radio-l) - var(--v2-brillo-color)));
}

/* ===== COLORES NEUTRALES (CON SOPORTE PARA TEMAS VÍA CSS VARIABLES) ===== */
:root {
  --color-texto-principal: #1f2937;
  --color-texto-secundario: #6b7280;
  --color-texto-claro: #9ca3af;
  --color-borde: #e5e7eb;
  --color-fondo: #f9fafb;
  --color-fondo-oscuro: #f3f4f6;
  --color-blanco: #ffffff;
}

/* Pesos de fuente */
/* ===== ESPACIADO RESPONSIVE CON CLAMP ===== */
/* Escala automática de móvil a desktop */
/* 3px → 4px */
/* 6px → 8px */
/* 10px → 12px */
/* 13px → 16px */
/* 16px → 20px */
/* 19px → 24px */
/* 24px → 32px */
/* 32px → 40px */
/* 40px → 48px */
/* 48px → 64px */
/* 64px → 80px */
/* 48px */
/* 64px */
/* 80px */
/* ===== BORDES Y RADIUS ===== */
/* 4px */
/* 8px */
/* 12px */
/* 16px */
/* Circular */
/* ===== TRANSICIONES ===== */
/* ===== LAYOUT RESPONSIVE ===== */
:root {
  --max-width-wrap: min(1500px, 95vw);
  --header-height: 45px;
  --header-top-bar-height: 1.6rem;
  --header-nav-height: calc(var(--header-height) + var(--header-top-bar-height));
  --principal-nav-height: 55px;
}

@media screen and (min-width: 967px) {
  :root {
    --max-height-image: 300px;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --header-height: 80px;
    --header-nav-height: calc(var(--header-height) + var(--header-top-bar-height));
  }
}
@media screen and (max-width: 1200px) {
  :root {
    --header-nav-height: calc(var(--header-height));
  }
}
@media screen and (min-width: 1480px) {
  :root {
    --principal-nav-height: 57px;
  }
}
/* ===== BREAKPOINTS ===== */
/* Móvil grande */
/* Tablet pequeña */
/* Tablet */
/* Desktop pequeño */
/* Desktop */
/* Desktop grande */
/* ===== BORDES RESPONSIVE ===== */
/* 2px → 4px */
/* 4px → 6px */
/* 6px → 8px */
/* 8px → 12px */
/* 12px → 16px */
/* 16px → 22.4px */
/* ===== SOMBRAS RESPONSIVE ===== */
/* ===== Z-INDEX SCALE ===== */
/* Sidebar */
/* Botones responsive */
/* 40px → 48px */
/* Cards responsive */
/* Forms responsive */
/* 40px → 48px */
/* Header responsive */
/* 40px → 56px */
/* Iconos */
/* 24px → 32px */
/* 32px → 48px */
/* 40px → 64px */
/* 64px → 80px */
/* Content responsive */
/* ============================================================================
   MAPEO DE VARIABLES SCSS A CSS CUSTOM PROPERTIES (:root)
   ============================================================================ */
:root {
  /* --- Tipografía --- */
  --text-xs: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  --text-sm: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  --text-base: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  --text-lg: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  --text-xl: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  --text-2xl: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  --text-3xl: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  --text-4xl: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  /* --- Espaciado --- */
  --space-1: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  --space-2: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  --space-3: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  --space-4: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  --space-5: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  --space-6: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  --space-8: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  --space-10: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  --space-12: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  --space-16: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  --space-20: clamp(4rem, 3rem + 5vw, 5rem);
  /* --- Bordes y Radius --- */
  --border-radius-sm: clamp(0.125rem, 0.1rem + 0.125vw, 0.25rem);
  --border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  --border-radius-md: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  --border-radius-lg: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  --border-radius-xl: clamp(0.75rem, 0.6rem + 0.75vw, 1rem);
  /* --- Layout --- */
  --container-max-width: min(1500px, 95vw);
  --sidebar-width: clamp(240px, 20vw, 300px);
  /* --- Componentes --- */
  --btn-min-height: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  --form-input-height: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  --header-logo-height: clamp(2.5rem, 2rem + 2.5vw, 3.5rem);
  /* --- Sombras --- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 clamp(15px, 10px + 2.5vw, 20px) clamp(20px, 15px + 2.5vw, 25px) rgba(0, 0, 0, 0.1);
}

@font-face {
  font-family: "Georama";
  src: url("../assets/fonts/Georama/Georama-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 62.5% 150%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Georama";
  src: url("../assets/fonts/Georama/Georama-Italic-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 62.5% 150%;
  font-style: italic;
  font-display: swap;
}
* {
  font-family: "Georama", "Open Sans", "Arial", sans-serif;
}

/* ============================================================================
   RESET Y TIPOGRAFÍA BASE - TEMA UAAV2
   Estilos base consistentes para todos los elementos HTML
   ============================================================================ */
/* ===== RESET BÁSICO ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.6;
  color: var(--color-texto-principal);
  background-color: var(--color-blanco);
}

/* ===== TIPOGRAFÍA UNIFICADA ===== */
/* Todos los headings tendrán estilos consistentes en TODOS los templates */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.2;
  color: var(--v2-azul);
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

h1 {
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

h2 {
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

h3 {
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

h4 {
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}

h5 {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

h6 {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
}

/* ===== PÁRRAFOS Y TEXTO ===== */
/* Estilos consistentes para párrafos en TODOS los templates */
p {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  color: var(--color-texto-principal);
}

p:last-child {
  margin-bottom: 0;
}

/* Texto pequeño */
.text-small,
small {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
}

/* Texto grande */
.text-large {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
}

/* Texto principal mejorado */
.text-lead {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-texto-principal);
}

/* ===== ENLACES UNIFICADOS ===== */
/* Todos los enlaces tendrán el mismo comportamiento en TODOS los templates */
a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a) {
  color: var(--v2-azul);
  text-decoration: underline;
  transition: all 180ms ease-in-out;
}
a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a).rojo {
  color: var(--v2-rojo);
}

a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):focus {
  color: var(--v2-azul-oscuro);
  outline-offset: 2px;
}
a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):focus.rojo {
  color: var(--v2-rojo-oscuro);
}

a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):active {
  color: var(--v2-rojo);
}
a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):active.rojo {
  color: var(--v2-rojo-oscuro);
}

a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):hover {
  color: var(--v2-azul-claro);
}
a:not(.evento-link, .no-underline, .btn, .btn-externo, .btn-rojo, .ubication-link, .link-pdf-empty, .link-literal, .link-external, .breadcrumb-item a, .to-top a, .mobile-nav-list a, .editorial-item a, .sidebar-general a, .sidebar-general-bottom a, .uaa-modal-link, .inicio-btn, .info-uni-content a):hover.rojo {
  color: var(--v2-rojo-claro);
}

/* Enlaces en texto */
.text-content a {
  color: var(--v2-azul);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.text-content a:hover {
  color: var(--v2-azul-claro);
  text-decoration-thickness: 2px;
}

/* ===== IMÁGENES Y MEDIA ===== */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.entry-content img,
.main-content-description img,
.text-content img,
.wp-block-image img,
.wp-block-gallery img,
.invest-section img,
.image-content-share .main-content img,
.single-post-image img,
.imagen-noticia img,
.img-not img,
.gallery-item img {
  border-radius: 0.25rem;
  max-height: min(500px, 75vh);
  width: auto;
}

/* ===== FORMULARIOS BASE ===== */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

input[type=text],
input[type=email],
input[type=password],
input[type=search],
input[type=url],
input[type=tel],
input[type=number],
textarea,
select {
  width: 100%;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.5;
  color: var(--color-texto-principal);
  transition: all 180ms ease-in-out;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--v2-azul);
  box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.1);
}

/* ===== UTILIDADES DE ACCESIBILIDAD ===== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Reducir motion para usuarios que lo prefieren */
body::-webkit-scrollbar {
  height: 5px;
  width: 5px;
}

body::-webkit-scrollbar-track {
  background: var(--v2-gris);
  border-radius: 0.25rem;
}

body::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 0.25rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

h1 {
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  font-weight: 500;
}
h1.title {
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border-bottom: solid 1px var(--v2-gris);
  font-weight: 600;
}
h1.title.smaller {
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem)) !important;
}
h1.section-title {
  text-transform: uppercase;
  padding: 0 clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--v2-azul);
  border-bottom: 2px solid var(--v2-rojo);
  width: fit-content;
  text-align: center;
  margin: 0 auto 1rem auto;
}
h1.section-subtitle {
  font-weight: 600;
  color: var(--v2-azul);
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  text-align: center;
}

h2 + h1 {
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
}
h2 + h1 strong {
  font-weight: 500;
}

h2 {
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  font-weight: 500;
}
h2.section-title {
  padding: 0 clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  font-weight: 600;
  line-height: 1lh;
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

h3 {
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: 500;
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

h4 {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 500;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

h5 {
  font-size: calc(0.1rem + clamp(0.84rem, 0.839rem + 0.305vw, 1.13rem));
  font-weight: 500;
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}

h6 {
  font-size: calc(0.1rem + clamp(0.83rem, 0.769rem + 0.28vw, 1.03rem));
  font-weight: 500;
}

p {
  padding: 0 clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-principal);
  line-height: 1lh;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
p:empty {
  display: none;
  margin: 0;
  padding: 0;
}

strong {
  font-weight: 600;
}

b {
  font-weight: 700;
}

*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h1,
*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h2,
*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h3,
*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h4,
*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h5,
*:not(h1 > *):not(h2 > *):not(h3 > *):not(h4 > *):not(h5 > *):not(h6 > *) + h6 {
  margin-top: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

ul:not([class]),
ol:not([class]) {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding-left: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  color: var(--color-texto-principal);
  line-height: 1lh;
}
ul:not([class]) li:not(.gaceta-card, .menu-item),
ol:not([class]) li:not(.gaceta-card, .menu-item) {
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
ul:not([class]) li:not(.gaceta-card, .menu-item):last-child,
ol:not([class]) li:not(.gaceta-card, .menu-item):last-child {
  margin-bottom: 0;
}
ul:not([class]) li:not(.gaceta-card, .menu-item)::marker,
ol:not([class]) li:not(.gaceta-card, .menu-item)::marker {
  color: var(--v2-rojo);
}

ul > li > ul {
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

ul + p,
ol + p {
  padding-left: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 8rem;
}

a {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

hr {
  border: none;
  height: 1px;
  background-color: var(--color-borde);
  margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) 0;
}

.hidden {
  display: none !important;
}

.visible {
  display: block !important;
}

/* ===== MEDIA QUERIES ===== */
blockquote {
  border-left: 4px solid var(--v2-azul-oscuro);
  padding-left: 1.25rem;
  font-style: italic;
  color: var(--color-texto-secundario);
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  blockquote {
    padding-left: 1.5rem;
  }
}
blockquote p {
  margin-bottom: 0.5rem;
}
blockquote cite {
  display: block;
  font-weight: 600;
  font-style: normal;
  color: var(--v2-azul-claro);
}

.table-responsive-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
.table-responsive-wrapper table {
  margin-bottom: 0;
  min-width: 600px;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  overflow-x: auto;
  display: table;
}
table img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
table th,
table td {
  border: 1px solid var(--color-borde);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-align: left;
}
table th {
  background-color: var(--v2-gris);
  font-weight: 700;
}
table th img {
  margin: 0 auto;
}
table tr:nth-child(even) {
  background-color: var(--v2-gris-claro);
}
table.no-bg th,
table.no-bg td,
table.no-bg tr {
  border: none;
  background-color: transparent;
}
table.flex-row thead,
table.flex-row tbody,
table.flex-row tr {
  display: table;
}
table.flex-row tbody {
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
}
table.flex-row tr {
  flex-direction: row;
}
table.flex-row tr td,
table.flex-row tr th {
  width: clamp(100px, 25vw, 200px);
  flex: 1;
}
table.flex-row tr td a,
table.flex-row tr th a {
  display: block;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
table.flex-row tr td a img,
table.flex-row tr th a img {
  width: clamp(200px, 25vw, 300px);
  height: auto;
  object-fit: cover;
}

.flex-row-imgs {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  width: 90%;
  margin: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) auto;
  text-align: center;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.flex-row-imgs br {
  width: 0;
  height: 0;
  display: none;
}
.flex-row-imgs a {
  width: clamp(150px, 25vw, 300px);
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.flex-row-imgs a img {
  width: clamp(150px, 25vw, 300px);
  height: auto;
  object-fit: cover;
  box-shadow: none !important;
  transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
}
.flex-row-imgs a:hover img {
  transform: translateY(-2px);
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1490196078));
}
@media screen and (max-width: 800px) {
  .flex-row-imgs {
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  }
  .flex-row-imgs a {
    width: 45%;
  }
}

@media screen and (max-width: 768px) {
  .hidden-mobile {
    display: none !important;
  }
}
.link {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: 0.375rem 0.75rem;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  color: var(--v2-azul-oscuro) !important;
  text-decoration: none !important;
  transition: all 0.2s ease;
  word-break: break-word;
  justify-content: space-between;
  width: max-content;
}
.link:hover {
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  border-color: #adb5bd;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.link:active {
  transform: translateY(0);
}

.center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

.flex-row {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  justify-content: center;
  align-items: center;
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) auto;
}
.flex-row br {
  display: none;
}
@media (min-width: 768px) {
  .flex-row {
    flex-direction: row;
  }
}
.flex-row img {
  width: 120px;
  height: auto;
  max-height: 130px;
  object-fit: contain;
  transition: transform 0.2s ease;
}
.flex-row a:hover img {
  transform: scale(1.02);
}
.flex-row.images-container a {
  width: clamp(50px, 100%, 250px);
}
.flex-row.images-container a img {
  width: clamp(50px, 100%, 250px);
  height: auto;
  max-height: inherit;
}

.download-files,
.related-links {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .download-files,
  .related-links {
    flex-direction: row;
  }
}

.error-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  background-color: #fee2e2;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  margin: 0 auto 1rem !important;
  width: min(1500px, 95vw);
  height: 100%;
  justify-content: center;
  align-items: center;
}
.error-message p,
.error-message a {
  color: #991b1b;
  text-align: center;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
}

.success-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  background-color: #d1fae5;
  color: #059669;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
}

.full-width {
  width: 100% !important;
}

video.wp-video-shortcode {
  margin: 0;
}
video {
  width: 100%;
  max-width: 400px;
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) auto;
  height: auto;
  display: block;
  object-fit: contain;
  background-color: #000;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
}

audio {
  width: 100%;
  max-width: 500px;
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) auto;
  display: block;
  border-radius: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  outline: none;
}

.mejs-container.mejs-audio {
  width: 100% !important;
  max-width: 500px !important;
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) auto !important;
  border-radius: 30px !important;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid var(--color-borde) !important;
  height: 40px !important;
}
.mejs-container.mejs-audio .mejs-inner {
  height: 100%;
}
.mejs-container.mejs-audio .mejs-controls {
  background: transparent !important;
  height: 100% !important;
}
.mejs-container.mejs-audio .mejs-time {
  color: var(--color-blanco) !important;
  height: 40px !important;
}
.mejs-container.mejs-audio .mejs-time-rail {
  height: 40px !important;
}
.mejs-container.mejs-audio .mejs-time-rail .mejs-time-total {
  background: var(--color-blanco) !important;
}
.mejs-container.mejs-audio .mejs-time-rail .mejs-time-current {
  background: var(--v2-gris-oscuro) !important;
}
.mejs-container.mejs-audio .mejs-time-rail .mejs-time-float {
  top: -15px;
  border-radius: 5px;
  background: var(--v2-azul) !important;
  color: var(--color-blanco) !important;
}
.mejs-container.mejs-audio .mejs-horizontal-volume-slider {
  padding-top: 15px !important;
}
.mejs-container.mejs-audio .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
  background: var(--v2-gris-claro) !important;
  border-radius: 4px;
}
.mejs-container.mejs-audio .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
  background: var(--v2-gris-oscuro) !important;
  border-radius: 4px;
}

p:has(img) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) auto;
  padding: 0;
}
p:has(img) img {
  margin: 0 auto;
}

.my-3 {
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) 0;
}

.wp-caption {
  width: auto !important;
  max-width: min(700px, 100%);
  height: auto;
  margin: 0 auto clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.wp-caption a {
  display: contents !important;
}
.wp-caption a,
.wp-caption img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.wp-caption .wp-caption-text {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  line-height: 1.2;
  color: #000000;
  font-style: italic;
  text-align: center;
}

.wp-video {
  width: 100% !important;
  max-width: 640px !important;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) auto !important;
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
  background-color: #000;
}
.wp-video:has(video[height="1920"]), .wp-video:has(video[width="1080"][height="1920"]), .wp-video.wp-video-vertical {
  max-width: 360px !important;
}
.wp-video:has(video[height="1920"]) .mejs-container, .wp-video:has(video[width="1080"][height="1920"]) .mejs-container, .wp-video.wp-video-vertical .mejs-container {
  aspect-ratio: 9/16 !important;
  height: auto !important;
}
.wp-video:has(video[width="1080"][height="1080"]), .wp-video:has(video[width="1200"][height="1200"]), .wp-video:has(video[width="720"][height="720"]), .wp-video:has(video[width="640"][height="640"]), .wp-video:has(video[width="500"][height="500"]), .wp-video:has(video[width="480"][height="480"]), .wp-video.wp-video-square, .wp-video.wp-video-1-1 {
  max-width: 500px !important;
}
.wp-video:has(video[width="1080"][height="1080"]) .mejs-container, .wp-video:has(video[width="1200"][height="1200"]) .mejs-container, .wp-video:has(video[width="720"][height="720"]) .mejs-container, .wp-video:has(video[width="640"][height="640"]) .mejs-container, .wp-video:has(video[width="500"][height="500"]) .mejs-container, .wp-video:has(video[width="480"][height="480"]) .mejs-container, .wp-video.wp-video-square .mejs-container, .wp-video.wp-video-1-1 .mejs-container {
  aspect-ratio: 1/1 !important;
  height: auto !important;
}
.wp-video:not(:has(video[height="1920"])):not(:has(video[width="1080"][height="1080"])):not(:has(video[width="1200"][height="1200"])):not(:has(video[width="720"][height="720"])):not(:has(video[width="640"][height="640"])):not(:has(video[width="500"][height="500"])):not(:has(video[width="480"][height="480"])):not(.wp-video-vertical):not(.wp-video-square):not(.wp-video-1-1) .mejs-container {
  aspect-ratio: 16/9 !important;
  height: auto !important;
}
.wp-video .mejs-container {
  width: 100% !important;
  max-width: 100% !important;
  background: #000 !important;
}
.wp-video .mejs-container video,
.wp-video .mejs-container object,
.wp-video .mejs-container embed {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
.wp-video .mejs-container .mejs-controls {
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75)) !important;
  border-radius: 0 0 clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem) clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  padding: 0 clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  z-index: 0;
}
.wp-video .mejs-container .mejs-time-rail .mejs-time-total {
  background: rgba(255, 255, 255, 0.3) !important;
  border-radius: 3px;
}
.wp-video .mejs-container .mejs-time-rail .mejs-time-current {
  background: var(--v2-amarillo) !important;
  border-radius: 3px;
}
.wp-video .mejs-container .mejs-playpause-button button,
.wp-video .mejs-container .mejs-volume-button button,
.wp-video .mejs-container .mejs-fullscreen-button button {
  outline: none;
  transition: transform 0.2s ease;
}
.wp-video .mejs-container .mejs-playpause-button button:hover,
.wp-video .mejs-container .mejs-volume-button button:hover,
.wp-video .mejs-container .mejs-fullscreen-button button:hover {
  transform: scale(1.1);
}

img.aligncenter + blockquote,
a:has(img.aligncenter) + blockquote,
p:has(img.aligncenter) + blockquote {
  margin: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) auto clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  padding: 0;
  border: none;
  background: transparent;
  width: 100%;
  max-width: min(700px, 100%);
  text-align: center;
  quotes: none;
}
img.aligncenter + blockquote::before, img.aligncenter + blockquote::after,
a:has(img.aligncenter) + blockquote::before,
a:has(img.aligncenter) + blockquote::after,
p:has(img.aligncenter) + blockquote::before,
p:has(img.aligncenter) + blockquote::after {
  content: none;
}
img.aligncenter + blockquote p,
a:has(img.aligncenter) + blockquote p,
p:has(img.aligncenter) + blockquote p {
  margin: 0;
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  line-height: 1.2;
  color: #000000;
  font-style: italic;
  text-align: center;
}

a:has(sup) {
  text-decoration: none !important;
}
a:has(sup) sup {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  vertical-align: super;
}

/* Ocultar selector flotante original de GTranslate */
.gtranslate_wrapper {
  display: none !important;
}
@media screen and (min-width: 1200px) {
  .gtranslate_wrapper {
    display: block !important;
    position: fixed;
    bottom: 15px !important;
    right: 15px !important;
    z-index: 4 !important;
  }
  .gtranslate_wrapper .gt_switcher_wrapper {
    display: flex !important;
    flex-direction: row;
    gap: 5px;
  }
  .gtranslate_wrapper .gt_switcher_wrapper a img {
    width: 35px;
    box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07) !important;
  }
}

a.glink img {
  margin: 0 !important;
}

.fondo-rojo {
  background-color: red;
}
.fondo-rojo * {
  background-color: red !important;
  color: white !important;
  border: 1px solid white !important;
  font-size: 2rem !important;
}

.horizontal-scroll {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 1.5rem 0;
  gap: 2rem;
  position: relative;
}

.horizontal-scroll::-webkit-scrollbar {
  height: 8px;
}

.horizontal-scroll::-webkit-scrollbar-track {
  background: var(--v2-gris-claro);
  border-radius: 4px;
}

.horizontal-scroll::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 4px;
}

.vertical-scroll::-webkit-scrollbar {
  width: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

.vertical-scroll::-webkit-scrollbar-track {
  background: var(--v2-gris-claro);
  border-radius: 4px;
}

.vertical-scroll::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 4px;
}

/* --- 02-LAYOUT --- */
/* ========================================
   UTILIDADES RESPONSIVE - BREAKPOINTS
   ======================================== */
/* ===== MIXINS DE MEDIA QUERIES (para usar con @media) ===== */
/* 
Uso en CSS:
@media (min-width: $bp-md) {
  .elemento { ... }
}
*/
/* ===== UTILIDADES DE DISPLAY RESPONSIVE ===== */
@media (max-width: 479px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 480px) and (max-width: 639px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 640px) and (max-width: 767px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hidden-lg {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .hidden-xl {
    display: none !important;
  }
}
/* Mostrar solo en breakpoints específicos */
@media (max-width: 479px) {
  .show-xs {
    display: block !important;
  }
}
@media (min-width: 480px) {
  .show-xs {
    display: none !important;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  .show-sm {
    display: block !important;
  }
}
@media (max-width: 479px), (min-width: 768px) {
  .show-sm {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .show-md {
    display: block !important;
  }
}
@media (max-width: 767px), (min-width: 1024px) {
  .show-md {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .show-lg {
    display: block !important;
  }
}
@media (max-width: 1023px) {
  .show-lg {
    display: none !important;
  }
}
/* ===== ESPACIADO RESPONSIVE ADICIONAL ===== */
/* Para casos donde se necesite espaciado específico por breakpoint */
@media (max-width: 767px) {
  .mobile-padding {
    padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) !important;
  }
  .mobile-margin {
    margin: clamp(0.8rem, 0.6rem + 1vw, 1rem) !important;
  }
  .mobile-gap {
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem) !important;
  }
}
@media (min-width: 768px) {
  .desktop-padding {
    padding: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) !important;
  }
  .desktop-margin {
    margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) !important;
  }
  .desktop-gap {
    gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) !important;
  }
}
/* ===== CONTENEDORES RESPONSIVE ===== */
.container {
  width: 100%;
  max-width: min(1500px, 95vw);
  margin: 0 auto;
  padding: 0 clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

@media (min-width: 768px) {
  .container {
    padding: 0 clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
@media (min-width: 1024px) {
  .container {
    padding: 0 clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  }
}
/* ===== GRID RESPONSIVE ===== */
.grid-responsive {
  display: grid;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .grid-responsive {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
@media (min-width: 1024px) {
  .grid-responsive {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  }
}
/* ===== FLEX RESPONSIVE ===== */
.flex-responsive {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

@media (min-width: 768px) {
  .flex-responsive {
    flex-direction: row;
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
/* ===== TIPOGRAFÍA RESPONSIVE ADICIONAL ===== */
.heading-responsive {
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  font-weight: 700;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .heading-responsive {
    font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  }
}
@media (min-width: 1024px) {
  .heading-responsive {
    font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  }
}
/* ===== VARIABLES DE APOYO PARA JAVASCRIPT ===== */
:root {
  /* Para detectar breakpoints en JavaScript */
  --current-breakpoint: "xs";
}

@media (min-width: 480px) {
  :root {
    --current-breakpoint: "sm";
  }
}
@media (min-width: 640px) {
  :root {
    --current-breakpoint: "md";
  }
}
@media (min-width: 768px) {
  :root {
    --current-breakpoint: "lg";
  }
}
@media (min-width: 1024px) {
  :root {
    --current-breakpoint: "xl";
  }
}
@media (min-width: 1280px) {
  :root {
    --current-breakpoint: "2xl";
  }
}
/* --- 03-COMPONENTS --- */
/**
 * Breadcrumbs Responsivo
 * En móvil: Inicio ... [penúltimo] ... actual
 * En desktop: Toda la ruta
 */
.breadcrumb-nav {
  margin: 1.5rem 0 0;
  font-size: 0.9rem;
}

.wrap:has(.breadcrumb-nav) + .wrap {
  margin: 1.5rem 0;
}

.breadcrumb-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  margin: 0;
  list-style: none;
  background-color: var(--v2-gris-claro);
  border-radius: 0.25rem;
  border: 1px solid #dddddd;
}
.breadcrumb-list .breadcrumb-item:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.breadcrumb-item,
.breadcrumb-dropdown {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.breadcrumb-item a,
.breadcrumb-dropdown a {
  color: var(--v2-azul);
  text-decoration: none;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
}
.breadcrumb-item a:hover,
.breadcrumb-dropdown a:hover {
  color: var(--v2-azul-oscuro);
  text-decoration: underline;
}
.breadcrumb-item:not(:last-child)::after,
.breadcrumb-dropdown:not(:last-child)::after {
  content: "›";
  margin-left: 0.5rem;
  color: gray;
}
.breadcrumb-item span[aria-current=page],
.breadcrumb-dropdown span[aria-current=page] {
  color: var(--v2-azul);
  font-weight: 500;
}

.breadcrumb-dropdown {
  position: relative;
}
.breadcrumb-dropdown details summary {
  list-style: none;
  cursor: pointer;
  color: gray;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 100%;
  border-radius: 0.25rem;
  transition: all 0.2s ease;
}
.breadcrumb-dropdown details summary::-webkit-details-marker {
  display: none;
}
.breadcrumb-dropdown details summary:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--v2-azul);
}
.breadcrumb-dropdown details[open] summary {
  color: var(--color-blanco);
  background-color: var(--v2-azul);
}
.breadcrumb-dropdown .breadcrumb-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  list-style: none;
  background: var(--color-blanco);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  z-index: 10;
  min-width: 220px;
}
.breadcrumb-dropdown .breadcrumb-dropdown-menu .breadcrumb-item::after {
  display: none;
}
.breadcrumb-dropdown .breadcrumb-dropdown-menu .breadcrumb-item a {
  display: flex;
  align-items: center;
  width: 100%;
  color: #333333;
  white-space: normal;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-radius: 0.25rem;
}
.breadcrumb-dropdown .breadcrumb-dropdown-menu .breadcrumb-item a:hover {
  background-color: var(--v2-gris-claro);
  color: var(--v2-azul);
  text-decoration: none;
}

.crumb-text {
  display: inline-block;
  width: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
.current-crumb {
  max-width: 100%;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.breadcrumb-item:first-child a {
  gap: 0.25rem;
}
.breadcrumb-item:first-child a i.fa {
  font-size: 1.1rem;
}

/* ============================================
   LEGACY: Breadcrumb antiguo (mantener por compatibilidad)
   ============================================ */
.breadcrumb {
  display: flex;
  margin: 2rem auto 0;
  border: 1px solid #dddddd;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
  background-color: var(--v2-gris-claro);
  border-radius: 0.25rem;
  padding: 0.5rem 0;
  color: #333333;
}
.breadcrumb .arrows {
  margin: 0 0.25rem;
  color: #999999;
}
.breadcrumb .arrows li {
  margin: 0 5px;
  display: inline-block;
}
.breadcrumb .arrows li:last-child {
  color: var(--v2-azul);
  font-weight: 500;
}
.breadcrumb .arrows li a {
  text-transform: initial;
  color: gray;
}
.breadcrumb .arrows li a:hover {
  color: var(--v2-azul);
}
.breadcrumb .arrows li::after {
  padding-left: 8px;
  content: ">";
  color: gray;
}
.breadcrumb .arrows li:last-child::after {
  content: "";
}
.breadcrumb .arrows li:last-child a {
  color: var(--v2-azul);
}

/* ============================================================================
   COMPONENTES BOTONES - TEMA UAAV2
   Sistema unificado de botones para usar en TODOS los templates
   ============================================================================ */
/* ===== BOTÓN BASE ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  cursor: pointer;
  user-select: none;
  transition: all 180ms ease-in-out;
  width: fit-content;
}
.btn.read-more {
  width: 100%;
}

.btn:focus {
  outline: 2px solid var(--v2-azul);
  outline-offset: 2px;
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ===== VARIANTES DE BOTONES ===== */
/* Botón Primario (Azul UAA) */
.btn-azul {
  color: var(--color-blanco);
  background-color: var(--v2-azul);
  border-color: var(--v2-azul);
}
.btn-azul:hover {
  color: var(--color-blanco);
  background-color: var(--v2-azul-claro);
  border-color: var(--v2-azul-claro);
  text-decoration: none;
}

/* Botón Secundario (Amarillo UAA) */
.btn-amarillo {
  color: #000000;
  background-color: var(--v2-amarillo);
  border-color: var(--v2-amarillo);
}
.btn-amarillo:hover {
  background-color: var(--v2-amarillo-claro);
  border-color: var(--v2-amarillo-claro);
  text-decoration: none;
}

.btn-rojo {
  color: var(--color-blanco);
  background-color: var(--v2-rojo);
  border-color: var(--v2-rojo);
}
.btn-rojo:hover {
  color: var(--color-blanco);
  background-color: var(--v2-rojo-claro);
  border-color: var(--v2-rojo-claro);
  text-decoration: none;
}

.btn-verde {
  color: var(--color-blanco);
  background-color: var(--v2-verde-radio);
  border-color: var(--v2-verde-radio);
}
.btn-verde:hover {
  color: var(--color-blanco);
  background-color: var(--v2-verde-radio-claro);
  border-color: var(--v2-verde-radio-claro);
  text-decoration: none;
}

.btn-naranja {
  color: #000000;
  background-color: var(--v2-naranja-tv);
  border-color: var(--v2-naranja-tv);
}
.btn-naranja:hover {
  background-color: var(--v2-naranja-tv-claro);
  border-color: var(--v2-naranja-tv-claro);
  text-decoration: none;
}

/* Botón Outline */
.btn-outline {
  color: var(--v2-azul);
  background-color: transparent;
  border-color: var(--v2-azul);
}
.btn-outline:hover {
  color: var(--color-blanco);
  background-color: var(--v2-azul);
  border-color: var(--v2-azul);
  text-decoration: none;
}

.btn-outline-rojo {
  color: var(--v2-rojo);
  background-color: transparent;
  border-color: var(--v2-rojo);
}
.btn-outline-rojo:hover {
  color: var(--color-blanco);
  background-color: var(--v2-rojo);
  border-color: var(--v2-rojo);
  text-decoration: none;
}

/* Botón Ghost (sin borde) */
.btn-ghost {
  color: var(--v2-azul);
  background-color: transparent;
  border-color: transparent;
}
.btn-ghost:hover {
  color: var(--v2-azul-claro);
  background-color: var(--color-fondo);
  text-decoration: none;
}

.btn-ghost-white {
  color: var(--color-blanco);
  background-color: transparent;
  border-color: transparent;
}
.btn-ghost-white:hover {
  color: var(--color-blanco);
  background-color: var(--v2-gris-claro);
  text-decoration: none;
}

.btn-ghost-rojo {
  color: var(--v2-rojo);
  background-color: transparent;
  border-color: transparent;
}
.btn-ghost-rojo:hover {
  color: var(--color-blanco);
  background-color: var(--v2-rojo);
  text-decoration: none;
}

.btn-ghost-azul {
  color: var(--v2-azul);
  background-color: transparent;
  border-color: transparent;
}
.btn-ghost-azul:hover {
  color: var(--color-blanco);
  background-color: var(--v2-azul);
  text-decoration: none;
}

.btn-gris {
  background: var(--v2-gris-claro);
  color: var(--v2-azul-oscuro);
  text-decoration: none;
  border: 1px solid transparent;
}
.btn-gris:hover {
  background-color: var(--color-blanco);
  border-color: var(--v2-gris);
}

/* ===== TAMAÑOS DE BOTONES ===== */
.btn-small {
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
}

.btn-large {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
}

/* ===== GRUPOS DE BOTONES ===== */
.btn-group {
  display: inline-flex;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

.btn-group .btn {
  flex: 1;
}

/* ===== COMPATIBILIDAD CON CLASES EXISTENTES ===== */
/* Para migración gradual, mantenemos las clases antiguas */
.btn-descarga,
.btn-externo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  word-break: break-word;
  border: 1px solid transparent;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  cursor: pointer;
  transition: all 180ms ease-in-out;
  text-decoration: none !important;
  color: var(--color-blanco) !important;
  background-color: var(--v2-azul);
  border-color: var(--v2-azul);
}
.btn-descarga:hover,
.btn-externo:hover {
  background-color: var(--v2-azul-claro);
  text-decoration: none;
}

.btn-descarga::before {
  content: "📄";
  margin-right: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

.btn-descarga[href*=".pdf"]::before {
  content: "📕";
}

.btn-descarga[href*=".doc"]::before,
.btn-descarga[href*=".docx"]::before {
  content: "📘";
}

.btn-descarga[href*=".xls"]::before,
.btn-descarga[href*=".xlsx"]::before,
.btn-descarga[href*=".csv"]::before {
  content: "📗";
}

.btn-descarga[href*=".ppt"]::before,
.btn-descarga[href*=".pptx"]::before {
  content: "📙";
}

.btn-descarga[href*=".zip"]::before,
.btn-descarga[href*=".rar"]::before,
.btn-descarga[href*=".tar"]::before,
.btn-descarga[href*=".gz"]::before,
.btn-descarga[href*=".7z"]::before {
  content: "📦";
}

.btn-descarga[href*=".jpg"]::before,
.btn-descarga[href*=".jpeg"]::before,
.btn-descarga[href*=".png"]::before,
.btn-descarga[href*=".gif"]::before,
.btn-descarga[href*=".svg"]::before,
.btn-descarga[href*=".webp"]::before {
  content: "🖼️";
}

.btn-descarga[href*=".mp4"]::before,
.btn-descarga[href*=".mov"]::before,
.btn-descarga[href*=".avi"]::before,
.btn-descarga[href*=".mkv"]::before {
  content: "🎥";
}

.btn-descarga[href*=".mp3"]::before,
.btn-descarga[href*=".wav"]::before,
.btn-descarga[href*=".ogg"]::before {
  content: "🎵";
}

.btn-externo::before {
  content: "🔗";
  margin-left: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .btn {
    width: 100%;
    justify-content: center;
  }
  .btn-group {
    flex-direction: column;
  }
  .btn-group .btn {
    width: 100%;
  }
}
.share-buttons-wrapper {
  margin-top: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

.share-buttons-title {
  font-size: 1.1rem;
  margin-bottom: 12px;
  color: var(--color-texto-principal);
}

.share-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  /* Espaciado idéntico a la imagen */
  min-height: 28px;
}

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  /* Altura large de FB / X */
  padding: 0 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  /* Evitar que el texto se quiebre en vertical */
  box-sizing: border-box;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  cursor: pointer;
  border: none;
}

.share-btn span {
  margin-left: 6px;
  line-height: 1;
}

.share-icon {
  width: 14px;
  height: 14px;
  fill: currentColor;
  display: block;
}

/* Estilos Facebook */
.share-btn-facebook {
  background-color: #1877f2;
  color: #ffffff !important;
  border-radius: 6px;
  /* Esquinas de Facebook */
}

.share-btn-facebook:hover {
  background-color: #166fe5;
}

/* Estilos X / Twitter */
.share-btn-twitter {
  background-color: #000000;
  color: #ffffff !important;
  border-radius: 9999px;
  /* Esquinas de X (píldora) */
}

.share-btn-twitter:hover {
  background-color: #272727;
}

.card {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none !important;
}
.card:hover {
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
}
.card:hover img {
  transform: scale(1.02);
}
.card .card-header {
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: color-mix(in srgb, var(--v2-azul), white 10%);
  border-radius: 8px 8px 0 0;
  flex-shrink: 0;
  width: 100%;
}
.card .card-header h2 {
  margin: 0;
  color: var(--color-blanco);
  font-size: calc(0.1rem + clamp(0.83rem, 0.769rem + 0.28vw, 1.03rem));
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.card .card-body {
  display: flex;
  flex-direction: column;
  padding: 0;
  height: 100%;
  overflow: hidden;
}
.card .card-body .card-badge {
  position: absolute;
  background-color: color-mix(in srgb, var(--v2-azul), white 5%);
  color: var(--color-blanco);
  padding: 4px 6px;
  border-radius: 0 0 4px 0;
  z-index: 2;
  transition: transform 0.25s ease, opacity 0.2s ease, visibility 0.2s ease;
  overflow: hidden;
}
.card .card-body img {
  width: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  z-index: 1;
}
.card .card-body img.is-behind {
  z-index: -1;
}
.card .card-body p.card-text {
  text-align: justify;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  line-height: 1.5;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
}
.card .card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin-top: auto;
  flex-shrink: 0;
  background-color: var(--v2-azul);
}
.card .card-footer span {
  text-align: center;
  color: var(--color-blanco);
  line-height: 1;
}
.card a.slide-noticia__link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.card.gaceta-card {
  height: auto;
}
.card.gaceta-card .card-header {
  background-color: var(--v2-azul);
}
.card.gaceta-card .card-header h2 {
  color: var(--color-blanco);
}
.card.gaceta-card .card-body {
  height: auto;
}
.card.gaceta-card .card-title-footer {
  background-color: var(--color-blanco);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.card.gaceta-card .card-title-footer h3,
.card.gaceta-card .card-title-footer time {
  width: 100%;
  margin: 0;
}
.card.gaceta-card .card-title-footer h3 {
  font-size: calc(0.1rem + clamp(0.825rem, 0.72rem + 0.26vw, 1rem));
  font-weight: 600;
  text-align: center;
  color: var(--v2-azul-claro);
}
.card.gaceta-card .card-title-footer time {
  display: block;
  color: #000000;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  text-transform: capitalize;
  text-align: center;
}

.cards-links {
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
@media screen and (min-width: 1024px) {
  .cards-links {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .cards-links .card {
    flex: 1 1 calc(33% - 5rem);
    height: auto;
  }
}

.banner-section {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 0;
}

.banner-section .manual-slider {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background-color: #ffffff;
}

.manual-slider .slider-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.18, 1);
  width: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
}

.manual-slider .slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.slider-btn.slider-prev {
  left: 10px;
}

.slider-btn.slider-next {
  right: 10px;
}

.slider-btn.slider-pause {
  position: absolute;
  top: 10px;
  right: 10px;
  transform: none;
  width: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  height: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

.slider-track {
  display: flex;
  position: relative;
  width: 100%;
  height: auto;
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}

/* Los slides (elementos .banner en el HTML) */
.banner-section .slider-track .banner,
.banner-section .slider-track .slide,
.manual-slider .slider-track .banner,
.manual-slider .slider-track .slide {
  flex: 0 0 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: var(--v2-azul-oscuro);
}
.banner-section .slider-track .banner::before,
.banner-section .slider-track .slide::before,
.manual-slider .slider-track .banner::before,
.manual-slider .slider-track .slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: var(--slide-bg-image);
  background-size: cover;
  background-position: center;
  filter: blur(5px);
  opacity: 0.3;
  z-index: 0;
  transform: scale(1.1);
  pointer-events: none;
}
@media (min-width: 1201px) {
  .banner-section .slider-track .banner,
  .banner-section .slider-track .slide,
  .manual-slider .slider-track .banner,
  .manual-slider .slider-track .slide {
    height: clamp(400px, 70vh, 600px);
  }
}
@media (max-width: 1200px) {
  .banner-section .slider-track .banner,
  .banner-section .slider-track .slide,
  .manual-slider .slider-track .banner,
  .manual-slider .slider-track .slide {
    height: clamp(300px, 60vh, 400px);
  }
}
@media (max-width: 768px) {
  .banner-section .slider-track .banner,
  .banner-section .slider-track .slide,
  .manual-slider .slider-track .banner,
  .manual-slider .slider-track .slide {
    height: auto;
    min-height: auto;
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 425px) {
  .banner-section .slider-track .banner,
  .banner-section .slider-track .slide,
  .manual-slider .slider-track .banner,
  .manual-slider .slider-track .slide {
    height: auto;
  }
}

.slider-track .img-banner {
  width: auto;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  object-position: left center;
  display: block;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
  .slider-track .img-banner {
    height: clamp(200px, 35vh, 300px);
    width: 100%;
  }
}

.paneo {
  animation: paneo 5s forwards;
  animation-play-state: running;
}

.paneo.paused {
  animation-play-state: paused;
}

@keyframes paneo {
  0% {
    object-position: left center;
  }
  100% {
    object-position: right center;
  }
}
.banner .banner-cont {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: min(30%, 300px);
  color: var(--color-blanco);
  text-align: center;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: rgba(0, 0, 0, 0.66);
  backdrop-filter: grayscale(1);
  border-radius: 0 0 0.5rem 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}
.banner .banner-cont h2 {
  font-weight: 700;
  margin: 0 auto;
  display: block;
  color: var(--color-blanco);
}
.banner .banner-cont p {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  margin: 0 auto;
  color: var(--color-blanco);
  display: block;
}
.banner .banner-cont .button-menu {
  background-color: var(--v2-azul);
  color: var(--color-blanco);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border: none;
  border-radius: 0.25rem;
  text-decoration: none;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  transition: background-color all 180ms ease-in-out;
  display: block;
}
.banner .banner-cont .button-menu:hover {
  background-color: var(--v2-azul-claro);
}
@media (max-width: 768px) {
  .banner .banner-cont {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    background-color: var(--v2-azul-oscuro);
    opacity: 1;
    visibility: visible;
    border-radius: 0;
    display: flex;
    flex-direction: column;
  }
  .banner .banner-cont .button-menu {
    display: block;
  }
  .banner .banner-cont h2,
  .banner .banner-cont p {
    display: none;
  }
}
@media (min-width: 769px) {
  .banner .banner-cont {
    transform: translateX(-100%);
    opacity: 0.8;
  }
  .banner .banner-cont::after {
    content: "i";
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
    top: 30%;
    left: 100%;
    width: 60px;
    height: 60px;
    background-color: rgba(0, 0, 0, 0.9);
    border-radius: 0 0.5rem 0.5rem 0;
    z-index: 1;
    transform: translateY(-30%);
  }
}

@media (min-width: 769px) {
  .banner:hover .banner-cont {
    opacity: 1;
    transform: translateX(0);
  }
  .banner:hover .banner-cont::after {
    content: "";
    display: none;
  }
}

.slider-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .slider-dots {
    bottom: 90px;
    gap: 5px;
  }
}

.slider-dot {
  width: clamp(12px, 2vw, 16px);
  height: clamp(12px, 2vw, 16px);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.slider-dot:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.slider-dot.active {
  width: 40px;
  border-radius: 10px;
  background-color: var(--color-blanco);
}

.main-footer {
  z-index: 1;
  position: relative;
}
.main-footer .footer-container {
  width: 100%;
  background-color: var(--v2-azul);
  color: white;
  font-family: "Segoe UI", sans-serif;
  position: relative;
}
.main-footer .footer-container .footer-flex {
  margin: 0 auto;
  padding-top: 2rem;
  max-width: 1200px;
  display: flex;
  flex-direction: row;
  gap: 2rem;
}
.main-footer .footer-container .footer-flex .footer-section {
  padding: 0 1rem;
}
.main-footer .footer-container .footer-flex .footer-section.social-media {
  display: none;
}
.main-footer .footer-container .footer-title {
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: bold;
  color: var(--v2-amarillo);
  margin-bottom: 1rem;
  border-bottom: none;
}
.main-footer .footer-container .footer-links {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.main-footer .footer-container .footer-links li {
  margin-bottom: 1rem;
  transition: all 0.2s;
}
.main-footer .footer-container .footer-links a {
  padding: 0.2rem 0;
  font-size: 1.1rem;
  width: 100%;
  height: auto;
  color: var(--v2-gris);
  text-decoration: none;
  transition: all 0.2s;
  border-radius: 0.75rem;
}
.main-footer .footer-container .footer-links a:hover {
  color: var(--v2-amarillo);
}
.main-footer .footer-container .footer-info {
  height: 100px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  background-color: var(--v2-azul-oscuro);
  bottom: 0;
  margin: 1rem auto 0 auto;
  width: 100%;
}
.main-footer .footer-container .footer-info p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--v2-gris);
}
.main-footer .footer-container .footer-brand {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: var(--v2-amarillo);
  width: 25%;
  display: none;
}
.main-footer .footer-container .footer-logo img {
  max-width: 120px;
}
.main-footer .footer-container .footer-motto {
  font-style: italic;
  color: var(--v2-gris);
  margin: 0 !important;
}
.main-footer .footer-container .footer-contact p {
  font-size: 0.9rem;
  color: var(--v2-gris);
}
.main-footer .footer-container .footer-contact p:first-child {
  font-weight: 500;
}
.main-footer .footer-container .footer-contact p::before {
  content: "• ";
  color: var(--v2-amarillo);
}
.main-footer .footer-container .footer-contact p:first-child::before {
  content: "";
}
.main-footer .footer-container .footer-copyright {
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: var(--v2-gris);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1rem;
}
@media (max-width: 768px) {
  .main-footer .footer-container .footer-flex {
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem 1rem 0 1rem;
  }
  .main-footer .footer-container .footer-section {
    padding: 0;
    outline: none;
  }
  .main-footer .footer-container .footer-title {
    font-size: 1rem;
    margin-bottom: 0.7rem;
  }
  .main-footer .footer-container .footer-links a {
    font-size: 1rem;
    padding: 0.2rem 0;
  }
  .main-footer .footer-container .footer-info {
    flex-direction: column;
    height: auto;
    gap: 1rem;
    padding: 1rem 0;
  }
  .main-footer .footer-container .footer-logo img {
    max-width: 90px;
  }
  .main-footer .footer-container .footer-brand {
    width: 100%;
    font-size: 1rem;
    margin-bottom: 0.7rem;
  }
  .main-footer .footer-container .footer-copyright {
    margin-top: 1rem;
    font-size: 0.8rem;
    padding-top: 0.7rem;
  }
}

.footnote-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1070;
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: var(--border-radius-md);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  padding: clamp(0.6rem, 0.5rem + 0.5vw, 0.8rem) clamp(0.8rem, 0.6rem + 0.8vw, 1.2rem);
  max-width: 320px;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-texto-principal);
  pointer-events: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.98);
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s;
}
.footnote-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.footnote-tooltip p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  word-break: break-word;
  overflow-wrap: break-word;
}
.footnote-tooltip a {
  color: var(--v2-azul);
  text-decoration: underline;
  font-weight: 500;
  word-break: break-all;
  transition: color 0.15s ease;
}
.footnote-tooltip a:hover {
  color: var(--v2-azul-oscuro);
}
.footnote-tooltip::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  border-width: 6px 6px 0;
  border-style: solid;
  border-color: var(--color-blanco) transparent;
  display: block;
  width: 0;
  height: 0;
  line-height: 0;
  z-index: 1;
}
.footnote-tooltip::before {
  content: "";
  position: absolute;
  bottom: -7px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%);
  border-width: 7px 7px 0;
  border-style: solid;
  border-color: var(--color-borde) transparent;
  display: block;
  width: 0;
  height: 0;
  line-height: 0;
  z-index: 0;
}
.footnote-tooltip.position-bottom::after {
  bottom: auto;
  top: -6px;
  border-width: 0 6px 6px;
  border-color: var(--color-blanco) transparent;
}
.footnote-tooltip.position-bottom::before {
  bottom: auto;
  top: -7px;
  border-width: 0 7px 7px;
  border-color: var(--color-borde) transparent;
}

.main-content sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

.main-content a[href^="#_ftn"]:not([href^="#_ftnref"]) {
  display: inline-block;
  padding: 0 2px;
  border-radius: var(--border-radius-sm);
  text-decoration: none;
  font-weight: bold;
  color: var(--v2-azul);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.main-content a[href^="#_ftn"]:not([href^="#_ftnref"]):hover {
  background-color: rgba(46, 75, 149, 0.08);
  color: var(--v2-azul-oscuro);
}

/* ========================================
   HEADER - MOBILE FIRST DESIGN
   ======================================== */
/* === ESTRUCTURA BASE (Coincide con <header class="site-header">) === */
.site-header {
  background: var(--color-blanco);
  border-bottom: 1px solid var(--color-borde);
  position: sticky;
  top: 0;
  z-index: 1000;
  /* 1. Mobile Overlay (<div class="mobile-overlay">) */
}
.site-header .mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  backdrop-filter: blur(2px);
}
.site-header .mobile-overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.site-header {
  /* 3. Header Main (<div class="header-main">) : Mobile*/
}
.site-header .header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  height: var(--header-height);
  position: relative;
  transition: transform 0.3s ease-in-out;
  transform: translateY(0);
}
.site-header .header-main.header-hidden {
  transform: translateY(-100%);
}
.site-header .header-main {
  /* 3.1 Botón Menú Móvil (<button class="mobile-menu-toggle">) */
}
.site-header .header-main .mobile-menu-toggle {
  background: none;
  border: none;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  cursor: pointer;
  color: var(--color-texto-principal);
  font-size: 1rem;
  transition: all 0.3s ease;
  height: 100%;
}
.site-header .header-main .mobile-menu-toggle:hover {
  color: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
}
.site-header .header-main {
  /* 3.2 Logo (<div class="site-logo">) */
}
.site-header .header-main .site-logo img {
  height: clamp(40px, var(--header-height) - 10px, 50px);
  width: auto;
  object-fit: contain;
}
.site-header .header-main {
  /* 3.3 Acciones Rápidas (<ul class="header-actions">) */
}
.site-header .header-main .header-actions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  flex-direction: row;
  align-items: center;
  width: 75%;
  justify-content: flex-end;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.site-header .header-main .header-actions li {
  position: relative;
}
.site-header .header-main .header-actions .btn {
  font-size: 0.875rem;
}
.site-header .header-main .header-actions {
  /* Dropdown Menú Rápido (<li class="action-dropdown">) */
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-toggle {
  position: relative;
}
.site-header .header-main .header-actions .action-dropdown:hover .quick-menu-dropdown, .site-header .header-main .header-actions .action-dropdown:focus .quick-menu-dropdown, .site-header .header-main .header-actions .action-dropdown:active .quick-menu-dropdown, .site-header .header-main .header-actions .action-dropdown:target .quick-menu-dropdown, .site-header .header-main .header-actions .action-dropdown:focus-within .quick-menu-dropdown {
  display: block;
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  width: 300px;
  color: var(--color-blanco);
  background: var(--v2-rojo-oscuro);
  border: 1px solid var(--v2-rojo);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1001;
  display: none;
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-dropdown .menu-menu-rapido-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-dropdown .menu-menu-rapido-container ul li a {
  color: var(--color-blanco);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  text-decoration: none;
  width: 100%;
  display: block;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-dropdown .menu-menu-rapido-container ul li a:hover {
  background: var(--v2-rojo-claro);
}
.site-header .header-main .header-actions .action-dropdown .quick-menu-dropdown .maps-container img {
  display: none;
}
.site-header .header-main .header-actions {
  /* Búsqueda Desktop (<li class="action-search">) */
}
.site-header .header-main .header-actions .action-search form.header-search-form {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
}
.site-header .header-main .header-actions .action-search form.header-search-form input[type=search] {
  padding: calc(clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) - 0.25rem) calc(clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) - 1rem);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
}
.site-header .header-main {
  /* 3.4 Botón Búsqueda Móvil (<button class="mobile-search-toggle">) */
}
.site-header .header-main .mobile-search-toggle {
  background: none;
  border: none;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  cursor: pointer;
  color: var(--color-texto-principal);
  font-size: 1rem;
  transition: all 0.3s ease;
  height: 100%;
}
.site-header .header-main .mobile-search-toggle:hover {
  color: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
}
.site-header {
  /* 4. Menú Navegación Móvil (<nav class="mobile-nav">) */
}
.site-header .mobile-nav {
  position: fixed;
  top: 0;
  left: -100%;
  width: 85%;
  max-width: 320px;
  height: 100%;
  height: 100dvh;
  background: var(--color-blanco);
  z-index: 1002;
  transition: left 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 5px 0 15px rgba(0, 0, 0, 0.2);
}
.site-header .mobile-nav.is-open {
  left: 0;
}
.site-header .mobile-nav.is-opening {
  animation: slideInFromLeft 0.3s ease-out;
}
.site-header .mobile-nav.is-closing {
  animation: slideOutToLeft 0.3s ease-in;
}
.site-header .mobile-nav .mobile-nav-scroll {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* Scrollbar */
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l)) transparent;
}
.site-header .mobile-nav .mobile-nav-scroll::-webkit-scrollbar {
  width: 6px;
}
.site-header .mobile-nav .mobile-nav-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.site-header .mobile-nav .mobile-nav-scroll::-webkit-scrollbar-thumb {
  background: hsl(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l));
  border-radius: 3px;
}
.site-header .mobile-nav .mobile-nav-scroll::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--v2-azul-h), var(--v2-azul-s), calc(var(--v2-azul-l) - 10%));
}
.site-header .mobile-nav {
  /* 4.1 Header Móvil (<div class="mobile-nav-header">) */
}
.site-header .mobile-nav .mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--color-borde);
  background: var(--color-fondo);
  height: 40px;
  padding-right: 0.25rem;
}
.site-header .mobile-nav .mobile-nav-header .mobile-nav-close {
  background: none;
  border: none;
  font-size: 1rem;
  color: var(--color-texto-principal);
  cursor: pointer;
  height: 30px;
  width: 30px;
  border-radius: 0.375rem;
  transition: all 0.3s ease;
  align-items: center;
}
.site-header .mobile-nav .mobile-nav-header .mobile-nav-close:hover {
  background: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
  color: var(--color-blanco);
  transform: scale(1.1);
}
.site-header .mobile-nav {
  /* 4.2 Lista Móvil (<ul class="mobile-nav-list">) */
}
.site-header .mobile-nav .mobile-nav-list {
  list-style: none;
  margin: 0;
  padding-right: 0.25rem;
  padding-bottom: 80px;
}
.site-header .mobile-nav {
  /* Items */
}
.site-header .mobile-nav .mobile-nav-item {
  border-bottom: 1px solid var(--color-borde);
}
.site-header .mobile-nav .mobile-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: var(--color-texto-principal);
  font-weight: 500;
  transition: all 0.3s ease;
}
.site-header .mobile-nav .mobile-nav-link:hover {
  background: var(--color-fondo);
  color: var(--v2-rojo);
}
.site-header .mobile-nav .mobile-nav-link span {
  flex: 1;
}
.site-header .mobile-nav .mobile-nav-link i {
  margin-left: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  font-size: 0.875rem;
  opacity: 0.7;
  transition: transform 0.3s ease;
}
.site-header .mobile-nav .mobile-nav-link:hover i {
  transform: translateX(-3px);
}
.site-header .mobile-nav {
  /* Expandables */
}
.site-header .mobile-nav .mobile-nav-expandable {
  position: relative;
}
.site-header .mobile-nav .mobile-nav-expandable.is-expanded .mobile-nav-chevron {
  transform: rotate(180deg);
}
.site-header .mobile-nav .mobile-nav-expandable.is-expanded .mobile-nav-submenu {
  grid-template-rows: 1fr;
  border: 1px solid var(--color-borde) transparent;
}
.site-header .mobile-nav .mobile-nav-expandable .mobile-nav-link.mobile-nav-toggle i {
  margin-left: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  font-size: 1rem;
  opacity: 1;
  transition: none;
  flex-shrink: 0;
}
.site-header .mobile-nav .mobile-nav-chevron {
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
.site-header .mobile-nav .mobile-nav-submenu {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
  overflow: hidden;
  background: var(--color-fondo);
  border-radius: 0.375rem;
  border: 1px solid var(--color-borde) transparent;
}
.site-header .mobile-nav .mobile-nav-parent-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background: var(--color-blanco);
  cursor: default;
}
.site-header .mobile-nav .mobile-nav-parent-text,
.site-header .mobile-nav .mobile-nav-item a span {
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-texto-principal);
}
.site-header .mobile-nav .mobile-nav-parent-text + .fa,
.site-header .mobile-nav .mobile-nav-item a span + .fa {
  margin-right: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  font-size: 1rem;
}
.site-header .mobile-nav .mobile-nav-toggle {
  justify-content: space-between !important;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.site-header .mobile-nav .mobile-nav-toggle:hover {
  background: var(--color-fondo);
  color: hsl(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l));
}
.site-header .mobile-nav .mobile-submenu-list {
  min-height: 0;
  list-style: none;
  margin: 0;
}
.site-header .mobile-nav .mobile-submenu-list li {
  border-bottom: 1px solid var(--color-borde);
}
.site-header .mobile-nav .mobile-submenu-list li:first-child {
  border-top: 1px solid var(--color-borde);
}
.site-header .mobile-nav .mobile-submenu-list li:last-child {
  border-bottom: none;
}
.site-header .mobile-nav .mobile-submenu-list a {
  display: block;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-decoration: none;
  color: var(--color-texto-secundario);
  font-size: 0.875rem;
  transition: all 0.2s ease;
}
.site-header .mobile-nav .mobile-submenu-list a:hover {
  background: var(--color-blanco);
  color: hsl(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l));
  padding-left: calc(clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) + clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem));
}
.site-header .mobile-nav {
  /* 4.3 Footer Móvil (Ajustes y Banderas) */
}
.site-header .mobile-nav .mobile-nav-footer {
  flex: 0 0 auto;
  background: var(--color-fondo);
  border-top: 1px solid var(--color-borde);
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.site-header .mobile-nav .mobile-nav-footer .footer-settings-btn {
  display: none !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
  color: var(--color-texto-principal);
  font-weight: 500;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}
.site-header .mobile-nav .mobile-nav-footer .footer-settings-btn span {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-texto-principal);
}
.site-header .mobile-nav .mobile-nav-footer .footer-settings-btn i {
  font-size: 1rem;
  opacity: 0.7;
}
.site-header .mobile-nav .mobile-nav-footer .footer-settings-btn:hover {
  color: var(--v2-rojo);
}
.site-header .mobile-nav .mobile-nav-footer .footer-settings-btn:hover span {
  color: var(--v2-rojo);
}
.site-header .mobile-nav .mobile-nav-languages {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding-top: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  border-top: 1px dashed var(--color-borde);
}
.site-header .mobile-nav .mobile-nav-languages a {
  transition: transform 0.2s ease;
  display: inline-block;
  background-color: white;
  border-radius: 50%;
}
.site-header .mobile-nav .mobile-nav-languages a:hover {
  transform: scale(1.1);
}
.site-header .mobile-nav .mobile-nav-languages a.gt-current-lang img {
  outline: 2px solid var(--v2-azul);
  outline-offset: 1px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.site-header .mobile-nav .mobile-nav-languages a img {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}
.site-header {
  /* 5. Búsqueda Móvil Expandible (<div class="mobile-search-bar">) */
}
.site-header .mobile-search-bar {
  position: fixed;
  top: calc(-7px - clamp(4rem, 3rem + 5vw, 5rem));
  left: 0;
  width: 100%;
  background: var(--color-blanco);
  z-index: 1001;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: top 0.3s ease;
  border-bottom: 1px solid var(--color-borde);
}
.site-header .mobile-search-bar.is-open {
  top: 0;
}
.site-header .mobile-search-bar .mobile-search-form {
  display: flex;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.site-header .mobile-search-bar .mobile-search-input {
  flex: 1;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  border: 1px solid var(--color-borde);
  border-radius: 0.375rem;
  font-size: 1rem;
  background: var(--color-blanco);
  color: var(--color-texto-principal);
  transition: border-color 0.3s ease;
}
.site-header .mobile-search-bar .mobile-search-input:focus {
  outline: none;
  border-color: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
  box-shadow: 0 0 0 2px hsla(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l), 0.2);
}
.site-header .mobile-search-bar .mobile-search-submit {
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background: hsl(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l));
  color: var(--color-blanco);
  border: none;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
}
.site-header .mobile-search-bar .mobile-search-submit:hover {
  background: hsl(var(--v2-rojo-h), var(--v2-rojo-s), calc(var(--v2-rojo-l) - 10%));
  transform: scale(1.05);
}

/* === MENU PRINCIPAL DESKTOP (Coincide con <nav>) === */
nav:not(.breadcrumb-nav, .publicaciones-nav, .centro-tabs-container) {
  background-color: var(--v2-azul);
}
nav div.menu-menu-principal-container {
  max-width: min(1500px, 95vw);
  display: none;
  margin: 0 auto;
}
nav div.menu-menu-principal-container > ul.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: min(1500px, 95vw);
  margin: 0 auto;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown, nav div.menu-menu-principal-container > ul.menu > li {
  display: block;
  align-items: center;
  justify-content: center;
  flex-grow: 9;
  /* Enlace principal */
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown > a, nav div.menu-menu-principal-container > ul.menu > li > a {
  padding: clamp(0.5rem, 0.1rem + 0.9vw, 1rem);
  overflow-wrap: break-word;
  text-decoration: none;
  color: var(--color-blanco);
  font-weight: 600;
  text-transform: uppercase;
  height: 100%;
  display: flex;
  align-items: center;
  transition: color 0.3s ease, background-color 0.3s ease;
  position: relative;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
}
@media (min-width: 1480px) {
  nav div.menu-menu-principal-container > ul.menu > li.has-dropdown > a, nav div.menu-menu-principal-container > ul.menu > li > a {
    font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
    font-weight: 500;
  }
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown > a:hover, nav div.menu-menu-principal-container > ul.menu > li > a:hover {
  background-color: var(--v2-gris-claro);
  color: var(--v2-azul);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown > a span, nav div.menu-menu-principal-container > ul.menu > li > a span {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown, nav div.menu-menu-principal-container > ul.menu > li {
  /* Clase active */
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown.active > a, nav div.menu-menu-principal-container > ul.menu > li.active > a {
  font-weight: 700;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown.active > a::after, nav div.menu-menu-principal-container > ul.menu > li.active > a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--v2-gris-oscuro);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown, nav div.menu-menu-principal-container > ul.menu > li {
  /* Menu Desplegable */
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown:hover > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li.has-dropdown:focus > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li.has-dropdown:active > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li.has-dropdown:target > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li.has-dropdown:focus-within > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li:hover > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li:focus > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li:active > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li:target > .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li:focus-within > .main-menu-dropdown {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  /* APERTURA: Retrasamos TODO 150ms (visibilidad, opacidad, transform) */
  transition: opacity 0.3s ease 0.15s, visibility 0s linear 0.15s, transform 0.3s ease 0.15s;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  background-color: var(--color-blanco);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  padding: 0;
  z-index: 999;
  border-top: 1px solid var(--color-borde);
  min-height: 450px;
  /* Estado inicial oculto */
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  /* CIERRE: Mantiene el menú visible y con opacidad 100% durante 150ms después de quitar el ratón.
     ¡Esto es clave! Si la opacidad baja de inmediato, visualmente se pierde el menú. */
  transition: opacity 0.2s ease 0.15s, visibility 0s linear 0.35s, transform 0.2s ease 0.15s;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .wrap, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .wrap {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin: 0 auto;
  max-width: min(1500px, 95vw);
  position: relative;
}
@media screen and (max-width: 1400px) {
  nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .wrap, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .wrap {
    grid-template-columns: 3fr 8fr;
  }
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .foto-y-desc, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .foto-y-desc {
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  padding-right: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  border-right: 3px solid var(--v2-amarillo-oscuro);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .foto-y-desc img.imagen-menu, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .foto-y-desc img.imagen-menu {
  width: clamp(100px, 100%, 370px);
  height: 280px;
  overflow: hidden;
  object-fit: cover;
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .foto-y-desc p.desc-menu, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .foto-y-desc p.desc-menu {
  font-size: 0.9rem;
  color: var(--color-texto-secundario);
  line-height: 1.5;
  margin: 0;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list:not([data-cols]) > li:nth-child(2n+1), nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list:not([data-cols]) > li:nth-child(2n+1) {
  border-right: solid 1px var(--v2-amarillo-claro);
  padding-right: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list[data-cols="3"], nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list[data-cols="3"] {
  grid-template-columns: repeat(3, 1fr);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list[data-cols="3"] > li:nth-child(3n+1), nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list[data-cols="3"] > li:nth-child(3n+2), nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list[data-cols="3"] > li:nth-child(3n+1), nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list[data-cols="3"] > li:nth-child(3n+2) {
  border-right: solid 1px var(--v2-amarillo-claro);
  padding-right: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list > li.active > a, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list > li.active > a {
  color: var(--v2-rojo);
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list > li > a, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list > li > a {
  height: 100%;
  display: flex;
  align-items: flex-start;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) 0;
  text-decoration: none;
  color: var(--color-texto-principal);
  font-size: 0.95rem;
  transition: color 0.2s ease, transform 0.2s ease;
  border-bottom: 1px solid transparent;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list > li > a span, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list > li > a span {
  width: 100%;
  padding: 0.2rem 1.5rem;
}
nav div.menu-menu-principal-container > ul.menu > li.has-dropdown .main-menu-dropdown .dropdown-menu-list > li > a:hover, nav div.menu-menu-principal-container > ul.menu > li .main-menu-dropdown .dropdown-menu-list > li > a:hover {
  color: var(--v2-rojo);
  transform: translateX(5px);
}

/* === CLASES FUERA DEL PHP / UTILITIES === */
/* Búsqueda Desktop (clase antigua/extra) */
.header-search {
  display: none;
  /* Oculta en móvil */
}
.header-search input[type=search] {
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
}

/* Animaciones */
@keyframes slideInFromLeft {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideOutToLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/* ============================================================================
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ============================================================================ */
/* === MÓVIL (default) - max 767px === */
@media (max-width: 767px) {
  .site-header .header-main .mobile-menu-toggle,
  .site-header .header-main .mobile-search-toggle {
    display: block;
  }
}
@media (max-width: 1200px) {
  .site-header .header-top-bar {
    display: none;
  }
}
@media (min-width: 1200px) {
  .site-header {
    /* Mostrar barra superior */
  }
  .site-header .header-top-bar {
    display: block;
    background-color: var(--v2-gris);
    width: 100%;
    height: var(--header-top-bar-height);
  }
  .site-header .header-top-bar .menu-menu-superior-container {
    display: flex;
    justify-content: flex-end;
    height: 100%;
  }
  .site-header .header-top-bar .menu-menu-superior-container ul {
    display: flex;
    flex-direction: row;
    list-style: none;
  }
  .site-header .header-top-bar .menu-menu-superior-container ul li {
    margin-left: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
    padding-right: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
    border-right: solid 1px var(--v2-gris-oscuro);
  }
  .site-header .header-top-bar .menu-menu-superior-container ul li:last-child {
    border-right: none;
    padding-right: 0;
  }
  .site-header .header-top-bar .menu-menu-superior-container ul li a {
    font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
    padding: 0.1rem 0.5rem;
    position: relative;
    text-decoration: none;
  }
  .site-header .header-top-bar .menu-menu-superior-container ul li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--v2-rojo);
    transition: width 0.3s ease;
  }
  .site-header .header-top-bar .menu-menu-superior-container ul li a:hover::after {
    width: 100%;
  }
}
/* === DESKTOP (1200px+) === */
@media (min-width: 1200px) {
  .site-header .site-logo img {
    display: block;
  }
  .site-header .header-main {
    max-width: min(1500px, 95vw);
    margin: 0 auto;
    --icon-size: calc($header-height - 10px);
    /* Ocultar elementos móviles */
  }
  .site-header .header-main .mobile-menu-toggle,
  .site-header .header-main .mobile-search-toggle {
    display: none;
    width: var(--icon-size);
    height: var(--icon-size);
    outline: auto;
  }
  .site-header .header-main {
    /* Mostrar acciones rápidas */
  }
  .site-header .header-main .header-actions {
    display: flex;
    gap: 0.5rem;
  }
  .site-header .header-main {
    /* Mostrar búsqueda desktop */
  }
  .site-header .header-main .header-search {
    display: block;
  }
  .site-header {
    /* Ocultar bloques móviles completos */
  }
  .site-header .mobile-nav,
  .site-header .mobile-search-bar,
  .site-header .mobile-overlay {
    display: none !important;
  }
  /* Mostrar menú principal desktop */
  body > nav .menu-menu-principal-container {
    display: block;
  }
}
/* === DESKTOP LARGE (Para refines extras si existían) === */
@media (min-width: 1200px) {
  /* Aquí se definían algunos tamaños mayores, se integraron o pueden mantenerse */
  .site-header .header-main {
    padding: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) 0;
  }
  .site-header .header-main .header-actions {
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  }
}
.images-list .images-list-ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  padding-left: 0;
}
.images-list .images-list-ul li {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.images-list .images-list-ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ===========================================
   SISTEMA DE MODALES PERSONALIZADO UAA
   =========================================== */
/* Overlay base */
.uaa-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  animation: fadeIn 0.3s ease-out;
}
.uaa-modal-overlay.active {
  display: flex;
}

/* Container principal - Wrapper de todo */
.uaa-modal {
  position: relative;
  background: var(--color-blanco);
  border-radius: 0.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  animation: slideIn 0.3s ease-out;
  /* Scrollbar general */
  scrollbar-width: thin;
  scrollbar-color: var(--v2-azul) var(--v2-gris);
}
.uaa-modal::-webkit-scrollbar {
  width: 8px;
}
.uaa-modal::-webkit-scrollbar-track {
  background: var(--v2-gris);
  border-radius: 0.5rem;
}
.uaa-modal::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 0.5rem;
}
.uaa-modal::-webkit-scrollbar-thumb:hover {
  background: var(--v2-azul-oscuro);
}
.uaa-modal {
  /* ----------------------------------------------------
     ELEMENTOS COMUNES
     ---------------------------------------------------- */
  /* Botón de cerrar */
}
.uaa-modal-close {
  position: absolute;
  top: 1rem;
  left: 1rem;
  border: none;
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  background-color: rgba(255, 255, 255, 0.779) !important;
  cursor: pointer;
  z-index: 10001;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.2s ease;
  padding-bottom: 4px;
}
.uaa-modal-close:hover {
  background-color: #fff !important;
  transform: scale(1.1);
}
@media (max-width: 768px) {
  .uaa-modal-close {
    top: 10px;
    right: 15px;
    left: auto;
    background: rgba(255, 255, 255, 0.9);
    color: #333;
  }
}
.uaa-modal {
  /* Contador */
}
.uaa-modal-counter {
  position: absolute;
  top: 0.3rem;
  right: 0.3rem;
  background: rgba(255, 255, 255, 0.779);
  padding: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  border-radius: 0.75rem;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 600;
  color: #000000;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  z-index: 10000;
}
@media (max-width: 768px) {
  .uaa-modal-counter {
    right: auto;
    left: 15px;
    top: 10px;
    height: 35px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  }
}
.uaa-modal {
  /* Botón Mobile Toggle (Flip) */
}
.uaa-modal-mobile-toggle {
  display: none;
  position: absolute;
  bottom: 3vh;
  right: 12vw;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--v2-azul);
  color: #fff;
  border: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  z-index: 10005;
  font-size: 1.2rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}
.uaa-modal-mobile-toggle:hover {
  background: var(--v2-azul-oscuro);
  transform: scale(1.1);
}
@media (max-width: 768px) {
  .uaa-modal-mobile-toggle {
    display: flex;
    /* Solo visible en móvil */
  }
}
.uaa-modal {
  /* Navegación (Flechas) */
}
.uaa-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.7);
  border: none;
  color: white;
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  cursor: pointer;
  z-index: 10001;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.uaa-modal-nav:hover {
  background: rgba(0, 0, 0, 0.9);
  transform: translateY(-50%) scale(1.1);
}
.uaa-modal-nav-prev {
  left: 15px;
}
.uaa-modal-nav-next {
  right: 15px;
}
.uaa-modal {
  /* ----------------------------------------------------
     CONTENIDO INTERNO (Tipografía y estructura)
     ---------------------------------------------------- */
}
.uaa-modal-content h4 {
  margin: 0 0 15px 0;
  color: var(--v2-azul);
  font-weight: 600;
}
.uaa-modal-content h5 {
  margin: 20px 0 10px 0;
  color: var(--v2-azul-oscuro);
  font-weight: 500;
}
.uaa-modal-content p {
  margin: 12px 0;
  line-height: 1.4;
  color: #000000;
}
.uaa-modal-content hr {
  border: none;
  border-top: 1px solid #eee;
  margin: 15px 0;
}
.uaa-modal-label {
  font-weight: 600;
  color: var(--v2-azul-oscuro);
  margin-right: 8px;
}
.uaa-modal-label i {
  display: inline-block;
  width: 16px;
  text-align: center;
  margin-right: 5px;
  color: var(--v2-azul);
}
.uaa-modal-links {
  padding-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.uaa-modal-links a {
  white-space: normal !important;
  word-break: break-all;
  line-height: 1.4;
}
.uaa-modal {
  /* ----------------------------------------------------
     LAYOUTS & COMPORTAMIENTO
     ---------------------------------------------------- */
  /* == LAYOUT IMAGE LEFT (El principal) == */
}
.uaa-modal--image-left {
  width: clamp(300px, 90vw, 1400px);
  height: clamp(500px, 85vh, 90vh);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 769px) {
  .uaa-modal--image-left {
    background: #000;
  }
}
.uaa-modal--image-left .uaa-modal-container {
  display: flex;
  width: 100%;
  height: 100%;
  /* == DESKTOP VIEW == */
}
@media (min-width: 769px) {
  .uaa-modal--image-left .uaa-modal-container {
    flex-direction: row;
    align-items: stretch;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image {
    flex: 0 0 60%;
    position: relative;
    background: #f0f0f0;
    overflow: auto;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image img.panoramic, .uaa-modal--image-left .uaa-modal-container .uaa-modal-image img.horizontal {
    max-width: none !important;
    width: auto;
    height: 100%;
    /* Ajustar al alto para panear horizontalmente */
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-content {
    flex: 1;
    overflow-y: auto;
    padding: 2rem;
    background: #fff;
  }
}
.uaa-modal--image-left .uaa-modal-container {
  /* == MOBILE VIEW == */
}
@media (max-width: 768px) {
  .uaa-modal--image-left .uaa-modal-container {
    flex-direction: column;
    position: relative;
    width: 100vw;
    height: 100vh;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 100%;
    z-index: 10;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
    opacity: 1;
    visibility: visible;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 100%;
    z-index: 5;
    background: #fff;
    overflow-y: auto;
    padding: 17px 20px 80px 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
  }
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-content h4 {
    width: 90%;
  }
  .uaa-modal--image-left .uaa-modal-container.show-info .uaa-modal-image {
    opacity: 0;
    visibility: hidden;
    z-index: 5;
  }
  .uaa-modal--image-left .uaa-modal-container.show-info .uaa-modal-content {
    opacity: 1;
    visibility: visible;
    z-index: 10;
  }
}
@media (max-width: 330px) {
  .uaa-modal--image-left .uaa-modal-container .uaa-modal-image {
    width: 100vw;
  }
}
.uaa-modal {
  /* == OTROS LAYOUTS (Mantenimiento básico) == */
}
.uaa-modal--image-only {
  background: transparent;
  box-shadow: none;
}
.uaa-modal--image-only .uaa-modal-image {
  display: flex;
  justify-content: center;
  isolation: isolate;
}
.uaa-modal--image-only .uaa-modal-image img {
  width: auto;
  height: auto;
  max-width: clamp(280px, 97vw - env(safe-area-inset-left) - env(safe-area-inset-right), 1300px);
  max-height: clamp(280px, 97vh - env(safe-area-inset-bottom) - env(safe-area-inset-top), 900px);
  max-height: clamp(280px, 97dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top), 900px);
  object-fit: scale-down;
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  transform: none;
  will-change: auto;
}
.uaa-modal--image-only .uaa-modal-close {
  background: rgba(255, 255, 255, 0.8);
}
.uaa-modal--text-only {
  width: min(600px, 95vw);
}
.uaa-modal--text-only .uaa-modal-content {
  padding: 2rem;
  max-height: 80vh;
  overflow-y: auto;
}

/* Lazy loading styles */
.uaa-modal-image img.lazy-load {
  opacity: 0.5;
  filter: blur(5px);
  transition: opacity 0.3s ease, filter 0.3s ease;
}

.uaa-modal-image img:not(.lazy-load) {
  opacity: 1;
  filter: blur(0);
}

/* Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* Nuevos estilos agregados para evitar estilos inline */
.uaa-modal-actions {
  flex: 0 1 auto;
  display: flex;
  gap: 10px;
}

.uaa-modal-btn {
  background: #004b87;
  color: #fff;
  border: none;
  padding: 8px 15px;
  border-radius: 5px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  transition: background 0.3s ease;
  text-decoration: none;
}
.uaa-modal-btn:hover {
  background: #002244;
}
.uaa-modal-btn i {
  margin-right: 6px;
}

.uaa-modal-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2.5rem;
  z-index: 10006;
}

/* Layout principal para PC (Desktop) usando CSS Grid */
section.wrap:has(.sidebar-general, .sidebar-general-bottom) main.centro-content {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  display: flex;
  flex-direction: column-reverse;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  min-height: min(1000px, 100vh - var(--header-height) + 1rem);
  justify-content: space-between;
}
section.wrap:has(.sidebar-general, .sidebar-general-bottom) main.centro-content:has(.centro-tabs-container-fixed) {
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) main.centro-content {
    flex-direction: column;
    justify-content: unset;
    margin-bottom: 1.5rem !important;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
    align-items: flex-start;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):has(.sidebar-general-bottom[data-left=false]) {
    grid-template-columns: 300px minmax(0, 1fr) clamp(200px, 20vw, 300px);
    margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):has(.sidebar-general-bottom[data-left=true]) {
    grid-template-columns: auto 1fr 300px;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) {
    grid-template-columns: 1fr clamp(200px, 20vw, 300px);
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) .sidebar-general-bottom {
    grid-column: 2;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) > .section-common-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) .right-content > .section-common-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) .right-content > main.centro-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom):not(:has(.sidebar-general)):has(.sidebar-general-bottom) main.centro-content {
    grid-column: 1;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .left-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .right-content {
    display: contents;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    margin: 1.5rem 0;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general > a.active-sidebar-link,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general > span.active-sidebar-link {
    font-size: calc(0.1rem + clamp(0.825rem, 0.72rem + 0.26vw, 1rem));
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general-bottom {
    top: calc(var(--header-nav-height) + 1rem);
    max-height: calc(100vh - var(--header-nav-height) - 4.5rem);
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) > .section-common-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .right-content > .section-common-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .right-content > main.centro-content,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) main.centro-content {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0 0;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) > .section-common-content.depto,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .right-content > .section-common-content.depto,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .right-content > main.centro-content.depto,
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) main.centro-content.depto {
    margin-bottom: 0;
  }
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) .sidebar-general-bottom {
    grid-column: 3;
    grid-row: 1;
    width: 100%;
    margin: 1.5rem 0;
    position: sticky;
    bottom: auto;
  }
}

@media screen and (min-width: 1024px) {
  div.left-content:has(.sidebar-general, .sidebar-general-bottom) {
    position: sticky;
    top: calc(var(--header-nav-height) + 1px);
    z-index: 1;
  }
}

.sidebar-general {
  transition: top 0.3s ease-in-out, max-height 0.3s ease-in-out;
  top: calc(var(--header-nav-height));
}

.sidebar-general-bottom {
  transition: bottom 0.3s ease-in-out, max-height 0.3s ease-in-out;
  bottom: 0;
  left: 0;
}

.sidebar-general,
.sidebar-general-bottom {
  position: -webkit-sticky;
  position: sticky;
  /* Estilos del sidebar base */
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  height: fit-content;
  max-height: calc(100vh - clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem));
  z-index: 5;
  overflow-x: hidden;
  overflow-y: auto;
}
.sidebar-general::-webkit-scrollbar,
.sidebar-general-bottom::-webkit-scrollbar {
  height: 5px;
  width: 5px;
}
.sidebar-general::-webkit-scrollbar-track,
.sidebar-general-bottom::-webkit-scrollbar-track {
  background: var(--v2-gris);
  border-radius: 0.25rem;
}
.sidebar-general::-webkit-scrollbar-thumb,
.sidebar-general-bottom::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 0.25rem;
}
.sidebar-general,
.sidebar-general-bottom {
  border-radius: 0.5rem;
}
@media (max-width: 1024px) {
  .sidebar-general,
  .sidebar-general-bottom {
    top: calc(var(--header-nav-height) + 1px);
    overflow: visible !important;
    max-height: none;
  }
}
@media screen and (min-width: 1024px) {
  .sidebar-general > a,
  .sidebar-general > span.active-sidebar-link,
  .sidebar-general-bottom > a,
  .sidebar-general-bottom > span.active-sidebar-link {
    z-index: 15;
  }
}
.sidebar-general.sidebar-open,
.sidebar-general-bottom.sidebar-open {
  z-index: 10;
  max-height: calc(100vh - var(--header-height));
}
.sidebar-general h2,
.sidebar-general-bottom h2 {
  /* Estilos del header */
  display: block;
  font-weight: 700;
  color: var(--v2-azul-oscuro);
  text-transform: uppercase;
  line-height: 1.3;
  padding-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  padding-left: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-bottom: 1px solid var(--color-borde);
  position: relative;
}
.sidebar-general h2::before,
.sidebar-general-bottom h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  height: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.sidebar-general a,
.sidebar-general span.active-sidebar-link,
.sidebar-general-bottom a,
.sidebar-general-bottom span.active-sidebar-link {
  /* Estilos de enlaces */
  display: none;
  position: relative;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.4;
  color: var(--v2-azul-claro);
  text-decoration: none;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  border-radius: 0.25rem;
  transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .sidebar-general a,
  .sidebar-general span.active-sidebar-link,
  .sidebar-general-bottom a,
  .sidebar-general-bottom span.active-sidebar-link {
    border-radius: 0;
  }
}
.sidebar-general a:hover,
.sidebar-general span.active-sidebar-link:hover,
.sidebar-general-bottom a:hover,
.sidebar-general-bottom span.active-sidebar-link:hover {
  color: var(--color-blanco);
  background-color: var(--v2-azul-oscuro);
  text-decoration: none;
}
.sidebar-general a.active-sidebar-link,
.sidebar-general span.active-sidebar-link.active-sidebar-link,
.sidebar-general-bottom a.active-sidebar-link,
.sidebar-general-bottom span.active-sidebar-link.active-sidebar-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  color: var(--color-blanco);
  background-color: var(--v2-azul);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  z-index: 2;
  text-transform: uppercase;
}
.sidebar-general a.active-sidebar-link.sub-item-active,
.sidebar-general span.active-sidebar-link.active-sidebar-link.sub-item-active,
.sidebar-general-bottom a.active-sidebar-link.sub-item-active,
.sidebar-general-bottom span.active-sidebar-link.active-sidebar-link.sub-item-active {
  border-bottom: none;
  text-transform: none;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .sidebar-general a.active-sidebar-link.sub-item-active,
  .sidebar-general span.active-sidebar-link.active-sidebar-link.sub-item-active,
  .sidebar-general-bottom a.active-sidebar-link.sub-item-active,
  .sidebar-general-bottom span.active-sidebar-link.active-sidebar-link.sub-item-active {
    position: static;
    top: auto;
  }
}
@media screen and (max-width: 1024px) {
  .sidebar-general a.active-sidebar-link,
  .sidebar-general span.active-sidebar-link.active-sidebar-link,
  .sidebar-general-bottom a.active-sidebar-link,
  .sidebar-general-bottom span.active-sidebar-link.active-sidebar-link {
    justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) {
  .sidebar-general a.active-sidebar-link,
  .sidebar-general span.active-sidebar-link.active-sidebar-link,
  .sidebar-general-bottom a.active-sidebar-link,
  .sidebar-general-bottom span.active-sidebar-link.active-sidebar-link {
    border-bottom: var(--color-blanco) 1px solid;
    justify-content: flex-start;
    position: sticky;
    top: 0;
  }
  .sidebar-general a.active-sidebar-link::before,
  .sidebar-general span.active-sidebar-link.active-sidebar-link::before,
  .sidebar-general-bottom a.active-sidebar-link::before,
  .sidebar-general-bottom span.active-sidebar-link.active-sidebar-link::before {
    content: "";
    background-image: url("/assets/images/icons/flama_amarillo_rojo.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    left: -24px;
    width: 18px;
    height: 20px;
  }
}
.sidebar-general a.active-sidebar-link .active-sidebar-dropdown-indicator,
.sidebar-general span.active-sidebar-link.active-sidebar-link .active-sidebar-dropdown-indicator,
.sidebar-general-bottom a.active-sidebar-link .active-sidebar-dropdown-indicator,
.sidebar-general-bottom span.active-sidebar-link.active-sidebar-link .active-sidebar-dropdown-indicator {
  text-align: center;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-blanco) !important;
  width: 10px;
  height: 10px;
  padding-right: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  transition: transform 0.2s ease-in-out;
}
.sidebar-general a.active-sidebar-link .active-sidebar-dropdown-indicator.rotated,
.sidebar-general span.active-sidebar-link.active-sidebar-link .active-sidebar-dropdown-indicator.rotated,
.sidebar-general-bottom a.active-sidebar-link .active-sidebar-dropdown-indicator.rotated,
.sidebar-general-bottom span.active-sidebar-link.active-sidebar-link .active-sidebar-dropdown-indicator.rotated {
  transform: rotate(180deg);
}
.sidebar-general a.active-sidebar-link::before,
.sidebar-general span.active-sidebar-link.active-sidebar-link::before,
.sidebar-general-bottom a.active-sidebar-link::before,
.sidebar-general-bottom span.active-sidebar-link.active-sidebar-link::before {
  background-image: url("/portal/assets/img/icons/flama_amarillo_rojo.svg");
  opacity: 1;
}
.sidebar-general a.sub-item,
.sidebar-general span.active-sidebar-link.sub-item,
.sidebar-general-bottom a.sub-item,
.sidebar-general-bottom span.active-sidebar-link.sub-item {
  /* Subelementos */
  padding-left: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
}
.sidebar-general .sidebar-links-container,
.sidebar-general-bottom .sidebar-links-container {
  height: auto;
}
.sidebar-general .sidebar-links-container a,
.sidebar-general-bottom .sidebar-links-container a {
  display: block !important;
}
.sidebar-general:not(:has(.active-sidebar-link)) a,
.sidebar-general-bottom:not(:has(.active-sidebar-link)) a {
  display: block !important;
}

.main-section.dos-sidebars {
  /* Layout de dos sidebars */
  display: grid;
  grid-template-columns: minmax(200px, 250px) 1fr minmax(200px, 250px);
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  align-items: start;
}

@media (max-width: 1024px) {
  section.wrap:has(.sidebar-general, .sidebar-general-bottom) {
    display: flex;
    flex-direction: column;
  }
  .left-content {
    display: contents;
  }
  .left-content > * {
    order: 2;
  }
  .right-content {
    order: 2;
  }
  .sidebar-general {
    order: 1 !important;
    position: sticky !important;
    top: calc(var(--header-nav-height) + 1px) !important;
  }
  .sidebar-general .sidebar-links-container,
  .sidebar-general-bottom .sidebar-links-container {
    max-height: 0;
    visibility: hidden;
    padding: 0 clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
    overflow-y: hidden;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out, visibility 0.4s;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 4px;
    z-index: 100;
  }
  .sidebar-general .sidebar-links-container.is-open,
  .sidebar-general-bottom .sidebar-links-container.is-open {
    max-height: 50vh;
    visibility: visible;
    padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
    overflow-y: auto;
  }
  .sidebar-general .sidebar-links-container {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .sidebar-general-bottom {
    order: 3 !important;
    position: sticky !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0;
    width: 100%;
    z-index: 9;
    padding: calc(env(safe-area-inset-bottom, 0px) + 5px) 0;
    background-color: var(--color-blanco);
    border-top: 1px solid var(--color-borde);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    margin: 0;
    border-radius: 0;
    backdrop-filter: none;
  }
  .sidebar-general-bottom .active-sidebar-link {
    border-radius: 0.5rem;
  }
  .sidebar-general-bottom .active-sidebar-dropdown-indicator {
    transform: rotate(180deg);
  }
  .sidebar-general-bottom .active-sidebar-dropdown-indicator.rotated {
    transform: rotate(0deg);
  }
  .sidebar-general-bottom .sidebar-links-container {
    position: absolute;
    top: auto !important;
    bottom: calc(100% + 1px);
    left: 0;
    width: 100%;
    box-shadow: 0px -6px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .sidebar-general.sidebar-editorial-rector {
    order: 3 !important;
    position: sticky !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0;
    width: 100%;
    z-index: 9;
    padding: calc(env(safe-area-inset-bottom, 0px) + 5px) 0;
    background-color: var(--color-blanco);
    border-top: 1px solid var(--color-borde);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    margin: 0;
    border-radius: 0;
    backdrop-filter: none;
  }
  .sidebar-general.sidebar-editorial-rector .active-sidebar-link {
    border-radius: 0.5rem;
  }
  .sidebar-general.sidebar-editorial-rector .active-sidebar-dropdown-indicator {
    transform: rotate(180deg);
  }
  .sidebar-general.sidebar-editorial-rector .active-sidebar-dropdown-indicator.rotated {
    transform: rotate(0deg);
  }
  .sidebar-general.sidebar-editorial-rector .sidebar-links-container {
    position: absolute;
    top: auto !important;
    bottom: calc(100% + 1px);
    left: 0;
    width: 100%;
    box-shadow: 0px -6px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
}
@media (max-width: 768px) {
  .main-section.dos-sidebars {
    grid-template-columns: 1fr;
  }
}
/* -----------------------------------------
   Layout específico para page.php (Anuncios)
----------------------------------------- */
section.wrap.page-with-ads .sidebar-anuncios .slide-noticia .card {
  box-shadow: none;
}
section.wrap.page-with-ads .sidebar-anuncios .slide-noticia a .card-header h2 {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
}
section.wrap.page-with-ads .sidebar-anuncios .slide-noticia a .card-body .card-badge {
  display: none;
}
@media screen and (min-width: 1024px) {
  section.wrap.page-with-ads {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(300px, 20vw, 350px);
    gap: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
    align-items: flex-start;
  }
}
section.wrap.page-with-ads .page-content {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
}
section.wrap.page-with-ads .page-content:has(.section-common-content) {
  margin: 0;
}
section.wrap.page-with-ads .page-sidebar-right {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  margin: 1.5rem 0;
}
@media (max-width: 1024px) {
  section.wrap.page-with-ads .page-sidebar-right {
    display: contents;
  }
}
@media screen and (min-width: 1024px) {
  section.wrap.page-with-ads .page-sidebar-right {
    position: sticky;
    top: calc(var(--header-nav-height) + 1rem);
  }
}
@media screen and (min-width: 1024px) {
  section.wrap.page-with-ads .page-sidebar-right .sidebar-general {
    position: static;
    margin: 0;
  }
}

.sidebar-anuncios {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  height: fit-content;
  max-height: calc(100vh - var(--header-nav-height) - 2rem);
  z-index: 5;
  overflow-y: auto;
  border-radius: 0.5rem;
}
.sidebar-anuncios::-webkit-scrollbar {
  height: 5px;
  width: 5px;
}
.sidebar-anuncios::-webkit-scrollbar-track {
  background: var(--v2-gris);
  border-radius: 0.25rem;
}
.sidebar-anuncios::-webkit-scrollbar-thumb {
  background: var(--v2-azul);
  border-radius: 0.25rem;
}
.sidebar-anuncios .anuncios-container {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.sidebar-anuncios .anuncio-link {
  display: block;
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sidebar-anuncios .anuncio-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
}
.sidebar-anuncios .anuncio-link img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .sidebar-anuncios {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .copy-anchor-btn {
    display: inline-block !important;
    opacity: 1 !important;
  }
}

/* ============================================================================
   RESPONSIVE SIDEBAR OVERLAY & FLOATING BUTTON (1024px - 1300px)
   Solo aplicable a layouts de 3 columnas
   ============================================================================ */
.sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 9990;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}

.floating-sidebar-toggle {
  display: none;
}

@media screen and (min-width: 1024px) and (max-width: 1300px) {
  .floating-sidebar-toggle {
    display: flex;
    flex-direction: row;
    position: fixed;
    right: 0;
    top: calc(var(--header-nav-height) + 5rem);
    background-color: var(--v2-azul);
    color: white;
    padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
    border-radius: 0.5rem 0 0 0.5rem;
    border: none;
    box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    z-index: 9998;
    align-items: flex-start;
    gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
    transition: background-color 0.2s ease, right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
  }
  .floating-sidebar-toggle i {
    font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
    transform: rotate(-90deg);
  }
  .floating-sidebar-toggle:hover {
    background-color: var(--v2-azul-claro);
  }
  .floating-sidebar-toggle.sidebar-active {
    right: 280px;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) {
    grid-template-columns: 300px minmax(0, 1fr) !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom {
    position: fixed !important;
    top: calc(var(--header-nav-height) + 1rem) !important;
    right: -300px !important;
    width: 280px !important;
    height: auto !important;
    max-height: 80vh !important;
    background-color: var(--color-blanco) !important;
    border: 1px solid var(--color-borde) !important;
    box-shadow: -4px 0 15px rgba(0, 0, 0, 0.1) !important;
    z-index: 9995 !important;
    border-radius: 0.5rem 0 0 0.5rem !important;
    transition: right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    margin: 0 !important;
    padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) !important;
    overflow-y: auto !important;
    left: auto !important;
    bottom: auto !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom .active-sidebar-link:first-of-type {
    border-radius: 0 !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom .active-sidebar-link:last-of-type {
    border-radius: 0.5rem 0.5rem 0 0 !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom.sidebar-active {
    right: 0 !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom .sidebar-links-container {
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 0 !important;
    overflow-y: visible !important;
    position: static !important;
    box-shadow: none !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
  }
  section.wrap:has(.sidebar-general):has(.sidebar-general-bottom[data-left=false]) .sidebar-general-bottom .sidebar-links-container a.sidebar-link:last-of-type {
    border-radius: 0 0 0.25rem 0.25rem;
  }
  .main-section.dos-sidebars {
    grid-template-columns: 250px minmax(0, 1fr) !important;
  }
  .main-section.dos-sidebars aside:last-of-type {
    position: fixed !important;
    top: calc(var(--header-nav-height) + 1rem) !important;
    right: -280px !important;
    width: 280px !important;
    height: auto !important;
    max-height: 80vh !important;
    background-color: var(--color-blanco) !important;
    border: 1px solid var(--color-borde) !important;
    box-shadow: -4px 0 15px rgba(0, 0, 0, 0.1) !important;
    z-index: 9995 !important;
    border-radius: 0.5rem 0 0 0.5rem !important;
    transition: right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    margin: 0 !important;
    padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) !important;
    overflow-y: auto !important;
    left: auto !important;
    bottom: auto !important;
  }
  .main-section.dos-sidebars aside:last-of-type.sidebar-active {
    right: 0 !important;
  }
  .main-section.dos-sidebars aside:last-of-type .sidebar-links-container {
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 0 !important;
    overflow-y: visible !important;
    position: static !important;
    box-shadow: none !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
  }
}
.simple-vanilla-slider {
  overflow: hidden;
  height: auto;
  border-radius: 0.5rem;
}
.simple-vanilla-slider .slider-track .simple-slide img {
  max-width: 100%;
  width: 100%;
  object-fit: cover;
}

.manual-slider .slider-btn,
.box-shadow-news .slider-arrows .slider-arrow,
.slide-publicacion .publicacion-card .slider-controls .slider-arrow {
  position: absolute;
  z-index: 3;
  font-size: 1.4rem;
  background: rgb(255, 255, 255);
  opacity: 0.8;
  border: none;
  border-radius: 50%;
  width: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  height: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
  color: var(--v2-azul);
}
.manual-slider .slider-btn:hover,
.box-shadow-news .slider-arrows .slider-arrow:hover,
.slide-publicacion .publicacion-card .slider-controls .slider-arrow:hover {
  opacity: 1;
  background: rgb(255, 255, 255);
}

.social-section .social-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  gap: 1.5rem;
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  list-style: none;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.social-section .social-footer a img {
  transition: all 150ms ease-in-out;
  width: clamp(2.5rem, 2.5rem + 2.5vw, 4rem);
  height: clamp(2.5rem, 2.5rem + 2.5vw, 4rem);
}
.social-section .social-footer a:hover img {
  transform: scale(1.1);
}
.social-section .social-footer a i {
  pointer-events: none;
}

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

.clearfix {
  display: block;
  width: 100%;
}

.table-superior {
  border-color: #ffffff;
  width: 100%;
  border-collapse: collapse;
}

.procedimientos {
  border-color: #ffffff;
  width: 50%;
  float: left;
}

table td {
  white-space: normal !important;
  word-wrap: break-word;
  word-break: break-word;
}

/* --- 04-TEMPLATES_PAGES --- */
aside[role=search] {
  display: none;
  margin-block: 1.5rem;
  padding: 1rem;
  background: var(--v2-gris-claro);
  border-radius: 0.5rem;
}
aside[role=search] p {
  margin-block-end: 0.75rem;
  font-weight: 600;
  color: var(--v2-azul-oscuro);
}
aside[role=search] form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
aside[role=search] select {
  padding: 0.75rem;
  border: 1px solid var(--v2-gris);
  border-radius: 0.25rem;
  background: white;
  font-size: 1rem;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
aside[role=search] select:hover, aside[role=search] select:focus {
  border-color: var(--v2-azul);
  outline: none;
}
@media (min-width: 768px) {
  aside[role=search] form {
    flex-direction: row;
  }
  aside[role=search] select {
    flex: 1;
  }
}

.eventos-grid {
  padding: 0 !important;
  margin: 2rem 0;
  min-height: 20vh;
  display: grid;
  place-items: center;
}

.eventos-grid > .wrap {
  display: block;
  column-count: 1;
  column-gap: 1.5rem;
  margin-block: 2rem;
  padding-block: 10px;
  /* Evita que las sombras de las tarjetas se corten arriba/abajo en Safari */
  padding-inline: 4px;
  /* Evita corte de sombras laterales */
}
@media (min-width: 640px) {
  .eventos-grid > .wrap {
    column-count: 3;
  }
}
@media (min-width: 1024px) {
  .eventos-grid > .wrap {
    column-count: 5;
  }
}

.evento-card {
  position: relative;
  background: white;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: inline-block;
  /* Más estable que block en Safari dentro de columnas */
  width: 100%;
  break-inside: avoid;
  margin-bottom: 1.5rem;
  /* Aceleración por hardware para evitar parpadeos y cortes en Safari (usando translate3d permanente) */
  -webkit-transform: translate3d(0, 0, 1px);
  transform: translate3d(0, 0, 1px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform, box-shadow;
}
.evento-card a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.evento-card img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 1px);
  transform: translate3d(0, 0, 1px);
}
.evento-card .evento-card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5rem 1rem 1rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 15%, rgba(0, 0, 0, 0) 100%);
  transition: transform 0.3s ease, opacity 0.3s ease;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
  opacity: 0;
}
.evento-card .evento-card-content h2 {
  color: white;
  margin: 0;
  font-size: calc(0.1rem + clamp(0.84rem, 0.839rem + 0.305vw, 1.13rem));
  font-weight: 600;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.evento-card:hover {
  -webkit-transform: translate3d(0, -4px, 1px);
  transform: translate3d(0, -4px, 1px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.evento-card:hover img {
  -webkit-transform: scale3d(1.03, 1.03, 1) translate3d(0, 0, 1px);
  transform: scale3d(1.03, 1.03, 1) translate3d(0, 0, 1px);
  /* Zoom sutil en 3D */
}
.evento-card:hover .evento-card-content {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
@media (max-width: 767px) {
  .evento-card .evento-card-content {
    transform: translateY(0);
    opacity: 1;
    padding: 4rem 1rem 1rem;
    background: linear-gradient(to top, rgb(0, 0, 0) 15%, rgba(0, 0, 0, 0) 100%);
  }
}
.evento-card .evento-card-no-image {
  padding: 2rem 1.5rem;
  background: linear-gradient(135deg, var(--v2-azul-oscuro), var(--v2-azul));
  color: white;
  height: 100%;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 0.5rem;
}
.evento-card .evento-card-no-image h2 {
  margin: 0 0 1rem 0;
  font-weight: 600;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.evento-card .evento-card-no-image .evento-info-basica {
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  opacity: 0.9;
}
.evento-card .evento-card-no-image .evento-info-basica p {
  margin: 0 0 0.5rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.evento-card .evento-card-no-image .evento-info-basica p i {
  color: var(--v2-rojo);
}
.evento-card .evento-card-no-image .btn-ver-mas {
  margin-top: auto;
  align-self: flex-start;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
  transition: background 0.2s ease;
}
.evento-card:hover .evento-card-no-image .btn-ver-mas {
  background: var(--v2-rojo);
}

hr {
  border: 1px solid var(--color-borde);
  margin: 10px 0 20px 0;
}

/* Esta página no necesita el 75% de width */
.section-common-content {
  width: 100% !important;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
}
.section-common-content div[id]:has(h2):has(a.copy-anchor-btn):not(#enlaces-externos) {
  margin: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) 0;
}
.section-common-content div[id]:has(h2):has(a.copy-anchor-btn):not(#enlaces-externos) h2 {
  margin: clamp(1rem, 0.75rem + 1.25vw, 1.25rem) 0;
}
@media screen and (max-width: 1024px) {
  .section-common-content {
    min-height: 75vh;
  }
}

/* Tampoco el borde */
.section-common-content h3 {
  border-bottom: none;
  margin-top: 0;
}

.evt_wrapper {
  margin-bottom: 50px;
}

.evt_title {
  margin: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) 0;
}

.evt_container {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 3rem;
}

.evt_img_resp {
  width: min(700px, 45vw);
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: calc(var(--header-nav-height) + 2rem);
}

.evt_content_grid {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  position: sticky;
  top: calc(var(--header-nav-height) + 2rem);
  align-self: start;
}

.evt_main_column {
  flex: 1 1 65%;
  min-width: 300px;
}

.evt_sidebar_column {
  flex: 1 1 30%;
  min-width: 250px;
  background: var(--color-fondo);
  padding: 25px;
  border-radius: 8px;
  border: 1px solid var(--color-borde);
}

.evt_detail_item {
  margin-bottom: 15px;
  display: flex;
  align-items: flex-start;
  font-size: 1.05rem;
}

.evt_detail_icon {
  margin-right: 12px;
  color: var(--v2-azul-oscuro);
  font-size: 1.2rem;
  min-width: 20px;
  text-align: center;
  margin-top: 7px;
}

.evt_detail_text strong {
  display: block;
  font-size: 0.9em;
  color: var(--v2-azul);
  text-transform: uppercase;
  margin-bottom: 5px;
}

.evt_resources {
  margin-top: 20px;
}

.evt_resource_list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

.evt_resource_item {
  margin-bottom: 10px;
}

.evt_resource_item a {
  color: var(--v2-azul);
  text-decoration: none !important;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
}

.evt_resource_item a:hover {
  color: var(--v2-azul-oscuro);
  text-decoration: underline;
}

.evt_resource_icon {
  margin-right: 8px;
  font-size: 1.1rem;
}

.evt_center_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.evt_center_item {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  font-size: 1.05rem;
}

.evt_resource_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.evt_resource_item::before {
  background-image: none !important;
  width: 0 !important;
  height: 0 !important;
  padding-left: 0 !important;
}

.evt_resource_item {
  margin-bottom: 10px;
  padding-left: 4px !important;
}

.evt_resource_item a {
  color: var(--v2-azul);
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
}

.evt_resource_item a:hover {
  color: var(--v2-azul-oscuro);
  text-decoration: underline;
}

.evt_resource_icon {
  margin-right: 12px;
  font-size: 1.1rem;
}

.evt_center_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.evt_center_item {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  font-size: 1.05rem;
}

/* Responsive (Tablet y Celular) */
@media (max-width: 1024px) {
  .evt_container {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .evt_container .evt_img_resp {
    width: clamp(200px, 100%, 600px);
  }
  .evt_content_grid {
    flex-direction: column;
  }
  .evt_sidebar_column {
    position: static;
    order: -1;
    margin-bottom: 20px;
    width: 100%;
  }
}
/* ============================================================================
   ARCHIVO NOTICIAS
   Template: archive-noticias.php
   ============================================================================ */
/* Estilos globales para la imagen de las cards de noticias con soporte vertical */
.imagen-noticia {
  position: relative;
  overflow: hidden;
}
.imagen-noticia__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.imagen-noticia--vertical {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.imagen-noticia--vertical::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: blur(15px) brightness(0.7);
  z-index: 1;
  transform: scale(1.1);
}
.imagen-noticia--vertical .imagen-noticia__img {
  position: relative;
  z-index: 2;
  object-fit: contain !important;
}

/* ------------------------------------------
   Invertir el orden de las columnas del grid base solo para esta página
   - En PC: Sidebar a la derecha (300px) y contenido principal a la izquierda (1fr)
   - En celular/tablet: Oculta el sidebar para mayor espacio
------------------------------------------ */
@media screen and (max-width: 1023px) {
  section.wrap.page-with-ads:has(.content-not) .page-sidebar-right {
    display: none !important;
  }
}

.content-not #main-noticias,
.content-not .noticias-grid-wrapper,
.content-not .most-read-news {
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

/* ------------------------------------------
   Página principal: layout con sidebar derecho
   Reutiliza .page-with-ads de _sidebar.scss
------------------------------------------ */
/* ------------------------------------------
   Hero: Noticias Recientes (3 cards destacadas)
   Desktop: card grande izquierda + 2 pequeñas en columna derecha
   Móvil: columna simple (hereda el flujo)
------------------------------------------ */
#main-noticias {
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  background-color: transparent;
}
#main-noticias > h2 {
  margin: 0 0 clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
}

.noticias-hero-grid {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
@media screen and (min-width: 1024px) {
  .noticias-hero-grid {
    display: grid !important;
    grid-template-columns: 6fr 4fr;
    grid-template-rows: repeat(2, 1fr);
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
    align-items: stretch;
    min-height: 450px;
    max-height: 90vh;
  }
  .noticias-hero-grid .card-1 {
    grid-column: 1;
    grid-row: span 2;
  }
}
@media screen and (min-width: 1024px) and (min-width: 768px) {
  .noticias-hero-grid .card-1 .hero-noticia-card__title {
    font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  }
}
@media screen and (min-width: 1024px) {
  .noticias-hero-grid.hero-grid--two-columns .card-2 {
    grid-row: span 2 !important;
  }
}

/* ============================================================================
   ESTILOS NUEVOS: hero-noticia-card (Diseño libre)
   ============================================================================ */
.hero-noticia-card {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  height: 100%;
  min-height: 280px;
  width: 100%;
  display: block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: solid 1px rgba(0, 0, 0, 0.13);
}
@media screen and (min-width: 1024px) {
  .hero-noticia-card {
    min-height: auto;
  }
}
@media screen and (max-width: 1023px) {
  .hero-noticia-card {
    min-height: auto;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  }
  .hero-noticia-card .hero-noticia-card__badge {
    visibility: visible;
    opacity: 0.95;
  }
  .hero-noticia-card .hero-noticia-card__excerpt {
    max-height: 120px;
    opacity: 1;
    margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
    padding: 0;
  }
  .hero-noticia-card .hero-noticia-card__media,
  .hero-noticia-card .hero-noticia-card__content {
    min-height: max(220px, 30vw);
  }
}
@media screen and (min-width: 1024px) {
  .hero-noticia-card .hero-noticia-card__img {
    filter: blur(0px);
  }
  .hero-noticia-card .hero-noticia-card__excerpt {
    padding: 0;
  }
  .hero-noticia-card:hover {
    box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
  }
  .hero-noticia-card:hover .hero-noticia-card__img {
    filter: blur(2px);
    transform: scale(1.02);
  }
  .hero-noticia-card:hover .hero-noticia-card__badge {
    visibility: visible;
    opacity: 0.95;
  }
  .hero-noticia-card:hover .hero-noticia-card__excerpt {
    max-height: 120px;
    opacity: 1;
    margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  }
  .hero-noticia-card:hover .hero-noticia-card__media::after {
    opacity: 1 !important;
  }
}
@media screen and (min-width: 1024px) {
  #grid-noticias .hero-noticia-card {
    aspect-ratio: 1.5;
  }
  #grid-noticias .hero-noticia-card--vertical {
    aspect-ratio: auto;
    height: 100%;
  }
}
.hero-noticia-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  position: relative;
}
.hero-noticia-card__media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}
.hero-noticia-card__media::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.75) 100%);
  z-index: 2;
  opacity: 1;
}
.hero-noticia-card__media::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 20%, rgba(0, 0, 0, 0.95) 100%);
  z-index: 3;
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 1023px) {
  .hero-noticia-card__media::before {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.95) 90%);
  }
}
.hero-noticia-card__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.3s ease-in-out;
}
.hero-noticia-card__content {
  position: relative;
  z-index: 3;
  margin-top: auto;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  color: var(--color-blanco);
}
@media screen and (min-width: 768px) {
  .card-1 .hero-noticia-card__content {
    padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
.hero-noticia-card__badge {
  display: inline-block;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-blanco);
  border-radius: 4px;
  align-self: flex-start;
  white-space: nowrap;
  letter-spacing: 0.05em;
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.13);
}
@media screen and (min-width: 1024px) {
  .hero-noticia-card__badge {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}
.hero-noticia-card__title {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 700;
  color: var(--color-blanco) !important;
  line-height: 1.3;
  margin: 0;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.13);
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .hero-noticia-card__title {
    font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  }
}
.hero-noticia-card__excerpt {
  margin: 0;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.4;
  color: rgba(var(--color-blanco), 0.85);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.13);
}
@media screen and (max-width: 767px) {
  .hero-noticia-card__excerpt {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .hero-noticia-card__excerpt {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-top: 0;
    transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  }
}
.hero-noticia-card--vertical .hero-noticia-card__media {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-noticia-card--vertical .hero-noticia-card__media::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: blur(15px) brightness(0.7);
  z-index: 2;
  transform: scale(1.1);
}
.hero-noticia-card--vertical .hero-noticia-card__media::after {
  z-index: 5;
}
.hero-noticia-card--vertical .hero-noticia-card__media .hero-noticia-card__img {
  position: relative;
  z-index: 4;
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
}
.hero-noticia-card--publication {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3/4;
}
.hero-noticia-card--publication .hero-noticia-card__media {
  height: 100% !important;
}

/* ------------------------------------------
   Noticias Anteriores: cuadrícula de 3 columnas
------------------------------------------ */
.noticias-grid-wrapper {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.noticias-grid-wrapper #grid-noticias {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-auto-flow: dense;
}
@media screen and (min-width: 600px) {
  .noticias-grid-wrapper #grid-noticias .hero-noticia-card--vertical {
    grid-row: span 2 !important;
  }
}
.noticias-grid-wrapper #grid-noticias .slide-noticia {
  display: flex !important;
  animation: none;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.noticias-grid-wrapper #grid-noticias .slide-noticia .slide-noticia__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.noticias-grid-wrapper #grid-noticias .slide-noticia .card-header.titulo-noticia h2 {
  line-clamp: 2;
  -webkit-line-clamp: 2;
  font-size: calc(0.1rem + clamp(0.84rem, 0.839rem + 0.305vw, 1.13rem));
  font-weight: 600;
}
.noticias-grid-wrapper #grid-noticias .slide-noticia .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.noticias-grid-wrapper #grid-noticias .slide-noticia .card-body .card-badge {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
}
.noticias-grid-wrapper #grid-noticias .slide-noticia .card-body .imagen-noticia {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
@media screen and (min-width: 600px) {
  .noticias-grid-wrapper #grid-noticias {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  .noticias-grid-wrapper #grid-noticias {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ------------------------------------------
   Noticias Más Leídas: apiladas en el sidebar
------------------------------------------ */
.most-read-news {
  margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
.most-read-news h2 {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.most-read-news #grid-noticias {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.most-read-news #grid-noticias .slide-noticia {
  display: flex !important;
  animation: none;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.most-read-news #grid-noticias .slide-noticia .slide-noticia__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.most-read-news #grid-noticias .slide-noticia .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.most-read-news #grid-noticias .slide-noticia .card-body .imagen-noticia {
  width: 100%;
  height: 140px;
  object-fit: cover;
}
@media screen and (min-width: 600px) {
  .most-read-news #grid-noticias {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1400px) {
  .most-read-news #grid-noticias {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ------------------------------------------
   Paginación (full-width, fuera del grid de cards)
------------------------------------------ */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) 0;
}
.pagination-wrapper .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: clamp(2.5rem, 2.5rem + 2.5vw, 4rem);
  height: clamp(2.5rem, 2.5rem + 2.5vw, 4rem);
  margin: 0 4px;
  border-radius: 4px;
  font-weight: 700;
  color: var(--v2-azul);
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .pagination-wrapper .page-numbers {
    min-width: clamp(2rem, 1.5rem + 2.5vw, 3rem);
    height: clamp(2rem, 1.5rem + 2.5vw, 3rem);
  }
}
.pagination-wrapper .page-numbers:hover:not(.dots):not(.current) {
  background-color: hsla(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l), 0.1);
}
.pagination-wrapper .page-numbers.current {
  background-color: var(--v2-azul);
  color: #fff;
}
.pagination-wrapper .page-numbers.dots {
  cursor: default;
}
.pagination-wrapper .page-numbers.next, .pagination-wrapper .page-numbers.prev {
  display: flex;
}
@media screen and (max-width: 400px) {
  .pagination-wrapper .page-numbers.next, .pagination-wrapper .page-numbers.prev {
    display: none;
  }
}

/* ------------------------------------------
   Sidebar: Publicaciones Recientes
   (Integrado con .sidebar-general)
------------------------------------------ */
.sidebar-general .publicaciones-container {
  display: flex !important;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-height: none !important;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) !important;
  box-shadow: none !important;
  border: none !important;
  width: 100% !important;
}
@media screen and (max-width: 1023px) {
  .sidebar-general .publicaciones-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    gap: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
    padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) !important;
  }
}
.sidebar-general .publicacion-item {
  display: flex !important;
  flex-direction: column;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-decoration: none;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background-color: var(--color-blanco) !important;
  width: 100% !important;
}
.sidebar-general .publicacion-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  text-decoration: none;
  background-color: var(--color-blanco) !important;
}
.sidebar-general .publicacion-item__img-wrap {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 3/4;
}
.sidebar-general .publicacion-item__img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.sidebar-general .publicacion-item:hover .sidebar-general .publicacion-item__img-wrap img {
  transform: scale(1.04);
}
.sidebar-general .publicacion-item__info {
  display: flex;
  flex-direction: column;
  gap: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  background-color: var(--color-blanco) !important;
}
.sidebar-general .publicacion-item__tipo {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 700;
  text-transform: uppercase;
  color: var(--v2-azul) !important;
  letter-spacing: 0.05em;
}
.sidebar-general .publicacion-item__titulo {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario) !important;
  line-height: 1.4;
}

/* Contenedor principal de la galería */
.gallery-container {
  margin-top: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) 0;
}
.gallery-container h2 {
  font-weight: 700;
  color: var(--v2-azul);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: center;
}
.gallery-container .photo-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.gallery-container .photo-gallery-grid .gallery-item {
  margin: 0;
  flex-grow: 1;
  max-width: 300px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  position: relative;
}
.gallery-container .photo-gallery-grid .gallery-item a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
}
.gallery-container .photo-gallery-grid .gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.25s ease;
}
.gallery-container .photo-gallery-grid .gallery-item img:hover {
  transform: scale(1.05);
}
.gallery-container .photo-gallery-grid .gallery-item--vertical {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.gallery-container .photo-gallery-grid .gallery-item--vertical::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: blur(15px) brightness(0.8);
  z-index: 1;
  transform: scale(1.1);
}
.gallery-container .photo-gallery-grid .gallery-item--vertical a {
  z-index: 2;
}
.gallery-container .photo-gallery-grid .gallery-item--vertical img {
  object-fit: contain !important;
  position: relative;
  z-index: 3;
}

/* ------------------------------------------
   Single noticias page: Noticias Recientes (4 cards)
------------------------------------------ */
.page-sidebar-right.static {
  position: static !important;
}

.recent-news > h2 {
  margin: 0 0 clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
}
.recent-news #grid-noticias {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.recent-news #grid-noticias .slide-noticia {
  display: flex !important;
  animation: none;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.recent-news #grid-noticias .slide-noticia .slide-noticia__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.recent-news #grid-noticias .slide-noticia .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.recent-news #grid-noticias .slide-noticia .card-body .imagen-noticia {
  width: 100%;
  height: 160px;
  object-fit: cover;
}
@media screen and (min-width: 576px) {
  .recent-news #grid-noticias {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .recent-news #grid-noticias {
    grid-template-columns: repeat(4, 1fr);
  }
}
.page-sidebar-right .recent-news {
  margin-top: 0;
}
@media screen and (min-width: 1024px) {
  .page-sidebar-right .recent-news #grid-noticias {
    grid-template-columns: 1fr !important;
  }
  .page-sidebar-right .recent-news .hero-noticia-card {
    min-height: 180px;
    height: 200px;
    margin-bottom: var(--space-4);
  }
  .page-sidebar-right .recent-news .hero-noticia-card .hero-noticia-card__title {
    font-size: var(--text-base);
  }
}

/* ============================================================================
   COMPONENTE CONTENT - TEMA UAAV2
   Estilos unificados para contenido de texto en TODOS los templates
   ============================================================================ */
/* ===== CONTENEDOR DE CONTENIDO PRINCIPAL ===== */
.content,
.main-content {
  /* Contenedor principal para todo el contenido de texto */
  max-width: none;
}
.content a:has(img),
.main-content a:has(img) {
  display: contents;
}
.content a img,
.main-content a img {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: all 180ms ease-in-out;
  border-radius: 0.5rem !important;
}
.content a:hover img,
.main-content a:hover img {
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.content:has(.main-content-description:not(:empty)),
.main-content:has(.main-content-description:not(:empty)) {
  margin: 1.5rem 0;
}
.content .info-block,
.main-content .info-block {
  color: var(--color-texto-secundario);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

span {
  white-space: normal;
  word-break: break-word;
}

.main-section div.info {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-secundario);
  font-style: italic;
  display: block;
  text-align: right;
}
.main-section div.imagen-noticia {
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
}
@media (min-width: 768px) {
  .main-section .recent-news .box-shadow-news .slider-noticias {
    max-width: 1200px;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: flex-start !important;
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  }
  .main-section .recent-news .box-shadow-news .slider-noticias .card {
    flex: 1;
    height: 100%;
    height: -webkit-fill-available;
    flex-basis: 40%;
  }
}

p > a > span::after {
  content: "\f08e";
  font-family: "FontAwesome", sans-serif;
  display: inline-block;
  z-index: 1;
  margin-left: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  font-size: 0.85em;
  opacity: 0.7;
}

.content > * + * {
  /* Espaciado consistente entre elementos */
  margin-top: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

/* ===== HEADINGS EN CONTENIDO ===== */
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  color: var(--v2-azul);
  font-weight: 700;
  line-height: 1.3;
}

.content h1:first-child,
.content h2:first-child,
.content h3:first-child,
.content h4:first-child,
.content h5:first-child,
.content h6:first-child {
  margin-top: 0;
}

/* ===== PÁRRAFOS EN CONTENIDO ===== */
.content p {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  color: var(--color-texto-principal);
}

.content p:last-child {
  margin-bottom: 0;
}

/* Párrafo destacado */
.content .lead,
.content p.lead {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 500;
  color: var(--color-texto-principal);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

/* ===== ENLACES EN CONTENIDO ===== */
.content a {
  color: var(--v2-azul);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: all 180ms ease-in-out;
}

.content a:hover {
  color: var(--v2-azul-claro);
  text-decoration-thickness: 2px;
}

.content a:focus {
  outline: 2px solid var(--v2-azul);
  outline-offset: 2px;
  border-radius: 0.25rem;
}

/* ===== LISTAS EN CONTENIDO ===== */
.content ul,
.content ol {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding-left: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

.content li {
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  line-height: 1.6;
  color: var(--color-texto-principal);
}

.content li:last-child {
  margin-bottom: 0;
}

.content li > ul,
.content li > ol {
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

/* ===== BLOCKQUOTES ===== */
.content blockquote {
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  background-color: var(--color-fondo);
  border-left: 4px solid var(--v2-azul);
  border-radius: 0.5rem;
  color: var(--color-texto-secundario);
}

.content blockquote p {
  font-style: italic;
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  color: var(--color-texto-secundario);
  margin-bottom: 0;
}

.content blockquote cite {
  display: block;
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  font-style: normal;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-claro);
}

.content blockquote cite::before {
  content: "— ";
}

/* ===== CÓDIGO ===== */
.content code {
  padding: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  background-color: var(--color-fondo-oscuro);
  border-radius: 0.25rem;
  font-size: 0.9em;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
}

.content pre {
  margin: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--color-fondo-oscuro);
  border-radius: 0.5rem;
  overflow-x: auto;
}

.content pre code {
  padding: 0;
  background-color: transparent;
  border-radius: 0;
}

/* ===== TABLAS ===== */
.content table {
  width: 100%;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  border-collapse: collapse;
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem;
  overflow: hidden;
}

.content th,
.content td {
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  text-align: left;
  border-bottom: 1px solid var(--color-borde);
}

.content th {
  background-color: var(--color-fondo);
  font-weight: 600;
  color: var(--v2-azul);
}

.content tr:hover {
  background-color: var(--color-fondo);
}

/* ===== IMÁGENES EN CONTENIDO ===== */
.content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.content figure {
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  text-align: center;
}

.content figcaption {
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  font-style: italic;
}

/* ===== SEPARADORES ===== */
.content hr {
  margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) 0;
  border: none;
  height: 1px;
  background-color: var(--color-borde);
}

/* ===== CONTENIDO DESTACADO ===== */
.content .highlight {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--v2-amarillo);
  border-radius: 0.5rem;
  color: var(--v2-azul);
  font-weight: 500;
}

.content .note {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--color-fondo);
  border-left: 4px solid var(--v2-azul-claro);
  border-radius: 0.5rem;
  margin: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
}

.content .warning {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: #fef2f2;
  border-left: 4px solid #ef4444;
  border-radius: 0.5rem;
  margin: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  color: #991b1b;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .content table {
    font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  }
  .content th,
  .content td {
    padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  }
}
.gray-bg {
  background-color: var(--color-fondo-oscuro);
}

.white-bg {
  background-color: var(--color-blanco);
}

.center {
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.center.numbers-container a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.center.numbers-container a:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.center.links-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
}
.center.links-container a {
  width: clamp(200px, 45%, 300px);
  height: auto;
}
.center.links-container a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.center.links-container a:hover {
  transform: scale(1.02);
}

#servicios .wrap.limpiar {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

#servicios .numeros {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

#servicios .numeros img {
  width: 85%;
}

.servicios-container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 967px) {
  .servicios-container {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .servicios-container {
    width: 100%;
  }
}

.servicios-container a {
  width: 45%;
  margin: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) auto;
  transition: transform 0.15s ease-in-out;
}
@media screen and (min-width: 670px) {
  .servicios-container a {
    width: 30%;
    margin: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  }
}
@media screen and (min-width: 1200px) {
  .servicios-container a {
    width: 20%;
    margin: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  }
}

.servicios-container a:hover {
  transform: scale(1.02);
}

.servicios-container img {
  width: clamp(100px, 35vw, 300px);
}
@media screen and (min-width: 967px) {
  .servicios-container img {
    width: clamp(100px, 65vw, 300px);
  }
}
@media screen and (max-width: 500px) {
  .servicios-container img {
    width: 100%;
  }
}

section:not(.centro-section, .wrap, .banner-section, .clearfix, .gaceta-section, :has(.share-buttons-wrapper)) {
  padding: clamp(2.5rem, 2rem + 2.5vw, 3rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

section.main-section:has(.child-pages-section) {
  padding-top: 0;
  margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
section.main-section:has(.child-pages-section) h1.title {
  margin-bottom: 0;
}

section.wrap:has(.centro-section) {
  padding: 0;
}

div.events-section.gray-bg,
div.publications-section.white-bg {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
  div.events-section.gray-bg,
  div.publications-section.white-bg {
    background: transparent !important;
    margin: 0;
    padding: 0 !important;
    box-shadow: none !important;
  }
}

.yt-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 800px) {
  .yt-container {
    flex-direction: row;
    gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    width: 80%;
    margin: 0 auto;
  }
}
.yt-container .yt-video {
  width: clamp(200px, 100%, 400px);
  aspect-ratio: 16/9;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border-radius: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
  overflow: hidden;
}
@media screen and (min-width: 800px) {
  .yt-container .yt-video {
    width: 50%;
  }
}
.yt-container .yt-video iframe,
.yt-container .yt-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.yt-container .yt-info {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .yt-container .yt-info .full-width p {
    padding: 0;
  }
}
@media screen and (min-width: 800px) {
  .yt-container .yt-info {
    width: 50%;
  }
}

/* ================ */
/* ====NOTICIAS==== */
/* ================ */
.white-bg:has(.news-section) {
  display: flex;
  flex-direction: column;
  padding: clamp(2.5rem, 2rem + 2.5vw, 3rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  width: 100%;
}
.white-bg:has(.news-section) .news-events-section {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .white-bg:has(.news-section) .news-events-section {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
}
.white-bg:has(.news-section) .news-section,
.white-bg:has(.news-section) .events-section,
.white-bg:has(.news-section) .publications-section {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
@media screen and (max-width: 1023px) {
  .white-bg:has(.news-section) .news-section,
  .white-bg:has(.news-section) .events-section,
  .white-bg:has(.news-section) .publications-section {
    padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) 0;
  }
}
@media screen and (min-width: 1024px) {
  .white-bg:has(.news-section) .news-section,
  .white-bg:has(.news-section) .events-section,
  .white-bg:has(.news-section) .publications-section {
    flex: 1;
    min-width: 0;
    padding: 0;
  }
}
.white-bg:has(.news-section) .news-section > a.btn.btn-rojo,
.white-bg:has(.news-section) .events-section > a.btn.btn-rojo,
.white-bg:has(.news-section) .publications-section > a.btn.btn-rojo {
  margin-top: auto;
  display: block;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.news-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}
.news-section .news-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  flex-grow: 1;
}

.events-section .events-content,
.events-section .publications-content,
.publications-section .events-content,
.publications-section .publications-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.news-column-container {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  width: 100%;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
@media screen and (min-width: 1024px) {
  .news-column-container {
    flex-grow: 1;
  }
}
@media screen and (max-width: 1023px) {
  .news-column-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 300px));
    justify-content: center;
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
@media screen and (max-width: 1023px) and (max-width: 850px) {
  .news-column-container {
    grid-template-columns: repeat(2, minmax(0, 300px));
  }
}
@media screen and (max-width: 1023px) and (max-width: 580px) {
  .news-column-container {
    grid-template-columns: repeat(1, minmax(0, 350px));
  }
}
.news-column-container {
  /* Desktop layout rules (3 slots total, 2 cards shown if vertical cover is present) */
}
@media screen and (min-width: 1024px) {
  .news-column-container.v-1 .news-card-index:nth-child(3), .news-column-container.v-2 .news-card-index:nth-child(3) {
    display: none;
  }
  .news-column-container.v-3 .news-card-index:nth-child(2) {
    display: none;
  }
  .news-column-container {
    /* Flex-grow row proportions */
  }
  .news-column-container.v-1 .news-card-index:nth-child(1) {
    flex: 2;
  }
  .news-column-container.v-1 .news-card-index:nth-child(2) {
    flex: 1;
  }
  .news-column-container.v-2 .news-card-index:nth-child(2) {
    flex: 2;
  }
  .news-column-container.v-2 .news-card-index:nth-child(1) {
    flex: 1;
  }
  .news-column-container.v-3 .news-card-index:nth-child(3) {
    flex: 2;
  }
  .news-column-container.v-3 .news-card-index:nth-child(1) {
    flex: 1;
  }
}
.news-column-container {
  /* Tablet grid row-spanning (1 vertical, 2 horizontal side-by-side) */
}
@media screen and (min-width: 581px) and (max-width: 850px) {
  .news-column-container {
    grid-template-rows: repeat(2, 1fr);
  }
  .news-column-container.v-1 .news-card-index:nth-child(1) {
    grid-column: 1;
    grid-row: span 2;
    height: 100%;
  }
  .news-column-container.v-1 .news-card-index:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .news-column-container.v-1 .news-card-index:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
    display: flex !important;
  }
  .news-column-container.v-1 .news-card-index:nth-child(4) {
    display: none !important;
  }
  .news-column-container.v-2 .news-card-index:nth-child(2) {
    grid-column: 2;
    grid-row: span 2;
    height: 100%;
  }
  .news-column-container.v-2 .news-card-index:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .news-column-container.v-2 .news-card-index:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
    display: flex !important;
  }
  .news-column-container.v-2 .news-card-index:nth-child(4) {
    display: none !important;
  }
  .news-column-container.v-3 .news-card-index:nth-child(3) {
    grid-column: 2;
    grid-row: span 2;
    height: 100%;
  }
  .news-column-container.v-3 .news-card-index:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .news-column-container.v-3 .news-card-index:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    display: flex !important;
  }
  .news-column-container.v-3 .news-card-index:nth-child(4) {
    display: none !important;
  }
  .news-column-container.v-4 .news-card-index:nth-child(4) {
    grid-column: 2;
    grid-row: span 2;
    height: 100%;
    display: flex !important;
  }
  .news-column-container.v-4 .news-card-index:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .news-column-container.v-4 .news-card-index:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .news-column-container.v-4 .news-card-index:nth-child(3) {
    display: none !important;
  }
}

.news-card-index {
  position: relative;
  height: 180px;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}
@media screen and (max-width: 580px) {
  .news-card-index--vertical {
    height: 380px !important;
  }
}
@media screen and (min-width: 1024px) {
  .news-card-index {
    flex: 1;
    height: auto;
  }
}
.news-card-index--vertical {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.news-card-index--vertical .card-media {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.news-card-index--vertical .card-media::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: blur(15px) brightness(0.7);
  z-index: 1;
  transform: scale(1.1);
}
.news-card-index--vertical .card-media img {
  position: relative;
  z-index: 2;
  object-fit: contain !important;
}
.news-card-index:nth-child(4) {
  display: none;
}
@media screen and (min-width: 581px) and (max-width: 850px) {
  .news-card-index:nth-child(4) {
    display: flex;
  }
}
.news-card-index:hover {
  transform: translateY(-2px);
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
}
.news-card-index:hover .card-media img {
  transform: scale(1.03);
}
.news-card-index:hover .card-excerpt {
  max-height: 80px;
  opacity: 1;
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.news-card-index a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: relative;
  z-index: 2;
}
.news-card-index .card-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}
.news-card-index .card-media::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 2;
}
.news-card-index .card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.news-card-index .card-info {
  position: relative;
  z-index: 3;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  color: var(--color-blanco);
}
.news-card-index .card-info .card-badge {
  display: inline-block;
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-blanco);
  margin-bottom: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  opacity: 0.9;
}
.news-card-index .card-info .card-title {
  margin: 0;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-blanco);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card-index .card-info .card-excerpt {
  margin-top: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  color: rgba(255, 255, 255, 0.85);
  transition: max-height 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
@media screen and (max-width: 600px) {
  .news-card-index .card-info .card-excerpt {
    display: none;
  }
}

.flex-downloads-container {
  display: flex;
  flex-direction: row;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  flex-wrap: wrap;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

/* ================ */
/* ==== EVENTOS==== */
/* ================ */
.events-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 1rem;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
}
@media screen and (max-width: 1023px) {
  .events-section.gray-bg {
    background-color: var(--color-blanco);
  }
}
.events-section .events-content {
  margin: 0 auto 1rem;
  width: 100%;
  max-width: 95vw;
  width: clamp(200px, 100%, 600px);
  box-sizing: border-box;
  padding: 0;
}
.events-section .events-content .events-list {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  margin: 0 auto;
  list-style: none;
}
@media screen and (min-width: 1024px) {
  .events-section .events-content .events-list {
    flex-grow: 1;
  }
}
.events-section .events-content .events-list:last-child {
  padding-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
@media screen and (min-width: 1024px) {
  .events-section .events-content .events-list .event-item {
    flex: 1;
    display: flex;
  }
}
.events-section .events-content .events-list .event-item .button-event {
  border: none;
  outline: none;
  box-shadow: none;
  width: 100%;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  background: var(--v2-gris-claro);
  padding: 0 clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
@media screen and (min-width: 1024px) {
  .events-section .events-content .events-list .event-item .button-event {
    height: 100%;
  }
}
.events-section .events-content .events-list .event-item .button-event:hover {
  background: color-mix(in srgb, var(--v2-gris-claro), white 50%);
  transform: translateY(-2px);
  cursor: pointer;
}
.events-section .events-content .events-list .event-item .button-event .calendar-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  background: white;
  border-radius: calc(0.75rem + 1px);
  width: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  height: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  border: 1px solid var(--v2-gris-oscuro);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.events-section .events-content .events-list .event-item .button-event .calendar-day .month-name {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem 0.75rem 0 0;
  width: 100%;
  height: 50%;
  color: white;
  background: var(--v2-azul);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 600;
  text-transform: uppercase;
}
.events-section .events-content .events-list .event-item .button-event .calendar-day .day-number {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 0.75rem 0.75rem;
  height: 100%;
  width: 100%;
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: bold;
  color: var(--v2-azul);
}
.events-section .events-content .events-list .event-item .button-event .event-info {
  margin-left: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  padding: 0.5rem 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media screen and (min-width: 967px) {
  .events-section .events-content .events-list .event-item .button-event .event-info {
    padding: 1.2rem 0;
  }
}
@media screen and (min-width: 1300px) {
  .events-section .events-content .events-list .event-item .button-event .event-info {
    padding: 0.7rem 0;
  }
}
.events-section .events-content .events-list .event-item .button-event .event-info .event-title {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
  transition: all 0.3s ease;
  color: var(--v2-azul-claro);
  padding: 0.2rem 0;
  margin: 0;
}
.events-section .events-content .events-list .event-item .button-event .event-info .event-description {
  color: color-mix(in srgb, var(--v2-gris-claro), black 70%);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  margin-top: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  line-height: 1.3;
  flex-grow: 1;
}
.events-section .events-content .events-list .event-item .event-modal-info {
  display: none;
}

.floating-radio-control {
  position: fixed;
  bottom: calc(clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) + 60px);
  right: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  z-index: 1000;
  transition: all 180ms ease-in-out;
}
.floating-radio-control.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
}
.floating-radio-control .floating-radio-btn {
  background-color: var(--v2-verde-radio);
  color: var(--color-blanco);
  border: none;
  width: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  height: clamp(3rem, 2.5rem + 2.5vw, 4rem);
  border-radius: 50%;
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  cursor: pointer;
  transition: all 180ms ease-in-out;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.floating-radio-control .floating-radio-btn:hover {
  background-color: var(--v2-verde-radio-oscuro);
  transform: scale(1.1);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.floating-radio-control .floating-radio-btn:active {
  transform: scale(0.95);
}
.floating-radio-control .floating-radio-btn .floating-play-icon,
.floating-radio-control .floating-radio-btn .floating-pause-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.floating-radio-control .floating-radio-btn .floating-play-icon {
  padding-left: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

.services-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 600px;
  margin: 0 auto;
  padding: 1rem;
  box-sizing: border-box;
}
.services-section img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: all 225ms ease-in-out;
}
.services-section img:hover {
  transform: scale(1.025);
}

.multimedia-section {
  padding: clamp(3rem, 2.5rem + 2.5vw, 4rem) 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  position: relative;
  overflow: hidden;
}
.multimedia-section::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(246, 173, 85, 0.06) 0%, rgba(255, 255, 255, 0) 70%);
  top: -100px;
  left: -100px;
  pointer-events: none;
}
.multimedia-section::after {
  content: "";
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(72, 187, 120, 0.06) 0%, rgba(255, 255, 255, 0) 70%);
  bottom: -100px;
  right: -100px;
  pointer-events: none;
}
.multimedia-section .multimedia-header {
  text-align: center;
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}
.multimedia-section .multimedia-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  align-items: stretch;
}
@media screen and (min-width: 992px) {
  .multimedia-section .multimedia-grid {
    grid-template-columns: 1.25fr 0.75fr;
  }
}
.multimedia-section .multimedia-card {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(229, 231, 235, 0.5);
  backdrop-filter: blur(16px);
  border-radius: 24px;
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.03), 0 8px 10px -6px rgba(0, 0, 0, 0.03);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.multimedia-section .multimedia-card:hover {
  box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.08);
}
.multimedia-section .multimedia-card.tv-card:hover {
  border-color: rgba(246, 173, 85, 0.3);
}
.multimedia-section .multimedia-card.radio-card:hover {
  border-color: rgba(72, 187, 120, 0.3);
}
.multimedia-section .multimedia-card .card-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: center;
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .card-header {
    flex-direction: row;
    text-align: left;
    justify-content: space-between;
    align-items: center;
  }
}
.multimedia-section .multimedia-card .card-header .header-left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .card-header .header-left {
    flex-direction: row;
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
    align-items: center;
  }
}
.multimedia-section .multimedia-card .card-header .header-left img {
  height: clamp(55px, 3rem + 2vw, 85px);
  width: auto;
  object-fit: contain;
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .card-header .header-left img {
    margin-bottom: 0;
  }
}
.multimedia-section .multimedia-card .card-header .header-left .header-text h3 {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 700;
  color: var(--v2-azul-oscuro);
  margin: 0;
}
.multimedia-section .multimedia-card .card-header .header-left .header-text p {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: #718096;
  margin: 2px 0 0 0;
}
.multimedia-section .multimedia-card .card-header .live-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(239, 68, 68, 0.1);
  color: #ef4444;
  padding: 4px 12px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .card-header .live-badge {
    margin-top: 0;
  }
}
.multimedia-section .multimedia-card .card-header .live-badge .pulse-dot {
  width: 8px;
  height: 8px;
  background-color: #ef4444;
  border-radius: 50%;
  animation: pulse-animation 1.5s infinite;
}
.multimedia-section .multimedia-card .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.multimedia-section .multimedia-card .video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.multimedia-section .multimedia-card .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.multimedia-section .multimedia-card {
  /* Radio Controls */
}
.multimedia-section .multimedia-card .radio-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .radio-panel {
    justify-content: space-around;
    gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  }
}
.multimedia-section .multimedia-card .radio-play-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.multimedia-section .multimedia-card .radio-btn {
  background: linear-gradient(135deg, var(--v2-verde-radio-claro) 0%, var(--v2-verde-radio) 100%);
  color: white;
  border: none;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 8px 20px rgba(72, 187, 120, 0.3);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 2;
}
.multimedia-section .multimedia-card .radio-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 24px rgba(72, 187, 120, 0.4);
}
.multimedia-section .multimedia-card .radio-btn.playing {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  box-shadow: 0 8px 20px rgba(239, 68, 68, 0.3);
}
.multimedia-section .multimedia-card .radio-btn.playing:hover {
  box-shadow: 0 12px 24px rgba(239, 68, 68, 0.4);
}
.multimedia-section .multimedia-card .radio-btn .play-icon {
  margin-left: 6px;
}
.multimedia-section .multimedia-card {
  /* Equalizer Animation */
}
.multimedia-section .multimedia-card .equalizer {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: clamp(0.8rem, 0.6rem + 1vw, 1rem) auto 0 auto;
  gap: 3px;
  height: 30px;
  width: 45px;
}
.multimedia-section .multimedia-card .equalizer span {
  display: block;
  width: 5px;
  height: 10%;
  background-color: var(--v2-verde-radio);
  border-radius: 3px;
  transition: height 0.2s ease;
}
.multimedia-section .multimedia-card .equalizer.playing span {
  animation: eq-bounce 0.8s ease infinite alternate;
}
.multimedia-section .multimedia-card .equalizer.playing span:nth-child(2) {
  animation-delay: 0.15s;
}
.multimedia-section .multimedia-card .equalizer.playing span:nth-child(3) {
  animation-delay: 0.3s;
}
.multimedia-section .multimedia-card .equalizer.playing span:nth-child(4) {
  animation-delay: 0.45s;
}
.multimedia-section .multimedia-card .equalizer.playing span:nth-child(5) {
  animation-delay: 0.05s;
}
.multimedia-section .multimedia-card .radio-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  flex: 1;
}
@media screen and (min-width: 576px) {
  .multimedia-section .multimedia-card .radio-details {
    align-items: flex-start;
  }
}
.multimedia-section .multimedia-card .radio-details .status-text {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
  color: var(--v2-verde-radio);
  min-height: 24px;
}
.multimedia-section .multimedia-card .radio-details .volume-control {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 200px;
}
.multimedia-section .multimedia-card .radio-details .volume-control .volume-icon {
  color: #718096;
  font-size: 16px;
}
.multimedia-section .multimedia-card .radio-details .volume-control .volume-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  outline: none;
  transition: background 0.2s;
}
.multimedia-section .multimedia-card .radio-details .volume-control .volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--v2-verde-radio);
  cursor: pointer;
  transition: transform 0.1s;
}
.multimedia-section .multimedia-card .radio-details .volume-control .volume-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

@keyframes pulse-animation {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}
@keyframes eq-bounce {
  0% {
    height: 10%;
  }
  100% {
    height: 100%;
  }
}
/* ==================== */
/* ==== PUBLICACIONES ==== */
/* ==================== */
.publications-section {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
}
.publications-section .publications-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}
.publications-section .publicacion-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  width: 100%;
}
.publications-section .publicacion-actions a {
  width: 100%;
}

.publications-list {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  width: 100%;
  padding-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
@media screen and (min-width: 1024px) {
  .publications-list {
    flex-grow: 1;
  }
}

.publication-item-card {
  background: var(--v2-gris-claro);
  border-radius: 0.75rem;
  transition: all 0.3s ease;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .publication-item-card {
    flex: 1;
    display: flex;
  }
}
.publication-item-card:hover {
  background: color-mix(in srgb, var(--v2-gris-claro), white 50%);
  transform: translateY(-2px);
}
.publication-item-card .publication-item-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
  color: inherit;
  height: 100%;
  width: 100%;
}
.publication-item-card .publication-item-cover {
  width: 80px;
  height: 110px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.publication-item-card .publication-item-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  object-position: top right;
}
.publication-item-card .publication-item-cover-placeholder {
  width: 80px;
  height: 110px;
  flex-shrink: 0;
  background: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  color: #999;
}
.publication-item-card .publication-item-info {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
.publication-item-card .publication-item-info .publication-item-title {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: wrap;
  transition: all 0.3s ease;
  color: var(--v2-azul-claro);
  padding: 0.2rem 0;
  margin: 0;
}
.publication-item-card .publication-item-info .publication-item-action {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 700;
  color: var(--v2-azul);
  transition: color 0.2s ease;
  margin-top: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

.publi .publicacion-type {
  border-bottom: 1px solid #f4f4f4;
  padding-bottom: clamp(2.5rem, 2rem + 2.5vw, 3rem);
}
.publi .publicacion-type .dec-pub {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
.publi .publicacion-type .dec-pub h2 {
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.publi .publicacion-type .dec-pub p {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-secundario);
  line-height: 1.5lh;
}
.publi .publicacion-type .video-publicacion {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.publi .publicacion-type .video-publicacion iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.publi .publicacion-type .publicacion-carousel {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
@media (min-width: 768px) {
  .publi .publicacion-type .publicacion-carousel {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  }
}
.publi .publicacion-type .publicacion-carousel .ult-edicion {
  width: 100%;
}
@media (min-width: 768px) {
  .publi .publicacion-type .publicacion-carousel .ult-edicion {
    width: 30%;
    position: sticky;
    top: calc(var(--header-nav-height) + 1rem);
  }
}
.publi .publicacion-type .publicacion-carousel .ult-edicion .portada-link {
  display: block;
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
  transition: all 225ms ease-in-out;
  background-color: var(--color-blanco);
  max-width: min(100%, 400px);
  margin: 0 auto;
}
.publi .publicacion-type .publicacion-carousel .ult-edicion .portada-link:hover {
  transform: translateY(-4px);
  box-shadow: 0 clamp(15px, 10px + 2.5vw, 20px) clamp(20px, 15px + 2.5vw, 25px) rgba(0, 0, 0, 0.1);
}
.publi .publicacion-type .publicacion-carousel .ult-edicion .portada-link img {
  width: min(100%, 400px);
  height: auto;
  display: block;
  object-fit: cover;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant {
  width: 100%;
}
@media (min-width: 768px) {
  .publi .publicacion-type .publicacion-carousel .edicion-ant {
    width: 70%;
  }
}
.publi .publicacion-type .publicacion-carousel .edicion-ant h3 {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  color: var(--color-texto-secundario);
  font-weight: 500;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 480px) and (max-width: 767px) {
  .publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
@media (min-width: 768px) {
  .publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li.item-oculto {
  display: none;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--color-texto-principal);
  transition: all 225ms ease-in-out;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a:hover {
  transform: translateY(-4px);
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a:hover .img-container {
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a:hover .titulo-publicacion {
  color: var(--v2-azul);
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a .img-container {
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden;
  border-radius: clamp(0.125rem, 0.1rem + 0.125vw, 0.25rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  transition: all 225ms ease-in-out;
  background-color: var(--color-fondo-oscuro);
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a .img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .lista-ediciones-anteriores li a .titulo-publicacion {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  text-align: center;
  font-weight: 500;
  line-height: 1.3;
  transition: all 225ms ease-in-out;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .btn-mostrar-mas {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) auto 0;
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  background-color: var(--v2-azul);
  color: var(--color-blanco);
  border: none;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 500;
  cursor: pointer;
  transition: all 225ms ease-in-out;
  text-align: center;
}
.publi .publicacion-type .publicacion-carousel .edicion-ant .btn-mostrar-mas:hover {
  background-color: var(--v2-azul-oscuro);
  transform: translateY(-2px);
}

.centros-main {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.centros-main .centros-grid-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  list-style: none;
  margin: 0 auto 1.5rem;
}
.centros-main .centros-grid-list li {
  width: 100%;
}
@media (min-width: 927px) {
  .centros-main .centros-grid-list li {
    width: clamp(300px, 50%, 500px);
  }
}
.centros-main .centros-grid-list li .centro-banner {
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.centros-main .centros-grid-list li .centro-banner:hover {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.centros-main .centros-grid-list li .centro-banner:hover .centro-info {
  background-color: rgba(0, 0, 0, 0.7);
}
.centros-main .centros-grid-list li .centro-banner:hover .centro-info img {
  transform: scale(1.06);
}
.centros-main .centros-grid-list li .centro-banner img {
  width: 100%;
  height: auto;
}
.centros-main .centros-grid-list li .centro-banner .centro-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
  color: var(--color-blanco);
  text-align: center;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease-in-out;
}
.centros-main .centros-grid-list li .centro-banner .centro-info .centro-link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.centros-main .centros-grid-list li .centro-banner .centro-info .centro-link .centro-logo {
  width: auto;
  height: 150%;
  transition: transform 0.2s ease-in-out;
}

/* ===========================================
   PÁGINA DE CONVENIOS - MOBILE FIRST
   =========================================== */
/* Contenedor principal */
.convenios-header {
  margin-bottom: 1.5rem;
}

.convenios-title {
  color: var(--v2-azul);
  font-weight: 600;
  font-size: 1.75rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .convenios-title {
    font-size: 2.25rem;
  }
}

/* Contenido */
.convenios-content {
  margin-bottom: 1.5rem;
}
.convenios-content p:has(img) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 768px) {
  .convenios-content p:has(img) {
    flex-direction: row;
    justify-content: center;
    gap: 2rem;
  }
}
.convenios-content span:empty {
  display: none;
}
.convenios-content #mapa-convenios img {
  width: 100%;
  margin: auto;
  height: auto;
  object-fit: cover;
}
.convenios-content img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  transition: transform 0.3s ease;
}
.convenios-content img:hover {
  transform: scale(1.02);
}

/* Botones de selección - Mobile First */
.convenios-type-selector {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 2rem 0;
}
@media (min-width: 640px) {
  .convenios-type-selector {
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
  }
}

.convenios-type-btn {
  background: var(--v2-azul);
  color: white !important;
  text-decoration: none !important;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
@media (min-width: 640px) {
  .convenios-type-btn {
    flex: 1;
    max-width: 280px;
  }
}
.convenios-type-btn:hover, .convenios-type-btn:focus {
  background: var(--v2-azul-oscuro);
  transform: translateY(-2px);
  box-shadow: 0 clamp(15px, 10px + 2.5vw, 20px) clamp(20px, 15px + 2.5vw, 25px) rgba(0, 0, 0, 0.1);
  color: var(--color-blanco);
}
.convenios-type-btn:active {
  transform: translateY(0);
}

/* Contenedor del listado - Mobile First */
.convenios-list-container {
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  margin: 1.5rem 0;
  overflow: hidden;
  border: 1px solid var(--v2-gris-claro);
  animation: slideDown 0.3s ease;
}
@media (min-width: 768px) {
  .convenios-list-container {
    border-radius: 0.75rem;
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.convenios-list-header {
  background: var(--v2-gris-claro);
  padding: 1rem;
  border-bottom: 1px solid var(--v2-gris-oscuro);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
@media (min-width: 640px) {
  .convenios-list-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
  }
}
.convenios-list-header strong {
  font-size: 1.125rem;
  color: var(--v2-azul);
}

.convenios-close-btn {
  color: var(--v2-azul-claro) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 0.875rem;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.convenios-close-btn:hover, .convenios-close-btn:focus {
  color: var(--v2-azul);
}

.convenios-list-content {
  padding: 0;
  max-height: 60vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .convenios-list-content {
    max-height: 500px;
  }
}

/* Estados/Headers de convenios */
.convenios-list-content .estado {
  background: var(--v2-azul);
  color: white;
  padding: 0.5rem 1rem;
  font-weight: 600;
  font-size: 1rem;
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
@media (min-width: 768px) {
  .convenios-list-content .estado {
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
  }
}

/* Lista de universidades */
.convenios-list-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.convenios-list-content li.marker {
  border-bottom: 1px solid var(--v2-gris-claro);
  transition: background-color 0.2s ease;
}
.convenios-list-content li.marker:last-child {
  border-bottom: none;
}
.convenios-list-content li.marker:hover {
  background: var(--color-blanco);
}
.convenios-list-content li.marker a {
  display: block;
  padding: 1rem;
  text-decoration: none;
  color: var(--color-texto-principal);
  font-weight: 500;
  transition: color 0.2s ease;
  position: relative;
}
@media (min-width: 768px) {
  .convenios-list-content li.marker a {
    padding: 1rem 1.5rem;
  }
}
.convenios-list-content li.marker a:hover {
  color: var(--v2-azul);
}
.convenios-list-content li.marker a::after {
  content: "›";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--v2-gris);
  font-size: 1.5rem;
  transition: transform 0.2s ease;
}
@media (min-width: 768px) {
  .convenios-list-content li.marker a::after {
    right: 1.5rem;
  }
}
.convenios-list-content li.marker a:hover::after {
  transform: translateY(-50%) translateX(4px);
  color: var(--v2-azul);
}

/* Modal - Mobile First */
.convenios-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9999;
  display: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1rem;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .convenios-modal {
    padding: 2rem;
  }
}
.convenios-modal a:not(:has(.fa-times)) {
  text-decoration: none !important;
}
.convenios-modal a:not(:has(.fa-times)):hover, .convenios-modal a:not(:has(.fa-times)):focus {
  text-decoration: underline !important;
}
.convenios-modal a:has(.fa-times) {
  text-decoration: none !important;
}

.convenios-modal-content {
  position: relative;
  background: white;
  max-width: 600px;
  margin: 0 auto;
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 clamp(15px, 10px + 2.5vw, 20px) clamp(20px, 15px + 2.5vw, 25px) rgba(0, 0, 0, 0.1);
  animation: modalSlideIn 0.3s ease;
}
@media (min-width: 768px) {
  .convenios-modal-content {
    margin: 2rem auto;
    padding: 2rem;
    border-radius: 0.75rem;
  }
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.convenios-modal-title {
  color: var(--v2-azul);
  padding-right: 2rem;
}

.convenios-modal-info {
  margin-bottom: 1rem;
  color: var(--color-texto-principal);
  font-size: 0.95rem;
  line-height: 1.5;
}

.convenios-modal-description {
  margin-bottom: 1.5rem;
  line-height: 1.6;
  color: var(--color-texto-principal);
}
.convenios-modal-description p {
  margin-bottom: 0.5rem;
}
.convenios-modal-description a {
  color: var(--v2-azul);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.2s ease;
}
.convenios-modal-description a:hover {
  text-decoration: underline;
  color: var(--v2-azul-oscuro);
}

.convenios-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.75rem;
  text-decoration: none;
  color: var(--v2-gris);
  cursor: pointer;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease;
  background: transparent;
}
@media (min-width: 768px) {
  .convenios-modal-close {
    top: 1.5rem;
    right: 1.5rem;
  }
}
.convenios-modal-close:hover, .convenios-modal-close:focus {
  color: var(--v2-azul);
  background: var(--v2-gris-claro);
}

/* Estados de carga y error */
.convenios-loading {
  padding: 2rem;
  text-align: center;
  color: var(--v2-gris);
  font-style: italic;
}
.convenios-loading::after {
  content: "...";
  animation: dots 1.5s infinite;
}

@keyframes dots {
  0%, 20% {
    content: ".";
  }
  40% {
    content: "..";
  }
  60%, 100% {
    content: "...";
  }
}
.convenios-error {
  padding: 1.5rem;
  text-align: center;
  color: #dc3545;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 0.5rem;
  margin: 1rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .convenios-error {
    padding: 2rem;
  }
}

/* Ocultar spans de descripción (usados por JS) */
.convenios-list-content .desc-convf {
  display: none;
}

/* ==========================================================================
   Plantilla Directorio de Rectores (Consistente con UAAV2)
   ========================================================================== */
.img-wrapper {
  flex-shrink: 0;
  width: 200px;
  height: 250px;
  overflow: hidden;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  border-radius: 0.25rem;
}
.img-wrapper.exrector {
  width: auto;
  height: 180px;
  margin: 0 auto;
}
.img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lista-exrectores {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-top: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

/* Rector Destacado (Actual) */
.rector {
  background: var(--color-blanco);
  border: 1px solid var(--color-borde);
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 1024px) {
  .rector {
    flex-direction: column;
  }
}
.rector.destacado {
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
.rector.exrector {
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  flex-direction: column;
}
.rector.exrector .ultimos-posts {
  margin-bottom: 0;
}
.rector.exrector h3 {
  width: 100%;
  margin-bottom: 0;
}
.rector.exrector ul {
  margin-bottom: 0;
}
.rector .info {
  flex-grow: 1;
}
.rector .info .rector-rol {
  display: inline-block;
  color: var(--v2-azul);
  font-weight: 700;
  text-transform: uppercase;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  letter-spacing: 0.5px;
}
.rector .info h2 {
  margin-top: 0;
}
.rector .extracto-ultima-entrada {
  display: none;
}
@media screen and (min-width: 1024px) {
  .rector .extracto-ultima-entrada {
    display: block;
    width: clamp(200px, 35vw, 350px);
    flex-shrink: 0;
    padding-left: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
    border-left: 1px solid var(--color-borde);
  }
}
@media screen and (min-width: 1400px) {
  .rector .extracto-ultima-entrada {
    width: clamp(350px, 40vw, 600px);
  }
}
.rector .extracto-ultima-entrada a {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.rector .extracto-ultima-entrada a .leer-mas {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 700;
  color: var(--color-texto-secundario);
  text-transform: uppercase;
  align-self: flex-end;
  transition: color 0.2s ease;
  transition: transform 0.4s ease;
  transform: translateX(0);
}
.rector .extracto-ultima-entrada a:hover .leer-mas {
  transform: translateX(5px);
  color: var(--v2-azul);
}
.rector .extracto-ultima-entrada blockquote {
  font-family: Georgia, serif;
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-style: italic;
  color: var(--color-texto-secundario);
  margin: 0;
  position: relative;
  line-height: 1.6;
  border-left: none;
  text-align: justify;
  padding-left: 2.5rem;
  overflow: hidden;
  display: -webkit-box;
  line-clamp: 7;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
}
.rector .extracto-ultima-entrada blockquote::before {
  content: '"';
  font-size: 3.5rem;
  color: rgba(var(--v2-azul), 0.15);
  position: absolute;
  top: -20px;
  left: 0;
  font-family: Arial, sans-serif;
}

/* Sección de Últimos Posts */
.ultimos-posts {
  margin-top: auto;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.ultimos-posts strong {
  color: var(--v2-azul);
  font-weight: 600;
  display: block;
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.ultimos-posts ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ultimos-posts ul li a {
  color: var(--color-texto-secundario);
  text-decoration: none;
  transition: color 0.2s ease;
}
.ultimos-posts ul li a:hover {
  color: var(--v2-azul-claro);
}

/* Responsive */
@media (max-width: 768px) {
  .rector-destacado {
    flex-direction: column;
    padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
    gap: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  }
  .rector-destacado .img-wrapper {
    width: auto;
    height: 250px;
  }
}
/* ==========================================================================
   Editorial del Rector (Detalle de Columna / Post Singular)
   ========================================================================== */
.ed-refresh-container {
  margin-top: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

.ed-refresh-header {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border-bottom: 1px solid var(--color-borde);
  padding-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.ed-refresh-header .ed-refresh-title {
  color: var(--v2-azul);
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.ed-refresh-layout {
  display: flex;
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
.ed-refresh-layout .ed-refresh-main {
  flex: 1;
  min-width: 300px;
}
.ed-refresh-layout .ed-refresh-sidebar {
  width: 280px;
  flex-shrink: 0;
  border-left: 1px solid var(--color-borde);
  padding-left: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
@media (max-width: 768px) {
  .ed-refresh-layout .ed-refresh-sidebar {
    width: 100%;
    border-left: none;
    border-top: 1px solid var(--color-borde);
    padding-left: 0;
    padding-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
    margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  }
}

/* Metadata Bar */
.ed-refresh-meta {
  background: var(--color-fondo-oscuro);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  border-radius: 0.5rem;
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border: 1px solid var(--color-borde);
}

.ed-refresh-meta-info {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

.ed-refresh-meta-item {
  color: var(--color-texto-secundario);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.ed-refresh-meta-item i {
  color: var(--v2-azul);
}

/* Botón de PDF */
.ed-refresh-btn {
  background-color: var(--v2-rojo);
  color: var(--color-blanco) !important;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: background-color 0.2s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  border: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.ed-refresh-btn:hover {
  background-color: var(--v2-rojo-oscuro);
  transform: translateY(-1px);
}

/* Contenedor de Imagen Destacada */
.ed-refresh-img-cont {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid var(--color-borde);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.ed-refresh-img-cont .ed-refresh-featured-img {
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: cover;
  display: block;
}
.ed-refresh-img-cont .ed-refresh-caption {
  background: var(--color-fondo-oscuro);
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  margin: 0;
  border-top: 1px solid var(--color-borde);
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.ed-refresh-img-cont .ed-refresh-caption i {
  color: var(--v2-azul);
}

/* Contenido de la columna */
.ed-refresh-content {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.7;
  color: var(--color-texto-principal);
}
.ed-refresh-content p {
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.ed-refresh-content p:last-child {
  margin-bottom: 0;
}

/* Sidebar Secciones */
.ed-refresh-sidebar-title {
  color: var(--v2-azul);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 2px solid var(--v2-azul);
  padding-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  font-weight: 700;
  display: inline-block;
}

.ed-refresh-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ed-refresh-list .ed-refresh-list-item {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-bottom: 1px dashed var(--color-borde);
}
.ed-refresh-list .ed-refresh-list-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.ed-refresh-link {
  color: var(--color-texto-principal);
  text-decoration: none;
  font-weight: 600;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.4;
  display: block;
  margin-bottom: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  transition: color 0.2s ease;
}
.ed-refresh-link:hover {
  color: var(--v2-azul-claro);
}

.ed-refresh-date {
  color: var(--color-texto-claro);
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  display: flex;
  align-items: center;
  gap: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

/**
 * Page Gaceta UAA
 * Página principal de la Gaceta Universitaria
 */
@media screen and (min-width: 1024px) {
  .gaceta-page .hero-noticia-card {
    height: 250px;
  }
}

hr.hr-gaceta {
  border: none;
  border-top: var(--v2-gris-claro) solid;
  margin: 1.5rem 0 2.8rem 0;
}

.gaceta-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-align: center;
  justify-content: space-evenly;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin: 0 0 clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  margin: 0 0 clamp(3rem, 2.5rem + 2.5vw, 4rem) 0;
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  background: linear-gradient(0deg, var(--v2-azul) 0%, var(--v2-azul-claro) 100%);
  border-radius: 0.75rem;
  color: var(--color-blanco);
}
.gaceta-header .vertical-sepator {
  height: 100px;
  width: 2px;
  background-color: var(--color-blanco);
}
.gaceta-header img {
  height: auto;
  width: clamp(180px, 30vw, 250px);
  border-radius: 0.5rem;
  margin: 0;
}
.gaceta-header p {
  color: var(--color-blanco);
  padding: 0;
  font-weight: 500;
  max-width: 800px;
  line-height: 1.6;
}
.gaceta-header.v2 {
  background: linear-gradient(0deg, var(--v2-gris) 0%, var(--v2-gris-claro) 100%);
  color: #000000;
}
.gaceta-header.v2 .vertical-sepator {
  background-color: #000000;
}
.gaceta-header.v2 p {
  color: #000000;
}
.gaceta-header.v3 {
  background: linear-gradient(0deg, var(--v2-amarillo) 0%, var(--v2-amarillo-claro) 100%);
  color: #000000;
}
.gaceta-header.v3 .vertical-sepator {
  background-color: #000000;
}
.gaceta-header.v3 p {
  color: #000000;
}
.gaceta-header.v4 {
  background: linear-gradient(0deg, var(--v2-rojo) 0%, var(--v2-rojo-claro) 100%);
  color: var(--color-blanco);
}
.gaceta-header.v4 .vertical-sepator {
  background-color: var(--color-blanco);
}
.gaceta-header.v4 p {
  color: var(--color-blanco);
}

.gaceta-section {
  padding-bottom: 0;
}
@media screen and (max-width: 1000px) {
  .gaceta-section h1 {
    position: sticky;
    top: calc(var(--header-nav-height));
    z-index: 100;
    padding-top: 1rem;
    background-color: var(--color-blanco);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    text-align: center;
  }
}
.gaceta-section > h2 {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: center;
  font-weight: 700;
  color: var(--v2-azul);
}
.gaceta-section > h2#destacados-heading, .gaceta-section > h2#recientes-heading {
  margin-top: 0;
}

.gaceta-sidebar h2 {
  text-align: center;
}
.gaceta-sidebar a .card-body {
  overflow: hidden;
}

.gaceta-destacados h2,
.gaceta-recientes h2,
.gaceta-anteriores h2 {
  color: var(--v2-azul);
}

.gaceta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.gaceta-layout {
  display: grid;
  grid-template-columns: 1fr clamp(300px, 30vw, 400px);
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  align-items: start;
}
@media (max-width: 992px) {
  .gaceta-layout {
    grid-template-columns: 1fr;
  }
}

.gaceta-main {
  min-width: 0;
}

.gaceta-numeros-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  list-style: none;
  margin: 0 0 clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  padding: 0;
}

.gaceta-numero-item {
  height: 100%;
}
.gaceta-numero-item a {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.gaceta-numero-item a:hover {
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.gaceta-numero-item .gaceta-numero-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--v2-gris-claro);
}
.gaceta-numero-item .gaceta-numero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  border-radius: 0.25rem 0.25rem 0 0;
}
.gaceta-numero-item:hover .gaceta-numero-image img {
  transform: scale(1.01);
}
.gaceta-numero-item .card-title-footer {
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  text-align: center;
  background-color: var(--color-blanco);
  margin-top: auto;
}
.gaceta-numero-item .card-title-footer h3 {
  color: var(--v2-azul-claro);
  margin: 0 0 clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) 0;
  font-weight: 600;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  text-decoration: none !important;
}
.gaceta-numero-item .card-title-footer time {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: #000000;
  text-transform: capitalize;
  display: block;
}

.gaceta-filter {
  display: flex;
  justify-content: center;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
}
.gaceta-filter label.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.gaceta-year-filter {
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 500;
  border: 2px solid var(--v2-azul);
  border-radius: 0.5rem;
  background-color: var(--color-blanco);
  color: var(--v2-azul);
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 200px;
}
.gaceta-year-filter:hover {
  background-color: var(--v2-azul);
  color: var(--color-blanco);
}
.gaceta-year-filter:focus {
  outline: none;
  border-color: var(--v2-azul-oscuro);
  box-shadow: 0 0 0 3px hsla(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l), 0.2);
}

.gaceta-empty {
  text-align: center;
  padding: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  color: var(--color-texto-claro);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-style: italic;
}

.gaceta-numero-item.gaceta-hidden {
  animation: fadeOut 0.3s ease;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.gaceta-actions {
  text-align: center;
  margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

@media (max-width: 992px) {
  .gaceta-sidebar {
    order: -1;
    margin: 0 auto clamp(1.5rem, 1.2rem + 1.5vw, 2rem) auto;
    width: clamp(280px, 95vw, 500px);
  }
}
@media (min-width: 993px) {
  .gaceta-sidebar {
    width: clamp(300px, 30vw, 400px);
    position: sticky;
    top: calc(var(--header-nav-height) + 1rem);
    height: auto;
  }
}

@media (max-width: 768px) {
  .gaceta-grid,
  .gaceta-numeros-grid {
    grid-template-columns: 1fr;
    width: clamp(100px, 95vw, 600px);
    margin: 0 auto;
  }
  .gaceta-header {
    flex-direction: column;
    margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  }
  .gaceta-header .vertical-sepator {
    display: none;
  }
  .gaceta-header img {
    width: clamp(150px, 60vw, 200px);
  }
  .gaceta-section:nth-child(1) {
    margin-top: 0;
  }
}
.gaceta-hero-badge {
  display: none;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.25rem;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  backdrop-filter: blur(8px);
}
.gaceta-hero-badge:hover {
  transform: scale(1.05);
  background-color: var(--color-blanco);
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
}
.gaceta-hero-badge .gaceta-hero-badge-link {
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: 3px 6px;
  text-decoration: none !important;
  color: var(--v2-azul-oscuro);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.gaceta-hero-badge .gaceta-hero-badge-thumb {
  width: 22px;
  height: 30px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  display: block;
}

.investigadores-page .filtros-eventos {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  margin-bottom: 2rem;
}
.investigadores-page .filtros-eventos p {
  margin: 0;
  font-weight: 600;
  color: #333;
}
.investigadores-page .filtros-eventos select,
.investigadores-page .filtros-eventos input[type=text] {
  padding: 0.5rem 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  flex-grow: 1;
  min-width: 200px;
}
.investigadores-page .investigadores-list-wrapper {
  position: relative;
  min-height: 400px;
  margin-top: 1.5rem;
}
.investigadores-page .investigadores-list-wrapper .loading-overlay {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 10;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 8px;
}
.investigadores-page .investigadores-list-wrapper .loading-overlay .loading-icon {
  color: #0b2240;
}
.investigadores-page .investigadores-list-wrapper .loading-overlay .loading-text {
  margin-top: 1rem;
  font-weight: bold;
}
.investigadores-page .investigadores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .investigadores-page .investigadores-grid {
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
  }
}
.investigadores-page .investigadores-grid .investigador-item {
  display: flex;
  position: relative;
}
.investigadores-page .investigadores-grid .investigador-item .project-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
  font-size: 0.7rem;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 12px;
  z-index: 2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.investigadores-page .investigadores-grid .investigador-item .project-badge.badge-single {
  background-color: var(--v2-azul-claro);
}
.investigadores-page .investigadores-grid .investigador-item .project-badge.badge-multiple {
  background-color: var(--v2-azul-claro);
}
.investigadores-page .investigadores-grid .card-investigador {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
}
.investigadores-page .investigadores-grid .card-investigador:hover {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
.investigadores-page .investigadores-grid .card-investigador:hover img {
  transform: scale(1.05);
}
.investigadores-page .investigadores-grid .card-investigador .img-container {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
}
.investigadores-page .investigadores-grid .card-investigador .img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
  transition: transform 0.5s ease;
}
.investigadores-page .investigadores-grid .card-investigador .info-container {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  background-color: #0b2240;
  color: #fff;
}
.investigadores-page .investigadores-grid .card-investigador .info-container h6 {
  color: var(--color-blanco);
  margin: 0;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
}
.investigadores-page .pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
  list-style: none;
  padding: 0;
}
.investigadores-page .pagination li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #f1f1f1;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
  transition: background 0.3s, color 0.3s;
}
.investigadores-page .pagination li a:hover, .investigadores-page .pagination li a.active {
  background: #0b2240;
  color: #fff;
}

/* -----------------------------------------
   Estilos Premium para la Vista Detalle de Investigador (single-investigador.php)
----------------------------------------- */
.info-invest {
  padding: 0;
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.info-invest .info-invest-main {
  flex: 1;
  min-width: 300px;
  background: var(--color-blanco);
}
.info-invest .info-invest-main .info-invest-texto {
  margin-bottom: 1rem;
}
.info-invest .info-invest-main .info-invest-texto h1 {
  background-color: var(--color-blanco);
}
@media screen and (min-width: 1024px) {
  .info-invest .info-invest-main .info-invest-texto h1 {
    position: sticky;
    top: calc(var(--header-nav-height));
    z-index: 10;
    padding-top: 1rem;
  }
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: #cbd5e1;
  background: #ffffff;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card .stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-color: rgba(11, 34, 64, 0.05);
  color: #0b2240;
  flex-shrink: 0;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card .stat-icon svg {
  width: 20px;
  height: 20px;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card .stat-info .subtitle {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 0.25rem 0;
  color: #64748b;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .stat-card .stat-info .meta-desc {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.3;
  word-break: break-word;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyectos-card {
  grid-column: 1/-1;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyectos-card .stat-info {
  width: 100%;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyectos-card .stat-info .list-container {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link {
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  line-height: 1.4;
  font-size: 0.95rem;
  font-weight: 500;
  color: #0b2240;
  transition: color 0.3s ease;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link .icon {
  margin-right: 8px;
  margin-top: 2px;
  font-size: 0.8rem;
  color: #cbd5e1;
  transition: color 0.3s ease;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link .current {
  font-weight: 700;
  color: var(--v2-rojo);
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link .current .icon {
  color: var(--v2-rojo);
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link:hover {
  color: var(--v2-rojo);
  text-decoration: none;
}
.info-invest .info-invest-main .info-invest-texto .investigador-stats-dashboard .proyecto-link:hover .icon {
  color: var(--v2-rojo-claro);
}
.info-invest .info-invest-main .info-invest-body .invest-section {
  margin-bottom: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #eef2f6;
}
.info-invest .info-invest-main .info-invest-body .invest-section.bio {
  border-top: none;
  padding-top: 0;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #4a5568;
}
.info-invest .info-invest-main .info-invest-body .invest-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.info-invest .info-invest-main .info-invest-body .invest-section ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.8rem;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #4a5568;
}
.info-invest .info-invest-main .info-invest-body .invest-section ul li::before {
  content: "•";
  position: absolute;
  left: 0.3rem;
  color: #0b2240;
  font-size: 1.2rem;
  line-height: 1;
  top: 1px;
}
.info-invest .info-invest-main .info-invest-body .invest-section ul li strong {
  color: #0b2240;
  font-weight: 600;
}
.info-invest .info-invest-main .info-invest-body .invest-section .contacto-content {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1.2rem;
  font-size: 0.98rem;
  line-height: 1.5;
  color: #4a5568;
}
.info-invest .info-invest-main .info-invest-body .invest-section .contacto-content p {
  margin: 0 0 0.5rem 0;
}
.info-invest .info-invest-main .info-invest-body .invest-section .contacto-content p:last-child {
  margin-bottom: 0;
}
.info-invest .info-invest-sidebar {
  flex: 0 0 220px;
  max-width: 220px;
}
@media screen and (max-width: 768px) {
  .info-invest .info-invest-sidebar {
    flex: 1 1 100%;
    max-width: 100%;
    order: -1;
  }
}
@media screen and (min-width: 1024px) {
  .info-invest .info-invest-sidebar .info-invest-imagen {
    position: sticky;
    top: calc(var(--header-nav-height) + 1.5rem);
    z-index: 10;
  }
}
.info-invest .info-invest-sidebar .info-invest-imagen img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 768px) {
  .info-invest .info-invest-sidebar .info-invest-imagen img {
    width: clamp(150px, 100%, 300px);
    width: clamp(150px, 100%, 300px);
    margin: 0 auto !important;
  }
}

.licenciaturas-page {
  display: grid;
  grid-template-columns: 1fr;
}
.licenciaturas-page .licenciaturas-main .page-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.licenciaturas-page .centro-section {
  margin-bottom: 1.5rem;
}
.licenciaturas-page .licenciatura-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
  max-width: 650px;
}
.licenciaturas-page .licenciatura-item .licenciatura-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.licenciaturas-page .licenciatura-item .licenciatura-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.licenciaturas-page .licenciatura-item .licenciatura-meta .meta-icon {
  display: block;
  transition: opacity 0.2s;
}
.licenciaturas-page .licenciatura-item .licenciatura-meta .meta-icon:hover {
  opacity: 0.8;
}
.licenciaturas-page .licenciatura-item .licenciatura-meta img {
  height: 24px;
  width: 24px;
  display: block;
}

/* Social Media Page Styles */
.social_intro {
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

.social-media-page .main-content .card {
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
.social-media-page .main-content .card:last-child {
  margin-bottom: 0 !important;
}
.social-media-page .main-content .card .card-header {
  position: sticky;
  top: 0;
}

.social_columns_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  padding: 24px;
  align-items: start;
}
.social_columns_container .social_network_column {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 20px;
  gap: 12px;
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.social_columns_container .social_network_column:hover {
  background: #fdfdfd;
  border-color: rgba(0, 0, 0, 0.12);
}
.social_columns_container .social_network_column.is-bento-hero {
  grid-column: span 2;
}
.social_columns_container .social_network_column.is-bento-hero .social_items_container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 16px;
}
.social_columns_container .social_network_column:nth-child(odd):last-child {
  grid-column: 1/-1;
}
.social_columns_container .social_network_column:nth-child(odd):last-child .social_items_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px 16px;
}
.social_columns_container .social_items_container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.social_columns_container .social_network_title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--v2-azul);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--color-borde);
  padding-bottom: 8px;
}
.social_columns_container .social_network_title img {
  margin: initial;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
.social_columns_container a.social_item {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #000000;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
}
.social_columns_container a.social_item:hover {
  border-color: var(--color-borde);
}
.social_columns_container a.social_item .social_item_img {
  width: 28px;
  height: 28px;
  object-fit: inherit;
  margin: 0 clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0 0;
  border-radius: 6px;
  flex-shrink: 0;
}
.social_columns_container a.social_item .social_item_text {
  font-size: 0.95rem;
  font-weight: 500;
  word-break: break-word;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .social_columns_container .social_network_column.is-bento-hero {
    grid-column: span 1;
  }
  .social_columns_container .social_network_column.is-bento-hero .social_items_container {
    grid-template-columns: 1fr;
  }
  .social_columns_container .social_network_column:nth-child(odd):last-child {
    grid-column: span 1;
  }
  .social_columns_container .social_network_column:nth-child(odd):last-child .social_items_container {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .social_columns_container {
    grid-template-columns: 1fr;
    padding: 16px;
    gap: 16px;
  }
  .social_columns_container .social_network_column {
    padding: 16px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1400px) {
  .social_columns_container {
    grid-template-columns: 1fr !important;
  }
  .social_columns_container .social_network_column {
    grid-column: span 1 !important;
  }
  .social_columns_container .social_network_column.is-bento-hero .social_items_container, .social_columns_container .social_network_column:nth-child(odd):last-child .social_items_container {
    grid-template-columns: 1fr !important;
  }
}
/* ==========================================================================
   Plantilla de Listado de Editoriales (Paginado)
   ========================================================================== */
.editorial-page {
  padding-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}

.editorial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .editorial-grid {
    grid-template-columns: 1fr;
  }
}

.editorial-item article {
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.editorial-item article .editorial-content h2 {
  height: 2lh;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.editorial-item article .editorial-excerpt p {
  height: 4lh;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  text-align: justify;
}
.editorial-item article:hover {
  transform: translateY(-2px);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.editorial-item article:hover .editorial-content h2 {
  color: var(--v2-azul-claro);
}
.editorial-item article:hover .btn-leer-mas {
  color: var(--v2-azul-claro);
  transform: translateX(5px);
}
.editorial-item a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
}

.editorial-content {
  flex: 1;
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  position: relative;
}
.editorial-content h2 {
  margin: 0;
  font-weight: 600;
  color: var(--v2-azul);
  line-height: 1.4;
  transition: color 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.editorial-date {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  color: var(--color-texto-claro);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.editorial-excerpt {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  line-height: 1.6;
  flex: 1;
}
.editorial-excerpt p {
  margin: 0;
}

.btn-leer-mas {
  display: inline-flex;
  align-items: center;
  justify-content: end;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 700;
  color: var(--v2-azul);
  text-transform: uppercase;
  margin-top: auto;
  padding-top: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-top: 1px solid rgba(var(--color-borde), 0.5);
  transition: all 0.3s ease;
}
.btn-leer-mas i {
  font-size: 1.1em;
}

.editorial-pagination {
  display: flex;
  justify-content: center;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  flex-wrap: wrap;
}
.editorial-pagination .btn {
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border-radius: 0.25rem;
  font-weight: 600;
  text-transform: uppercase;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.editorial-pagination .btn.btn-prev {
  background-color: var(--v2-azul);
  color: var(--color-blanco) !important;
  border: 1px solid var(--v2-azul);
}
.editorial-pagination .btn.btn-prev:hover {
  background-color: var(--v2-azul-oscuro);
  border-color: var(--v2-azul-oscuro);
  transform: translateY(-1px);
}
.editorial-pagination .btn.btn-next {
  background-color: var(--v2-rojo);
  color: var(--color-blanco) !important;
  border: 1px solid var(--v2-rojo);
}
.editorial-pagination .btn.btn-next:hover {
  background-color: var(--v2-rojo-oscuro);
  border-color: var(--v2-rojo-oscuro);
  transform: translateY(-1px);
}

.editorial-empty {
  text-align: center;
  padding: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  color: var(--color-texto-claro);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-style: italic;
}

.main-content-description {
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.main-content-description:has(.flex-row-imgs) h3 {
  margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
.main-content-description:empty {
  display: none !important;
}

.main-content .cards-links .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.main-content .card {
  min-width: auto;
  max-width: 400px;
  margin: 0 auto;
}
.main-content .card.no-max-width {
  width: 100%;
  max-width: none;
  min-width: auto;
}
@media screen and (min-width: 1024px) {
  .main-content .card {
    min-width: 300px;
  }
}
.main-content .cards-links .card .card-body img {
  aspect-ratio: auto;
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: inherit;
}
.main-content .info-footer-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  margin: 2.5rem 0;
  padding: 2rem;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px dashed rgba(0, 0, 0, 0.1);
  text-align: center;
}
.main-content .info-footer-container .info-footer-text {
  font-size: 1.1rem;
  color: #334155;
  line-height: 1.6;
  max-width: 800px;
}
.main-content .info-footer-container .info-footer-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 1rem;
}
.main-content .info-footer-container .info-footer-images img {
  width: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
}
.main-content .info-footer-container .info-footer-images img:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.general-content {
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
}
.general-content .main-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.general-content .main-content + .child-pages-section {
  margin-top: 0;
}
.general-content .child-pages-section {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-left: 0;
}
.general-content .child-pages-section .child-pages-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.general-content .child-pages-section .child-pages-list .li-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid #eaeaea;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
}
.general-content .child-pages-section .child-pages-list .li-card .card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none !important;
  color: inherit;
}
.general-content .child-pages-section .child-pages-list .li-card .card-img-wrapper {
  width: 100%;
  height: 180px;
  overflow: hidden;
}
.general-content .child-pages-section .child-pages-list .li-card .card-img-wrapper img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.general-content .child-pages-section .child-pages-list .li-card:hover .card-img-wrapper img {
  transform: scale(1.05);
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 0.5rem;
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper h4 {
  border-bottom: 1px solid var(--v2-gris-claro);
  padding-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  margin-bottom: 0.2rem 0;
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper .card-excerpt {
  color: var(--v2-azul-oscuro);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.5;
  margin-bottom: 0;
  flex-grow: 1;
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper .card-footer {
  margin-top: auto;
  border-top: 1px solid var(--v2-gris-claro);
  padding-top: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper .card-footer .btn-ver-mas {
  color: var(--v2-azul);
  font-weight: 600;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.5rem;
  transition: color 0.3s ease;
}
.general-content .child-pages-section .child-pages-list .li-card .card-content-wrapper .card-footer .btn-ver-mas i {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  transition: transform 0.3s ease;
}
.general-content .child-pages-section .child-pages-list .li-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.general-content .child-pages-section .child-pages-list .li-card:hover .card-content-wrapper > .card-footer > .btn-ver-mas {
  color: var(--v2-rojo);
}
.general-content .child-pages-section .child-pages-list .li-card:hover .card-content-wrapper > .card-footer > .btn-ver-mas i {
  transform: translateX(5px);
}

.uaa-expand {
  margin-bottom: 1rem;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  overflow: hidden;
}

.uaa-expand-toggle {
  width: 100%;
  padding: 1rem 1.5rem;
  background: var(--v2-azul);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  font-size: 1rem;
  font-weight: bold;
  transition: background-color 0.3s ease;
  border-radius: 0.5rem;
}

.uaa-expand-toggle:hover {
  background: var(--v2-azul-oscuro);
}

.uaa-expand-icon {
  font-size: 0.875rem;
  transition: transform 0.2s ease;
  color: #fff;
}

.uaa-expand-icon.expanded {
  transform: rotate(180deg);
}

.social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.social-icon img {
  width: 24px;
  height: 24px;
  margin-right: 0.5rem;
  vertical-align: middle;
}

.uaa-expand-content {
  overflow: hidden;
  background: #fff;
  max-height: 0;
  /* El padding vertical empieza en 0 para poder animarse */
  padding-top: 0;
  padding-bottom: 0;
  /* Asegúrate de que el padding horizontal sea el mismo que el final (si lo deseas) */
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  /* Transicionamos todo junto */
  transition: max-height 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
  /* Ya no necesitas height: 0 ni !important */
}

.uaa-expand-content.expanded {
  /* Un valor suficientemente grande para tu contenido */
  max-height: 1100px;
  /* <--- AJUSTA ESTE VALOR */
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  /* Ya no necesitas height: auto ni !important */
}

.uaa-expand-content > *:first-child {
  margin-top: 0;
}

.uaa-expand-content > *:last-child {
  margin-bottom: 0;
}

/* ============================================================================
   PÁGINA DE BÚSQUEDA
   Template: search.php
   ============================================================================ */
.search-page-container {
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  width: 100%;
}
.search-page-container--full {
  max-width: 1200px;
  margin: 0 auto;
}
.search-page-container .title {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

.search-info-bar {
  background-color: var(--color-fondo-oscuro);
  border-radius: 0.5rem;
  padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  border: 1px solid var(--color-borde);
}
.search-info-bar .search-stats {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-principal);
}

.search-page-form {
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.search-page-form .search-input-group {
  display: flex;
  width: 100%;
}
.search-page-form .search-input-group .search-field {
  flex: 1;
  height: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem 0 0 0.5rem;
  padding: 0 clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
}
.search-page-form .search-input-group .search-field:focus {
  outline: none;
  border-color: var(--v2-azul);
}
.search-page-form .search-input-group .search-submit {
  border-radius: 0 0.5rem 0.5rem 0;
  height: clamp(2.5rem, 2rem + 2.5vw, 3rem);
  padding: 0 clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border: none;
  background-color: var(--v2-azul);
  color: var(--color-blanco);
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.search-page-form .search-input-group .search-submit:hover {
  background-color: var(--v2-azul-oscuro);
}

/* Sistema de Pestañas / Filtros */
.search-tabs-container {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  border-bottom: 2px solid var(--color-borde);
  padding-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.search-tabs-container .search-tab {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--color-fondo-oscuro);
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem;
  color: var(--color-texto-secundario);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s ease;
  cursor: pointer;
}
.search-tabs-container .search-tab:hover {
  background-color: hsla(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l), 0.05);
  color: var(--v2-azul);
  border-color: var(--v2-azul-claro);
}
.search-tabs-container .search-tab.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  background-color: var(--color-fondo-oscuro);
  color: var(--color-texto-claro);
}
.search-tabs-container .search-tab.disabled .search-tab__count {
  background-color: var(--color-borde);
  color: var(--color-texto-claro);
}
.search-tabs-container .search-tab.active {
  background-color: var(--v2-azul);
  color: var(--color-blanco);
  border-color: var(--v2-azul);
}
.search-tabs-container .search-tab.active .search-tab__count {
  background-color: rgba(var(--color-blanco), 0.2);
  color: var(--color-blanco);
}
.search-tabs-container .search-tab__count {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  background-color: var(--color-borde);
  color: var(--color-texto-secundario);
  padding: 2px 6px;
  border-radius: 0.25rem;
  transition: all 0.2s ease;
}

.search-results-list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}

.search-result-card {
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: 0.5rem;
  padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.search-result-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.search-result-card__badge {
  align-self: flex-start;
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 700;
  text-transform: uppercase;
  padding: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  border-radius: 0.25rem;
  background-color: var(--v2-gris-claro);
  color: var(--color-texto-principal);
}
.search-result-card__badge.badge-noticias {
  background-color: hsla(var(--v2-azul-h), var(--v2-azul-s), var(--v2-azul-l), 0.1);
  color: var(--v2-azul);
}
.search-result-card__badge.badge-eventos {
  background-color: hsla(var(--v2-rojo-h), var(--v2-rojo-s), var(--v2-rojo-l), 0.1);
  color: var(--v2-rojo);
}
.search-result-card__badge.badge-page {
  background-color: hsla(var(--v2-amarillo-h), var(--v2-amarillo-s), var(--v2-amarillo-l), 0.1);
  color: var(--v2-amarillo-oscuro);
}
.search-result-card__title {
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 700;
  margin: 0;
}
.search-result-card__title a {
  color: var(--v2-azul-oscuro);
  text-decoration: none;
}
.search-result-card__title a:hover {
  color: var(--v2-azul-claro);
  text-decoration: underline;
}
.search-result-card__excerpt {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-secundario);
  line-height: 1.5;
  margin: 0;
}
.search-result-card__excerpt p {
  margin: 0;
}
.search-result-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  color: var(--color-texto-claro);
  border-top: 1px dashed var(--color-borde);
  padding-top: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  margin-top: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}
.search-result-card__meta .search-result-card__link {
  color: var(--color-texto-claro);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}
.search-result-card__meta .search-result-card__link i {
  font-size: 0.9em;
}
.search-result-card__meta .search-result-card__link:hover {
  color: var(--v2-azul);
  text-decoration: underline;
}

.no-search-results {
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: 0.75rem;
  padding: clamp(2rem, 1.5rem + 2.5vw, 2.5rem) clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: center;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.no-search-results .no-results-icon {
  width: clamp(4rem, 3rem + 5vw, 5rem);
  height: clamp(4rem, 3rem + 5vw, 5rem);
  border-radius: 50%;
  background-color: var(--color-fondo-oscuro);
  color: var(--color-texto-claro);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.no-search-results h2 {
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: 700;
  color: var(--color-texto-principal);
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.no-search-results p {
  color: var(--color-texto-secundario);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  max-width: 500px;
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.no-search-results .search-suggestions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  text-align: left;
  max-width: 450px;
}
.no-search-results .search-suggestions li {
  position: relative;
  padding-left: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  line-height: 1.4;
}
.no-search-results .search-suggestions li::before {
  content: "•";
  color: var(--v2-azul);
  font-weight: bold;
  position: absolute;
  left: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
}

.suggested-content-section {
  margin-top: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  border-top: 1px solid var(--color-borde);
  padding-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
.suggested-content-section .suggested-content-title {
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: 700;
  color: var(--v2-azul);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: left;
}

mark {
  background-color: rgba(255, 224, 130, 0.5);
  /* Amarillo suave */
  color: inherit;
  padding: 0 4px;
  border-radius: 0.25rem;
  font-weight: 600;
}

.single-noticia-article header {
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}
.single-noticia-article header .entry-title {
  font-size: clamp(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem), 2vw + 1rem, 0.1rem + clamp(0.92rem, 1rem + 0.39vw, 1.8rem));
  color: var(--v2-azul-oscuro);
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  line-height: 1.25;
}
.single-noticia-article header .info {
  text-align: right;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-secundario);
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.single-noticia-article header .info span {
  display: inline-block;
}
.single-noticia-article header .info a.dwn-pdf {
  color: var(--v2-rojo);
  font-weight: 700;
  text-decoration: none;
}
.single-noticia-article header .info a.dwn-pdf:hover {
  color: var(--v2-rojo-oscuro);
}
.single-noticia-article .boletin-label h2 {
  color: var(--v2-azul);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 1rem 0;
}
.single-noticia-article .image-content-share {
  display: flex;
  flex-direction: row-reverse;
  gap: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
}
.single-noticia-article .image-content-share.no-gallery {
  flex-direction: column;
}
.single-noticia-article .image-content-share.no-gallery .main-content {
  max-width: 100%;
  padding-left: 0;
  border-left: none;
}
.single-noticia-article .image-content-share.no-gallery .gallery-buttons-container {
  width: 100%;
  position: relative;
  top: auto;
}
.single-noticia-article .image-content-share .main-content {
  padding-left: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  border-left: solid 1px var(--v2-gris-claro);
}
.single-noticia-article .image-content-share .gallery-buttons-container {
  display: flex;
  flex-direction: column;
  width: 300px;
  flex-shrink: 0;
  position: sticky;
  top: calc(var(--header-nav-height) + 1rem);
}
@media screen and (max-width: 1570px) {
  .single-noticia-article .image-content-share .gallery-buttons-container {
    width: 100%;
  }
}
.single-noticia-article .image-content-share .gallery-buttons-container .gallery-container {
  display: flex;
  flex-direction: column;
}
.single-noticia-article .image-content-share .gallery-buttons-container .gallery-container .photo-gallery-grid {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1570px) {
  .single-noticia-article .image-content-share {
    flex-direction: column;
  }
  .single-noticia-article .image-content-share .main-content {
    max-width: 100%;
    padding-left: 0;
    border-left: none;
  }
  .single-noticia-article .image-content-share .gallery-buttons-container .gallery-container {
    display: flex;
    flex-direction: column;
  }
  .single-noticia-article .image-content-share .gallery-buttons-container .gallery-container .photo-gallery-grid {
    display: flex;
    flex-direction: row;
  }
}
.single-noticia-article {
  /* Contenedor de la imagen destacada con efecto zoom blur */
}
.single-noticia-article .imagen-noticia {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.5rem;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0 clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
}
.single-noticia-article .imagen-noticia::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: blur(25px) brightness(0.65);
  z-index: 1;
  transform: scale(1.1);
}
.single-noticia-article .imagen-noticia a.cover-image-link {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}
.single-noticia-article .imagen-noticia a.cover-image-link:hover img {
  transform: scale3d(1.02, 1.02, 1);
}
.single-noticia-article .imagen-noticia img {
  position: relative;
  z-index: 2;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(500px, 75vh);
  object-fit: contain;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.single-noticia-article .imagen-noticia img:hover {
  transform: scale3d(1.02, 1.02, 1);
}
@media screen and (max-width: 768px) {
  .single-noticia-article .imagen-noticia {
    height: 300px;
  }
}
.single-noticia-article .main-content {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  line-height: 1.7;
  color: var(--color-texto-principal);
}
.single-noticia-article .main-content .content-gallery-link {
  max-width: min(700px, 100%);
  display: contents;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  will-change: transform, box-shadow;
  transition: transform 0.3s linear, box-shadow 0.3s linear;
}
.single-noticia-article .main-content .content-gallery-link:hover img {
  transform: scale3d(1.003, 1.003, 1);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.single-noticia-article .main-content .content-gallery-link img {
  max-width: min(700px, 100%);
  display: block;
}
.single-noticia-article .main-content.text-justify {
  text-align: justify;
}
.single-noticia-article .main-content.text-justify .has-text-align-center {
  text-align: center;
}
.single-noticia-article .main-content.text-justify .has-text-align-right {
  text-align: right;
}
.single-noticia-article .main-content p {
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.single-noticia-article .main-content p:last-of-type, .single-noticia-article .main-content p:last-of-type * {
  margin-bottom: 0;
}

/**
 * Single Gaceta UAA
 * Usa las mismas clases que single-noticias para consistencia
 * Los estilos principales están en _single-noticias.scss
 */
.main-section article p a {
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

.related-section {
  margin-top: 2rem;
}
.related-section h2 {
  margin-bottom: 1.5rem;
}

.related-articles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.related-articles li a {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  border-radius: 0.25rem;
  overflow: hidden;
  background: var(--color-blanco);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.related-articles li a:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.related-articles li img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.related-articles li h3 {
  padding: 1rem;
  color: var(--v2-gris-oscuro);
  margin: 0;
  line-height: 1.4;
}

.gallery {
  display: flex !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 1rem !important;
  margin-top: 0;
}
.gallery dl.gallery-item {
  width: 100%;
}
.gallery dl.gallery-item + br {
  display: none;
}
.gallery dl.gallery-item dt.gallery-icon a.content-gallery-link {
  display: block;
  text-align: center;
}
.gallery dl.gallery-item dt.gallery-icon a.content-gallery-link .attachment-medium,
.gallery dl.gallery-item dt.gallery-icon a.content-gallery-link .attachment-thumbnail {
  height: min(200px, 100%);
  object-fit: cover;
  display: block;
}
.gallery img {
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
  object-fit: cover;
  display: block;
}
@media (max-width: 768px) {
  .gallery .related-articles {
    grid-template-columns: 1fr;
  }
}

.single-post-wrapper {
  position: relative;
}
.single-post-wrapper .single-post-meta {
  text-align: right;
  padding: 10px;
  font-style: italic;
  margin-bottom: 20px;
}
.single-post-wrapper .single-post-meta .download-pdf-btn {
  font-size: 14px;
  color: #143c7c;
  font-family: "Open Sans", sans-serif;
  transition: all 0.3s ease;
  text-decoration: none;
}
.single-post-wrapper .single-post-meta .download-pdf-btn i {
  margin-right: 5px;
}
.single-post-wrapper .single-post-meta .download-pdf-btn:hover {
  color: #000;
}
.single-post-wrapper .single-post-image {
  width: 300px;
  margin: 0 auto clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.single-post-wrapper .single-post-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.single-post-wrapper .single-post-caption {
  text-align: center;
  margin-bottom: 20px;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: #666;
}
.single-post-wrapper .entry-content {
  line-height: 1.6;
}
.single-post-wrapper .entry-content p {
  margin-bottom: 15px;
}

.centro-tabs-container-fixed {
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(5px);
  border-top: 1px solid var(--color-borde);
}
@media (min-width: 1024px) {
  .centro-tabs-container-fixed {
    top: calc(var(--header-nav-height));
    border-top: none;
    border-bottom: 1px solid var(--color-borde);
    padding: 0;
  }
}

.centro-tabs-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  overflow-x: auto;
  white-space: nowrap;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .centro-tabs-container {
    padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
    flex-wrap: wrap;
    white-space: normal;
    overflow-x: visible;
    gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  }
}
.centro-tabs-container {
  /* Hide scrollbar */
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.centro-tabs-container::-webkit-scrollbar {
  display: none;
}
.centro-tabs-container .tab-link {
  display: inline-block;
  text-decoration: none;
  border-radius: 50px;
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin-right: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  color: #000000;
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 700;
  transition: all 0.3s ease;
}
@media (min-width: 1024px) {
  .centro-tabs-container .tab-link {
    margin-right: 0;
  }
}
@media (max-width: 1023px) {
  .centro-tabs-container .tab-link {
    font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
    padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  }
}
.centro-tabs-container .tab-link:hover {
  border-color: var(--v2-amarillo);
  color: #000000;
}
.centro-tabs-container .tab-link.active {
  background-color: var(--v2-amarillo);
  color: #000000;
  border-color: var(--v2-amarillo);
  pointer-events: none;
  cursor: default;
}
.centro-tabs-container .tab-link.disabled {
  color: #000000;
  background-color: var(--v2-gris-claro);
  border-color: var(--color-borde);
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

.centro-sections p {
  max-width: 100%;
  overflow: hidden;
}
.centro-sections .centro-section {
  display: none;
  animation: fadeInCentro 0.5s ease-out;
}
.centro-sections .centro-section.active {
  display: block;
}
.centro-sections .centro-section h3 {
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  border-left: 4px solid var(--v2-amarillo);
  padding-left: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.centro-sections .oferta-lista {
  list-style: none;
  max-width: 650px;
}
.centro-sections .oferta-lista .oferta-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
}
.centro-sections .oferta-lista .oferta-item .oferta-item-imgs {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
.centro-sections .oferta-lista .oferta-item .oferta-item-imgs .english-link img {
  width: 24px;
  height: 24px;
  transition: opacity 0.2s;
  cursor: pointer;
}
.centro-sections .oferta-lista .oferta-item .oferta-item-imgs .english-link img:hover {
  opacity: 0.8;
}
.centro-sections .oferta-lista .oferta-item .oferta-item-imgs .oferta-icon {
  width: 24px;
  height: 24px;
}

@keyframes fadeInCentro {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.section-common-content.depto {
  margin-bottom: 0;
}
.section-common-content.depto .simple-vanilla-slider {
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
.section-common-content.depto .simple-vanilla-slider .slider-track .simple-slide {
  margin-bottom: 0;
}
.section-common-content.depto .simple-vanilla-slider .slider-track .simple-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 420px;
  display: block;
  transition: transform 0.5s ease;
}
.section-common-content.depto .info-block {
  margin-bottom: clamp(2rem, 1.5rem + 2.5vw, 2.5rem);
  animation: fadeInDepto 0.5s ease-out;
}
.section-common-content.depto .info-block:last-of-type {
  margin-bottom: 0;
}
.section-common-content.depto .info-block#infraestructura {
  margin-bottom: 1.5rem;
}
.section-common-content.depto .info-block > p,
.section-common-content.depto .info-block > img,
.section-common-content.depto .info-block > ul,
.section-common-content.depto .info-block > ol,
.section-common-content.depto .info-block > ul:not(.docentes) li,
.section-common-content.depto .info-block > div:not(.table-responsive-wrapper) {
  margin-left: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.section-common-content.depto .info-block h2:first-of-type {
  border-left: 4px solid var(--v2-amarillo);
  padding-left: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.section-common-content.depto .info-block img {
  margin: 0 auto;
}
.section-common-content.depto ul.docentes {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  padding: 0;
  margin: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem) 0;
  list-style: none;
}
.section-common-content.depto ul.docentes li {
  background-color: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  text-align: left;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.section-common-content.depto ul.docentes li:hover .img-container img.img-resp {
  border-color: var(--v2-amarillo);
  transform: scale(1.29);
}
.section-common-content.depto ul.docentes li .img-container {
  width: 130px;
  height: 130px;
  transition: all 0.3s ease;
  border-radius: 50%;
  border: 4px solid var(--color-fondo-oscuro);
  overflow: hidden;
  z-index: 0;
  margin-bottom: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}
.section-common-content.depto ul.docentes li img.img-resp {
  width: 100%;
  transform: scale(1.25);
  transition: transform 0.3s ease;
  height: auto;
  object-fit: cover;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.section-common-content.depto ul.docentes li .nombre-docente {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 700;
  color: var(--v2-azul-oscuro);
  margin-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  line-height: 1.3;
}
.section-common-content.depto #investigacion ul.docentes {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.section-common-content.depto #investigacion ul.docentes li {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 1.5rem;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  gap: 1.5rem;
  width: 100%;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}
@media (max-width: 479px) {
  .section-common-content.depto #investigacion ul.docentes li {
    flex-direction: column;
    text-align: left;
    align-items: center;
  }
  .section-common-content.depto #investigacion ul.docentes li .liga-investigador {
    text-align: center;
  }
}
.section-common-content.depto #investigacion ul.docentes li:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  border-color: #cbd5e1;
  background: #ffffff;
}
.section-common-content.depto #investigacion ul.docentes li:hover div:has(img) img {
  transform: scale(1.02);
  box-shadow: 0 clamp(6px, 4px + 1vw, 10px) clamp(10px, 8px + 1vw, 15px) rgba(0, 0, 0, 0.1);
}
.section-common-content.depto #investigacion ul.docentes li div:has(img) img:hover {
  transform: scale(1.05);
}
.section-common-content.depto #investigacion ul.docentes li:has(.liga-foto-investigador:hover) .proyecto .liga-investigador {
  color: var(--v2-rojo);
}
.section-common-content.depto #investigacion ul.docentes li .proyecto {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  order: 2;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .liga-investigador {
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: none;
  color: #0b2240;
  text-decoration: none;
  transition: color 0.3s ease;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .liga-investigador:hover {
  color: var(--v2-rojo);
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item {
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  line-height: 1.4;
  font-size: 0.95rem;
  font-weight: 500;
  position: relative;
  padding-left: 1.25rem;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item.ver-perfil {
  font-weight: 700;
  color: var(--color-texto-principal);
  text-transform: uppercase;
  align-items: center;
  padding-left: 0;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item.ver-perfil::before {
  content: "";
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item.ver-perfil i {
  padding-left: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item.ver-perfil:hover {
  color: var(--v2-rojo);
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item::before {
  content: "•";
  position: absolute;
  left: 0.2rem;
  color: #0b2240;
  font-size: 1.1rem;
  line-height: 1;
  top: 0;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item p {
  color: var(--color-texto-principal);
  transition: color 0.3s ease;
}
.section-common-content.depto #investigacion ul.docentes li .proyecto .proyectos-lista .proyecto-item:hover p {
  color: var(--v2-rojo);
}
.section-common-content.depto #investigacion ul.docentes li .lineas-contenedor {
  order: 3;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  margin-top: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
@media (max-width: 479px) {
  .section-common-content.depto #investigacion ul.docentes li .lineas-contenedor {
    justify-content: center;
  }
}
.section-common-content.depto #investigacion ul.docentes li .lineas-contenedor .linea-item {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748b;
  background-color: rgba(11, 34, 64, 0.05);
  padding: 4px 8px;
  border-radius: 6px;
  display: inline-block;
  transition: all 0.3s ease;
}
.section-common-content.depto #investigacion ul.docentes li div:has(img) {
  order: 1;
  flex-shrink: 0;
}
.section-common-content.depto #investigacion ul.docentes li div:has(img) img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  border: 1px solid var(--v2-gris);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
@media (max-width: 479px) {
  .section-common-content.depto #investigacion ul.docentes li div:has(img) img {
    width: 140px;
    height: 140px;
  }
}

@keyframes fadeInDepto {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ========================================
   CLASES BASE MÁS UTILIZADAS - UAAV2
   ======================================== */
/* === LAYOUT FUNDAMENTAL === */
.wrap {
  width: min(100%, min(1500px, 95vw)) !important;
  margin: 0 auto !important;
}
.wrap br:not(p br):not(span br):not(li br):not(td br) {
  display: none;
}
.wrap:has(.left-content) {
  min-height: 80vh;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  .filtros-eventos {
    flex-direction: column;
  }
}
/* === MOVILIDAD GRID & CARDS === */
.movilidad-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-top: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}

.movilidad-card {
  background: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.movilidad-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}

.movilidad-card-header {
  background-color: var(--v2-azul-oscuro);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem) clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  text-align: center;
  color: var(--color-blanco);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
  line-height: 1.3;
}
.movilidad-card-header h3,
.movilidad-card-header span,
.movilidad-card-header strong {
  color: var(--color-blanco) !important;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
  margin: 0;
}
.movilidad-card-header a {
  color: var(--color-blanco) !important;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
  text-decoration: none;
  line-height: 1.3;
  transition: opacity 0.2s ease;
}
.movilidad-card-header a:hover {
  opacity: 0.9;
  text-decoration: underline;
}

.movilidad-card-body {
  padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  flex-grow: 1;
}

.movilidad-info-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  padding-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.movilidad-info-row:last-child {
  border-bottom: none;
}
.movilidad-info-row .info-label {
  color: var(--color-texto-secundario);
  font-weight: 500;
}

.movilidad-badge-nota {
  display: inline-block;
  padding: 3px 10px;
  border-radius: clamp(0.125rem, 0.1rem + 0.125vw, 0.25rem);
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none !important;
}
.movilidad-badge-nota.has-link {
  background-color: rgba(var(--v2-rojo), 0.1);
  color: var(--v2-rojo);
  border: 1px solid rgba(var(--v2-rojo), 0.2);
  transition: background-color 0.2s, color 0.2s;
}
.movilidad-badge-nota.has-link:hover {
  background-color: var(--v2-rojo);
  color: var(--color-blanco) !important;
}
.movilidad-badge-nota.no-link {
  background-color: var(--color-fondo-oscuro);
  color: var(--color-texto-claro);
  border: 1px solid var(--color-borde);
  cursor: not-allowed;
}

.movilidad-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background-color: var(--color-fondo);
  padding: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  margin-top: auto;
  border: 1px solid var(--color-borde);
}

.date-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.date-col .date-label {
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.date-col .date-label.label-inicio {
  color: #339966;
}
.date-col .date-label.label-cierre {
  color: var(--v2-rojo);
}
.date-col .date-value {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-principal);
  font-weight: 500;
}

.movilidad-title {
  color: var(--v2-azul-oscuro);
  font-size: calc(0.1rem + clamp(0.9rem, 0.989rem + 0.351vw, 1.45rem));
  font-weight: 700;
  text-align: center;
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

/* === FLUJOS DE MOVILIDAD (SALIENTE & ENTRANTE) === */
.movilidad-flujo-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
}
@media (max-width: 768px) {
  .movilidad-flujo-container {
    grid-template-columns: 1fr;
  }
}

.movilidad-flujo-col {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
}

.flujo-title {
  color: var(--v2-azul-oscuro);
  font-size: calc(0.1rem + clamp(0.88rem, 0.959rem + 0.345vw, 1.31rem));
  font-weight: 700;
  text-align: center;
  margin-top: 0;
  margin-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  position: relative;
  padding-bottom: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.flujo-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background-color: var(--v2-amarillo);
  border-radius: 1px;
}

.flujo-card {
  background: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
}

.flujo-card-title {
  color: var(--v2-rojo);
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-bottom: 1px solid var(--color-borde);
  padding-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}

.flujo-card-content {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}

.btn-convocatoria {
  width: 100%;
  text-align: center;
  font-weight: 600;
  justify-content: center;
}

.guia-link {
  display: flex;
  justify-content: center;
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.guia-link .guia-image {
  max-width: 100%;
  height: auto;
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  transition: transform 0.2s ease;
}
.guia-link .guia-image:hover {
  transform: scale(1.02);
}

.procedimiento-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.procedimiento-steps li {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  display: flex;
  align-items: flex-start;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.procedimiento-steps li::before {
  content: attr(data-step) ".-";
  font-weight: 600;
  color: var(--v2-azul);
  min-width: 20px;
}
.procedimiento-steps li a {
  color: var(--v2-azul);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.procedimiento-steps li a:hover {
  color: var(--v2-azul-claro);
  text-decoration: underline;
}

/* === SECCIÓN DE CONTACTO === */
.movilidad-contacto {
  background: var(--color-fondo);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-top: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.contacto-title {
  color: var(--v2-rojo);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  font-weight: 700;
  margin-top: 0;
  margin-bottom: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-bottom: 1px solid rgba(var(--v2-rojo), 0.2);
  padding-bottom: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  letter-spacing: 0.5px;
}

.contacto-content {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.contacto-content p {
  margin: 0;
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  color: var(--color-texto-principal);
}
.contacto-content p strong {
  color: var(--v2-azul-oscuro);
  font-size: calc(0.1rem + clamp(0.86rem, 0.909rem + 0.331vw, 1.22rem));
  display: block;
  margin-bottom: 2px;
}

.contacto-details {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background: var(--color-blanco);
  padding: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  border-radius: clamp(0.375rem, 0.3rem + 0.375vw, 0.5rem);
  border: 1px solid var(--color-borde);
}
.contacto-details p {
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-principal);
  font-weight: 600;
}
.contacto-details p span {
  font-weight: 400;
  color: var(--color-texto-secundario);
  display: block;
  margin-top: 2px;
}

.contacto-emails {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  margin-top: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
}
.contacto-emails a {
  color: var(--v2-azul);
  text-decoration: none;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  padding: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) clamp(0.8rem, 0.6rem + 1vw, 1rem);
  background: rgba(var(--v2-azul), 0.05);
  border-radius: clamp(0.125rem, 0.1rem + 0.125vw, 0.25rem);
  border: 1px solid rgba(var(--v2-azul), 0.1);
  transition: all 0.2s ease;
}
.contacto-emails a:hover {
  background: var(--v2-azul);
  color: var(--color-blanco) !important;
  border-color: var(--v2-azul);
}

/* === CONVOCATORIAS / OPOSICIÓN Y PRODEP === */
.convocatoria-periodo {
  background: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  padding: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin-bottom: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.convocatoria-periodo:hover {
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.convocatoria-periodo h2 {
  margin-top: 0;
}
.convocatoria-periodo ul {
  list-style: none;
  padding: 0;
  margin: 0 0 clamp(0.8rem, 0.6rem + 1vw, 1rem) 0;
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
}
.convocatoria-periodo ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(0.6rem, 0.45rem + 0.75vw, 0.75rem);
  transition: box-shadow 0.2s ease;
}
.convocatoria-periodo ul li a.btn {
  white-space: normal;
}
.convocatoria-periodo ul li a:first-of-type {
  flex: 1 1 250px;
  justify-content: flex-start;
  text-align: left;
}
.convocatoria-periodo p {
  margin: 0;
  text-align: right;
}
.convocatoria-periodo p a {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem);
  color: var(--v2-rojo);
  text-decoration: none;
  font-weight: 600;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  transition: color 0.2s;
}
.convocatoria-periodo p a:hover {
  color: var(--v2-rojo-oscuro);
}
.convocatoria-periodo p a::before {
  content: "\f167";
  /* Icono de YouTube */
  font-family: "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
}

/* === COMPONENTE GENERAL: TARJETAS CON IMAGEN (.img-card) === */
.img-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  margin: clamp(1.5rem, 1.2rem + 1.5vw, 2rem) 0;
  width: 100%;
}

.img-card {
  background: var(--color-blanco);
  border: 1px solid var(--color-borde);
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
}
.img-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.img-card:hover .img-card-image img {
  transform: scale(1.05);
}
.img-card .img-card-link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  color: inherit;
}
.img-card .img-card-image {
  width: 100%;
  aspect-ratio: 4/3;
  /* Altura responsiva proporcional */
  overflow: hidden;
  background-color: var(--v2-gris-claro);
  position: relative;
}
.img-card .img-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.img-card .img-card-body {
  padding: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-blanco);
}
.img-card .img-card-body h1,
.img-card .img-card-body h2,
.img-card .img-card-body h3,
.img-card .img-card-body h4,
.img-card .img-card-body h5,
.img-card .img-card-body h6 {
  font-size: calc(0.1rem + clamp(0.82rem, 0.699rem + 0.254vw, 0.96rem));
  font-weight: 600;
  color: var(--v2-azul-oscuro);
  margin: 0;
  text-align: center;
  line-height: 1.45;
  transition: color 0.2s ease;
}
.img-card .img-card-body h1 span,
.img-card .img-card-body h2 span,
.img-card .img-card-body h3 span,
.img-card .img-card-body h4 span,
.img-card .img-card-body h5 span,
.img-card .img-card-body h6 span {
  display: block;
  font-size: calc(0.1rem + clamp(0.56rem, 0.524rem + 0.191vw, 0.7rem));
  color: var(--v2-rojo);
  font-weight: 700;
  margin-top: clamp(0.2rem, 0.15rem + 0.25vw, 0.25rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.img-card .img-card-body p {
  margin: clamp(0.4rem, 0.3rem + 0.5vw, 0.5rem) 0 0 0;
  font-size: calc(0.1rem + clamp(0.66rem, 0.612rem + 0.222vw, 0.82rem));
  color: var(--color-texto-secundario);
  text-align: center;
  line-height: 1.4;
}
.img-card {
  /* Variantes de ordenamiento */
}
.img-card.img-top .img-card-link {
  flex-direction: column;
}
.img-card.img-top .img-card-image {
  order: 1;
}
.img-card.img-top .img-card-body {
  order: 2;
}
.img-card.img-bottom .img-card-link {
  flex-direction: column;
}
.img-card.img-bottom .img-card-body {
  order: 1;
}
.img-card.img-bottom .img-card-image {
  order: 2;
}

/* --- 05-UTILITIES --- */
/* --- 06-EXTRA --- */
.directorio-page {
  padding-bottom: 4rem;
}
.directorio-page .text-center {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 2rem;
  text-align: center;
}
.directorio-page .text-center h4 {
  margin-top: auto;
}
.directorio-page .conmutador-badge {
  display: inline-block;
  background-color: var(--v2-gris);
  padding: 8px 20px;
  border-radius: clamp(1rem, 0.95rem + 0.75vw, 1.4rem);
  color: var(--v2-azul-oscuro);
  font-weight: 700;
  margin-top: 5px;
  transition: all 0.2s ease-in-out;
}
.directorio-page .conmutador-badge:hover {
  background-color: color-mix(in srgb, #e9ecef 95%, black 5%);
}
.directorio-page .conmutador-badge a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
.directorio-page .conmutador-badge a:hover {
  text-decoration: underline;
}
.directorio-page {
  /* ==================
     TABLA DE DIRECTORIO
     ================== */
}
.directorio-page #directorioTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.directorio-page #directorioTable thead th:nth-child(1) {
  width: 30%;
}
.directorio-page #directorioTable thead th:nth-child(2) {
  width: 40%;
}
.directorio-page #directorioTable thead th:nth-child(3) {
  width: 30%;
}
.directorio-page #directorioTable thead th {
  background-color: var(--v2-azul);
  color: white;
  border: none;
  padding: 15px 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-right: 1px solid #ddd;
}
.directorio-page #directorioTable thead th:first-child {
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem) clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem) 0 0;
}
@media (min-width: 481px) {
  .directorio-page #directorioTable thead th:first-child {
    border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem) 0 0 0 !important;
  }
}
.directorio-page #directorioTable thead th:last-child {
  border-right: none;
}
@media (min-width: 481px) {
  .directorio-page #directorioTable thead th:last-child {
    border-radius: 0 clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem) 0 0 !important;
  }
}
.directorio-page #directorioTable tbody td {
  border-left: none;
  border-right: none;
  border-top: 1px solid var(--v2-gris-claro) !important;
  border-bottom: none;
}
.directorio-page #directorioTable tbody tr.group-level-0 td {
  background-color: var(--v2-azul-oscuro);
  color: white !important;
  font-weight: 700;
  padding: 14px 20px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.directorio-page #directorioTable tbody tr.group-level-0:hover td {
  background-color: #002255;
}
.directorio-page #directorioTable tbody tr.group-level-1 td {
  background-color: #e9ecef;
  color: var(--v2-azul-oscuro);
  font-weight: 600;
  padding: 12px 20px 12px 35px;
  cursor: pointer;
  transition: background-color 0.2s;
}
.directorio-page #directorioTable tbody tr.group-level-1:hover td {
  background-color: var(--v2-gris-claro);
}
.directorio-page #directorioTable tbody tr:has(td > .sub-area-wrapper) {
  box-shadow: inset 0 0 0 2px #0f1012;
}
.directorio-page #directorioTable tbody tr:has(td > .sub-area-wrapper) td {
  background-color: #f5f5f5;
}
.directorio-page #directorioTable tbody tr:has(td > .sub-area-wrapper):hover {
  background-color: #d5d5d5;
}
.directorio-page #directorioTable tbody tr:not(.dtrg-group) > td {
  background-color: white;
}
.directorio-page #directorioTable tbody tr td {
  vertical-align: middle;
  padding: 15px clamp(15px, 5vw, 20px);
  transition: background-color 0.2s;
}
.directorio-page #directorioTable tbody tr td .sub-area-wrapper {
  padding-left: clamp(1.2rem, 0.9rem + 1.5vw, 1.5rem);
  position: relative;
}
.directorio-page #directorioTable tbody tr td .sub-area-arrow {
  color: var(--v2-azul);
  font-weight: bold;
  margin-right: 6px;
  display: inline-block;
}
.directorio-page #directorioTable tbody tr td.desktop.align-middle, .directorio-page #directorioTable tbody tr td.desktop.dtr-control {
  width: 30% !important;
}
.directorio-page #directorioTable tbody tr td.desktop.contact-info {
  width: 40% !important;
}
.directorio-page #directorioTable tbody tr:not(.dtrg-group):hover > td {
  background-color: #f8f9fa;
}
.directorio-page #directorioTable tbody tr.child:hover > td {
  background-color: #fdfcfc !important;
}
.directorio-page #directorioTable tbody tr.child td.child {
  padding: 20px 30px;
  background-color: #fdfcfc;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.14);
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details li {
  border-bottom: 1px dashed #e9ecef;
  padding: 12px 0;
  display: flex;
  flex-direction: column;
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details li .dtr-title {
  font-weight: 700;
  color: var(--v2-azul-oscuro);
  margin-bottom: 6px;
  font-size: 0.85rem;
  text-transform: uppercase;
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details li .dtr-data {
  color: var(--v2-azul-oscuro);
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.directorio-page #directorioTable tbody tr.child td.child ul.dtr-details li:first-child {
  padding-top: 0;
}
.directorio-page {
  /* Estilos específicos de información */
}
.directorio-page .contact-info i,
.directorio-page .ubicacion-cell i {
  color: var(--v2-azul);
  width: 20px;
  text-align: center;
}
.directorio-page .contact-info a,
.directorio-page .ubicacion-cell a {
  color: var(--v2-azul);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
  background: #e6f3ff;
  border-radius: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
  padding: 0 0.3rem;
}
.directorio-page .contact-info a:hover,
.directorio-page .ubicacion-cell a:hover {
  color: var(--v2-azul-oscuro);
  text-decoration: underline;
}
.directorio-page {
  /* Buscador (Plugin DataTables) */
}
.directorio-page .dataTables_filter {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.directorio-page .dataTables_filter label {
  font-weight: 600;
  color: var(--v2-azul-oscuro);
  width: 70%;
}
.directorio-page .dataTables_filter input {
  border-radius: clamp(1rem, 0.95rem + 0.75vw, 1.4rem);
  border: 1px solid #ced4da;
  padding: 8px 20px;
  outline: none;
  box-shadow: none;
  transition: all 0.3s;
  width: 70%;
  margin-left: 10px;
}
.directorio-page .dataTables_filter input:focus {
  border-color: var(--v2-azul);
  box-shadow: 0 clamp(2px, 1px + 0.5vw, 4px) clamp(4px, 3px + 0.5vw, 6px) rgba(0, 0, 0, 0.07);
}
.directorio-page .dataTables_filter .btn-toggle-groups {
  border-radius: clamp(1rem, 0.95rem + 0.75vw, 1.4rem);
  font-size: calc(0.1rem + clamp(0.825rem, 0.72rem + 0.26vw, 1rem));
  font-weight: 600;
  padding: 8px 20px;
  border: none;
  background-color: var(--v2-azul);
  color: var(--color-blanco);
  transition: all 0.2s ease-in-out;
  margin-left: 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.directorio-page .dataTables_filter .btn-toggle-groups i {
  margin-right: clamp(0.8rem, 0.6rem + 1vw, 1rem);
}
.directorio-page .dataTables_filter .btn-toggle-groups:hover {
  background-color: var(--v2-azul-oscuro);
  text-decoration: none;
  color: var(--color-blanco);
}
.directorio-page {
  /* Componentes visuales UI */
}
.directorio-page .loader-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 250px;
}
.directorio-page .loader-container .spinner-border {
  color: var(--v2-azul);
  border-width: 4px;
}
.directorio-page .loader-container .loader-text {
  margin-top: 15px;
  color: var(--v2-azul);
  font-weight: 600;
}

@media (min-width: 600px) {
  .dt-responsive {
    display: table !important;
  }
}
/* Responsividad general */
@media (max-width: 768px) {
  .directorio-page .dataTables_filter input {
    width: 100%;
    min-width: 100%;
    margin-left: 0;
    margin-top: 10px;
  }
  .directorio-page .dataTables_filter label {
    width: 100%;
    text-align: left;
  }
  .directorio-page .dataTables_filter .btn-toggle-groups {
    margin-left: 0;
    margin-top: 10px;
    width: 100%;
    display: flex;
  }
  .directorio-page #directorioTable thead th {
    padding: 12px 15px;
  }
  .directorio-page #directorioTable tbody tr.group-level-1 td {
    padding-left: 20px;
  }
  .directorio-page .contact-info div {
    margin-bottom: 10px;
  }
}
/* Contenedor principal de la galería de mapas */
.map-gallery-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-template-rows: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(0.8rem, 0.6rem + 1vw, 1rem);
  padding: 0;
  font-family: sans-serif;
}

/* Estilo para cada tarjeta de mapa */
.map-card {
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  margin: -5px 0;
}
.map-card br {
  display: none !important;
}

/* Efecto al pasar el mouse */
.map-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Estilo del enlace */
.map-card a {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
}

/* Estilo de la imagen dentro de la tarjeta */
.map-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* object-position: 60% center; */
  display: block;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: scale(1.1);
}

.map-card:hover img {
  opacity: 1;
}

/* Estilo para el título del mapa (SVG) */
.map-card .map-title {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.map-card .map-title img {
  width: 100%;
  height: auto;
  max-height: 100%;
  /* object-fit: contain; */
  opacity: 1;
}

.map-card:hover .map-title {
  opacity: 0;
  pointer-events: none;
}

/* ========================================
   TEMAS (DEMO DE AJUSTES CON CSS VARIABLES)
   ======================================== */
body.theme-dark {
  --color-texto-principal: #f3f4f6;
  --color-texto-secundario: #9ca3af;
  --color-texto-claro: #6b7280;
  --color-borde: #374151;
  --color-fondo: #0a0a0a;
  --color-fondo-oscuro: #000000;
  --color-blanco: #1a1a1a;
  --v2-azul-l: 45%;
  --v2-rojo-l: 55%;
  --v2-verde-l: 45%;
  --v2-amarillo-l: 45%;
  background-color: var(--color-fondo);
  color: var(--color-texto-principal);
}
body.theme-dark a:not(.btn):not(.sidebar-link):not(.mobile-nav-link) {
  color: var(--v2-azul);
}
body.theme-dark a:not(.btn):not(.sidebar-link):not(.mobile-nav-link):hover {
  color: var(--v2-azul-claro);
}
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 {
  color: var(--color-texto-principal);
}

body.theme-high-contrast {
  --color-texto-principal: #ffff00;
  --color-texto-secundario: #ffff00;
  --color-texto-claro: #ffff00;
  --color-borde: #ffff00;
  --color-fondo: #000000;
  --color-fondo-oscuro: #000000;
  --color-blanco: #000000;
  background-color: var(--color-fondo);
  color: var(--color-texto-principal);
}
body.theme-high-contrast * {
  border-color: var(--color-borde) !important;
}
body.theme-high-contrast a:not(.btn) {
  color: #00ffff !important;
  text-decoration: underline !important;
}
body.theme-high-contrast h1,
body.theme-high-contrast h2,
body.theme-high-contrast h3,
body.theme-high-contrast h4,
body.theme-high-contrast h5,
body.theme-high-contrast h6,
body.theme-high-contrast p,
body.theme-high-contrast span,
body.theme-high-contrast li,
body.theme-high-contrast div {
  color: var(--color-texto-principal);
}
body.theme-high-contrast .btn {
  background-color: #000000 !important;
  color: #ffff00 !important;
  border: 2px solid #ffff00 !important;
  border-radius: 0 !important;
}