/* ============================================================
   Área Puebla Dos AA – Estilos principales
   Paleta: #3D4EC8 Índigo | #1A2070 Marino | #E8EAFF Lavanda
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ── Variables ───────────────────────────────────────────── */
:root {
  --aa-indigo      : #3D4EC8;
  --aa-indigo-dark : #2d3aa0;
  --aa-marino      : #1A2070;
  --aa-lavanda     : #E8EAFF;
  --aa-lavanda2    : #f0f1ff;
  --aa-dorado      : #C8A84B;
  --aa-dorado-lite : #e8cc7a;
  --aa-blanco      : #FFFFFF;
  --aa-gris-fondo  : #F8F9FF;
  --aa-gris-texto  : #2C2C3E;
  --aa-sombra      : 0 4px 20px rgba(0,0,0,0.07);
  --aa-sombra-med  : 0 8px 30px rgba(61,78,200,0.12);
  --radius-card    : 14px;
  --radius-btn     : 8px;
}

/* ── Reset / Base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
  color: var(--aa-gris-texto);
  background-color: #fff;
  margin: 0;
  overflow-x: hidden;
}

a { color: var(--aa-indigo); transition: color .2s; }
a:hover { color: var(--aa-indigo-dark); }
img { max-width: 100%; height: auto; }

/* ── Lema anual ──────────────────────────────────────────── */
.lema-bar {
  background: var(--aa-marino);
  color: rgba(255,255,255,.85);
  font-size: .8rem;
  font-weight: 500;
  text-align: center;
  padding: 6px 0;
  letter-spacing: .3px;
  border-bottom: 2px solid var(--aa-dorado);
}
.lema-bar span { color: var(--aa-dorado-lite); font-weight: 600; }

/* ── NAVBAR ──────────────────────────────────────────────── */
.navbar-aa {
  background-color: var(--aa-indigo) !important;
  box-shadow: 0 2px 16px rgba(61,78,200,.25);
}
.navbar-aa .navbar-brand {
  color: #fff !important;
  font-weight: 700;
  line-height: 1.1;
  gap: .6rem;
}
.navbar-aa .navbar-brand .brand-logo {
  width: 58px; height: 58px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.35);
}
.navbar-aa .navbar-brand .brand-text { font-size: 1.15rem; }
.navbar-aa .navbar-brand .brand-sub  { color: var(--aa-dorado-lite); font-size: .82rem; font-weight: 400; display: block; }
.navbar-aa .nav-link {
  color: rgba(255,255,255,.9) !important;
  font-weight: 500;
  font-size: .88rem;
  padding: .5rem .75rem;
  transition: color .2s;
}
.navbar-aa .nav-link:hover,
.navbar-aa .nav-link.active { color: var(--aa-dorado-lite) !important; }
.navbar-aa .dropdown-menu {
  background-color: var(--aa-marino);
  border: none;
  border-top: 3px solid var(--aa-dorado);
  border-radius: 0 0 10px 10px;
  min-width: 220px;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
.navbar-aa .dropdown-item {
  color: rgba(255,255,255,.85);
  font-size: .86rem;
  padding: .6rem 1.1rem;
  transition: background .18s;
}
.navbar-aa .dropdown-item:hover {
  background-color: var(--aa-indigo);
  color: #fff;
}
.navbar-aa .dropdown-item i { color: var(--aa-dorado-lite); width: 18px; }
.navbar-aa .navbar-toggler { border-color: rgba(255,255,255,.3); }
.navbar-aa .navbar-toggler-icon { filter: invert(1); }

/* ── SECCIÓN HERO ────────────────────────────────────────── */
.hero-section {
  background: linear-gradient(135deg, var(--aa-lavanda2) 0%, #fff 60%);
  padding: 70px 0 60px;
  position: relative;
  overflow: hidden;
  min-height: 520px;
}

/* Puntos decorativos dispersos */
.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(61,78,200,.18) 2px, transparent 2px),
    radial-gradient(circle, rgba(61,78,200,.12) 3px, transparent 3px),
    radial-gradient(circle, rgba(61,78,200,.10) 2px, transparent 2px);
  background-size: 55px 55px, 90px 90px, 40px 40px;
  background-position: 0 0, 20px 20px, 10px 35px;
  pointer-events: none;
}

