/* main.css — SEVIAH. Estilos propios del sitio.
   Los colores provienen EXCLUSIVAMENTE de tokens.css (D-02): sin hex sueltos.
   Los tintes translúcidos se derivan de los tokens con color-mix(). */
@import "tokens.css";

/* ===== Base ===== */
body {
  font-family: var(--sev-serif);
  color: var(--sev-oscuro);
  background: var(--sev-blanco);
}
h1, h2, h3, h4 { font-family: var(--sev-serif); }
main { display: block; }
img { max-width: 100%; height: auto; }
a { color: var(--sev-navy); }
a:hover { color: var(--sev-dorado); }

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 1080;
  background: var(--sev-dorado); color: var(--sev-oscuro);
  padding: .5rem 1rem; font-family: var(--sev-sans); font-weight: 700;
}
.skip-link:focus { left: 0; }

/* ===== Preloader institucional (D-15, AJUSTE-04-D2) =====
   Coreografía replicada del loader de la SIT: logo estático centrado sobre un halo
   circular con degradado que gira (1.2s lineal) tras capas desenfocadas, disco interior
   que ahueca el anillo, y salida por fade del overlay. Reescrito desde cero con tokens
   SEVIAH; en cada página y cada visita, con failsafe de 2.5s armado en el head.
   Se llama sev-cargador (no "preloader"): los filtros cosméticos de los bloqueadores
   de anuncios ocultan los selectores genéricos .preloader/#preloader. */
.sev-cargador {
  position: fixed; inset: 0; z-index: 2000;
  background: var(--sev-blanco);
  display: flex; align-items: center; justify-content: center;
  opacity: 1; transition: opacity .4s ease;
}
.sev-cargador--oculto { opacity: 0; pointer-events: none; }
html.con-cargador { overflow: hidden; }
/* Failsafe 2.5s armado en el head (independiente de los CDN): desvanece por CSS */
.cargador-vencido .sev-cargador { opacity: 0; pointer-events: none; }
/* Degradado en la misma familia tonal (dorado→dorado oscuro): con dorado→navy el
   resplandor quedaba cargado hacia el lado claro y el círculo se percibía descentrado
   respecto al escudo; con tonos de luminosidad cercana el halo queda simétrico y el
   giro se aprecia como un brillo que barre el anillo. */
/* Centrado por calc(), NUNCA por transform: el translate vivía en los keyframes del
   giro y con prefers-reduced-motion (animación anulada) el anillo quedaba desplazado
   media pieza abajo-derecha, separándose del escudo. */
.sev-cargador__anillo {
  position: absolute; top: calc(50% - 84px); left: calc(50% - 84px);
  width: 168px; height: 168px; border-radius: 50%;
  background: linear-gradient(135deg, var(--sev-dorado), var(--sev-dorado-texto));
  animation: sev-carga-giro 1.2s linear infinite;
}
.sev-cargador__anillo span {
  position: absolute; inset: 0; border-radius: 50%;
  background: linear-gradient(135deg, var(--sev-dorado), var(--sev-dorado-texto));
}
.sev-cargador__anillo span:nth-of-type(1) { filter: blur(5px); }
.sev-cargador__anillo span:nth-of-type(2) { filter: blur(10px); }
.sev-cargador__anillo span:nth-of-type(3) { filter: blur(25px); animation: sev-carga-respiro 2.4s ease-in-out infinite; }
.sev-cargador__anillo span:nth-of-type(4) { filter: blur(50px); animation: sev-carga-respiro 2.4s ease-in-out infinite .6s; }
/* Spinner orbital: aro fino con arco dorado girando alrededor del halo */
.sev-cargador__orbita {
  position: absolute; top: calc(50% - 106px); left: calc(50% - 106px);
  width: 212px; height: 212px; border-radius: 50%;
  border: 3px solid color-mix(in srgb, var(--sev-dorado) 22%, transparent);
  border-top-color: var(--sev-dorado);
  animation: sev-carga-giro 1.5s linear infinite;
}
/* Disco interior opaco: el escudo es un PNG cuadrado con fondo blanco y sobre un disco
   translúcido sus esquinas se notaban "fuera" del círculo */
