/* =========================================================
   Thème C — « Disco Paillettes » : festif, confettis, bandeau défilant.
   ========================================================= */
:root {
    --bg: #150a21;
    --bg-alt: #1d0f2d;
    --surface: #221236;
    --surface-2: #2c1844;
    --text: #f3eaff;
    --text-soft: #c4b3dc;
    --heading: #ffffff;
    --accent: #ff5fa2;
    --accent-hover: #ff7fb6;
    --on-accent: #150a21;
    --accent-2: #f5c451;
    --border: rgba(183, 156, 255, .25);
    --focus: #f5c451;

    --font-display: "Unbounded", system-ui, sans-serif;
    --font-script: "Yellowtail", cursive;
    --font-body: "DM Sans", system-ui, sans-serif;
    --display-weight: 700;
    --title-size: clamp(1.8rem, 1.2rem + 2.4vw, 2.8rem);
    --hero-size: clamp(2.2rem, 1.3rem + 4vw, 4.2rem);

    --radius: 16px;
    --radius-lg: 22px;
    --shadow: 0 14px 40px rgba(0, 0, 0, .4);
    --header-bg: rgba(21, 10, 33, .85);
}
/* Confettis en CSS */
.theme-disco .hero {
    background-image:
        radial-gradient(circle at 10% 20%, #ff5fa2 0 3px, transparent 4px),
        radial-gradient(circle at 80% 15%, #f5c451 0 4px, transparent 5px),
        radial-gradient(circle at 60% 80%, #b79cff 0 3px, transparent 4px),
        radial-gradient(circle at 30% 70%, #f5c451 0 2px, transparent 3px),
        radial-gradient(circle at 90% 60%, #ff5fa2 0 2px, transparent 3px),
        radial-gradient(ellipse 70% 60% at 70% 40%, rgba(255, 95, 162, .18), transparent 70%);
    background-size: 220px 220px, 260px 260px, 300px 300px, 180px 180px, 240px 240px, 100% 100%;
}
.theme-disco .hero-title { background: linear-gradient(90deg, #ff5fa2, #f5c451, #b79cff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.theme-disco .hero-media .frame { padding: 6px; background: linear-gradient(135deg, #ff5fa2, #f5c451, #b79cff); }
.theme-disco .hero-media .frame picture { border-radius: calc(var(--radius-lg) - 4px); }
.theme-disco .card { background: var(--surface); }
.theme-disco .package-card.is-highlighted { border: 2px solid var(--accent); box-shadow: 0 0 40px rgba(255, 95, 162, .25); }
.theme-disco .packages, .theme-disco .about { background: var(--bg-alt); }
.theme-disco .btn { font-weight: 700; }
.theme-disco .field input, .theme-disco .field select, .theme-disco .field textarea { background: var(--bg); color-scheme: dark; }
/* Bandeau défilant sous le hero */
.theme-disco .services { border-top: 1px solid var(--border); }
.theme-disco .services::before {
    content: "PHOTOBOOTH ✦ PHOTOCALL ✦ PISTE ÉTOILÉE ✦ PHOTOGRAPHIE ✦ PHOTOBOOTH ✦ PHOTOCALL ✦ PISTE ÉTOILÉE ✦ PHOTOGRAPHIE ✦ PHOTOBOOTH ✦ PHOTOCALL ✦ PISTE ÉTOILÉE ✦ PHOTOGRAPHIE ✦";
    position: absolute; top: 0; left: 0; white-space: nowrap; padding: .7rem 0;
    font: 700 .85rem/1 "Unbounded", sans-serif; letter-spacing: .1em; color: var(--accent-2);
    animation: marquee 30s linear infinite;
}
@keyframes marquee { to { transform: translateX(-50%); } }
.theme-disco .services { overflow: hidden; }
