/* ============================================================
   II CONGRESO ESPÍRITA HONDUREÑO 2026
   Diseño: Espiritualidad Moderna · Oscuro · Impactante
   Paleta: Deep Indigo + Gold + White
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  /* Fondos oscuros profundos (Originales) */
  --bg-dark:    #09090f;
  --bg-deep:    #0c0c1a;
  --bg-mid:     #111128;
  --bg-card:    rgba(255,255,255,0.04);
  --bg-card-h:  rgba(255,255,255,0.07);

  /* Azul índigo espiritual */
  --indigo:     #4f46e5;
  --indigo-lt:  #818cf8;
  --indigo-dk:  #2d27a0;
  --indigo-g:   rgba(79,70,229,0.12);
  --indigo-glow:rgba(79,70,229,0.30);

  /* Dorado sagrado */
  --gold:       #d4a853;
  --gold-lt:    #f0c96a;
  --gold-dk:    #8a6420;
  --gold-g:     rgba(212,168,83,0.14);
  --gold-glow:  rgba(212,168,83,0.35);

  /* Violeta místico */
  --violet:     #7c3aed;
  --violet-lt:  #a78bfa;
  --teal:       #0d9488;
  --teal-lt:    #2dd4bf;

  /* Texto */
  --text:       #f1f5f9;
  --text-2:     #94a3b8;
  --text-3:     #475569;
  --text-gold:  #d4a853;

  /* Bordes glass */
  --border:     rgba(255,255,255,0.09);
  --border-h:   rgba(255,255,255,0.18);
  --border-gold:rgba(212,168,83,0.28);

  /* Sombras */
  --sh-dark:    0 24px 64px rgba(0,0,0,0.55);
  --sh-glow:    0 8px 40px rgba(79,70,229,0.22);
  --sh-gold:    0 8px 40px rgba(212,168,83,0.25);
  --sh-card:    0 4px 24px rgba(0,0,0,0.40);

  --ease-o: cubic-bezier(0.22,1,0.36,1);
  --t:      0.30s cubic-bezier(0.4,0,0.2,1);
  --nav-h:  76px;
  --r:      12px;
  --r-lg:   20px;
  --r-xl:   32px;
}

/* ============================================================
   TEMA CLARO (Overrides - Champán/Marfil Espiritual)
   ============================================================ */
body.light-theme {
  --bg-dark:    #faf8f5;
  --bg-deep:    #f5f0eb;
  --bg-mid:     #ebe3da;
  --bg-card:    rgba(255,255,255,0.72);
  --bg-card-h:  rgba(255,255,255,0.88);

  --text:       #2c2825;
  --text-2:     #5c5651;
  --text-3:     #8c837a;
  --text-gold:  #8a6420;

  --border:     rgba(138,100,32,0.08);
  --border-h:   rgba(138,100,32,0.16);
  --border-gold:rgba(138,100,32,0.24);

  --sh-dark:    0 24px 64px rgba(138,100,32,0.04), 0 4px 16px rgba(0,0,0,0.02);
  --sh-glow:    0 8px 40px rgba(212,168,83,0.06);
  --sh-gold:    0 8px 30px rgba(138,100,32,0.08);
  --sh-card:    0 4px 20px rgba(138,100,32,0.03);
}

/* Agrupador de elementos a la derecha del menú */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  z-index: 1001;
}
@media(max-width:768px) {
  .nav-actions {
    gap: 0.6rem;
  }
}

/* Estilo del botón alternador de tema */
.theme-toggle-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-2);
  background: rgba(255,255,255,0.05);
  border: 1px solid var(--border);
  transition: background var(--t), color var(--t), transform var(--t);
  font-size: 0.95rem;
  flex-shrink: 0;
  cursor: pointer;
}
.theme-toggle-btn:hover {
  background: var(--gold-g);
  border-color: var(--border-gold);
  color: var(--gold);
  transform: translateY(-2px);
}

/* Transiciones globales para cambio de tema */
body, #navbar, #footer, section, .pricing-card, .speaker-card, .timeline-content, .cta-inner, .nav-logo-img img, .footer-logo-img img, .stars-wrap {
  transition: background var(--t), background-color var(--t), color var(--t), border-color var(--t), box-shadow var(--t), filter var(--t), opacity var(--t);
}

/* Overrides específicos para Tema Claro */
body.light-theme {
  color-scheme: light;
}
/* Logo en tema claro: café cálido oscuro */
body.light-theme .nav-logo-img img{
  filter:brightness(0.15) sepia(0.5) !important;
  opacity:0.90 !important;
}
body.light-theme .nav-logo-img:hover img{
  filter:brightness(0.15) sepia(0.5) drop-shadow(0 0 8px rgba(138,100,32,0.45)) !important;
  opacity:1 !important;
}
body.light-theme .nav-logo-text{
  color:#2c2825 !important;
}
body.light-theme .nav-logo-text span{
  color:#5c5651 !important;
}
/* Links del menú visibles en tema claro */
body.light-theme .nav-links a{
  color:#2c2825 !important;
}
body.light-theme .nav-links a:hover,
body.light-theme .nav-links a.active{
  color:var(--gold) !important;
}
/* Navbar: fondo semitransparente en tema claro */
body.light-theme #navbar {
  background: rgba(250,248,245,0.65);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(138,100,32,0.10);
  box-shadow: 0 1px 16px rgba(138,100,32,0.05);
}
body.light-theme #navbar.scrolled {
  background: rgba(250,248,245,0.96);
  box-shadow: 0 4px 32px rgba(138,100,32,0.08);
}
body.light-theme #footer {
  background: linear-gradient(160deg,#ebe3da 0%,#f5f0eb 100%);
  color: #5c5651;
  border-top: 1px solid rgba(138, 100, 32, 0.08);
}
body.light-theme .footer-tagline {
  color: rgba(44,40,37,0.68) !important;
}
body.light-theme .footer-copy {
  color: rgba(44,40,37,0.4);
}
body.light-theme .footer-links-block a,
body.light-theme .footer-contact-item {
  color: rgba(44,40,37,0.65);
}
body.light-theme .footer-col-title {
  color: rgba(44,40,37,0.45);
}
body.light-theme .footer-social a {
  background: rgba(44,40,37,0.04);
  border: 1px solid rgba(44,40,37,0.08);
  color: rgba(44,40,37,0.6);
}
body.light-theme .footer-social a:hover {
  background: var(--gold-g);
  border-color: var(--border-gold);
  color: var(--gold);
}
body.light-theme .footer-event-badge {
  background: rgba(138,100,32,0.04);
  border-color: var(--border-gold);
}
body.light-theme .footer-event-badge .date {
  color: #2c2825;
}
body.light-theme .footer-event-badge .loc {
  color: rgba(44,40,37,0.5);
}
body.light-theme .hero-overlay {
  background:
    /* Oscuro arriba: legibilidad del navbar */
    linear-gradient(180deg,
      rgba(6,4,2,0.68) 0%,
      rgba(6,4,2,0.28) 25%,
      rgba(160,110,40,0.12) 52%,
      rgba(240,220,185,0.50) 80%,
      rgba(246,236,215,0.90) 100%
    ),
    /* Viñeta lateral sutil */
    linear-gradient(90deg,
      rgba(6,4,2,0.22) 0%,
      transparent 38%,
      transparent 62%,
      rgba(6,4,2,0.22) 100%
    );
}
body.light-theme .hero-lema {
  color: rgba(44,40,37,0.82) !important;
  text-shadow: 0 1px 8px rgba(248,243,236,0.70);
}
/* Más espacio entre navbar y contenido del hero en tema claro */
body.light-theme #hero {
  padding-top: calc(var(--nav-h) + 72px);
}
/* Badges de sección visibles sobre imagen de fondo en tema claro */
body.light-theme .section-badge {
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(138,100,32,0.32) !important;
  color: #7a5a18 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
body.light-theme .hero-meta-item {
  background: rgba(255,255,255,0.75) !important;
  border-color: rgba(138,100,32,0.18) !important;
  color: #2c2825 !important;
  backdrop-filter: blur(12px);
}
body.light-theme .hero-meta-item i {
  color: var(--gold) !important;
}
body.light-theme .hero-trust-item {
  color: rgba(44,40,37,0.65) !important;
}
body.light-theme .hero-trust-item i {
  color: var(--gold) !important;
}
body.light-theme .hero-trust-sep {
  background: rgba(138,100,32,0.30) !important;
}
body.light-theme .scroll-indicator {
  color: rgba(44,40,37,0.45) !important;
}
body.light-theme .scroll-mouse {
  border-color: rgba(138,100,32,0.40) !important;
}
body.light-theme .hero-ring {
  border-color: rgba(138,100,32,0.08) !important;
}
body.light-theme .hero-btns .btn-ghost {
  border-color: rgba(44,40,37,0.25) !important;
  color: #2c2825 !important;
}
body.light-theme .hero-btns .btn-ghost:hover {
  background: rgba(44,40,37,0.06) !important;
}
/* countdown-unit light-theme: ver regla definitiva más abajo */
body.light-theme .hero-gradient {
  background:
    /* Cálido dorado abajo — evoca el amanecer espiritual */
    radial-gradient(ellipse 80% 50% at 50% 105%, rgba(212,168,83,0.18) 0%, transparent 60%),
    radial-gradient(ellipse 45% 35% at 12% 85%,  rgba(212,148,60,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 30% at 88% 80%,  rgba(200,140,50,0.08) 0%, transparent 50%);
}
/* Agenda + Venue bg image en tema claro */
body.light-theme #agenda::before,
body.light-theme #lugar::before {
  opacity: 0.38 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* CTA video overlay: mantiene el video visible pero cálido */
body.light-theme .video-overlay {
  background: linear-gradient(180deg,
    rgba(248,243,236,0.90) 0%,
    rgba(248,243,236,0.40) 22%,
    rgba(248,243,236,0.40) 78%,
    rgba(248,243,236,0.90) 100%);
}
body.light-theme .cta-inner {
  background: linear-gradient(135deg, rgba(79,70,229,0.08) 0%, rgba(124,58,237,0.08) 40%, rgba(212,168,83,0.06) 100%);
  border: 1px solid rgba(138,100,32,0.20);
  box-shadow: 0 0 80px rgba(138,100,32,0.06), 0 4px 24px rgba(15,23,42,0.05);
}
body.light-theme .nav-logo-img img,
body.light-theme .footer-logo-img img {
  filter: invert(0.85) sepia(0.2) saturate(0.5) brightness(0.2) contrast(1.2);
}
body.light-theme .stars-wrap {
  opacity: 0.12;
  filter: invert(1);
}
body.light-theme .btn-ghost {
  border-color: rgba(44,40,37,0.15);
  color: var(--text-2);
}
body.light-theme .btn-ghost:hover {
  background: rgba(44,40,37,0.03);
}
body.light-theme .agenda-tab {
  background: rgba(44,40,37,0.02);
  border-color: rgba(44,40,37,0.06);
  color: var(--text-2);
}
body.light-theme .agenda-tab.active {
  background: var(--gold-g);
  border-color: var(--border-gold);
  color: var(--text-gold);
}
body.light-theme .speaker-social a {
  background: rgba(44,40,37,0.04);
  color: var(--text-2);
}
body.light-theme .speaker-social a:hover {
  background: var(--gold-g);
  color: var(--gold);
}
/* Speaker cards en tema claro */
body.light-theme .speaker-body {
  background: linear-gradient(0deg,
    rgba(248,243,236,1.00) 0%,
    rgba(248,243,236,0.98) 50%,
    rgba(248,243,236,0.75) 72%,
    transparent 100%);
}
body.light-theme .speaker-name {
  color: #2c2825;
  text-shadow: none;
}
body.light-theme .speaker-role {
  color: #8a6420;
  font-weight: 700;
}
body.light-theme .speaker-topic {
  color: #2c2825;
  background: rgba(212,168,83,0.14);
  border-color: rgba(138,100,32,0.28);
}
body.light-theme .speaker-body p {
  color: #5a5148 !important;
}
body.light-theme .mobile-menu {
  background: rgba(250, 248, 245, 0.98);
}
body.light-theme .mobile-menu a {
  color: #2c2825;
}
body.light-theme .mobile-close {
  background: rgba(44,40,37,0.04);
  border-color: rgba(44,40,37,0.08);
  color: var(--text-2);
}

/* Overrides para el contador en Tema Claro — cristal cálido ámbar */
body.light-theme .countdown-unit {
  background: rgba(246, 234, 208, 0.78);
  border: 1px solid rgba(138, 100, 32, 0.22);
  border-top: 3px solid var(--gold);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 8px 32px rgba(138,100,32,0.10), 0 2px 8px rgba(0,0,0,0.06);
}
body.light-theme .countdown-num {
  color: #2c2010;
  text-shadow: none;
}
body.light-theme .countdown-label {
  color: #7a5a10;
  font-weight: 700;
}
body.light-theme .countdown-sep {
  color: var(--gold-dk);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden;}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg-dark);
  color:var(--text);
  line-height:1.75;
  overflow-x:hidden;
  max-width:100%;
}
img{max-width:100%;display:block;}
a{color:var(--gold);text-decoration:none;transition:color var(--t);}
a:hover{color:var(--gold-lt);}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg-dark);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--indigo-lt),var(--gold));border-radius:2px;}