.sev-cargador__anillo::after {
  content: ""; position: absolute; inset: 12px; border-radius: 50%;
  background: var(--sev-blanco); border: 5px solid var(--sev-blanco);
}
/* Anclado al mismo punto exacto que el anillo, también por calc() */
.sev-cargador__escudo {
  position: absolute; top: calc(50% - 48px); left: calc(50% - 48px);
  width: 96px; height: 96px; border-radius: 50%;
}
.sev-cargador__lema {
  position: absolute; top: calc(50% + 122px); left: 50%; transform: translateX(-50%);
  width: max-content; max-width: 88vw; margin: 0; text-align: center;
  font-family: var(--sev-serif); font-style: italic; font-size: 1.05rem;
  color: var(--sev-navy);
  animation: sev-carga-lema .9s ease-out both;
}
@keyframes sev-carga-giro {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes sev-carga-lema { from { opacity: 0; } to { opacity: 1; } }
@keyframes sev-carga-respiro { 0%, 100% { opacity: 1; } 50% { opacity: .65; } }
/* Movimiento reducido (enmienda D2): presentación estática (sin giro del anillo ni
   respiro del halo). El spinner orbital queda EXENTO (ver excepción al final del
   archivo): es pequeño, breve y funcional — indica que la página está cargando. */
@media (prefers-reduced-motion: reduce) {
  .sev-cargador { transition: none; }
  .sev-cargador__anillo, .sev-cargador__anillo span, .sev-cargador__lema { animation: none; }
}

/* ===== Botones institucionales ===== */
.btn-sev, .btn-sev-outline {
  display: inline-block; font-family: var(--sev-sans); font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px; font-size: .9rem;
  padding: .65rem 1.5rem; border-radius: 4px; text-decoration: none;
  cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.btn-sev { background: var(--sev-dorado); color: var(--sev-oscuro); border: 2px solid var(--sev-dorado); }
.btn-sev:hover, .btn-sev:focus { background: var(--sev-navy); border-color: var(--sev-navy); color: var(--sev-blanco); }
.btn-sev-outline { background: transparent; color: var(--sev-navy); border: 2px solid var(--sev-navy); }
.btn-sev-outline:hover, .btn-sev-outline:focus { background: var(--sev-navy); color: var(--sev-blanco); }

/* ===== Secciones ===== */
.section { padding: 3.5rem 0; }
.section--suave { background: var(--sev-dorado-suave); }
.section--crema { background: var(--sev-crema); }
.section--oscuro { background: var(--sev-oscuro); color: var(--sev-blanco); }
.section-heading { border-left: 5px solid var(--sev-dorado); padding-left: .9rem; margin-bottom: 2rem; }
.section-title { color: var(--sev-navy); font-size: 2rem; font-weight: 700; margin: 0 0 .25rem; }
.section--oscuro .section-title { color: var(--sev-blanco); }
.section-lead { font-family: var(--sev-sans); font-size: 1.05rem; margin: 0; color: inherit; }
.editorial { font-size: 1.08rem; line-height: 1.75; }
.eyebrow {
  font-family: var(--sev-sans); text-transform: uppercase; letter-spacing: 2px;
  font-size: .8rem; font-weight: 700; color: var(--sev-dorado-texto);
}
/* Sobre fondos oscuros, el dorado brillante SÍ contrasta (docs/03 §4) */
.section--oscuro .eyebrow { color: var(--sev-dorado); }

/* ===== Header ===== */
.gov-strip { height: 6px; background: var(--sev-dorado); }
.brand-bar { background: var(--sev-blanco); border-bottom: 1px solid var(--sev-gris-linea); padding: .55rem 0; }
.brand-enlace { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.brand-escudo { height: 46px; width: auto; }
.brand-text { display: flex; flex-direction: column; line-height: 1.08; }
.brand-name { font-weight: 700; font-size: 1.5rem; color: var(--sev-dorado); letter-spacing: 1px; }
.brand-sub {
  font-family: var(--sev-sans); font-size: .7rem; color: var(--sev-oscuro);
  text-transform: uppercase; letter-spacing: .4px;
}
.brand-lema { font-style: italic; color: var(--sev-navy); text-decoration: none; font-size: .95rem; }

.site-nav { background: var(--sev-navy); padding: 0; }
.site-nav .navbar-nav { gap: .1rem; }
.site-nav .nav-link {
  position: relative;
  color: var(--sev-blanco); font-family: var(--sev-sans); font-weight: 600;
  font-size: .9rem; padding: .8rem 1rem; text-transform: uppercase; letter-spacing: .3px;
  border-bottom: 3px solid transparent;
  transition: color .2s ease;
}
/* Subrayado animado (AJUSTE-04-D3): crece de izquierda a derecha al pasar el cursor */
.site-nav .nav-link::after {
  content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .5rem; height: 2px;
  background: var(--sev-dorado);
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.site-nav .nav-link:hover::after, .site-nav .nav-link:focus-visible::after { transform: scaleX(1); }
.site-nav .nav-link.active::after { display: none; }
.site-nav .nav-link:hover, .site-nav .nav-link:focus { color: var(--sev-dorado); }
.site-nav .nav-link.active { color: var(--sev-oscuro); background: var(--sev-dorado); border-bottom-color: var(--sev-dorado); }
.navbar-toggler { border: 1px solid color-mix(in srgb, var(--sev-blanco) 60%, transparent); }

/* ===== Hero (Swiper) ===== */
.hero-swiper { width: 100%; }
.hero-slide {
  position: relative; height: 72vh; min-height: 440px;
  display: flex; align-items: center; overflow: hidden; color: var(--sev-blanco);
}
.hero-slide__bg { position: absolute; inset: 0; z-index: 0; }
.hero-slide--dorado .hero-slide__bg { background: linear-gradient(120deg, var(--sev-dorado), var(--sev-oscuro)); }
.hero-slide--navy .hero-slide__bg { background: linear-gradient(120deg, var(--sev-navy), var(--sev-oscuro)); }
.hero-slide--verde .hero-slide__bg { background: linear-gradient(120deg, var(--sev-verde-inst), var(--sev-oscuro)); }
.hero-slide__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--sev-oscuro) 78%, transparent),
    color-mix(in srgb, var(--sev-oscuro) 12%, transparent));
}
/* Fotografías de portada (AJUSTE-04-D1): overlay --sev-oscuro 60%→0 (docs/03 §3) */
.hero-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-slide--foto .hero-slide__overlay {
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--sev-oscuro) 60%, transparent),
    transparent);
}
.hero-slide__fila { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.hero-slide__medallon {
  width: clamp(180px, 22vw, 280px); height: auto; border-radius: 50%;
  border: 4px solid color-mix(in srgb, var(--sev-blanco) 55%, transparent);
  box-shadow: 0 14px 40px color-mix(in srgb, var(--sev-oscuro) 35%, transparent);
}
@media (max-width: 767.98px) { .hero-slide__medallon { display: none; } }
.hero-slide__content { position: relative; z-index: 2; max-width: 640px; padding: 1.5rem 0; }
.hero-eyebrow { color: color-mix(in srgb, var(--sev-blanco) 88%, transparent); }
.hero-title { font-size: clamp(1.9rem, 4.2vw, 3rem); font-weight: 700; line-height: 1.12; margin: .5rem 0 1rem; }
.hero-text { font-family: var(--sev-sans); font-size: 1.1rem; margin-bottom: 1.5rem; color: color-mix(in srgb, var(--sev-blanco) 92%, transparent); }
.hero .swiper-button-next, .hero .swiper-button-prev { color: var(--sev-blanco); }
.hero .swiper-pagination-bullet { background: var(--sev-blanco); opacity: .6; }
.hero .swiper-pagination-bullet-active { background: var(--sev-dorado); opacity: 1; }
@media (max-width: 768px) { .hero-slide { height: 60vh; min-height: 380px; } }

/* ===== Card Destacado ===== */
.card-destacado {
  background: var(--sev-blanco); border: 1px solid var(--sev-gris-linea); border-radius: 10px;
  padding: 1.75rem 1.4rem; height: 100%; text-align: center;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--sev-oscuro) 8%, transparent);
  transition: transform .2s ease, box-shadow .2s ease;
}
.card-destacado:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--sev-oscuro) 16%, transparent);
}
.card-destacado__icon {
  width: 68px; height: 68px; border-radius: 50%; background: var(--sev-crema);
  color: var(--sev-dorado); display: grid; place-items: center; font-size: 1.6rem; margin: 0 auto 1rem;
}
.card-destacado__title { color: var(--sev-navy); font-size: 1.2rem; font-weight: 700; margin-bottom: .5rem; }
.card-destacado__text { font-family: var(--sev-sans); font-size: .95rem; margin: 0; }