.hero-text-col { position: relative; z-index: 2; }

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: var(--aa-lavanda);
  color: var(--aa-indigo);
  font-size: .78rem;
  font-weight: 600;
  padding: .35rem .85rem;
  border-radius: 20px;
  margin-bottom: 1rem;
  letter-spacing: .3px;
}

.hero-title {
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 800;
  color: var(--aa-marino);
  line-height: 1.2;
  margin-bottom: 1.1rem;
}
.hero-title .accent { color: var(--aa-indigo); }

.hero-summary {
  color: #555;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1.8rem;
  max-width: 480px;
}

.btn-hero {
  background: var(--aa-indigo);
  color: #fff;
  border: none;
  padding: .75rem 2rem;
  border-radius: var(--radius-btn);
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: background .2s, transform .2s;
}
.btn-hero:hover { background: var(--aa-indigo-dark); color: #fff; transform: translateY(-2px); }

/* Slides indicator */
.hero-slides-dots {
  display: flex;
  gap: .4rem;
  margin-top: 1.5rem;
  align-items: center;
}
.hero-slides-dots .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(61,78,200,.25);
  transition: all .3s;
  cursor: pointer;
  border: none;
  padding: 0;
}
.hero-slides-dots .dot.active {
  width: 24px;
  border-radius: 4px;
  background: var(--aa-indigo);
}

.hero-slide-counter {
  font-size: .8rem;
  color: rgba(61,78,200,.6);
  font-weight: 600;
  margin-left: .5rem;
}

/* Marco circular del hero */
.hero-circle-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  z-index: 2;
}

.hero-ghost {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(61,78,200,.12);
  pointer-events: none;
}
.hero-ghost-1 {
  width: 650px; height: 650px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) translate(-20px,-15px);
}
.hero-ghost-2 {
  width: 570px; height: 570px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) translate(18px,12px);
}

.hero-orbit {
  position: absolute;
  width: 510px; height: 510px;
  border: 3px solid rgba(61,78,200,.2);
  border-top-color: var(--aa-indigo);
  border-radius: 50%;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  animation: orbit-spin 14s linear infinite;
}

@keyframes orbit-spin {
  to { transform: translate(-50%,-50%) rotate(360deg); }
}

.hero-img-circle {
  width: 460px; height: 460px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  z-index: 2;
  border: 5px solid #fff;
  box-shadow: var(--aa-sombra-med);
  background: var(--aa-lavanda);
  flex-shrink: 0;
}
.hero-img-circle img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: opacity .5s ease;
}

/* Indicador de slide sobre el círculo */
.hero-circle-indicator {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--aa-indigo);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: .2rem .7rem;
  border-radius: 12px;
  white-space: nowrap;
  z-index: 3;
}

/* Flecha scroll down */
.scroll-down-hint {
  text-align: center;
  margin-top: 2.5rem;
}
.scroll-down-hint a {
  color: rgba(61,78,200,.5);
  font-size: .8rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  animation: bounce-y 2s ease-in-out infinite;
}
@keyframes bounce-y {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(6px); }
}

/* ── SECCIÓN STATS ───────────────────────────────────────── */
.stats-section {
  background: var(--aa-indigo);
  padding: 32px 0;
}
.stat-item {
  text-align: center;
  color: #fff;
}
.stat-num {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1;
  display: block;
}
.stat-dorado { color: var(--aa-dorado-lite); }
.stat-label {
  font-size: .82rem;
  opacity: .8;
  margin-top: .3rem;
  letter-spacing: .3px;
}
.stat-divider {
  width: 1px;
  height: 48px;
  background: rgba(255,255,255,.2);
  align-self: center;
}

/* ── SECCIÓN AUTODIAGNÓSTICOS ────────────────────────────── */
.autodiag-section {
  background: #fff;
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}