h1,h2,h3,h4,h5,h6{
  font-family:'Cinzel',serif;
  color:var(--text);
  line-height:1.1;
  letter-spacing:.02em;
}
p{color:var(--text-2);font-size:1rem;line-height:1.80;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.text-center{text-align:center;}

/* ── Utilidades tipográficas ── */
.section-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;
  font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);background:var(--gold-g);
  border:1px solid var(--border-gold);
  padding:6px 20px;border-radius:100px;margin-bottom:20px;
}
@keyframes spin{to{transform:rotate(360deg);}}

.section-title{
  font-family:'Cinzel',serif;
  font-size:clamp(1.9rem,3.5vw,3rem);
  margin-bottom:1rem;color:var(--text);
  font-weight:600;
}
.section-title span{
  background:linear-gradient(135deg,var(--gold-dk),var(--gold) 50%,var(--gold-lt));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.section-lead{font-size:1.02rem;color:var(--text-2);max-width:560px;line-height:1.82;}
.section-divider{
  width:56px;height:2px;
  background:linear-gradient(90deg,var(--gold),var(--indigo-lt),transparent);
  border-radius:2px;margin:20px 0;
}

/* ── Botones ── */
.btn-gold{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,var(--gold-dk) 0%,var(--gold) 55%,var(--gold-lt) 100%);
  color:#0c0c1a!important;font-family:'Inter',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.10em;text-transform:uppercase;padding:15px 36px;border-radius:100px;
  box-shadow:var(--sh-gold);position:relative;overflow:hidden;
  transition:transform var(--t),box-shadow var(--t);
}
.btn-gold::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,0.20) 55%,transparent 70%);
  transform:translateX(-100%);transition:transform 0.5s ease;
}
.btn-gold:hover::before{transform:translateX(100%);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 60px var(--gold-glow);color:#0c0c1a!important;}

.btn-primary{
  display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,var(--indigo-dk),var(--indigo) 55%,var(--indigo-lt));
  color:#fff!important;font-family:'Inter',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;padding:15px 36px;border-radius:100px;
  box-shadow:var(--sh-glow);position:relative;overflow:hidden;
  transition:transform var(--t),box-shadow var(--t);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 60px var(--indigo-glow);color:#fff!important;}

.btn-ghost{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--text)!important;font-family:'Inter',sans-serif;font-weight:500;font-size:.82rem;
  padding:14px 32px;border-radius:100px;
  border:1.5px solid var(--border);background:rgba(255,255,255,0.05);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:border-color var(--t),color var(--t),background var(--t);
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)!important;background:var(--gold-g);}

.btn-waze{
  display:inline-flex;align-items:center;gap:6px;
  color:#fff!important;font-family:'Inter',sans-serif;font-weight:600;font-size:.82rem;
  padding:14px 28px;border-radius:100px;
  border:1.5px solid #05C8F7;background:linear-gradient(135deg,#00b4d8,#05C8F7);
  box-shadow:0 4px 16px rgba(5,200,247,.25);
  transition:transform var(--t),box-shadow var(--t),background var(--t);
  text-decoration:none;
}
.btn-waze:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(5,200,247,.45);background:linear-gradient(135deg,#05C8F7,#00e5ff);}

/* ── Glass Card ── */
.glass-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:var(--sh-card);
  transition:border-color var(--t),box-shadow var(--t),transform var(--t),background var(--t);
}
.glass-card:hover{
  border-color:var(--border-gold);
  box-shadow:var(--sh-gold);
  background:var(--bg-card-h);
}

/* ── Partículas / estrellas ── */
.stars-wrap{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.star{position:absolute;border-radius:50%;opacity:0;will-change:transform,opacity;}

/* ============================================================
   SCROLL PROGRESS
   ============================================================ */
#scroll-progress{
  position:fixed;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--gold-dk),var(--gold),var(--gold-lt));
  transform-origin:left center;transform:scaleX(0);
  z-index:2000;pointer-events:none;
}

/* ============================================================
   NAVBAR
   ============================================================ */
#navbar{
  position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:1000;
  display:flex;align-items:center;padding:0 36px;
  transition:background var(--t),box-shadow var(--t),backdrop-filter var(--t),transform .35s cubic-bezier(.4,0,.2,1);
}
#navbar.nav-hidden{transform:translateY(-110%);}
#navbar.scrolled{
  background:rgba(9,9,15,0.92);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid var(--border);
  box-shadow:0 4px 32px rgba(0,0,0,0.50);
}
.nav-inner{max-width:1180px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}

/* Logo */
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-logo-img{
  height:62px;display:flex;align-items:center;justify-content:center;
}
.nav-logo-img img{height:100%;width:auto;object-fit:contain;transition:transform var(--t),filter var(--t);}
.nav-logo-img:hover img{transform:scale(1.05);filter:drop-shadow(0 0 8px var(--gold-glow));}
.nav-logo-text{font-family:'Cinzel',serif;font-size:.90rem;font-weight:600;color:var(--text);line-height:1.2;}
.nav-logo-text span{display:block;font-family:'Inter',sans-serif;font-size:.66rem;font-weight:400;color:var(--text-2);}

/* Links */
.nav-links{display:flex;align-items:center;gap:2.2rem;}
.nav-links a{
  font-family:'Inter',sans-serif;
  font-size:.75rem;font-weight:500;letter-spacing:.10em;text-transform:uppercase;
  color:var(--text-2);position:relative;padding-bottom:4px;
  transition:color var(--t);
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;
  background:linear-gradient(90deg,var(--gold),var(--gold-lt));
  transition:width var(--t);
  border-radius:1px;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{margin-left:.5rem;}

/* Hamburger */
.nav-hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  padding:8px;cursor:pointer;border-radius:8px;width:40px;height:40px;
  transition:background var(--t);
}
.nav-hamburger:hover{background:rgba(255,255,255,0.06);}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--text-2);border-radius:2px;transition:transform .3s,opacity .3s,background .3s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);background:var(--gold);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);background:var(--gold);}

/* Mobile Menu */
.mobile-menu{
  display:flex;position:fixed;inset:0;z-index:1001;
  background:rgba(9,9,15,0.98);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
  flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 0.28s ease,visibility 0.28s ease;
}
.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;}
.mobile-menu a{
  font-family:'Cinzel',serif;font-size:2rem;font-weight:400;
  color:var(--text);transition:color var(--t),transform var(--t);
}
.mobile-menu a:hover{color:var(--gold);transform:translateX(8px);}
.mobile-menu .btn-gold{font-family:'Inter',sans-serif;font-size:.88rem;margin-top:.5rem;}
.mobile-close{
  position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.05);border:1px solid var(--border);
  color:var(--text-2);cursor:pointer;font-size:1.3rem;
  transition:background var(--t),transform var(--t),color var(--t);
}
.mobile-close:hover{background:var(--gold-g);color:var(--gold);transform:rotate(90deg);}

/* ============================================================
   HERO — Pantalla completa, imagen de fondo real
   ============================================================ */
#hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:calc(var(--nav-h)+60px) 28px 120px;
  overflow:hidden;z-index:1;
}
#hero > *{position:relative;z-index:3;}
#hero > .hero-bg,#hero > .hero-overlay,#hero > .hero-gradient,
#hero > .hero-rings,#hero > .stars-wrap,#hero > .hero-aurora{position:absolute;z-index:0;}

/* Imagen de fondo */
.hero-bg{
  inset:0;overflow:hidden;
}
.hero-bg img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 36%;
  opacity:0;transition:opacity 1.6s ease;
  transform:scale(1.04);animation:hero-zoom 24s ease-in-out infinite alternate;
}
.hero-bg img.loaded{opacity:1;}
@keyframes hero-zoom{
  0%{transform:scale(1.04);}
  100%{transform:scale(1.12);}
}
/* Fallback gradient oscuro cuando la imagen no carga */
.hero-bg{
  background:linear-gradient(160deg,#0a0a1e 0%,#0f0f2e 50%,#080820 100%);
}

/* Overlay múltiple para dramatismo */
.hero-overlay{
  inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(9,9,15,0.52) 0%,rgba(9,9,15,0.25) 40%,rgba(9,9,15,0.70) 75%,rgba(9,9,15,0.95) 100%),
    linear-gradient(90deg,rgba(9,9,15,0.25) 0%,transparent 50%,rgba(9,9,15,0.25) 100%);
}

/* Gradiente artístico encima */
.hero-gradient{
  inset:0;z-index:2;
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%,rgba(79,70,229,0.22) 0%,transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 90%,rgba(212,168,83,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 45% 35% at 90% 85%,rgba(124,58,237,0.10) 0%,transparent 50%);
}

/* Anillos decorativos */
.hero-rings{inset:0;display:flex;align-items:center;justify-content:center;z-index:1;}
.hero-ring{
  position:absolute;border-radius:50%;
  border:1px solid rgba(212,168,83,0.08);
  left:50%;top:50%;transform:translate(-50%,-50%);
  animation:ring-pulse 6s ease-in-out infinite;
}
.hero-ring:nth-child(1){width:500px;height:500px;animation-delay:0s;}
.hero-ring:nth-child(2){width:740px;height:740px;animation-delay:1.5s;opacity:.55;}
.hero-ring:nth-child(3){width:1000px;height:1000px;animation-delay:3s;opacity:.25;}
@keyframes ring-pulse{
  0%,100%{border-color:rgba(212,168,83,0.08);}
  50%{border-color:rgba(212,168,83,0.18);}
}

/* Logo hero */
.hero-logo-wrap{margin-bottom:2rem;animation:hero-float 6s ease-in-out infinite;}
@keyframes hero-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.hero-logo-placeholder{
  width:150px;height:150px;border-radius:20px;
  background:rgba(255,255,255,0.96);
  border:2px solid rgba(212,168,83,0.50);
  margin:0 auto;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  animation:logo-glow 4s ease-in-out infinite;
  padding:8px;
}
.hero-logo-placeholder img{width:90%;height:90%;object-fit:contain;padding:8px;}
@keyframes logo-glow{
  0%,100%{box-shadow:0 0 0 8px rgba(212,168,83,0.06),0 0 0 20px rgba(212,168,83,0.02),0 0 40px rgba(212,168,83,0.18);}
  50%    {box-shadow:0 0 0 14px rgba(212,168,83,0.12),0 0 0 36px rgba(212,168,83,0.05),0 0 70px rgba(212,168,83,0.32);}
}

/* Badge */
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Inter',sans-serif;
  font-size:.70rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--border-gold);
  background:rgba(212,168,83,0.08);backdrop-filter:blur(10px);
  padding:7px 22px;border-radius:100px;margin-bottom:2rem;
  box-shadow:0 0 24px rgba(212,168,83,0.12);
}

/* Título hero */
.hero-title{
  font-family:'Cinzel',serif;
  font-size:clamp(2.8rem,7vw,7rem);
  font-weight:600;color:var(--text);
  margin-bottom:1.2rem;line-height:1.04;letter-spacing:.04em;
  text-shadow:0 4px 32px rgba(0,0,0,0.60);
}
.hero-title .highlight{
  background:linear-gradient(135deg,var(--gold-dk) 0%,var(--gold) 45%,var(--gold-lt) 80%,#fff 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 18px rgba(212,168,83,0.35));
}

/* Lema */
.hero-lema{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.1rem,2.2vw,1.60rem);
  font-style:italic;font-weight:300;color:rgba(241,245,249,0.72);
  max-width:660px;margin:0 auto 2.4rem;
  text-shadow:0 2px 12px rgba(0,0,0,0.50);
}

/* Meta */
.hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem;}
.hero-meta-item{
  display:flex;align-items:center;gap:8px;font-size:.86rem;color:rgba(241,245,249,0.80);
  background:rgba(255,255,255,0.08);padding:8px 18px;border-radius:100px;
  border:1px solid var(--border);backdrop-filter:blur(10px);
  transition:border-color var(--t),background var(--t);
}
.hero-meta-item:hover{border-color:var(--border-gold);background:var(--gold-g);}
.hero-meta-item i{color:var(--gold);font-size:.80rem;}
.hero-meta-sep{display:none;}
.hero-btns{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;}

/* Countdown */
.hero-countdown{
  display:flex;align-items:flex-end;justify-content:center;
  gap:.6rem;margin:1.6rem 0 2.2rem;
}
.countdown-unit{
  display:flex;flex-direction:column;align-items:center;
  background:rgba(9,9,15,0.65);
  border:1px solid var(--border);
  border-top:2px solid var(--gold);
  border-radius:var(--r);padding:16px 22px 12px;min-width:76px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 4px 24px rgba(0,0,0,0.55),0 0 0 1px rgba(212,168,83,0.05);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.countdown-unit:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--sh-gold);}