/* ===== Card Noticia ===== */
.card-noticia {
  background: var(--sev-blanco); border: 1px solid var(--sev-gris-linea); border-radius: 10px;
  overflow: hidden; height: 100%; display: flex; flex-direction: column;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--sev-oscuro) 8%, transparent);
  color: var(--sev-oscuro); /* autocontenida: no hereda el blanco de .section--oscuro (D-13) */
  transition: transform .2s ease, box-shadow .2s ease;
}
.card-noticia:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--sev-oscuro) 16%, transparent);
}
.card-noticia__media {
  position: relative; aspect-ratio: 16/9; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--sev-navy), var(--sev-oscuro));
  color: color-mix(in srgb, var(--sev-blanco) 85%, transparent); font-size: 2rem;
}
/* Imagen temática de la noticia (AJUSTE-04, revisión 2) */
.card-noticia__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.card-noticia__body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; }
.card-noticia__date { font-family: var(--sev-sans); font-size: .76rem; text-transform: uppercase; letter-spacing: 1px; color: var(--sev-dorado-texto); font-weight: 700; }
.card-noticia__title { color: var(--sev-navy); font-size: 1.15rem; margin: .35rem 0 .5rem; }
.card-noticia__excerpt { font-family: var(--sev-sans); font-size: .92rem; flex: 1; margin: 0; }
.card-noticia__link { margin-top: .9rem; font-family: var(--sev-sans); font-weight: 700; text-decoration: none; color: var(--sev-navy); }
.card-noticia__link:hover { color: var(--sev-dorado); }