/* Círculo fantasma decorativo fondo blanco */
.autodiag-section .bg-blob {
  position: absolute;
  border-radius: 50%;
  background: var(--aa-lavanda);
  opacity: .55;
  filter: blur(60px);
  pointer-events: none;
}
.autodiag-section .bg-blob-1 { width:380px; height:380px; top:-80px; right:-100px; }
.autodiag-section .bg-blob-2 { width:220px; height:220px; bottom:-60px; left:-60px; }

.section-eyebrow {
  display: inline-block;
  background: var(--aa-lavanda);
  color: var(--aa-indigo);
  font-size: .75rem;
  font-weight: 700;
  padding: .3rem .85rem;
  border-radius: 20px;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: .7rem;
}
.section-title-mix {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 400;
  color: var(--aa-gris-texto);
  margin-bottom: .5rem;
}
.section-title-mix strong { font-weight: 800; color: var(--aa-marino); }

.test-card {
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  padding: 2.2rem 1.8rem;
  height: 100%;
  transition: background .25s, box-shadow .25s, transform .2s;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(61,78,200,.07);
}
.test-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--aa-indigo);
  opacity: 0;
  transition: opacity .25s;
  border-radius: var(--radius-card);
}
.test-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--aa-sombra-med);
}
.test-card:hover::after { opacity: 1; }

.test-card .card-inner { position: relative; z-index: 1; }
.test-card:hover .card-inner { color: #fff; }

.test-card-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: var(--aa-lavanda);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.2rem;
  transition: background .25s;
}
.test-card-icon i { font-size: 1.5rem; color: var(--aa-indigo); transition: color .25s; }
.test-card:hover .test-card-icon { background: rgba(255,255,255,.2); }
.test-card:hover .test-card-icon i { color: #fff; }

.test-card h4 { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
.test-card p  { font-size: .88rem; color: #666; line-height: 1.6; margin-bottom: 1.2rem; }
.test-card:hover p { color: rgba(255,255,255,.8); }

.test-card .test-link {
  font-size: .85rem;
  font-weight: 600;
  color: var(--aa-indigo);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  transition: color .25s;
}
.test-card:hover .test-link { color: var(--aa-dorado-lite); }

/* ── SECCIÓN ¿QUÉ ES AA? ─────────────────────────────────── */
.que-es-section {
  background: var(--aa-marino);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}
.que-es-section .bg-circle {
  position: absolute;
  border-radius: 50%;
  border: 60px solid rgba(255,255,255,.04);
  pointer-events: none;
}
.que-es-section .bg-circle-1 { width:500px; height:500px; top:-150px; right:-150px; }
.que-es-section .bg-circle-2 { width:320px; height:320px; bottom:-100px; left:-80px; }

.que-es-section .section-eyebrow {
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.9);
}
.que-es-section .section-title-mix strong { color: var(--aa-dorado-lite); }
.que-es-section .section-title-mix { color: rgba(255,255,255,.85); }
.que-es-section p { color: rgba(255,255,255,.75); }

.tradition-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tradition-list li {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .6rem 0;
  color: rgba(255,255,255,.8);
  font-size: .9rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.tradition-list li:last-child { border-bottom: none; }
.tradition-list li i { color: var(--aa-dorado-lite); margin-top: .15rem; flex-shrink: 0; }

.btn-outline-white {
  color: #fff;
  border: 2px solid rgba(255,255,255,.4);
  padding: .65rem 1.6rem;
  border-radius: var(--radius-btn);
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  transition: border-color .2s, background .2s;
}
.btn-outline-white:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }

/* ── SECCIÓN NOTICIAS ────────────────────────────────────── */
.noticias-section {
  padding: 72px 0;
  background: var(--aa-gris-fondo);
  position: relative;
  overflow: hidden;
}
.noticias-section .dot-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(61,78,200,.1) 2px, transparent 2px);
  background-size: 40px 40px;
  pointer-events: none;
}