.countdown-num{
  display:flex;align-items:flex-start;gap:.06em;
  font-family:'Cinzel',serif;
  font-size:2.8rem;font-weight:600;
  color:var(--text);
  line-height:1;margin-bottom:6px;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
/* Slot-machine / old-clock reel per digit */
.digit-slot{
  overflow:hidden;
  height:1em;
  position:relative;
}
.digit-reel{
  display:flex;flex-direction:column;
  transform:translateY(0);
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.digit-reel span{
  display:block;
  height:1em;
  line-height:1;
  text-align:center;
}
.countdown-label{
  display:block;font-size:.52rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
}
.countdown-sep{
  font-family:'Cinzel',serif;font-size:2.2rem;
  color:var(--gold);font-weight:400;line-height:1;
  padding-bottom:22px;opacity:.70;
  animation:cd-blink 1s step-start infinite;
}
@keyframes cd-blink{0%,100%{opacity:.70;}50%{opacity:.15;}}
.countdown-done-msg{
  font-family:'Cormorant Garamond',serif;font-size:1.3rem;
  font-style:italic;color:var(--gold);padding:16px 0;
}

/* Trust bar */
.hero-trust{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.6rem;flex-wrap:wrap;}
.hero-trust-item{
  display:flex;align-items:center;gap:6px;
  font-size:.74rem;color:rgba(241,245,249,0.55);font-weight:500;letter-spacing:.04em;
}
.hero-trust-item i{color:var(--gold);font-size:.68rem;}
.hero-trust-sep{width:4px;height:4px;border-radius:50%;background:rgba(212,168,83,0.30);flex-shrink:0;}

/* Scroll indicator */
.scroll-indicator{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(241,245,249,0.35);font-size:.66rem;letter-spacing:.20em;text-transform:uppercase;
  animation:si-bounce 2.4s ease-in-out infinite;z-index:3;
}
.scroll-mouse{
  width:22px;height:36px;border:1.5px solid rgba(212,168,83,0.35);
  border-radius:11px;display:flex;justify-content:center;padding-top:5px;
}
.scroll-mouse::before{
  content:'';width:3px;height:6px;background:var(--gold);border-radius:2px;
  animation:scroll-dot 2.2s ease-in-out infinite;
}
@keyframes scroll-dot{0%{transform:translateY(0);opacity:1;}100%{transform:translateY(10px);opacity:0;}}
@keyframes si-bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-8px);}}

/* ============================================================
   ABOUT
   ============================================================ */
#acerca{
  position:relative;z-index:1;padding:120px 0;
  background:linear-gradient(180deg,var(--bg-dark),var(--bg-deep));
}
#acerca::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 45% at 0% 50%,rgba(79,70,229,0.06) 0%,transparent 60%),
    radial-gradient(ellipse 50% 40% at 100% 60%,rgba(212,168,83,0.05) 0%,transparent 55%);
}
.about-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:80px;align-items:start;}
/* Video about */
.about-video-wrap{
  width:100%;max-width:460px;margin:0 auto;
  border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-dark);
  border:1px solid var(--border);
  background:#04020e;
  aspect-ratio:9/16;
}
.about-video{
  width:100%;height:100%;display:block;
  object-fit:cover;
  border-radius:var(--r-xl);
}
.afiche-placeholder{
  width:100%;aspect-ratio:2/3;max-width:380px;margin:0 auto;
  background:linear-gradient(145deg,rgba(79,70,229,0.08),rgba(124,58,237,0.06));
  border:1px solid var(--border);border-radius:var(--r-xl);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;color:var(--text-3);font-size:.80rem;letter-spacing:.10em;text-transform:uppercase;
  text-align:center;padding:24px;overflow:hidden;position:relative;box-shadow:var(--sh-dark);
}
.afiche-placeholder::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(145deg,rgba(79,70,229,0.04),transparent);
}
.afiche-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--r-xl);}
.afiche-placeholder .placeholder-icon{font-size:2.4rem;opacity:.15;color:var(--indigo-lt);}
.afiche-placeholder .placeholder-text{opacity:.35;line-height:1.6;}

.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
.stat-item{
  text-align:center;padding:24px 12px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:border-color var(--t),box-shadow var(--t),transform var(--t),background var(--t);
}
.stat-item:hover{border-color:var(--border-gold);box-shadow:var(--sh-gold);transform:translateY(-4px);background:var(--bg-card-h);}
.about-stats .stat-item:nth-child(1){border-top:2px solid var(--gold);}
.about-stats .stat-item:nth-child(2){border-top:2px solid var(--indigo-lt);}
.about-stats .stat-item:nth-child(3){border-top:2px solid var(--gold-lt);}
.stat-num{font-family:'Cinzel',serif;font-size:3.4rem;font-weight:600;color:var(--gold);line-height:1;display:block;}
.stat-label{font-size:.68rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.16em;margin-top:4px;display:block;}

.feature-list{margin-top:1.8rem;}
.feature-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.feature-item:last-child{border-bottom:none;}
.feature-icon{
  width:36px;height:36px;border-radius:50%;
  background:var(--gold-g);border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:var(--gold);font-size:.78rem;
  transition:box-shadow var(--t);
}
.feature-item:hover .feature-icon{box-shadow:0 0 18px var(--gold-glow);}

/* ============================================================
   AGENDA
   ============================================================ */
#agenda{
  position:relative;z-index:1;padding:120px 0;
  background:linear-gradient(180deg,var(--bg-deep),var(--bg-mid));
  overflow:hidden;
}
#agenda::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url('../../assets/img/sitio/fondo.webp');
  background-size:cover;background-position:center;
  opacity:0.06;
}
.agenda-bg{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 55% at 50% 50%,rgba(79,70,229,0.06) 0%,transparent 70%);
}
.agenda-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:3.5rem;flex-wrap:wrap;}
.agenda-tab{
  padding:13px 40px;border-radius:100px;font-family:'Inter',sans-serif;
  font-size:.76rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);
  backdrop-filter:blur(10px);transition:all var(--t);
}
.agenda-tab.active{
  background:linear-gradient(135deg,var(--gold-dk),var(--gold));
  color:var(--bg-dark);border-color:transparent;box-shadow:var(--sh-gold);
}
.agenda-tab:hover:not(.active){border-color:var(--border-gold);color:var(--gold);}
.agenda-panel{display:none;}
.agenda-panel.active{display:block;}
.agenda-day-nav{display:flex;justify-content:center;padding:2.5rem 0 .5rem;}
.agenda-day-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 36px;border-radius:100px;
  font-family:'Inter',sans-serif;font-size:.76rem;font-weight:700;
  letter-spacing:.10em;text-transform:uppercase;cursor:pointer;
  border:1px solid rgba(212,168,83,0.35);
  background:rgba(212,168,83,0.08);color:var(--gold);
  transition:all var(--t);
}
.agenda-day-btn:hover{
  background:rgba(212,168,83,0.18);border-color:var(--gold);
  box-shadow:var(--sh-gold);transform:translateY(-2px);
}

.timeline{position:relative;max-width:820px;margin:0 auto;}
.timeline::before{
  content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,rgba(212,168,83,0.20) 8%,rgba(212,168,83,0.20) 92%,transparent);
  transform:translateX(-50%);
}
.timeline-item{display:flex;align-items:flex-start;margin-bottom:1.6rem;position:relative;}
.timeline-item:nth-child(odd){flex-direction:row-reverse;}
.timeline-content{
  width:calc(50% - 34px);padding:22px 24px;border-radius:var(--r);
  background:var(--bg-card);border:1px solid var(--border);
  backdrop-filter:blur(18px);
  box-shadow:var(--sh-card);
  transition:border-color var(--t),box-shadow var(--t),background var(--t);
}
.timeline-content:hover{border-color:var(--border-gold);box-shadow:var(--sh-gold);background:var(--bg-card-h);}
.timeline-item:nth-child(odd) .timeline-content{margin-right:34px;text-align:right;border-right:2px solid var(--gold);}
.timeline-item:nth-child(even) .timeline-content{margin-left:34px;border-left:2px solid var(--gold);}
.timeline-dot{
  position:absolute;left:50%;top:22px;transform:translateX(-50%);
  width:13px;height:13px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 4px rgba(212,168,83,0.12),0 0 18px rgba(212,168,83,0.40);
  z-index:2;
}
.timeline-time{font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-bottom:4px;}
.timeline-title{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--text);margin-bottom:4px;font-weight:500;}
.timeline-speaker{font-size:.78rem;color:var(--text-2);}
.timeline-break{
  text-align:center;padding:10px 0;color:var(--text-3);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  display:flex;align-items:center;gap:16px;justify-content:center;
}
.timeline-break::before,.timeline-break::after{content:'';flex:1;height:1px;background:rgba(212,168,83,0.12);}
.timeline-break i{color:var(--gold);}

/* ============================================================
   PONENTES
   ============================================================ */
#ponentes{
  position:relative;z-index:1;padding:120px 0;
  background:linear-gradient(180deg,var(--bg-mid),var(--bg-deep));
}
#ponentes::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(124,58,237,0.07) 0%,transparent 65%);
}

.speakers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;}
.speaker-card{
  position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;
  border:1px solid var(--border);box-shadow:var(--sh-card);background:var(--bg-card);
  transition:border-color var(--t),box-shadow var(--t),transform var(--t);
}
.speaker-card:hover{border-color:var(--border-gold);box-shadow:var(--sh-gold);transform:translateY(-6px);}
.speaker-photo{width:100%;aspect-ratio:3/4;background:linear-gradient(145deg,rgba(79,70,229,0.10),rgba(124,58,237,0.08));overflow:hidden;position:relative;}
.speaker-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-o);}
.speaker-card:hover .speaker-photo img{transform:scale(1.06);}
.speaker-photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.speaker-photo-placeholder i{font-size:4rem;color:rgba(79,70,229,0.25);}
.speaker-photo-placeholder span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);}
.speaker-body{
  position:absolute;bottom:0;left:0;right:0;padding:20px 18px;
  background:linear-gradient(0deg,rgba(9,9,15,0.98) 0%,rgba(9,9,15,0.88) 55%,transparent 100%);
  transform:translateY(calc(100% - 88px));transition:transform .42s var(--ease-o);
}
.speaker-card:hover .speaker-body{transform:translateY(0);}
.speaker-name{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--text);margin-bottom:3px;line-height:1.2;font-weight:500;}
.speaker-role{font-size:.66rem;color:var(--gold);letter-spacing:.10em;text-transform:uppercase;margin-bottom:8px;}
.speaker-topics{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.speaker-topic{font-size:.60rem;color:var(--text-2);background:var(--gold-g);border:1px solid var(--border-gold);padding:2px 8px;border-radius:100px;}

/* Modal ponentes */
#speaker-modal{display:none;position:fixed;inset:0;z-index:9000;align-items:stretch;}
#speaker-modal.open{display:flex;}
.sm-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.82);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);}
.sm-wrap{position:relative;z-index:1;width:100%;display:flex;}
.sm-photo-side{flex:0 0 50%;position:relative;overflow:hidden;}
.sm-photo-side img{width:100%;height:100%;object-fit:cover;display:block;}
.sm-photo-side::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(9,9,15,0.60) 100%);}
.sm-photo-placeholder-full{width:100%;height:100%;background:linear-gradient(145deg,rgba(79,70,229,0.12),rgba(124,58,237,0.08));display:flex;align-items:center;justify-content:center;}
.sm-photo-placeholder-full i{font-size:6rem;color:rgba(79,70,229,0.25);}
.sm-info-side{
  flex:1;display:flex;flex-direction:column;justify-content:flex-start;
  padding:72px 64px;position:relative;overflow-y:auto;
  background:var(--bg-deep);
}
.sm-info-side::before{
  content:attr(data-num);position:absolute;top:30px;right:40px;
  font-family:'Cinzel',serif;font-size:12rem;font-weight:600;line-height:1;
  color:rgba(212,168,83,0.04);user-select:none;pointer-events:none;
}
.sm-close{
  position:absolute;top:28px;right:28px;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,0.05);border:1px solid var(--border);
  color:var(--text-2);display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;transition:background .25s,transform .25s,color .25s;
}
.sm-close:hover{background:var(--gold-g);color:var(--gold);transform:rotate(90deg);}
.sm-badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);border:1px solid var(--border-gold);background:var(--gold-g);padding:4px 14px;border-radius:100px;margin-bottom:1.2rem;width:fit-content;}
.sm-name{font-family:'Cinzel',serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;color:var(--text);margin-bottom:.6rem;line-height:1.08;}
.sm-role{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.sm-divider{width:56px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:1.5rem;}
.sm-bio{font-size:.98rem;color:var(--text-2);line-height:1.82;max-width:420px;margin-bottom:1.5rem;}
.sm-topics{display:flex;flex-wrap:wrap;gap:6px;}
.sm-topic-tag{font-size:.68rem;color:var(--text-2);background:var(--gold-g);border:1px solid var(--border-gold);padding:4px 12px;border-radius:100px;}

/* ============================================================
   VENUE
   ============================================================ */
#lugar{
  position:relative;z-index:1;padding:120px 0;
  background:linear-gradient(180deg,var(--bg-deep),var(--bg-mid));
  overflow:hidden;
}
#lugar::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url('../../assets/img/sitio/fondo.webp');
  background-size:cover;background-position:center;
  opacity:0.05;
}
.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.venue-img{
  width:100%;aspect-ratio:4/3;
  background:linear-gradient(135deg,rgba(79,70,229,0.08),rgba(124,58,237,0.06));
  border:1px solid var(--border);border-radius:var(--r-xl);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  gap:12px;color:var(--text-3);font-size:.78rem;letter-spacing:.10em;text-transform:uppercase;
  overflow:hidden;position:relative;box-shadow:var(--sh-dark);
}
.venue-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.venue-img .placeholder-icon{font-size:2.6rem;opacity:.16;color:var(--indigo-lt);}
/* Galería auditorio */
.venue-gallery{width:100%;}
.venue-gallery-main{
  width:100%;aspect-ratio:4/3;border-radius:var(--r-xl);overflow:hidden;
  position:relative;box-shadow:var(--sh-dark);background:#0a0718;
}
.venue-gallery-main img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:opacity .35s ease,transform .4s ease;
}
.venue-gallery-main img.vg-fade{opacity:0;transform:scale(1.03);}
.vg-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(10,7,24,0.72);backdrop-filter:blur(8px);
  border:1px solid rgba(212,168,83,0.28);color:var(--gold);
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:.85rem;transition:background .2s,border-color .2s;z-index:2;
}
.vg-arrow:hover{background:rgba(212,168,83,0.18);border-color:var(--gold);}
.vg-prev{left:12px;}.vg-next{right:12px;}
.vg-counter{
  position:absolute;bottom:12px;right:14px;
  font-size:.68rem;font-weight:700;letter-spacing:.12em;
  color:rgba(255,255,255,0.85);background:rgba(10,7,24,0.65);
  backdrop-filter:blur(6px);padding:3px 10px;border-radius:20px;
}
.venue-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;}
.vg-thumb{
  border:2px solid transparent;padding:0;cursor:pointer;
  border-radius:10px;overflow:hidden;aspect-ratio:1;
  opacity:.5;transition:opacity .22s,border-color .22s;background:none;
}
.vg-thumb:hover{opacity:.8;}
.vg-thumb.active{opacity:1;border-color:var(--gold);}
.vg-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.venue-gallery-main img{cursor:zoom-in;}
/* Lightbox auditorio */
.vg-lightbox{
  position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;
  background:rgba(4,2,14,0);pointer-events:none;
  visibility:hidden;transition:background .3s,visibility 0s .3s;
}
.vg-lightbox.open{
  background:rgba(4,2,14,0.94);pointer-events:all;
  visibility:visible;transition:background .3s,visibility 0s 0s;
}
.vg-lightbox-img{
  max-width:90vw;max-height:88vh;object-fit:contain;border-radius:12px;
  box-shadow:0 32px 80px rgba(0,0,0,0.7);
  opacity:0;transform:scale(.93);transition:opacity .32s,transform .32s;
}
.vg-lightbox.open .vg-lightbox-img{opacity:1;transform:scale(1);}
.vg-lightbox .vg-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;font-size:1rem;
}
.vg-lightbox .vg-prev{left:20px;}
.vg-lightbox .vg-next{right:20px;}
.vg-lightbox-close{
  position:absolute;top:18px;right:20px;
  width:42px;height:42px;border-radius:50%;
  background:rgba(10,7,24,0.72);backdrop-filter:blur(8px);
  border:1px solid rgba(212,168,83,0.28);color:var(--gold);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1rem;transition:background .2s;
}
.vg-lightbox-close:hover{background:rgba(212,168,83,0.18);}
.vg-lightbox-counter{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  font-size:.72rem;font-weight:700;letter-spacing:.14em;
  color:rgba(255,255,255,0.8);background:rgba(10,7,24,0.65);
  backdrop-filter:blur(6px);padding:4px 14px;border-radius:20px;
}
.venue-name{font-family:'Cinzel',serif;font-size:2rem;color:var(--text);margin-bottom:.75rem;font-weight:600;}
.venue-info-list{margin-top:1.5rem;}
.venue-info-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.venue-info-item:last-child{border-bottom:none;}
.venue-info-icon{
  width:38px;height:38px;border-radius:50%;
  background:var(--gold-g);border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:var(--gold);font-size:.88rem;
}
.venue-info-text strong{display:block;color:var(--text);font-size:.88rem;margin-bottom:2px;}
.venue-info-text span{color:var(--text-2);font-size:.83rem;}