/* ===== Card-enlace de video con miniatura (D-15, AJUSTE-04-D5) =====
   Miniatura i.ytimg.com (hqdefault 4:3: el recorte 16/9 con object-fit elimina las
   franjas) + velo oscuro sutil + botón de play dorado centrado. */
.card-video__media { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; }
.card-video__thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
.card-video__velo {
  position: absolute; inset: 0;
  background: color-mix(in srgb, var(--sev-oscuro) 30%, transparent);
  transition: background .2s ease;
}
.card-video__play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--sev-dorado); color: var(--sev-blanco);
  display: grid; place-items: center; font-size: 1.2rem;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--sev-oscuro) 35%, transparent);
  transition: background .2s ease, transform .2s ease;
}
.card-video__play i { margin-left: 3px; /* centrado óptico del triángulo */ }
.card-noticia:hover .card-video__play {
  background: var(--sev-navy); transform: translate(-50%, -50%) scale(1.08);
}
.card-noticia:hover .card-video__velo {
  background: color-mix(in srgb, var(--sev-oscuro) 14%, transparent);
}

/* ===== En construcción (D-06) ===== */
.en-construccion {
  background: var(--sev-crema); border: 2px dashed var(--sev-dorado); border-radius: 12px;
  padding: 2rem 1.5rem; text-align: center;
}
.en-construccion__icon { font-size: 2.2rem; color: var(--sev-dorado); margin-bottom: .5rem; }
.en-construccion__title { color: var(--sev-navy); font-size: 1.2rem; margin: 0 0 .35rem; }
.en-construccion__text { font-family: var(--sev-sans); margin: 0; }