.noticia-card {
  background: #fff;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--aa-sombra);
  height: 100%;
  transition: transform .2s, box-shadow .2s;
  border: none;
}
.noticia-card:hover { transform: translateY(-4px); box-shadow: var(--aa-sombra-med); }
.noticia-card .card-img-top {
  height: 200px;
  object-fit: cover;
  background: var(--aa-lavanda);
}
.noticia-card .img-placeholder {
  height: 200px;
  background: linear-gradient(135deg, var(--aa-lavanda), var(--aa-lavanda2));
  display: flex;
  align-items: center;
  justify-content: center;
}
.noticia-card .img-placeholder i { font-size: 2.5rem; color: var(--aa-indigo); opacity: .4; }
.noticia-card .card-body { padding: 1.4rem; }
.noticia-card .card-date {
  font-size: .75rem;
  color: var(--aa-indigo);
  font-weight: 600;
  margin-bottom: .5rem;
}
.noticia-card .card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--aa-marino);
  margin-bottom: .6rem;
  line-height: 1.35;
}
.noticia-card .card-text { font-size: .86rem; color: #666; line-height: 1.6; }
.noticia-card .card-link {
  font-size: .84rem;
  font-weight: 600;
  color: var(--aa-indigo);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .8rem;
}
.noticia-card .card-link:hover { color: var(--aa-indigo-dark); }

/* ── SECCIÓN BOLETÍN LETRA VIVA ──────────────────────────── */
.boletin-section {
  background: var(--aa-indigo);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}
.boletin-section .bg-ring {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.08);
  pointer-events: none;
}
.boletin-section .bg-ring-1 { width:450px; height:450px; top:-150px; left:-100px; }
.boletin-section .bg-ring-2 { width:300px; height:300px; bottom:-80px; right:-60px; }