/* ============================================================
   PRICING
   ============================================================ */
#inscripcion{
  position:relative;z-index:1;padding:120px 0;
  background:linear-gradient(180deg,var(--bg-mid),var(--bg-dark));
}
.pricing-bg{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 50%,rgba(212,168,83,0.05) 0%,transparent 65%);
}
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem;max-width:800px;margin:3rem auto 0;}
.pricing-card{
  background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--r-lg);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  padding:46px 38px;text-align:center;position:relative;overflow:hidden;
  box-shadow:var(--sh-card);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t),background var(--t);
}
.pricing-card:hover{transform:translateY(-6px);box-shadow:var(--sh-gold);border-color:var(--border-gold);background:var(--bg-card-h);}
.pricing-card.featured{
  border-color:rgba(212,168,83,0.35);
  border-top:2px solid var(--gold);
  box-shadow:0 0 80px rgba(212,168,83,0.08),var(--sh-card);
  background:linear-gradient(160deg,rgba(212,168,83,0.06) 0%,rgba(255,255,255,0.03) 100%);
}
.pricing-card.featured:hover{box-shadow:0 0 100px rgba(212,168,83,0.16),var(--sh-gold);}
.pricing-ribbon{
  position:absolute;top:20px;right:-26px;
  background:linear-gradient(135deg,var(--gold-dk),var(--gold));
  color:var(--bg-dark);font-size:.58rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  padding:5px 44px;transform:rotate(45deg);
}
.pricing-name{font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.pricing-subtitle{font-size:.82rem;color:var(--text-2);margin-bottom:1.4rem;letter-spacing:.04em;}
.pricing-price{font-family:'Cinzel',serif;font-size:3rem;font-weight:600;color:var(--text);line-height:1;margin-bottom:.25rem;}
.pricing-price sup{font-size:1.4rem;vertical-align:super;}
/* Precios duales nacional / extranjero */
.pricing-dual{display:flex;align-items:stretch;gap:0;margin-bottom:1rem;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.pricing-dual-item{flex:1;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;}
.pricing-dual-sep{width:1px;background:var(--border);}
.pricing-dual-label{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);}
.pricing-dual-amount{font-family:'Cinzel',serif;font-size:1.45rem;font-weight:600;color:var(--text);line-height:1.1;}
.pricing-dual-amount small{font-size:.7em;color:var(--text-2);font-family:'Inter',sans-serif;font-weight:400;}
.featured .pricing-dual{border-color:rgba(212,168,83,0.25);background:rgba(212,168,83,0.04);}
.featured .pricing-dual-label{color:var(--gold);}
.pricing-period{font-size:.74rem;color:var(--text-2);margin-bottom:1.5rem;}
.pricing-divider{width:40px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:1.5rem auto;}
.pricing-features{text-align:left;margin-bottom:2rem;}
.pricing-features li{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:.85rem;color:var(--text-2);border-bottom:1px solid rgba(255,255,255,0.05);}
.pricing-features li:last-child{border-bottom:none;}
.pricing-features li i{color:var(--gold);font-size:.70rem;flex-shrink:0;}
.pricing-features li.unavailable{opacity:.25;}
.pricing-note{text-align:center;margin-top:2.5rem;color:var(--text-2);font-size:.84rem;}
.pricing-note strong{color:var(--gold);}

/* ============================================================
   CTA BANNER (CON VIDEO)
   ============================================================ */
#cta-section{
  position:relative;z-index:1;padding:120px 0;
  background:var(--bg-dark);
  overflow:hidden;
}
.video-bg-wrap {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.video-bg-wrap video {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  pointer-events: none;
}
.video-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, var(--bg-dark) 0%, rgba(9,9,15,0.65) 40%, rgba(9,9,15,0.65) 60%, var(--bg-dark) 100%);
}
.cta-inner{
  position:relative;z-index:2;
  background:linear-gradient(135deg,rgba(79,70,229,0.15) 0%,rgba(124,58,237,0.15) 40%,rgba(212,168,83,0.12) 100%);
  border:1px solid rgba(212,168,83,0.30);border-radius:var(--r-xl);
  padding:80px 60px;text-align:center;overflow:hidden;
  box-shadow:0 0 80px rgba(212,168,83,0.15),var(--sh-dark);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.cta-title{font-family:'Cinzel',serif;font-size:clamp(1.9rem,3.5vw,3.2rem);margin-bottom:1rem;color:var(--text);font-weight:600;}
.cta-title span{color:var(--gold);}
.cta-sub{color:var(--text-2);font-size:1.04rem;max-width:520px;margin:0 auto 2.8rem;}

/* ============================================================
   FOOTER
   ============================================================ */
#footer{
  position:relative;z-index:1;
  background:linear-gradient(160deg,#060610 0%,#040408 100%);
  color:rgba(241,245,249,0.55);
  padding-top:0;overflow:hidden;
}

.footer-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;gap:2.4rem;padding:48px 0 44px;border-bottom:1px solid rgba(255,255,255,0.05);
}
.footer-brand-block{display:flex;flex-direction:column;gap:16px;max-width:280px;}
.footer-logo-row{display:flex;align-items:center;gap:12px;}
.footer-logo-img{
  height:52px;display:flex;align-items:center;justify-content:center;
}
.footer-logo-img img{height:100%;width:auto;object-fit:contain;}
.footer-brand-name{font-family:'Cinzel',serif;font-size:1rem;font-weight:600;color:#fff;line-height:1.2;}
.footer-brand-name span{display:block;font-family:'Inter',sans-serif;font-size:.68rem;font-weight:400;color:rgba(241,245,249,0.38);}
.footer-tagline{color:rgba(241,245,249,0.36);font-size:.83rem;line-height:1.68;}
.footer-social{display:flex;gap:.55rem;}
.footer-social a{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);
  display:flex;align-items:center;justify-content:center;
  color:rgba(241,245,249,0.45);font-size:.82rem;
  transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);
}
.footer-social a:hover{background:var(--gold-g);border-color:var(--border-gold);color:var(--gold);transform:translateY(-3px);}
.footer-col-title{font-size:.62rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:rgba(241,245,249,0.28);margin-bottom:.9rem;}
.footer-links-block{display:flex;flex-direction:column;gap:.4rem;}
.footer-links-block a{font-size:.84rem;color:rgba(241,245,249,0.48);transition:color var(--t),padding-left var(--t);}
.footer-links-block a:hover{color:var(--gold);padding-left:6px;}
.footer-contact-block{display:flex;flex-direction:column;gap:.5rem;}
.footer-contact-item{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;color:rgba(241,245,249,0.48);}
.footer-contact-item i{color:var(--gold);margin-top:2px;flex-shrink:0;}
.footer-event-badge{
  background:rgba(212,168,83,0.05);
  border:1px solid var(--border-gold);
  border-radius:var(--r);padding:22px 28px;text-align:center;align-self:flex-start;
  backdrop-filter:blur(8px);
}

/* ── Botón flotante WhatsApp ── */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,0.45),0 2px 8px rgba(0,0,0,0.30);
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s,background .25s;
  animation:wa-pulse 2.8s ease-in-out infinite;
}
.wa-float:hover{
  transform:scale(1.12);
  box-shadow:0 6px 28px rgba(37,211,102,0.65),0 2px 12px rgba(0,0,0,0.30);
  color:#fff;
}
/* Tema claro: verde oscuro WA para mejor contraste */
body.light-theme .wa-float{
  background:#075e54;color:#fff;
  box-shadow:0 4px 20px rgba(7,94,84,0.40),0 2px 8px rgba(0,0,0,0.18);
}
body.light-theme .wa-float:hover{
  box-shadow:0 6px 28px rgba(7,94,84,0.60),0 2px 12px rgba(0,0,0,0.20);
}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.45),0 0 0 0 rgba(37,211,102,0.40);}
  50%{box-shadow:0 4px 20px rgba(37,211,102,0.45),0 0 0 12px rgba(37,211,102,0);}
}
.footer-event-badge .date{font-family:'Cinzel',serif;font-size:1.45rem;color:#fff;line-height:1.2;display:block;}
.footer-event-badge .loc{font-size:.64rem;color:rgba(241,245,249,0.32);letter-spacing:.12em;text-transform:uppercase;margin-top:6px;display:block;}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;padding:22px 0;
}
.footer-copy{font-size:.72rem;color:rgba(241,245,249,0.24);}
.footer-copy a{color:var(--gold);opacity:.70;}
.footer-policy{display:flex;gap:1.5rem;}
.footer-policy a{font-size:.72rem;color:rgba(241,245,249,0.24);transition:color var(--t);}
.footer-policy a:hover{color:rgba(241,245,249,0.60);}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal-up{opacity:0;transform:translateY(52px);transition:opacity .72s var(--ease-o),transform .72s var(--ease-o);}
.reveal-left{opacity:0;transform:translateX(-72px);transition:opacity .85s var(--ease-o),transform .85s var(--ease-o);}
.reveal-right{opacity:0;transform:translateX(72px);transition:opacity .85s var(--ease-o),transform .85s var(--ease-o);}
.reveal-scale{opacity:0;transform:scale(0.80) translateY(38px);transition:opacity .68s var(--ease-o),transform .68s var(--ease-o);}
.reveal-fade{opacity:0;transition:opacity .65s ease;}
.reveal-3d{opacity:0;transform:perspective(900px) rotateX(22deg) translateY(65px) scale(0.88);transition:opacity .92s var(--ease-o),transform .92s var(--ease-o);}

.reveal-up.revealed{opacity:1;transform:translateY(0);}
.reveal-left.revealed{opacity:1;transform:translateX(0);}
.reveal-right.revealed{opacity:1;transform:translateX(0);}
.reveal-scale.revealed{opacity:1;transform:scale(1) translateY(0);}
.reveal-fade.revealed{opacity:1;}
.reveal-3d.revealed{opacity:1;transform:perspective(900px) rotateX(0deg) translateY(0) scale(1);}
.pricing-card.featured.reveal-3d.revealed{transform:perspective(900px) rotateX(0deg) translateY(-5px) scale(1.02);}