/* ===== Video embed (D-05, docs/03 §3, docs/04 §4) ===== */
.video-embed { margin: 0 0 1rem; }
.video-embed__frame {
  position: relative; width: 100%; border-radius: 12px; overflow: hidden;
  background: var(--sev-oscuro);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--sev-oscuro) 18%, transparent);
}
.video-embed--horizontal .video-embed__frame { aspect-ratio: 16/9; }
.video-embed--vertical .video-embed__frame { aspect-ratio: 9/16; max-width: 420px; margin-inline: auto; }
.video-embed__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-embed__pending {
  position: absolute; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: .5rem; text-align: center; padding: 1rem;
}
.video-embed__pending-icon { font-size: 2.4rem; color: var(--sev-dorado); }
.video-embed__badge { font-family: var(--sev-sans); text-transform: uppercase; letter-spacing: 2px; font-size: .72rem; color: var(--sev-dorado); font-weight: 700; }
.video-embed__pending-title { font-size: 1rem; color: var(--sev-blanco); margin: 0; max-width: 90%; }
.video-embed__caption { font-family: var(--sev-sans); font-size: .88rem; margin-top: .6rem; }
.video-embed__caption-title { color: var(--sev-navy); font-weight: 700; }

/* ===== Pilares / listas institucionales ===== */
.pilar { display: flex; gap: 1rem; align-items: flex-start; }
.pilar__icon {
  flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%;
  background: var(--sev-crema); color: var(--sev-dorado); display: grid; place-items: center; font-size: 1.3rem;
}
.pilar__title { color: var(--sev-navy); font-size: 1.1rem; margin: .1rem 0 .3rem; }
.pilar__text { font-family: var(--sev-sans); font-size: .95rem; margin: 0; }

/* ===== Fichas (programas, sistemas, autoridades) ===== */
.ficha {
  background: var(--sev-blanco); border: 1px solid var(--sev-gris-linea); border-radius: 10px;
  padding: 1.6rem; height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ficha:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--sev-oscuro) 12%, transparent);
}
.ficha__eyebrow { color: var(--sev-dorado-texto); }
.ficha__title { color: var(--sev-navy); font-size: 1.3rem; margin: .25rem 0 .6rem; }
.ficha__body { font-family: var(--sev-sans); font-size: .96rem; }
.ficha__body p:last-child { margin-bottom: 0; }
.badge-estado {
  display: inline-block; font-family: var(--sev-sans); font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; padding: .2rem .6rem; border-radius: 999px;
  background: var(--sev-dorado-suave); color: var(--sev-oscuro); border: 1px solid var(--sev-gris-linea);
}
.retrato-silueta {
  aspect-ratio: 3/4; background: var(--sev-crema); border: 1px solid var(--sev-gris-linea);
  border-radius: 10px; display: grid; place-items: center; color: var(--sev-dorado); font-size: 3rem;
}

/* ===== Autoridades: retrato, bloques desplegables y organigrama =====
   Los retratos se sirven ya recortados a 3:4 (900×1200); aspect-ratio y object-fit
   sostienen el encuadre aunque una futura foto llegue con otra proporción. */
.retrato {
  display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover;
  border-radius: 10px; border: 1px solid var(--sev-gris-linea);
}
.autoridad-cargo { font-family: var(--sev-sans); font-size: .88rem; margin-bottom: .35rem; }
.autoridad-desde {
  font-family: var(--sev-sans); font-size: .82rem; color: var(--sev-dorado-texto);
  margin-bottom: .8rem;
}

/* Desplegables nativos <details>: sin JavaScript (D-H) */
.autoridad-detalle { border-top: 1px solid var(--sev-gris-linea); margin-top: 1rem; }
.autoridad-detalle > summary {
  font-family: var(--sev-sans); font-weight: 700; font-size: .9rem; color: var(--sev-navy);
  padding: .7rem 0; cursor: pointer;
}
.autoridad-detalle > summary:hover, .autoridad-detalle[open] > summary { color: var(--sev-dorado-texto); }
.autoridad-lista { font-family: var(--sev-sans); font-size: .9rem; padding-left: 1.1rem; margin-bottom: 1rem; }
.autoridad-lista li + li { margin-top: .4rem; }