.boletin-card {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--radius-card);
  overflow: hidden;
  transition: background .25s, transform .2s;
  backdrop-filter: blur(4px);
}
.boletin-card:hover { background: rgba(255,255,255,.18); transform: translateY(-4px); }
.boletin-card .boletin-img {
  height: 200px;
  object-fit: cover;
  background: rgba(255,255,255,.1);
}
.boletin-card .img-placeholder-bol {
  height: 200px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.boletin-card .img-placeholder-bol i { font-size: 3rem; color: rgba(255,255,255,.4); }
.boletin-card .boletin-body { padding: 1.3rem; }
.boletin-card .boletin-num {
  font-size: .75rem;
  color: var(--aa-dorado-lite);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: .4rem;
}
.boletin-card .boletin-title { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: .5rem; }
.boletin-card .boletin-desc  { font-size: .86rem; color: rgba(255,255,255,.7); line-height: 1.6; margin-bottom: 1rem; }

.btn-download {
  background: var(--aa-dorado);
  color: var(--aa-marino);
  border: none;
  padding: .55rem 1.3rem;
  border-radius: var(--radius-btn);
  font-weight: 700;
  font-size: .85rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  transition: background .2s, transform .2s;
}
.btn-download:hover { background: var(--aa-dorado-lite); color: var(--aa-marino); transform: translateY(-2px); }

/* ── PRE-FOOTER CTA ──────────────────────────────────────── */
.prefooter-cta {
  background: var(--aa-indigo);
  padding: 44px 0;
}
.prefooter-cta h3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.prefooter-cta p { color: rgba(255,255,255,.75); margin: .3rem 0 0; font-size: .9rem; }
.btn-prefooter {
  background: #fff;
  color: var(--aa-indigo);
  border: none;
  padding: .75rem 2rem;
  border-radius: var(--radius-btn);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, transform .2s;
}
.btn-prefooter:hover { background: var(--aa-lavanda); color: var(--aa-indigo); transform: translateY(-2px); }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer {
  background: var(--aa-marino);
  color: rgba(255,255,255,.8);
}
.site-footer h5 {
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  margin-bottom: 1.1rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid rgba(255,255,255,.1);
}
.site-footer a { color: rgba(255,255,255,.65); text-decoration: none; transition: color .2s; }
.site-footer a:hover { color: var(--aa-dorado-lite); }
.site-footer ul li { margin-bottom: .45rem; font-size: .87rem; }
.site-footer ul li i { color: var(--aa-dorado); width: 18px; }

.footer-redes { display: grid; grid-template-columns: repeat(4, max-content); gap: .5rem; margin-top: .8rem; }
.footer-redes a {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: .95rem;
  transition: background .2s;
}
.footer-redes a:hover { background: var(--aa-indigo); color: #fff; }

.footer-bottom {
  background: rgba(0,0,0,.25);
  padding: 14px 0;
  text-align: center;
  font-size: .8rem;
  color: rgba(255,255,255,.45);
  border-top: 1px solid rgba(255,255,255,.07);
}

.visitas-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: .5rem .9rem;
  font-size: .95rem;
  color: rgba(255,255,255,.85);
}
.visitas-badge i { color: var(--aa-dorado-lite); }
.visitas-badge span { font-weight: 700; color: var(--aa-dorado-lite); }
.visitas-badge strong { font-size: 1.15rem; color: #fff; }

/* ── BREADCRUMB ──────────────────────────────────────────── */
.breadcrumb-aa { font-size: .85rem; }
.breadcrumb-aa .breadcrumb-item + .breadcrumb-item::before { color: var(--aa-indigo); }
.breadcrumb-aa a { color: var(--aa-indigo); }
.breadcrumb-aa .active { color: #666; }

/* ── PAGE HERO ───────────────────────────────────────────── */
.page-hero {
  background: linear-gradient(135deg, var(--aa-indigo) 0%, var(--aa-marino) 100%);
  padding: 44px 0 40px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.08);
  top: -80px; right: -60px;
}
.page-hero::after {
  content: '';
  position: absolute;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  bottom: -60px; left: 80px;
}
.page-hero h1 { font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 800; color: #fff; margin: 0; }
.page-hero .breadcrumb-aa { margin-bottom: .5rem; }
.page-hero .breadcrumb-aa * { color: rgba(255,255,255,.65); }
.page-hero .breadcrumb-aa .active { color: rgba(255,255,255,.9); }
.page-hero .breadcrumb-aa a:hover { color: var(--aa-dorado-lite); }
.page-hero .breadcrumb-aa .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }

/* ── BOTONES GLOBALES ────────────────────────────────────── */
.btn-aa-primary {
  background: var(--aa-indigo);
  color: #fff;
  border: none;
  border-radius: var(--radius-btn);
  font-weight: 600;
  padding: .6rem 1.4rem;
  transition: background .2s, transform .2s;
}
.btn-aa-primary:hover { background: var(--aa-indigo-dark); color: #fff; transform: translateY(-2px); }

.btn-aa-outline {
  background: transparent;
  color: var(--aa-indigo);
  border: 2px solid var(--aa-indigo);
  border-radius: var(--radius-btn);
  font-weight: 600;
  padding: .55rem 1.3rem;
  transition: all .2s;
}
.btn-aa-outline:hover { background: var(--aa-indigo); color: #fff; }

/* ── TABLA AA ────────────────────────────────────────────── */
.tabla-aa {
  font-size: .88rem;
}
.tabla-aa thead th {
  background: var(--aa-indigo);
  color: #fff;
  font-weight: 600;
  border: none;
}
.tabla-aa tbody td { vertical-align: middle; }
.tabla-aa tbody tr:hover { background: var(--aa-lavanda); }

/* ── CARDS GENÉRICAS ─────────────────────────────────────── */
.card-aa {
  border: none;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  transition: transform .2s, box-shadow .2s;
}
.card-aa:hover { transform: translateY(-3px); box-shadow: var(--aa-sombra-med); }
.card-aa .card-header-aa {
  background: var(--aa-indigo);
  color: #fff;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  padding: 1rem 1.4rem;
  font-weight: 700;
}

/* Comités */
.comite-card {
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  padding: 1.8rem;
  height: 100%;
  border-left: 4px solid var(--aa-indigo);
  transition: transform .2s;
}
.comite-card:hover { transform: translateY(-3px); }
.comite-icon {
  width: 50px; height: 50px;
  background: var(--aa-lavanda);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem;
}
.comite-icon i { font-size: 1.3rem; color: var(--aa-indigo); }

/* Distritos */
.distrito-card {
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  overflow: hidden;
  height: 100%;
  transition: transform .2s, box-shadow .2s;
}
.distrito-card:hover { transform: translateY(-4px); box-shadow: var(--aa-sombra-med); }
.distrito-card .dist-header {
  background: linear-gradient(135deg, var(--aa-indigo), var(--aa-marino));
  color: #fff;
  padding: 1.2rem 1.4rem;
}
.distrito-card .dist-num {
  font-size: 2rem;
  font-weight: 800;
  opacity: .3;
  line-height: 1;
}
.distrito-card .dist-nombre { font-size: 1rem; font-weight: 700; margin-top: .2rem; }
.distrito-card .dist-body { padding: 1.2rem 1.4rem; }

/* Documentos */
.doc-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  padding: 1.1rem 1.4rem;
  transition: transform .2s;
}
.doc-card:hover { transform: translateY(-2px); }
.doc-icon {
  width: 48px; height: 48px;
  background: var(--aa-lavanda);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.doc-icon i { font-size: 1.3rem; color: #e74c3c; }

/* ── AUTODIAGNÓSTICO ─────────────────────────────────────── */
.autodiag-progreso {
  height: 6px;
  background: var(--aa-lavanda);
  border-radius: 3px;
  overflow: hidden;
}
.autodiag-progreso-bar {
  height: 100%;
  background: var(--aa-indigo);
  border-radius: 3px;
  transition: width .4s ease;
}
.autodiag-pregunta {
  background: #fff;
  border-radius: 18px;
  padding: 2.5rem;
  text-align: center;
  box-shadow: var(--aa-sombra-med);
  border: 1px solid rgba(61,78,200,.08);
}
.autodiag-resultado {
  background: #fff;
  border-radius: 18px;
  padding: 2.5rem;
  text-align: center;
  box-shadow: var(--aa-sombra-med);
}

/* ── MESA DE SERVICIO ────────────────────────────────────── */
.mesa-img-wrapper {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--aa-sombra-med);
}
.mesa-img-wrapper img { width: 100%; }

/* ── MAPA DE DISTRITOS ───────────────────────────────────── */
#mapa-distritos {
  height: 65vh;
  min-height: 400px;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--aa-sombra-med);
}
.dist-list-item {
  cursor: pointer;
  padding: .65rem 1rem;
  border-radius: 8px;
  transition: background .18s;
  border-left: 3px solid transparent;
  font-size: .87rem;
}
.dist-list-item:hover { background: var(--aa-lavanda); border-left-color: var(--aa-indigo); }
.dist-list-item.active { background: var(--aa-indigo); color: #fff; border-left-color: var(--aa-dorado); }

/* ── CONTACTO ────────────────────────────────────────────── */
.contact-card {
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--aa-sombra);
  padding: 2rem;
}
.contact-info-item {
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  margin-bottom: 1.2rem;
}
.contact-info-item .ci-icon {
  width: 42px; height: 42px;
  background: var(--aa-lavanda);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.contact-info-item .ci-icon i { color: var(--aa-indigo); font-size: 1.1rem; }

/* ── RESPONSIVO ──────────────────────────────────────────── */
@media (max-width: 991.98px) {
  .hero-circle-col { min-height: 360px; margin-top: 2rem; }
  .hero-img-circle { width: 340px; height: 340px; }
  .hero-ghost-1 { width: 455px; height: 455px; }
  .hero-ghost-2 { width: 395px; height: 395px; }
  .hero-orbit    { width: 375px; height: 375px; }
  .stat-divider  { display: none; }
}

@media (max-width: 575.98px) {
  .hero-section { padding: 50px 0 40px; }
  .hero-img-circle { width: 240px; height: 240px; }
  .hero-ghost-1, .hero-ghost-2, .hero-orbit { display: none; }
  .test-card { padding: 1.5rem; }
  .autodiag-pregunta { padding: 1.5rem; }
}

/* Video YouTube insertado desde Quill */
.noticia-contenido iframe,
.noticia-contenido .ql-video {
  display: block;
  width: 560px;
  height: 315px;
  border: none;
  border-radius: 8px;
  margin: 1rem 0;
}