@keyframes card-shimmer{0%{background-position:200% center;}100%{background-position:-200% center;}}
.pricing-card.featured.revealed::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.08) 50%,transparent 60%);
  background-size:200% 100%;animation:card-shimmer .8s ease forwards;pointer-events:none;
}

/* Delay helpers */
.reveal-d1{transition-delay:.08s;}
.reveal-d2{transition-delay:.16s;}
.reveal-d3{transition-delay:.24s;}
.reveal-d4{transition-delay:.32s;}
.reveal-d5{transition-delay:.42s;}
.reveal-d6{transition-delay:.52s;}

/* ============================================================
   ESTELA MÁGICA (Polvo)
   ============================================================ */
.sparkle {
  position: fixed;
  background: var(--gold-lt);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
  box-shadow: 0 0 6px var(--gold);
  animation: sparkle-fade 0.8s ease-out forwards;
}
@keyframes sparkle-fade {
  0% { transform: scale(1.5); opacity: 0.8; }
  100% { transform: scale(0); opacity: 0; }
}

/* ============================================================
   HOSPEDAJE
   ============================================================ */
#hospedaje{position:relative;z-index:1;padding:120px 0;background:linear-gradient(180deg,var(--bg-deep),var(--bg-mid));overflow:hidden;}
.hotel-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 45% at 50% 55%,rgba(212,168,83,0.05) 0%,transparent 65%),
    radial-gradient(ellipse 35% 30% at 12% 75%,rgba(79,70,229,0.06) 0%,transparent 55%),
    radial-gradient(ellipse 28% 25% at 88% 25%,rgba(124,58,237,0.05) 0%,transparent 55%);
}
/* Callout informativo */
.hotel-notice{
  display:flex;align-items:flex-start;gap:12px;
  background:rgba(212,168,83,0.07);border:1px solid rgba(212,168,83,0.18);
  border-radius:var(--r);padding:14px 22px;
  margin:2.5rem auto 0;max-width:680px;
  font-size:.83rem;color:var(--text-2);line-height:1.6;
}
.hotel-notice i{color:var(--gold);flex-shrink:0;margin-top:2px;font-size:.9rem;}
/* Grid */
.hotel-grid{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.5rem;justify-content:center;}
/* Tarjeta */
.hotel-card{
  flex:1 1 280px;max-width:340px;position:relative;overflow:hidden;
  background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:1.75rem;display:flex;flex-direction:column;gap:.8rem;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t),background var(--t);
  --hcat:#d4a853;--hcat-g:rgba(212,168,83,0.08);--hcat-b:rgba(212,168,83,0.22);
}
.hotel-card.is-economica{--hcat:#4ade80;--hcat-g:rgba(74,222,128,0.08);--hcat-b:rgba(74,222,128,0.22);}
.hotel-card.is-media    {--hcat:#60a5fa;--hcat-g:rgba(96,165,250,0.08);--hcat-b:rgba(96,165,250,0.22);}
.hotel-card.is-ejecutiva{--hcat:#a78bfa;--hcat-g:rgba(167,139,250,0.08);--hcat-b:rgba(167,139,250,0.22);}
.hotel-card.is-premium  {--hcat:#d4a853;--hcat-g:rgba(212,168,83,0.08);--hcat-b:rgba(212,168,83,0.22);}
/* Línea de acento superior en color de categoría */
.hotel-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--hcat) 0%,transparent 75%);}
.hotel-card:hover{transform:translateY(-7px);border-color:var(--hcat-b);background:var(--bg-card-h);box-shadow:0 20px 60px var(--hcat-g),0 4px 24px rgba(0,0,0,0.30);}
/* Icono decorativo de fondo */
.hotel-card-deco{
  position:absolute;bottom:-14px;right:-10px;
  font-size:5.5rem;line-height:1;color:var(--hcat);opacity:0.07;
  pointer-events:none;user-select:none;
  transition:opacity var(--t),transform var(--t);
}
.hotel-card:hover .hotel-card-deco{opacity:0.13;transform:scale(1.06) rotate(-5deg);}
/* Ribbon "A pie" (solo para Artemisa) */
.hotel-ribbon-badge{
  position:absolute;top:18px;right:-26px;
  background:linear-gradient(135deg,#16a34a,#4ade80);
  color:#0a1a0a;font-size:.55rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:5px 44px;transform:rotate(45deg);
  box-shadow:0 2px 10px rgba(74,222,128,0.35);
}
/* Fila superior: categoría + distancia */
.hotel-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;}
.hotel-cat{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-size:.60rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:3px 10px;border-radius:100px;border:1px solid;}
.hotel-cat.economica{color:#4ade80;background:rgba(74,222,128,0.10);border-color:rgba(74,222,128,0.28);}
.hotel-cat.media    {color:#60a5fa;background:rgba(96,165,250,0.10);border-color:rgba(96,165,250,0.28);}
.hotel-cat.ejecutiva{color:#a78bfa;background:rgba(167,139,250,0.10);border-color:rgba(167,139,250,0.28);}
.hotel-cat.premium  {color:var(--gold);background:var(--gold-g);border-color:var(--border-gold);}
.hotel-dist{display:inline-flex;align-items:center;gap:5px;font-size:.70rem;color:var(--text-2);background:rgba(255,255,255,0.05);border:1px solid var(--border);padding:3px 10px;border-radius:100px;white-space:nowrap;flex-shrink:0;}
.hotel-dist i{font-size:.65rem;color:var(--hcat);}
/* Precio destacado */
.hotel-price-wrap{display:flex;align-items:baseline;gap:0;margin:.15rem 0 0;}
.hotel-currency{font-size:.85rem;font-weight:600;color:var(--gold);margin-right:3px;line-height:1;align-self:flex-start;padding-top:6px;}
.hotel-amount{font-family:'Cinzel',serif;font-size:2.4rem;font-weight:600;color:var(--text);line-height:1;}
.hotel-period{font-size:.72rem;color:var(--text-2);margin-left:5px;align-self:flex-end;padding-bottom:4px;}
/* Nombre */
.hotel-name{font-family:'Cinzel',serif;font-size:.97rem;font-weight:600;color:var(--text);line-height:1.38;margin:0;}
/* Línea divisora en color de categoría */
.hotel-rule{width:32px;height:1px;background:linear-gradient(90deg,var(--hcat),transparent);flex-shrink:0;}
/* Descripción */
.hotel-desc{font-size:.83rem;color:var(--text-2);line-height:1.68;flex:1;}
/* Botón */
.hotel-btn{font-size:.8rem!important;padding:9px 20px!important;justify-content:center;margin-top:auto;}
/* Barra de contacto */
.hotel-contact{
  margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:1.5rem;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:1.4rem 2rem;
}
.hotel-contact-label{font-size:.9rem;color:var(--text-2);margin:0;}
.hotel-contact-actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.hotel-contact-btn{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;padding:9px 20px;border-radius:100px;border:1px solid;text-decoration:none;transition:transform var(--t),box-shadow var(--t),background var(--t);}
.hotel-contact-btn:hover{transform:translateY(-2px);}
.hotel-contact-wa   {color:#4ade80;background:rgba(74,222,128,0.10);border-color:rgba(74,222,128,0.28);}
.hotel-contact-wa:hover{background:rgba(74,222,128,0.18);box-shadow:0 8px 24px rgba(74,222,128,0.18);}
.hotel-contact-email{color:var(--gold);background:var(--gold-g);border-color:var(--border-gold);}
.hotel-contact-email:hover{background:rgba(212,168,83,0.22);box-shadow:var(--sh-gold);}
/* Tema claro */
body.light-theme .hotel-card.is-economica{--hcat:#16a34a;--hcat-g:rgba(22,163,74,0.06);--hcat-b:rgba(22,163,74,0.22);}
body.light-theme .hotel-card.is-media    {--hcat:#2563eb;--hcat-g:rgba(37,99,235,0.06);--hcat-b:rgba(37,99,235,0.22);}
body.light-theme .hotel-cat.economica   {color:#16a34a;background:rgba(22,163,74,0.10);border-color:rgba(22,163,74,0.28);}
body.light-theme .hotel-cat.media       {color:#2563eb;background:rgba(37,99,235,0.10);border-color:rgba(37,99,235,0.28);}
body.light-theme .hotel-card-deco       {opacity:0.05;}
body.light-theme .hotel-dist            {background:rgba(0,0,0,0.04);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .speakers-grid{grid-template-columns:repeat(2,1fr);}
  .timeline::before{left:20px;}
  .timeline-item,.timeline-item:nth-child(odd){flex-direction:column;}
  .timeline-content{width:100%;margin-left:52px!important;margin-right:0!important;text-align:left!important;border-left:2px solid var(--gold)!important;border-right:1px solid var(--border)!important;}
  .timeline-dot{left:20px;}
}
@media(max-width:768px){
  .about-grid,.venue-grid{grid-template-columns:1fr;}
  .hotel-card{flex:1 1 100%;max-width:100%;}
  .hotel-contact{flex-direction:column;align-items:flex-start;}
  .about-video-wrap{max-width:320px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  #navbar{padding:0 18px;}
  .nav-logo-img{height:42px;}
  .nav-logo-text{display:none;}
  section,footer{overflow-x:hidden;max-width:100%;}
  .pricing-grid{grid-template-columns:1fr;max-width:440px;}
  .footer-top{flex-direction:column;gap:2rem;}
  .footer-event-badge{width:100%;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .cta-inner{padding:52px 28px;}
  .hero-ring:nth-child(1){width:280px;height:280px;}
  .hero-ring:nth-child(2){width:460px;height:460px;}
  .hero-ring:nth-child(3){display:none;}
  .sm-wrap{flex-direction:column;}
  .sm-photo-side{flex:0 0 42vh;}
  .sm-photo-side::after{background:linear-gradient(0deg,rgba(9,9,15,0.92) 0%,transparent 52%);}
  .sm-info-side{padding:32px 24px;}
  .sm-info-side::before{font-size:5rem;top:10px;right:16px;}

  /* Ajustes Hero para evitar solapamiento en móvil */
  #hero {
    justify-content: flex-start;
    padding-top: calc(var(--nav-h) + 36px);
    padding-bottom: 60px;
    min-height: auto;
  }
  .hero-badge {
    font-size: .60rem;
    letter-spacing: .16em;
    padding: 5px 14px;
    margin-bottom: 1.2rem;
  }
  .hero-title {
    font-size: clamp(1.9rem, 7.5vw, 2.8rem);
    margin-bottom: 0.8rem;
  }
  .hero-lema {
    font-size: 1.05rem;
    margin-bottom: 1.8rem;
  }
  .hero-countdown {
    margin: 1.2rem 0 1.8rem;
    gap: 8px;
  }
  .hero-meta {
    margin-bottom: 1.8rem;
    gap: 0.6rem;
  }
  .hero-meta-item {
    padding: 6px 14px;
    font-size: 0.8rem;
  }
  .hero-btns {
    width: 100%;
    flex-direction: column;
    gap: 0.8rem;
    align-items: center;
  }
  .hero-btns .btn-gold, .hero-btns .btn-ghost {
    width: 100%;
    max-width: 280px;
    padding: 12px 24px;
    text-align: center;
    justify-content: center;
  }
  .hero-trust {
    margin-top: 1.2rem;
    font-size: 0.68rem;
    gap: 0.8rem;
  }
  .scroll-indicator {
    display: none;
  }
}
@media(max-width:520px){
  .countdown-unit{min-width:58px;padding:10px 10px 8px;}
  .countdown-num{font-size:1.8rem;}
  .countdown-sep{display:none;}
  .digit-slot{height:1em;}
}
@media(max-width:480px){
  .speakers-grid{grid-template-columns:1fr 1fr;}
  .about-stats{grid-template-columns:repeat(2,1fr);}
  .hero-br {display:none;}
  .hero-title {
    font-size: clamp(1.65rem, 8vw, 2.2rem);
  }
}


/* Accesibilidad */
a,button,.agenda-tab,.speaker-card,.pricing-card,.btn-primary,.btn-gold,.btn-ghost,[role="button"],[tabindex="0"]{cursor:pointer;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;}
.speaker-card{user-select:none;}

/* ============================================================
   MEJORAS ANIMACIÓN — Motion spring + 21st.dev patterns
   ============================================================ */

/* ── Shimmer animado en spans de títulos de sección ── */
@keyframes text-shimmer {
  0%   { background-position:   0% center; }
  100% { background-position: 200% center; }
}
.section-title span {
  background: linear-gradient(105deg,
    var(--gold-dk) 20%,
    var(--gold-lt) 42%,
    #fffbef        50%,
    var(--gold)    58%,
    var(--gold-dk) 80%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: text-shimmer 7s linear infinite;
}
.hero-title .highlight {
  background: linear-gradient(105deg,
    var(--gold-dk) 20%,
    var(--gold-lt) 42%,
    #fffbef        50%,
    var(--gold)    58%,
    var(--gold-dk) 80%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: text-shimmer 5s linear infinite;
}

/* ── Section badge: ping de atención sutil ── */
.section-badge { position: relative; }
.section-badge::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 100px;
  border: 1px solid rgba(212,168,83,0.42);
  animation: badge-ping 3.4s ease-out infinite;
  pointer-events: none;
}
@keyframes badge-ping {
  0%   { transform: scale(1);    opacity: 0.70; }
  65%  { transform: scale(1.30); opacity: 0; }
  100% { transform: scale(1.30); opacity: 0; }
}

/* ── CTA: glow pulsante al activarse clase .glowing ── */
@keyframes cta-glow-pulse {
  0%, 100% { box-shadow: 0 0 60px rgba(212,168,83,0.08), var(--sh-dark); }
  50%       { box-shadow: 0 0 140px rgba(212,168,83,0.24), var(--sh-dark); }
}
.cta-inner.glowing { animation: cta-glow-pulse 3s ease-in-out infinite; }

/* ── Hero rings: glow extra en los bordes ── */
.hero-ring:nth-child(1) {
  border-color: rgba(212,168,83,0.14);
  box-shadow: 0 0 18px rgba(212,168,83,0.05);
}

/* ── Hero: burst de luz espiritual al cargar (one-shot) ── */
@keyframes burst-expand {
  0%   { transform: translate(-50%,-50%) scale(0.15); opacity: 0; }
  20%  { opacity: 1; }
  100% { transform: translate(-50%,-50%) scale(1);    opacity: 0; }
}
.hero-burst {
  position: absolute;
  left: 50%; top: 44%;
  width: 1px; height: 1px;
  pointer-events: none; z-index: 2;
}
.hero-burst::before,
.hero-burst::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  transform: translate(-50%,-50%) scale(0.15);
  opacity: 0;
}
.hero-burst::before {
  width: 560px; height: 400px;
  background: radial-gradient(ellipse, rgba(212,168,83,0.22) 0%, rgba(212,168,83,0.05) 45%, transparent 70%);
  animation: burst-expand 2.8s cubic-bezier(.22,1,.36,1) 0.5s both;
}
.hero-burst::after {
  width: 900px; height: 500px;
  background: radial-gradient(ellipse, rgba(212,168,83,0.10) 0%, transparent 65%);
  animation: burst-expand 4.0s cubic-bezier(.22,1,.36,1) 0.9s both;
}
body.light-theme .hero-burst::before {
  background: radial-gradient(ellipse, rgba(212,168,83,0.42) 0%, rgba(212,148,60,0.12) 45%, transparent 70%);
}
body.light-theme .hero-burst::after {
  background: radial-gradient(ellipse, rgba(212,168,83,0.20) 0%, transparent 65%);
}

/* ── Speaker card: tilt 3D via CSS vars (actualizado por JS) ── */
.speaker-card {
  will-change: transform;
  transform: perspective(800px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(var(--lift, 0px));
  transition: transform 0.16s ease-out, border-color var(--t), box-shadow var(--t);
}
/* Hover sin JS: mantiene el lift CSS clásico; JS lo sobreescribe con --lift */
.speaker-card:hover {
  --lift: -6px;
  transform: perspective(800px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(var(--lift));
}

/* Glow dorado en borde superior al hacer hover */
.speaker-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(212,168,83,0.16) 0%, transparent 100%);
  border-radius: var(--r) var(--r) 0 0;
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
  z-index: 4;
}
.speaker-card:hover::after { opacity: 1; }

/* ── Botón hero: ring pulse para llamar a la acción ── */
@keyframes btn-ring-pulse {
  0%   { box-shadow: var(--sh-gold), 0 0 0  0   rgba(212,168,83,0.42); }
  70%  { box-shadow: var(--sh-gold), 0 0 0 14px rgba(212,168,83,0); }
  100% { box-shadow: var(--sh-gold), 0 0 0  0   rgba(212,168,83,0); }
}
.hero-btns .btn-gold { animation: btn-ring-pulse 2.6s ease-out infinite; }
.hero-btns .btn-gold:hover { animation: none; transform: translateY(-3px); }

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
}

/* ============================================================
   MEJORAS MODERNAS V2 — Aurora · Grain · Cursor · Efectos
   ============================================================ */

/* ── Textura de grano cinematográfico ── */
.grain-overlay {
  position: fixed; inset: 0; z-index: 9990;
  pointer-events: none;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.90' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
  mix-blend-mode: overlay;
}
body.light-theme .grain-overlay { opacity: 0.018; mix-blend-mode: multiply; }

/* ── Hero: Aurora — siempre visible por encima del overlay ── */
.hero-aurora {
  position: absolute !important; inset: 0; z-index: 2 !important;
  pointer-events: none; overflow: hidden;
}
.hero-aurora-orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); will-change: transform;
  mix-blend-mode: screen;
}
.hero-aurora-orb:nth-child(1) {
  width: 900px; height: 700px;
  background: radial-gradient(ellipse, rgba(79,70,229,0.70) 0%, rgba(124,58,237,0.25) 45%, transparent 68%);
  top: -28%; left: -18%;
  animation: orb-a 20s ease-in-out infinite;
}
.hero-aurora-orb:nth-child(2) {
  width: 750px; height: 600px;
  background: radial-gradient(ellipse, rgba(212,168,83,0.55) 0%, rgba(200,120,40,0.15) 45%, transparent 68%);
  top: 10%; right: -20%;
  animation: orb-b 25s ease-in-out infinite;
}
.hero-aurora-orb:nth-child(3) {
  width: 580px; height: 480px;
  background: radial-gradient(ellipse, rgba(124,58,237,0.60) 0%, rgba(167,139,250,0.18) 45%, transparent 68%);
  bottom: -5%; left: 25%;
  animation: orb-c 17s ease-in-out infinite;
}
/* Tema claro: aurora cálida con multiply */
body.light-theme .hero-aurora-orb { mix-blend-mode: multiply; }
body.light-theme .hero-aurora-orb:nth-child(1) {
  background: radial-gradient(ellipse, rgba(212,148,40,0.30) 0%, transparent 68%);
}
body.light-theme .hero-aurora-orb:nth-child(2) {
  background: radial-gradient(ellipse, rgba(200,120,40,0.22) 0%, transparent 68%);
}
body.light-theme .hero-aurora-orb:nth-child(3) {
  background: radial-gradient(ellipse, rgba(212,168,83,0.28) 0%, transparent 68%);
}
@keyframes orb-a {
  0%,100%{ transform:translate(0,0) scale(1); }
  35%    { transform:translate(90px,70px) scale(1.14); }
  65%    { transform:translate(-55px,95px) scale(0.88); }
}
@keyframes orb-b {
  0%,100%{ transform:translate(0,0) scale(1.06); }
  42%    { transform:translate(-75px,-95px) scale(0.91); }
  72%    { transform:translate(55px,60px) scale(1.12); }
}
@keyframes orb-c {
  0%,100%{ transform:translate(0,0) scale(1); }
  52%    { transform:translate(-95px,-70px) scale(1.22); }
}

/* ── Cursor Glow ── */
#cursor-glow {
  position: fixed;
  top: 0; left: 0;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(212,168,83,0.12) 0%,
    rgba(79,70,229,0.08) 38%,
    transparent 68%);
  pointer-events: none;
  z-index: 9989;
  will-change: transform;
  filter: blur(2px);
  opacity: 0;
  transition: opacity .38s ease;
}
body.light-theme #cursor-glow {
  background: radial-gradient(circle, rgba(212,168,83,0.18) 0%, rgba(138,100,32,0.06) 40%, transparent 68%);
}

/* ── Divisor de sección: se dibuja de izquierda a derecha ── */
.reveal-draw {
  opacity: 0;
  transform-origin: left;
  transform: scaleX(0);
  transition: opacity .50s ease, transform .88s var(--ease-o);
}
.reveal-draw.revealed { opacity: 1; transform: scaleX(1); }

/* ── Timeline dot: pulso intenso ── */
@keyframes dot-glow {
  0%,100% { box-shadow: 0 0 0 4px rgba(212,168,83,0.14), 0 0 20px rgba(212,168,83,0.50); }
  50%      { box-shadow: 0 0 0 10px rgba(212,168,83,0.06), 0 0 44px rgba(212,168,83,0.85); }
}
.timeline-dot { animation: dot-glow 2.2s ease-in-out infinite; }

/* ── Stats: glow de color por item ── */
.about-stats .stat-item:nth-child(1):hover { box-shadow: 0 0 48px rgba(212,168,83,0.22), var(--sh-card); }
.about-stats .stat-item:nth-child(2):hover { box-shadow: 0 0 48px rgba(129,140,248,0.22), var(--sh-card); }
.about-stats .stat-item:nth-child(3):hover { box-shadow: 0 0 48px rgba(240,201,106,0.22), var(--sh-card); }

/* ── Countdown: scan line holográfica ── */
.countdown-unit { position: relative; overflow: hidden; }
.countdown-unit::after {
  content: '';
  position: absolute; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,168,83,0.65), transparent);
  animation: cd-scan 3.0s linear infinite;
  pointer-events: none;
}
@keyframes cd-scan {
  0%   { top: -2px; opacity: 1; }
  80%  { top: 100%; opacity: 0.3; }
  100% { top: 100%; opacity: 0; }
}

/* ── Hero rings: glow visible ── */
.hero-ring:nth-child(1) {
  border-color: rgba(212,168,83,0.18);
  box-shadow: 0 0 28px rgba(212,168,83,0.10), inset 0 0 28px rgba(212,168,83,0.06);
}
.hero-ring:nth-child(2) {
  box-shadow: 0 0 18px rgba(79,70,229,0.07), inset 0 0 18px rgba(79,70,229,0.04);
}

/* ── Pricing featured: respira con glow ── */
@keyframes featured-glow {
  0%,100% { box-shadow: 0 0 50px rgba(212,168,83,0.10), var(--sh-card); }
  50%      { box-shadow: 0 0 110px rgba(212,168,83,0.28), 0 0 32px rgba(212,168,83,0.12), var(--sh-card); }
}
.pricing-card.featured { animation: featured-glow 3.6s ease-in-out infinite; }
.pricing-card.featured:hover { animation: none; }

/* ── Speaker card: scan holográfico en hover ── */
.speaker-card { overflow: hidden; }
.speaker-card::before {
  content: '';
  position: absolute; top: -100%; left: -60%;
  width: 60%; height: 300%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,0.04) 45%,
    rgba(212,168,83,0.12) 50%,
    rgba(255,255,255,0.04) 55%,
    transparent 100%
  );
  transform: skewX(-15deg);
  transition: left 0.6s ease, top 0.6s ease;
  pointer-events: none; z-index: 5;
}
.speaker-card:hover::before {
  left: 120%;
}