.trayectoria { list-style: none; padding-left: 0; margin-bottom: 1rem; }
.trayectoria__item { border-left: 3px solid var(--sev-dorado); padding-left: .9rem; }
.trayectoria__item + .trayectoria__item { margin-top: .9rem; }
.trayectoria__periodo {
  font-family: var(--sev-sans); font-size: .74rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--sev-dorado-texto); margin-bottom: .1rem;
}
.trayectoria__cargo { color: var(--sev-navy); font-weight: 700; font-size: .98rem; margin-bottom: .05rem; }
.trayectoria__entidad { font-family: var(--sev-sans); font-size: .86rem; margin-bottom: 0; }

.aviso-desplazamiento { font-family: var(--sev-sans); font-size: .88rem; color: var(--sev-dorado-texto); }
.organigrama-visor { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.organigrama-visor img { min-width: 900px; width: 100%; height: auto; display: block; }

/* ===== Formulario (maquetado, deshabilitado) ===== */
.form-nota {
  background: var(--sev-dorado-suave); border: 1px solid var(--sev-gris-linea);
  border-radius: 8px; padding: .8rem 1rem; font-family: var(--sev-sans); font-size: .9rem;
}
.form-label { font-family: var(--sev-sans); font-weight: 600; font-size: .9rem; }

/* ===== Filtro de playlists (multimedia) ===== */
.playlist-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.playlist-filtro {
  font-family: var(--sev-sans); font-weight: 600; font-size: .88rem; padding: .5rem 1.1rem;
  border-radius: 999px; border: 2px solid var(--sev-navy); background: transparent; color: var(--sev-navy);
  cursor: pointer; text-decoration: none;
}
.playlist-filtro:hover, .playlist-filtro.is-active { background: var(--sev-navy); color: var(--sev-blanco); }
.video-card__meta { font-family: var(--sev-sans); font-size: .8rem; color: var(--sev-dorado-texto); text-transform: uppercase; letter-spacing: 1px; font-weight: 700; }

/* ===== Bloques de video por formato (D-13, AJUSTE-02) ===== */
.bloque-videos + .bloque-videos { margin-top: 3rem; }
.shorts-fila {
  display: flex; gap: 1.5rem; overflow-x: auto; padding-bottom: .75rem;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
}
.shorts-fila__item { flex: 0 0 min(320px, 80vw); max-width: 420px; scroll-snap-align: start; }

/* ===== Transparencia (acordeón Art. 13) ===== */
.enlace-oficial { display: flex; gap: 1rem; align-items: flex-start; }
.enlace-oficial__icon {
  flex: 0 0 auto; width: 48px; height: 48px; border-radius: 10px;
  background: var(--sev-crema); color: var(--sev-dorado); display: grid; place-items: center; font-size: 1.3rem;
}
.acordeon-art13 .accordion-button {
  font-family: var(--sev-sans); font-weight: 600; color: var(--sev-navy); background: var(--sev-blanco);
}
.acordeon-art13 .accordion-button:not(.collapsed) { color: var(--sev-navy); background: var(--sev-dorado-suave); }
.acordeon-art13 .accordion-button:focus { box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--sev-dorado) 45%, transparent); }
.acordeon-art13 .accordion-item { border-color: var(--sev-gris-linea); }

/* ===== Footer ===== */
.site-footer {
  background: var(--sev-oscuro); color: color-mix(in srgb, var(--sev-blanco) 85%, transparent);
  padding: 3rem 0 1.4rem; font-family: var(--sev-sans); font-size: .92rem; margin-top: 3.5rem;
}
.site-footer a { color: color-mix(in srgb, var(--sev-blanco) 82%, transparent); text-decoration: none; }
.site-footer a:hover { color: var(--sev-dorado); }
.footer-title { color: var(--sev-blanco); font-size: 1.05rem; margin-bottom: .75rem; }
/* Lockup dorado autocontenido (AJUSTE-04-D4): placa propia, sin fondo auxiliar */
.footer-escudo { height: 96px; width: auto; border-radius: 8px; }
.footer-lema { font-style: italic; color: var(--sev-dorado); margin-top: .8rem; font-family: var(--sev-serif); }
.footer-list { list-style: none; padding: 0; margin: 0; }
.footer-list li { margin-bottom: .4rem; }
.footer-legal {
  border-top: 1px solid color-mix(in srgb, var(--sev-blanco) 16%, transparent);
  margin-top: 2rem; padding-top: 1.2rem; font-size: .82rem;
  color: color-mix(in srgb, var(--sev-blanco) 66%, transparent);
}

