/* ===== THEME TOKENS + ATMÓSFERAS FUERTES POR PÁGINA (FestiON) ===== */

body[data-page="home"],
body[data-page="precios"] {
  --accent:#8B5CF6; --accent2:#A855F7; --acc:#8B5CF6; --acc-2:#A855F7;
  --glow:0 0 32px rgba(139,92,246,.42);
  --page-hero:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(139,92,246,.28), transparent 62%);
}
body[data-page="dj"] {
  --accent:#F59E0B; --accent2:#FB923C; --acc:#F59E0B; --acc-2:#FB923C;
  --glow:0 0 34px rgba(245,158,11,.4);
  --page-hero:radial-gradient(ellipse 90% 70% at 50% 0%, rgba(245,158,11,.28), transparent 62%), radial-gradient(ellipse 70% 60% at 50% 100%, rgba(251,146,60,.22), transparent 60%);
}
body[data-page="selfion"] {
  --accent:#FF3D9A; --accent2:#7C4DFF; --glow:0 0 40px rgba(255,61,154,.45);
  --page-hero:radial-gradient(ellipse 90% 70% at 50% 0%, rgba(124,77,255,.4), transparent 62%), radial-gradient(ellipse 60% 50% at 50% 100%, rgba(255,61,154,.3), transparent 60%);
}
body[data-page="invitaciones"] {
  --accent:#EAB308; --accent2:#F59E0B; --acc:#EAB308; --acc-2:#F59E0B;
  --glow:0 0 30px rgba(234,179,8,.38);
  --page-hero:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(234,179,8,.22), transparent 60%);
}
body[data-page="glitter"] {
  --accent:#EC4899; --accent2:#F43F5E; --acc:#EC4899; --acc-2:#F43F5E;
  --glow:0 0 34px rgba(236,72,153,.45);
  --page-hero:radial-gradient(ellipse 90% 70% at 50% 0%, rgba(236,72,153,.32), transparent 60%), radial-gradient(ellipse 60% 50% at 50% 110%, rgba(244,63,94,.28), transparent 60%);
}
body[data-page="packs"] {
  --accent:#F59E0B; --accent2:#FB923C; --acc:#F59E0B; --acc-2:#FB923C;
  --glow:0 0 34px rgba(245,158,11,.4);
  --page-hero:radial-gradient(ellipse 90% 70% at 50% 0%, rgba(245,158,11,.28), transparent 60%), radial-gradient(ellipse 60% 50% at 50% 110%, rgba(251,146,60,.22), transparent 60%);
}
body[data-page="planner"] {
  --accent:#FF2D87; --accent2:#A78BFA; --acc:#FF2D87; --acc-2:#A78BFA;
  --glow:0 0 30px rgba(255,45,135,.3);
  --page-hero:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(167,139,250,.18), transparent 60%),radial-gradient(ellipse 60% 50% at 50% 100%, rgba(255,45,135,.1), transparent 60%);
}
body[data-page="door"] {
  --accent:#EAB308; --accent2:#F59E0B; --acc:#EAB308; --acc-2:#F59E0B;
  --glow:0 0 30px rgba(234,179,8,.38);
  --page-hero:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(234,179,8,.22), transparent 60%);
}

/* Fondo base de la página entera con doble gradiente visible */
body { background:#070808; }
body[data-page] main { background:var(--page-hero), #08090a; min-height:70vh; }
body[data-page] .home-hero,
body[data-page] .hero { background:var(--page-hero), transparent; border-bottom:1px solid rgba(255,255,255,.06); }

/* ---- Botones y acentos usan el accent de la página ---- */
body[data-page] .btn-primary { background:var(--accent); color:#0a0f00; border-color:var(--accent); box-shadow:var(--glow); }
body[data-page] .btn-ghost { border-color:var(--accent); color:var(--accent); background:transparent; }
body[data-page] .btn-ghost:hover { background:color-mix(in srgb, var(--accent) 18%, transparent); color:var(--accent); }
body[data-page] .eyebrow { color:var(--accent); }
body[data-page] .fnav-cta, body[data-page] .wa-float { background:var(--accent); color:#0a0f00; }

/* ---- Tarjetas glassmorphism globales con el accent del tema ---- */
body[data-page] .svc-card, body[data-page] .benefit, body[data-page] .gcard,
body[data-page] .value-card, body[data-page] .home-testimonials .testimonial {
  background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 6%, transparent), rgba(10,10,12,.6));
  border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);
  backdrop-filter:blur(10px);
}

/* ===== DJ: misma paleta ámbar, sin luces lima/cyan de la web vieja ===== */
body[data-page="dj"]::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 40% at 18% 12%, rgba(245,158,11,.16), transparent 62%),
    radial-gradient(ellipse 46% 38% at 82% 8%, rgba(251,146,60,.12), transparent 65%);
  animation:none;
}
body[data-page="dj"] h1 { text-shadow:0 0 34px rgba(245,158,11,.28); }
body[data-page="dj"] .eq,
body[data-page="dj"] .fx { display:none !important; }

/* ===== SELFION: pantalla gigante, mensajes tipo social ===== */
body[data-page="selfion"]::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,61,154,.16) 0, transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(124,77,255,.18) 0, transparent 45%);
  background-repeat:no-repeat; }
body[data-page="selfion"] .mock { box-shadow:0 0 60px rgba(124,77,255,.25); }

/* mensaje tipo "social enter" */
.social-tag { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .9rem; border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent) 55%, transparent); background:rgba(0,0,0,.35);
  color:var(--accent); font-weight:700; font-size:.8rem; animation:socialIn .5s ease both; }
@keyframes socialIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

/* ===== GLITTER: partículas de brillo intensas ===== */
body[data-page="glitter"]::before { content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(circle at 30% 40%, rgba(255,46,199,.9) 1px, transparent 1.5px),
    radial-gradient(circle at 70% 22%, rgba(0,229,255,.9) 1px, transparent 1.5px),
    radial-gradient(circle at 50% 82%, rgba(255,255,255,.7) 1px, transparent 1.5px),
    radial-gradient(circle at 86% 60%, rgba(255,46,199,.8) 1px, transparent 1.5px),
    radial-gradient(circle at 10% 70%, rgba(0,229,255,.8) 1px, transparent 1.5px);
  background-size:110px 110px,150px 150px,190px 190px,130px 130px,170px 170px;
  animation:sparkleMove 6s ease-in-out infinite alternate;
}
@keyframes sparkleMove { from{opacity:.6;transform:translateY(0)} to{opacity:1;transform:translateY(-14px)} }

/* ===== INVITACIONES: editorial serif + mate ===== */
body[data-page="invitaciones"] h1, body[data-page="invitaciones"] .iv-hero h1,
body[data-page="invitaciones"] .section-title { font-family:"Playfair Display", Georgia, serif; letter-spacing:-.01em; font-weight:600; }

/* ===== PACK: insignia all-inclusive ===== */
body[data-page="packs"] .fl-plan-featured { border-color:var(--accent); box-shadow:0 0 0 1px rgba(255,211,107,.25), 0 24px 50px rgba(0,0,0,.45); }

@media (prefers-reduced-motion: reduce){
  body[data-page="dj"]::before, body[data-page="glitter"]::before, body[data-page="dj"] .eq i, body[data-page="selfion"]::before { animation:none; }
}