/* ── Botones: shimmer de luz al hover ── */
.btn-gold::after, .btn-primary::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,0.18) 50%, transparent 65%);
  transform: translateX(-100%);
  transition: transform 0.55s ease;
}
.btn-gold:hover::after, .btn-primary:hover::after { transform: translateX(100%); }

/* ── Section title: aparece con glow al revelar ── */
@keyframes title-glow-once {
  0%   { text-shadow: 0 0 60px rgba(212,168,83,0.60), 0 4px 32px rgba(0,0,0,0.60); }
  100% { text-shadow: 0 4px 32px rgba(0,0,0,0.60); }
}
.section-title.revealed {
  animation: title-glow-once 1.8s ease-out 0.2s both;
}

/* ── Número decorativo de sección ── */
.section-num {
  font-family: 'Cinzel', serif;
  font-size: clamp(6rem, 14vw, 11rem);
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(212,168,83,0.08);
  position: absolute;
  top: 40px; right: -10px;
  user-select: none; pointer-events: none;
  letter-spacing: -.02em;
  transition: opacity 1.2s ease;
}
body.light-theme .section-num {
  -webkit-text-stroke: 1px rgba(138,100,32,0.10);
}

/* ── CTA: fondo con gradient animado ── */
@keyframes cta-bg-shift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
.cta-inner {
  background-size: 200% 200% !important;
  animation: cta-bg-shift 8s ease infinite, cta-glow-pulse 3s ease-in-out infinite !important;
}
.cta-inner.glowing { animation: cta-bg-shift 8s ease infinite, cta-glow-pulse 3s ease-in-out infinite !important; }

/* ============================================================
   EFECTOS MÍSTICOS / SAGRADOS — Luz · Incienso · Halos
   ============================================================ */

/* ── Rayos de luz sagrada en el hero ── */
.hero-rays {
  position: absolute; inset: 0; z-index: 2;
  pointer-events: none;
  transform-origin: 50% 42%;
  background: conic-gradient(
    from 270deg at 50% 42%,
    transparent 0deg,
    rgba(212,168,83,0.055) 6deg, transparent 14deg,
    transparent 55deg,
    rgba(212,168,83,0.065) 61deg, transparent 69deg,
    transparent 118deg,
    rgba(212,168,83,0.040) 124deg, transparent 132deg,
    transparent 185deg,
    rgba(212,168,83,0.060) 191deg, transparent 199deg,
    transparent 248deg,
    rgba(212,168,83,0.035) 254deg, transparent 262deg,
    transparent 310deg,
    rgba(212,168,83,0.050) 316deg, transparent 324deg,
    transparent 360deg
  );
  animation: rays-rotate 90s linear infinite;
  opacity: 0.9;
}
body.light-theme .hero-rays { opacity: 0.45; }
@keyframes rays-rotate { to { transform: rotate(360deg); } }