/* ===== Redes sociales (D-14, AJUSTE-03) =====
   Después del bloque Footer: a.redes-inline__enlace debe ganarle a .site-footer a. */
.redes-banda { background: var(--sev-oscuro); color: var(--sev-blanco); padding: 3.5rem 0; text-align: center; }
.redes-banda__title { font-family: var(--sev-serif); color: var(--sev-blanco); font-size: 1.8rem; font-weight: 700; margin: 0 0 2rem; }
.redes-banda__lista {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 1.75rem 2.25rem;
}
.redes-banda__enlace {
  display: inline-flex; flex-direction: column; align-items: center; gap: .65rem;
  text-decoration: none; color: color-mix(in srgb, var(--sev-blanco) 85%, transparent);
}
.redes-banda__circulo {
  width: 64px; height: 64px; border-radius: 50%; background: var(--sev-dorado);
  color: var(--sev-blanco); display: grid; place-items: center; font-size: 1.65rem;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.redes-banda__enlace:hover .redes-banda__circulo,
.redes-banda__enlace:focus-visible .redes-banda__circulo {
  background: var(--sev-navy); transform: translateY(-4px);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--sev-navy) 55%, transparent);
}
.redes-banda__enlace:hover, .redes-banda__enlace:focus-visible { color: var(--sev-blanco); }
.redes-banda__nombre { font-family: var(--sev-sans); font-size: .88rem; letter-spacing: .5px; }
.redes-banda__cta { margin-top: 2.25rem; }
@media (max-width: 575.98px) {
  .redes-banda__circulo { width: 56px; height: 56px; font-size: 1.4rem; }
  .redes-banda__lista { gap: 1.25rem 1.4rem; }
}

.redes-inline { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
a.redes-inline__enlace {
  width: 38px; height: 38px; border-radius: 50%; background: var(--sev-dorado);
  color: var(--sev-blanco); display: grid; place-items: center; font-size: 1rem;
  text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease;
}
a.redes-inline__enlace:hover, a.redes-inline__enlace:focus-visible {
  background: var(--sev-navy); color: var(--sev-blanco); transform: translateY(-2px);
}

/* ===== Movimiento reducido (AJUSTE-04-D2/D3) =====
   Sobriedad total si el usuario lo pide: sin transiciones ni animaciones no esenciales
   (el preloader ya se oculta por completo y AOS se inicializa deshabilitado). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  /* Excepción funcional única: el spinner orbital del cargador es pequeño, breve (3s)
     y comunica estado de carga — se mantiene su giro también con movimiento reducido */
  .sev-cargador__orbita {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
  }
}

  .ministra-quote {
    background: linear-gradient(180deg,  var(--sev-crema) 0%, var(--sev-blanco) 100%);
    padding: 3.5rem 1.5rem;
    text-align: center;
  }

  .ministra-quote__wrap {
    max-width: 860px;
    margin: 0 auto;
    position: relative;
  }

  .ministra-quote__mark {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 4rem;
    line-height: 1;
    color: var(--sev-dorado);
    display: block;
    margin-bottom: 0.25rem;
  }

  .ministra-quote__text {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: clamp(1.25rem, 2.4vw, 1.65rem);
    line-height: 1.5;
    color: var(--sev-navy);
    margin: 0 0 1.5rem;
  }

  .ministra-quote__divider {
    width: 64px;
    height: 3px;
    background: var(--sev-dorado);
    margin: 0 auto 1rem;
    border: none;
  }

  .ministra-quote__author {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: var(--sev-navy);
    margin: 0;
  }

  .ministra-quote__role {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.9rem;
    color:var(--sev-dorado-texto);
    margin: 0.15rem 0 0;
  }

  @media (max-width: 600px) {
    .ministra-quote {
      padding: 2.5rem 1.25rem;
    }
    .ministra-quote__mark {
      font-size: 3rem;
    }
  }