/* ── Resplandor sagrado en números del countdown ── */
@keyframes sacred-num-pulse {
  0%,100% { text-shadow: none; }
  50%      { text-shadow: 0 0 22px rgba(212,168,83,0.55), 0 0 44px rgba(212,168,83,0.22); }
}
.countdown-num { animation: sacred-num-pulse 4.5s ease-in-out infinite; }

/* ── Divisor dorado entre secciones ── */
section + section { border-top: 1px solid rgba(212,168,83,0.06); }
body.light-theme section + section { border-top: 1px solid rgba(138,100,32,0.08); }

/* ── Color de selección de texto ── */
::selection { background: rgba(212,168,83,0.30); color: var(--text); }

/* ── Partícula delgada: incienso ── */
.star.incense {
  border-radius: 2px !important;
  width: 1px !important;
}

/* ── Halos dorados en íconos de features y venue ── */
@keyframes icon-halo {
  0%,100% { box-shadow: 0 0 0 0 rgba(212,168,83,0), var(--sh-card); }
  60%      { box-shadow: 0 0 0 8px rgba(212,168,83,0), var(--sh-card); }
}
.feature-item:hover .feature-icon,
.venue-info-item:hover .venue-info-icon {
  box-shadow: 0 0 22px rgba(212,168,83,0.55);
  animation: icon-halo 0.65s ease-out;
}

/* ── Halo pulsante en logo del hero ── */
@keyframes logo-sacred {
  0%,100%{ box-shadow:0 0 0 8px rgba(212,168,83,0.06),0 0 0 22px rgba(212,168,83,0.02),0 0 50px rgba(212,168,83,0.22); }
  50%    { box-shadow:0 0 0 16px rgba(212,168,83,0.11),0 0 0 42px rgba(212,168,83,0.04),0 0 90px rgba(212,168,83,0.40); }
}
.hero-logo-placeholder { animation: logo-sacred 4s ease-in-out infinite !important; }

/* ── Borde superior dorado en tarjetas al hover ── */
.timeline-content:hover  { border-top: 2px solid var(--gold) !important; }
.pricing-card:hover:not(.featured) { border-top: 2px solid var(--gold) !important; }

/* ── Speaker card: glow dorado en todo el borde al hover ── */
.speaker-card:hover {
  border-color: var(--border-gold) !important;
  box-shadow: 0 0 0 1px rgba(212,168,83,0.22), 0 20px 60px rgba(212,168,83,0.25), var(--sh-card) !important;
}

/* ── Hero lema: resplandor sutil en cursiva ── */
.hero-lema {
  text-shadow: 0 0 30px rgba(212,168,83,0.12), 0 2px 12px rgba(0,0,0,0.50);
}

/* ── Punto luminoso en el hero badge ── */
.hero-badge::before {
  content: '✦';
  font-size: 0.55rem;
  margin-right: 6px;
  color: var(--gold-lt);
  animation: star-twinkle 2s ease-in-out infinite;
}
@keyframes star-twinkle {
  0%,100% { opacity:1; transform: scale(1) rotate(0deg); }
  50%      { opacity:0.3; transform: scale(0.6) rotate(45deg); }
}

/* ── Línea de progreso: gradiente más sagrado ── */
#scroll-progress {
  background: linear-gradient(90deg,
    var(--indigo-dk),
    var(--indigo),
    var(--gold-dk),
    var(--gold),
    var(--gold-lt)
  ) !important;
  height: 2px;
}

/* ── Sección Agenda: timeline line visible ── */
.timeline-fill {
  position: absolute; left: 50%; top: 0; bottom: 0;
  width: 2px; transform: scaleY(0); transform-origin: top;
  background: linear-gradient(180deg,
    transparent,
    rgba(212,168,83,0.60) 8%,
    var(--gold) 50%,
    rgba(212,168,83,0.60) 92%,
    transparent
  );
  margin-left: -1px;
}
@media(max-width:1024px){ .timeline-fill{ left:20px; } }

/* ── Footer: borde superior con brillo sagrado ── */
#footer { border-top: 1px solid rgba(212,168,83,0.12) !important; }
body.light-theme #footer { border-top: 1px solid rgba(138,100,32,0.12) !important; }

/* ── Mejoras responsive para efectos ── */
@media(max-width:768px) {
  .hero-rays { opacity: 0.5; }
  .hero-aurora-orb:nth-child(1) { width: 400px; height: 320px; }
  .hero-aurora-orb:nth-child(2) { width: 360px; height: 280px; }
  .hero-aurora-orb:nth-child(3) { width: 280px; height: 220px; }
  .section-num { font-size: 5rem; right: -5px; }
}

/* ── Modal Afiche ── */
.afiche-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.afiche-modal:not([hidden]) { pointer-events: all; }
.afiche-modal.is-open { opacity: 1; }

.afiche-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4,2,14,0.92);
  backdrop-filter: blur(14px);
}
.afiche-modal-box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  transform: scale(0.90) translateY(24px);
  transition: transform 0.40s cubic-bezier(0.34,1.46,0.64,1);
}
.afiche-modal.is-open .afiche-modal-box { transform: scale(1) translateY(0); }

.afiche-modal-img {
  height: calc(90vh - 90px);
  max-height: calc(90vh - 90px);
  width: auto;
  max-width: 92vw;
  display: block;
  border-radius: 12px;
  box-shadow: 0 32px 80px rgba(0,0,0,0.75), 0 0 60px rgba(201,168,76,0.15);
  object-fit: contain;
}
.afiche-modal-close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--gold);
  border: none;
  color: #09090f;
  font-size: .95rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s var(--ease-o);
  z-index: 2;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.afiche-modal-close:hover {
  background: var(--gold-lt);
  transform: scale(1.12) rotate(90deg);
  box-shadow: 0 0 20px var(--gold-glow);
}
.afiche-modal-dl { width: 100%; justify-content: center; }

/* ── Botones de Afiche (Ver / Descargar) ── */
.afiche-actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  justify-content: center;
}
.btn-afiche {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Inter', sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 9px 20px;
  border-radius: 100px;
  border: 1.5px solid transparent;
  text-decoration: none;
  transition: all .30s var(--ease-o);
  cursor: pointer;
}
.btn-afiche-view {
  background: rgba(212,168,83,0.10);
  border-color: rgba(212,168,83,0.38);
  color: var(--gold);
}
.btn-afiche-view:hover {
  background: rgba(212,168,83,0.18);
  border-color: var(--gold);
  box-shadow: 0 0 18px rgba(212,168,83,0.22);
  transform: translateY(-2px);
}
.btn-afiche-dl {
  background: var(--gold);
  border-color: var(--gold);
  color: #0a0718;
}
.btn-afiche-dl:hover {
  background: var(--gold-lt);
  border-color: var(--gold-lt);
  box-shadow: 0 0 22px var(--gold-glow);
  transform: translateY(-2px);
}
body.light-theme .btn-afiche-view {
  color: var(--gold-dk);
  border-color: rgba(138,100,32,0.35);
  background: rgba(138,100,32,0.07);
}
body.light-theme .btn-afiche-view:hover {
  background: rgba(138,100,32,0.13);
  border-color: var(--gold-dk);
}

/* ── Indicadores de sección (puntos laterales) ── */
.slide-dots {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1500;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 6px;
}
.slide-dot {
  position: relative;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(212,168,83,0.18);
  border: 1.5px solid rgba(212,168,83,0.40);
  cursor: pointer;
  transition: all 0.40s var(--ease-o);
  padding: 0;
}
.slide-dot::after {
  content: attr(data-label);
  position: absolute;
  right: calc(100% + 12px);
  top: 50%; transform: translateY(-50%);
  white-space: nowrap;
  font-family: 'Inter', sans-serif;
  font-size: 0.66rem; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--text-2);
  background: rgba(9,9,15,0.88);
  backdrop-filter: blur(10px);
  padding: 5px 12px;
  border-radius: 6px;
  border: 1px solid var(--border);
  opacity: 0; pointer-events: none;
  transition: opacity 0.22s ease;
}
.slide-dot:hover::after { opacity: 1; }
.slide-dot.active {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 12px var(--gold-glow), 0 0 4px var(--gold);
  transform: scale(1.65);
}
.slide-dot:hover:not(.active) {
  background: rgba(212,168,83,0.40);
  transform: scale(1.3);
}
body.light-theme .slide-dot {
  background: rgba(138,100,32,0.12);
  border-color: rgba(138,100,32,0.38);
}
body.light-theme .slide-dot.active {
  background: var(--gold-dk);
  border-color: var(--gold-dk);
  box-shadow: 0 0 10px rgba(138,100,32,0.35);
}
body.light-theme .slide-dot::after {
  background: rgba(250,248,245,0.94);
  color: var(--text-2);
  border-color: rgba(138,100,32,0.14);
}

/* ── Móvil: scroll vertical normal ── */
@media(max-width:768px) {
  body { overflow: auto !important; height: auto !important; }
  #slides-track {
    display: block !important;
    transform: none !important;
    transition: none !important;
    height: auto !important;
  }
  #slides-track > section,
  #slides-track > footer {
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
    display: block !important;
    padding-top: calc(var(--nav-h) + 36px) !important;
    padding-bottom: 60px !important;
  }
  #slides-track > footer { min-height: unset !important; }
  .slide-dots { display: none !important; }
}

/* ═══════════════════════════════════════════════════════
   MODAL DE INSCRIPCIÓN — WIZARD
   Siempre usa paleta oscura aunque el sitio esté en modo claro
═══════════════════════════════════════════════════════ */
/* Forzar variables oscuras dentro del modal independientemente del tema */
.reg-overlay,
body.light-theme .reg-overlay {
  --text:   #EDE8F8;
  --text-2: #A89EC0;
  --gold:   #C9A84C;
  --gold-dk:#8A6A1F;
  --gold-lt:#E8C96D;
  --gold-g: rgba(201,168,76,.1);
  --border: rgba(255,255,255,.1);
}
.reg-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(4,2,14,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;visibility:hidden;
  transition:opacity .3s,visibility .3s;
}
.reg-overlay.open{opacity:1;visibility:visible;}

.reg-box{
  width:100%;max-width:700px;max-height:93vh;
  display:flex;flex-direction:column;
  background:linear-gradient(160deg,rgba(18,13,40,.99),rgba(10,7,24,.99));
  border:1px solid rgba(201,168,76,.22);
  border-radius:22px;
  box-shadow:0 40px 100px rgba(0,0,0,.85),0 0 0 1px rgba(201,168,76,.06) inset;
  overflow:hidden;
  transform:scale(.95) translateY(20px);
  transition:transform .38s cubic-bezier(.34,1.4,.64,1);
}
.reg-overlay.open .reg-box{transform:scale(1) translateY(0);}

/* ── Header / Steps ── */
.reg-header{
  padding:1.4rem 1.5rem 1.1rem;
  background:rgba(201,168,76,.04);
  border-bottom:1px solid rgba(201,168,76,.1);
  display:flex;align-items:center;gap:.75rem;flex-shrink:0;
}
.reg-close{
  margin-left:auto;flex-shrink:0;
  background:none;border:none;color:var(--text-2);
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;cursor:pointer;
  transition:background var(--t),color var(--t);
}
.reg-close:hover{background:rgba(255,255,255,.08);color:var(--text);}

.reg-steps{display:flex;align-items:center;flex:1;gap:0;}
.reg-step-wrap{display:flex;align-items:center;position:relative;}
.reg-step-wrap:not(:last-child){flex:1;}
.reg-step-dot{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.05);
  border:2px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;color:var(--text-2);
  transition:all .3s ease;
  position:relative;z-index:1;
}
.reg-step-line{
  flex:1;height:2px;background:rgba(255,255,255,.08);
  margin:0 4px;transition:background .4s;
}
.reg-step-wrap.done .reg-step-dot{
  background:rgba(201,168,76,.18);border-color:var(--gold);color:var(--gold);
}
.reg-step-wrap.done + .reg-step-line,
.reg-step-line.done{background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35));}
.reg-step-wrap.active .reg-step-dot{
  background:var(--gold);border-color:var(--gold);color:#09060f;
  box-shadow:0 0 18px rgba(201,168,76,.5);
}
.reg-step-label{
  position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);
  font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  font-family:'Inter',sans-serif;white-space:nowrap;color:var(--text-2);
  pointer-events:none;display:none;
}
@media(min-width:460px){.reg-step-label{display:block;}}
.reg-step-wrap.active .reg-step-label{color:var(--gold);}

/* ── Body ── */
.reg-body{
  flex:1;overflow-y:auto;padding:1.8rem 1.75rem;
  scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.25) transparent;
}
.reg-body::-webkit-scrollbar{width:4px;}
.reg-body::-webkit-scrollbar-thumb{background:rgba(201,168,76,.25);border-radius:2px;}

.reg-panel{display:none;animation:reg-fade-in .25s ease;}
.reg-panel.active{display:block;}
@keyframes reg-fade-in{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:none;}}

.reg-panel-title{
  font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;
  color:var(--text);margin-bottom:.2rem;
}
.reg-panel-sub{color:var(--text-2);font-size:.86rem;margin-bottom:1.6rem;font-family:'Inter',sans-serif;}

/* ── Form fields ── */
.reg-field{margin-bottom:1rem;}
.reg-field label, .reg-field > span.reg-label{
  display:block;font-size:.76rem;font-weight:600;letter-spacing:.02em;
  color:var(--text-2);margin-bottom:.42rem;font-family:'Inter',sans-serif;
}
.reg-field input[type=text],
.reg-field input[type=email],
.reg-field input[type=tel],
.reg-field select{
  width:100%;padding:11px 13px;
  background:rgba(255,255,255,.04);
  border:1.5px solid rgba(255,255,255,.1);
  border-radius:10px;color:var(--text);
  font-size:.88rem;font-family:'Inter',sans-serif;
  transition:border-color .2s,box-shadow .2s;
  appearance:none;-webkit-appearance:none;
}
.reg-field input:focus,.reg-field select:focus{
  outline:none;border-color:rgba(201,168,76,.55);
  box-shadow:0 0 0 3px rgba(201,168,76,.12);
}
.reg-field input.error,.reg-field select.error{
  border-color:rgba(239,68,68,.5);
  box-shadow:0 0 0 3px rgba(239,68,68,.1);
}
.reg-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A89EC0' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;
}
.reg-field-hint{font-size:.73rem;color:var(--text-2);margin-top:.32rem;display:block;font-family:'Inter',sans-serif;}
.reg-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
@media(max-width:500px){.reg-field-row{grid-template-columns:1fr;}}

.reg-divider-label{
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin:1.6rem 0 1rem;
  display:flex;align-items:center;gap:.6rem;font-family:'Inter',sans-serif;
}
.reg-divider-label::after{content:'';flex:1;height:1px;background:rgba(201,168,76,.2);}

.reg-checkbox-label{
  display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;
  font-size:.81rem;color:var(--text-2);font-family:'Inter',sans-serif;line-height:1.55;
}
.reg-checkbox-label input[type=checkbox]{
  width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:var(--gold);cursor:pointer;
}

/* ── Plan selection ── */
.reg-plan-cards{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.5rem;}
@media(max-width:480px){.reg-plan-cards{grid-template-columns:1fr;}}

.reg-plan-card{cursor:pointer;position:relative;}
.reg-plan-card input[type=radio]{position:absolute;opacity:0;width:0;height:0;}
.reg-plan-inner{
  padding:1.2rem;border-radius:14px;height:100%;
  border:2px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03);
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.reg-plan-card.featured .reg-plan-inner{border-color:rgba(201,168,76,.28);}
.reg-plan-card input:checked ~ .reg-plan-inner{
  border-color:var(--gold);background:rgba(201,168,76,.07);
  box-shadow:0 0 28px rgba(201,168,76,.18);
}
.reg-plan-ribbon{
  position:absolute;top:-1px;right:14px;
  font-size:.61rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gold);color:#09060f;
  padding:3px 10px;border-radius:0 0 8px 8px;font-family:'Inter',sans-serif;
}
.reg-plan-name{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-family:'Inter',sans-serif;margin-bottom:.18rem;}
.reg-plan-subtitle{font-size:.92rem;font-weight:600;color:var(--text);font-family:'Inter',sans-serif;margin-bottom:.75rem;}
.reg-plan-prices{
  display:flex;gap:.4rem;background:rgba(255,255,255,.04);
  border-radius:8px;padding:.55rem;margin-bottom:.75rem;
}
.reg-plan-price-item{flex:1;text-align:center;font-family:'Inter',sans-serif;}
.reg-plan-price-item span{display:block;font-size:.66rem;color:var(--text-2);margin-bottom:2px;}
.reg-plan-price-item strong{font-size:.95rem;color:var(--gold);font-weight:700;}
.reg-plan-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.38rem;}
.reg-plan-feats li{font-size:.76rem;color:var(--text-2);display:flex;align-items:center;gap:.45rem;font-family:'Inter',sans-serif;}
.reg-plan-feats li i.fa-check{color:var(--gold);}
.reg-plan-feats li.no{color:rgba(255,255,255,.28);}
.reg-plan-feats li.no i{color:rgba(255,255,255,.2);}

/* ── Payment info box ── */
.reg-payment-box{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:1.2rem;
}
.reg-payment-box-title{
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.9rem;
  display:flex;align-items:center;gap:.45rem;font-family:'Inter',sans-serif;
}
.reg-payment-methods{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.85rem;}
.reg-pay-method{display:flex;gap:.8rem;align-items:flex-start;}
.reg-pm-icon{
  width:34px;height:34px;border-radius:8px;flex-shrink:0;
  background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.18);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:.88rem;
}
.reg-pm-text strong{display:block;font-size:.8rem;color:var(--text);font-family:'Inter',sans-serif;margin-bottom:.15rem;}
.reg-pm-text span{font-size:.74rem;color:var(--text-2);line-height:1.5;}
.reg-payment-note{
  font-size:.74rem;color:var(--text-2);line-height:1.5;
  display:flex;align-items:flex-start;gap:.45rem;
  background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.14);
  border-radius:8px;padding:.6rem .85rem;margin:0;font-family:'Inter',sans-serif;
}
.reg-payment-note i{color:var(--gold);flex-shrink:0;margin-top:2px;}

/* ── Summary ── */
.reg-summary-icon{text-align:center;font-size:2.4rem;color:var(--gold);margin-bottom:.9rem;filter:drop-shadow(0 0 18px rgba(201,168,76,.4));}
.reg-summary-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;padding:1.1rem;margin-bottom:1.2rem;
}
.reg-summary-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-family:'Inter',sans-serif;
}
.reg-summary-row:last-child{border-bottom:none;}
.reg-sum-label{font-size:.74rem;color:var(--text-2);flex-shrink:0;}
.reg-sum-value{font-size:.8rem;color:var(--text);font-weight:500;text-align:right;}
.reg-sum-value.highlight{color:var(--gold);font-weight:700;}

.reg-pay-reminder{
  display:flex;gap:.8rem;align-items:flex-start;
  background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.2);
  border-radius:12px;padding:.95rem 1.2rem;font-family:'Inter',sans-serif;
}
.reg-pay-reminder i{color:var(--gold);font-size:1.15rem;flex-shrink:0;margin-top:2px;}
.reg-pay-reminder strong{display:block;color:var(--text);font-size:.83rem;margin-bottom:.3rem;}
.reg-pay-reminder p{font-size:.76rem;color:var(--text-2);line-height:1.6;margin:0;}
.reg-pay-reminder em{color:var(--gold);font-style:normal;}

/* ── Footer nav ── */
.reg-footer{
  padding:.9rem 1.75rem 1.1rem;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;background:rgba(4,2,14,.25);
}
.reg-step-counter{font-size:.74rem;color:var(--text-2);font-family:'Inter',sans-serif;font-weight:600;}

/* ── Error message ── */
.reg-error-msg{
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.28);
  border-radius:8px;padding:.6rem 1rem;
  font-size:.78rem;color:#fca5a5;font-family:'Inter',sans-serif;
  margin-top:.75rem;display:none;
}
.reg-error-msg.show{display:block;}

/* ── Sending state ── */
.reg-sending{
  display:none;flex-direction:column;align-items:center;gap:1.25rem;
  padding:3.5rem 2rem;text-align:center;
}
.reg-spinner{
  width:46px;height:46px;border:3px solid rgba(201,168,76,.18);
  border-top-color:var(--gold);border-radius:50%;
  animation:reg-spin .8s linear infinite;
}
@keyframes reg-spin{to{transform:rotate(360deg);}}
.reg-sending p{font-size:.86rem;color:var(--text-2);font-family:'Inter',sans-serif;}

/* ── Success ── */
.reg-success{
  display:none;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:3rem 2rem;
}
.reg-success-icon{
  font-size:3.8rem;color:var(--gold);margin-bottom:1.4rem;
  filter:drop-shadow(0 0 28px rgba(201,168,76,.5));
  animation:pulse-gold 2s ease infinite;
}
.reg-success h3{
  font-family:'Cormorant Garamond',serif;font-size:1.75rem;color:var(--text);margin-bottom:.7rem;
}
.reg-success p{font-size:.86rem;color:var(--text-2);line-height:1.65;max-width:400px;}
.reg-success p strong{color:var(--text);}

/* ── TomSelect — control (dentro del modal, colores fijos) ── */
.reg-body .ts-wrapper .ts-control{
  background:rgba(255,255,255,.04)!important;
  border:1.5px solid rgba(255,255,255,.1)!important;
  border-radius:10px!important;
  color:#EDE8F8!important;
  padding:10px 13px!important;box-shadow:none!important;min-height:44px;cursor:pointer;
}
.reg-body .ts-wrapper.focus .ts-control,
.reg-body .ts-wrapper.dropdown-active .ts-control{
  border-color:rgba(201,168,76,.55)!important;
  box-shadow:0 0 0 3px rgba(201,168,76,.12)!important;
}
.reg-body .ts-wrapper .ts-control input{
  color:#EDE8F8!important;font-family:'Inter',sans-serif!important;font-size:.88rem!important;
}
.reg-body .ts-wrapper .ts-control .item{color:#EDE8F8!important;font-family:'Inter',sans-serif;}
.reg-body .ts-wrapper.single.input-active .ts-control{background:rgba(255,255,255,.04)!important;}

/* ── TomSelect — dropdown (appendado a body con clase custom) ── */
.reg-ts-dropdown{
  background:#0d0920!important;
  border:1px solid rgba(201,168,76,.28)!important;
  border-radius:12px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.85),0 0 0 1px rgba(201,168,76,.08) inset!important;
  z-index:9999!important;
  margin-top:5px!important;
  overflow:hidden;
}
.reg-ts-dropdown .ts-dropdown-content{
  max-height:220px;
  scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.3) transparent;
}
.reg-ts-dropdown .ts-dropdown-content::-webkit-scrollbar{width:4px;}
.reg-ts-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb{background:rgba(201,168,76,.3);border-radius:2px;}
.reg-ts-dropdown .option{
  color:#EDE8F8!important;
  background:transparent!important;
  padding:9px 14px!important;
  font-family:'Inter',sans-serif!important;
  font-size:.86rem!important;
}
.reg-ts-dropdown .option.active,
.reg-ts-dropdown .option:hover{
  background:rgba(201,168,76,.16)!important;
  color:#E8C96D!important;
}
.reg-ts-dropdown .no-results{
  color:#A89EC0!important;font-family:'Inter',sans-serif;
  padding:10px 14px!important;font-size:.84rem!important;
}

/* body overflow cuando modal abierto */
body.reg-open{overflow:hidden;}

/* ═══════════════════════════════════════════════════════
   AVISO: CUPO LLENO — Modal automático al ingresar
   Siempre usa paleta oscura aunque el sitio esté en modo claro
═══════════════════════════════════════════════════════ */
.aviso-overlay,
body.light-theme .aviso-overlay{
  --text:   #EDE8F8;
  --text-2: #A89EC0;
  --gold:   #C9A84C;
  --gold-dk:#8A6A1F;
  --gold-lt:#E8C96D;
}
.aviso-overlay{
  position:fixed;inset:0;z-index:9500;
  background:rgba(4,2,14,.92);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem;
  opacity:0;visibility:hidden;
  transition:opacity .35s,visibility .35s;
}
.aviso-overlay.open{opacity:1;visibility:visible;}

.aviso-box{
  position:relative;
  width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
  text-align:center;
  padding:3rem 2.2rem 2.4rem;
  background:linear-gradient(160deg,rgba(18,13,40,.99),rgba(10,7,24,.99));
  border:1px solid rgba(201,168,76,.28);
  border-radius:22px;
  box-shadow:0 40px 100px rgba(0,0,0,.85),0 0 60px rgba(201,168,76,.08),0 0 0 1px rgba(201,168,76,.06) inset;
  transform:scale(.94) translateY(20px);
  transition:transform .4s cubic-bezier(.34,1.4,.64,1);
}
.aviso-overlay.open .aviso-box{transform:scale(1) translateY(0);}

.aviso-close{
  position:absolute;top:14px;right:14px;
  background:none;border:none;color:var(--text-2);
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;cursor:pointer;
  transition:background var(--t),color var(--t);
}
.aviso-close:hover{background:rgba(255,255,255,.08);color:var(--text);}

.aviso-icon{
  font-size:2.6rem;color:var(--gold);margin:0 auto 1.1rem;
  width:74px;height:74px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,rgba(201,168,76,.16),transparent 70%);
  filter:drop-shadow(0 0 22px rgba(201,168,76,.55));
  animation:aviso-glow-pulse 2.4s ease-in-out infinite;
}
@keyframes aviso-glow-pulse{
  0%,100%{filter:drop-shadow(0 0 16px rgba(201,168,76,.4));transform:scale(1);}
  50%{filter:drop-shadow(0 0 30px rgba(201,168,76,.7));transform:scale(1.06);}
}

.aviso-title{
  font-family:'Cormorant Garamond',serif;
  font-size:1.9rem;color:var(--gold-lt);margin-bottom:1.1rem;
}
.aviso-body p{
  font-family:'Inter',sans-serif;font-size:.94rem;line-height:1.75;
  color:var(--text-2);margin-bottom:1rem;
}
.aviso-body p:last-child{margin-bottom:0;}
.aviso-body .aviso-thanks{color:var(--text);font-weight:500;}

.aviso-box .btn-gold{margin-top:1.8rem;}

body.aviso-open{overflow:hidden;}

@media (max-width:560px){
  .aviso-box{padding:2.6rem 1.4rem 2rem;}
  .aviso-title{font-size:1.6rem;}
}
