/* ==========================================================================
   PASSPAM — THÈME SAISONNIER « HALLOWEEN »
   Le thème Classique (mêmes pages, mêmes composants) déguisé pour Halloween : nuit violette, orange citrouille,
   lueur de lune ; verre fumé ; logo en citrouille coiffé d'un chapeau de sorcière ; toile d'araignée, chauves-souris
   et brume. Chargé APRÈS theme-dcode.css, seulement quand le thème « halloween » est actif sur le site public.
   Contrastes : texte #f4eeff sur #140b24 (16:1) ; texte secondaire #b9aed6 sur #1e1236 (8:1) ;
   liens orange #ff9a4a sur #1e1236 (7.4:1) ; texte blanc sur bouton #c2410c (5.2:1).
   Le QR code plein écran et les QR des billets restent sur fond blanc (lisibilité au scan).
   ========================================================================== */
.pp-theme-halloween {
  color-scheme: dark;
  --pp-ink: #f4eeff; --pp-ink-2: #d5cbea; --pp-muted: #b9aed6;
  --pp-line: #34245a; --pp-border: #34245a;
  --pp-bg: #140b24; --pp-surface: #1e1236; --pp-surface-2: #281948; --pp-tint: #1a0f30;
  --pp-night: #0d0619; --pp-night-2: #2a1650;
  --pp-ember: #ff7a18; --pp-amber: #ffb347; --pp-gold: #ffb347;
  --pp-coral: #ff7a18; --pp-coral-2: #f26a0a; --pp-coral-ink: #ff9a4a; --pp-coral-btn: #c2410c; --pp-coral-btn-2: #9a3412; --pp-coral-soft: #3a1f33;
  --pp-ok: #7ddc8f; --pp-ok-soft: #173326; --pp-warn: #ffc46b; --pp-warn-soft: #3a2a14; --pp-err: #ff8a80; --pp-err-soft: #3d1625;
  --pp-grad: linear-gradient(120deg, #ffb347 0%, #ff7a18 55%, #c2410c 100%);
  --pp-grad-btn: linear-gradient(180deg, #d9480f 0%, #a8380a 100%);
  --pp-grad-night: linear-gradient(135deg, #2a1650 0%, #0d0619 70%);
  --pp-shadow-s: 0 2px 8px rgba(0, 0, 0, .35); --pp-shadow: 0 12px 30px rgba(0, 0, 0, .4); --pp-shadow-l: 0 24px 60px rgba(0, 0, 0, .55);
  --pp-glow: 0 10px 28px rgba(255, 122, 24, .35);
  --pp-focus: 0 0 0 3px rgba(255, 154, 74, .55);
  --hw-violet: #8b5cf6; --hw-orange: #ff7a18; --hw-moon: #ffe9a8; --hw-slime: #9be15d;
  --hw-accent: linear-gradient(135deg, #ffb347 0%, #ff7a18 45%, #8b5cf6 100%);
  --hw-glass: rgba(34, 20, 62, .62); --hw-glass-2: rgba(44, 27, 80, .72); --hw-edge: rgba(190, 160, 255, .14);
}
body.pp-theme-halloween { background: #140b24; color: var(--pp-ink); }
.pp-theme-halloween ::selection { background: #ff7a18; color: #140b24; }
.pp-theme-halloween a { color: inherit; }
.pp-theme-halloween .pp-prose a, .pp-theme-halloween .pp-link { color: var(--pp-coral-ink); }
.pp-theme-halloween h1, .pp-theme-halloween h2, .pp-theme-halloween h3 { color: var(--pp-ink); }

/* Boutons */
.pp-theme-halloween .pp-btn--primary, .pp-theme-halloween .pp-home .pp-btn--primary, .pp-theme-halloween .pp-evpage .pp-btn--primary { background: linear-gradient(135deg, #f26a0a 0%, #c2410c 55%, #9a3412 100%); color: #fff; border: 0; box-shadow: 0 10px 28px rgba(255, 122, 24, .32), inset 0 1px 0 rgba(255, 255, 255, .22); }
.pp-theme-halloween .pp-btn--primary:hover { filter: brightness(1.08); }
.pp-theme-halloween .pp-btn--ghost, .pp-theme-halloween .pp-btn--outline, .pp-theme-halloween .pp-btn--light, .pp-theme-halloween .pp-header .pp-btn--light { background: rgba(255, 255, 255, .04); color: var(--pp-ink); border: 1.5px solid #4a3577; }
.pp-theme-halloween .pp-btn--ghost:hover, .pp-theme-halloween .pp-btn--outline:hover, .pp-theme-halloween .pp-evpage .pp-btn--ghost:hover { background: rgba(255, 122, 24, .1); color: #ffb37a; border-color: #ff7a18; }
.pp-theme-halloween .pp-btn--soft { background: #3a1f33; color: #ffb37a; }
.pp-theme-halloween .pp-btn--soft:hover { background: #4a2740; }
.pp-theme-halloween .pp-btn:disabled, .pp-theme-halloween .pp-btn[aria-disabled="true"] { opacity: .5; }

/* En-tête et pied de page : verre fumé nocturne */
body.pp-theme-halloween .pp-header, body.pp-theme-halloween:has(.pp-home) .pp-header, body.pp-theme-halloween:has(.pp-stage) .pp-header, body.pp-theme-halloween:has(.pp-evpage) .pp-header { background: rgba(18, 9, 34, .78); color: var(--pp-ink); border-bottom: 1px solid rgba(190, 160, 255, .12); box-shadow: 0 8px 30px rgba(0, 0, 0, .35); }
.pp-theme-halloween .pp-header .pp-nav a { color: #e6defa; }
.pp-theme-halloween .pp-header .pp-nav a[aria-current="page"]::after, .pp-theme-halloween .pp-header .pp-nav a:hover::after { background: var(--hw-accent); }
.pp-theme-halloween .pp-logo, .pp-theme-halloween .pp-logo__text { color: #fff; }
.pp-theme-halloween .pp-iconbtn, .pp-theme-halloween .pp-header .pp-search-toggle { background: rgba(255, 255, 255, .06); color: var(--pp-ink); }
.pp-theme-halloween .pp-socials__link { background: rgba(255, 255, 255, .07); color: #e6defa; }
.pp-theme-halloween .pp-mobilenav, .pp-theme-halloween .pp-buybar, body.pp-theme-halloween:has(.pp-evpage) .pp-buybar { background: rgba(18, 9, 34, .9); border-top: 1px solid rgba(190, 160, 255, .14); box-shadow: 0 -8px 28px rgba(0, 0, 0, .4); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pp-theme-halloween .pp-mobilenav a { color: #b9aed6; }
.pp-theme-halloween .pp-mobilenav a[aria-current="page"] { color: #ff9a4a; }
body.pp-theme-halloween .pp-footer, body.pp-theme-halloween:has(.pp-home) .pp-footer, body.pp-theme-halloween:has(.pp-evpage) .pp-footer { background: radial-gradient(600px 260px at 88% 0%, rgba(255, 233, 168, .1), transparent 70%), radial-gradient(700px 300px at 0% 10%, rgba(255, 122, 24, .14), transparent 70%), linear-gradient(180deg, #120822 0%, #07030f 100%); border-top: 1px solid rgba(190, 160, 255, .1); }
.pp-theme-halloween .pp-footer a:hover { color: #ffb37a; }
.pp-theme-halloween .pp-lang a[aria-current="true"], .pp-theme-halloween .pp-footer .pp-lang a[aria-current="true"] { background: #ff7a18; border-color: #ff7a18; color: #140b24; }

/* Logo : chapeau de sorcière posé de travers */
.pp-logo__hat--halloween { position: absolute; left: -10px; top: -14px; width: 32px; height: 28px; transform: rotate(-18deg); pointer-events: none; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'><path d='M22 40 L34 4 C36 1 40 2 41 6 L46 18 C42 16 39 18 40 22 L44 40 Z' fill='%236a44b0' stroke='%23b99cff' stroke-width='1.2'/><path d='M34 4 C30 14 28 26 27 40' stroke='%23ffffff' stroke-opacity='.12' stroke-width='3' fill='none'/><ellipse cx='32' cy='42' rx='30' ry='8' fill='%23553395' stroke='%23b99cff' stroke-width='1.2'/><path d='M23 34 L43 34 L44 40 L22 40 Z' fill='%23ff7a18'/><rect x='30' y='33.5' width='6' height='7' rx='1' fill='none' stroke='%23ffe9a8' stroke-width='1.6'/></svg>") no-repeat center / contain; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .45)) drop-shadow(0 0 6px rgba(255, 122, 24, .25)); }

/* Décor : toile d'araignée, chauves-souris, brume */
.pp-season { position: absolute; left: 0; right: 0; top: 0; height: 0; z-index: 45; pointer-events: none; }
.pp-web { position: fixed; right: 0; top: calc(var(--pp-header-h) + env(safe-area-inset-top)); width: 170px; height: 170px; opacity: .55; z-index: 45; pointer-events: none; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23cbbcf0' stroke-width='1.1' stroke-linecap='round'><path d='M200 0 L40 0 M200 0 L60 90 M200 0 L120 160 M200 0 L200 200 M200 0 L110 30'/><path d='M160 0 Q172 12 180 22 Q186 30 200 34'/><path d='M120 0 Q140 24 160 44 Q178 58 200 70'/><path d='M80 0 Q108 38 132 70 Q160 96 200 110'/><path d='M46 0 Q78 52 106 98 Q140 136 200 150'/><line x1='150' y1='58' x2='150' y2='118'/><circle cx='150' cy='124' r='6' fill='%23140b24'/><circle cx='150' cy='124' r='6'/><path d='M144 121 l-6 -4 M144 125 l-7 0 M144 128 l-6 4 M156 121 l6 -4 M156 125 l7 0 M156 128 l6 4'/></svg>") no-repeat right top / contain; animation: hw-spider 6s ease-in-out infinite alternate; transform-origin: top right; }
@keyframes hw-spider { from { transform: rotate(0deg); } to { transform: rotate(-2.5deg); } }
.pp-bats { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 45; }
.pp-bats i { position: absolute; left: -60px; top: var(--y); width: var(--s); height: calc(var(--s) * .5); opacity: .8; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'><path d='M32 10 C30 6 27 6 26 9 C22 4 14 2 2 6 C8 9 10 14 9 20 C13 16 18 17 20 21 C23 17 27 17 29 22 L32 26 L35 22 C37 17 41 17 44 21 C46 17 51 16 55 20 C54 14 56 9 62 6 C50 2 42 4 38 9 C37 6 34 6 32 10 Z' fill='%23080312'/><circle cx='29.5' cy='12' r='1' fill='%23ff9a4a'/><circle cx='34.5' cy='12' r='1' fill='%23ff9a4a'/></svg>") no-repeat center / contain; filter: drop-shadow(0 0 6px rgba(139, 92, 246, .35)); animation: hw-fly var(--d) linear infinite, hw-flap .28s ease-in-out infinite alternate; animation-delay: var(--delay), 0s; }
@keyframes hw-fly { 0% { transform: translate(0, 0); } 25% { transform: translate(28vw, -4vh); } 50% { transform: translate(56vw, 3vh); } 75% { transform: translate(84vw, -3vh); } 100% { transform: translate(calc(100vw + 120px), 2vh); } }
@keyframes hw-flap { from { scale: 1 1; } to { scale: 1 .55; } }
.pp-fog { position: fixed; left: 0; right: 0; bottom: 0; height: 160px; overflow: hidden; pointer-events: none; z-index: 44; }
.pp-fog span { position: absolute; bottom: -40px; left: -50%; width: 200%; height: 150px; background: radial-gradient(50% 60% at 20% 70%, rgba(180, 160, 230, .16), transparent 70%), radial-gradient(40% 55% at 55% 80%, rgba(180, 160, 230, .12), transparent 70%), radial-gradient(45% 60% at 85% 70%, rgba(180, 160, 230, .14), transparent 70%); animation: hw-fog 38s linear infinite; }
.pp-fog span + span { bottom: -60px; opacity: .7; animation-duration: 56s; animation-direction: reverse; }
@keyframes hw-fog { from { transform: translateX(0); } to { transform: translateX(25%); } }
@media (max-width: 767px) { .pp-web { width: 110px; height: 110px; opacity: .45; } .pp-bats i:nth-child(n+4) { display: none; } .pp-fog { height: 110px; bottom: 64px; } }
@media (prefers-reduced-motion: reduce) { .pp-bats { display: none; } .pp-web, .pp-fog span { animation: none; } }
@media print { .pp-season { display: none !important; } }

/* Accueil : nuit violette, lune et lueurs de citrouille */
.pp-theme-halloween .pp-home {
  --soft-ink: #f4eeff; --soft-accent: var(--hw-accent);
  --g-shadow-hover: 0 18px 44px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 122, 24, .25);
  background:
    radial-gradient(520px 520px at 88% 2%, rgba(255, 233, 168, .16), transparent 60%),
    radial-gradient(900px 640px at -8% 18%, rgba(139, 92, 246, .26), transparent 62%),
    radial-gradient(900px 700px at 76% 40%, rgba(255, 122, 24, .12), transparent 62%),
    radial-gradient(900px 700px at 6% 66%, rgba(88, 40, 160, .26), transparent 62%),
    radial-gradient(900px 700px at 96% 84%, rgba(255, 122, 24, .1), transparent 62%),
    linear-gradient(180deg, #170c2b 0%, #120822 50%, #170c2b 100%);
  color: var(--pp-ink);
}
body.pp-theme-halloween:has(.pp-home), body.pp-theme-halloween:has(.pp-evpage) { background: #140b24; }
.pp-theme-halloween .pp-home .pp-hero__glow span:nth-child(1) { background: rgba(255, 122, 24, .35); }
.pp-theme-halloween .pp-home .pp-hero__glow span:nth-child(2) { background: rgba(139, 92, 246, .4); }
.pp-theme-halloween .pp-home .pp-hero__glow span:nth-child(3) { background: rgba(255, 233, 168, .18); }
.pp-theme-halloween .pp-hero--home h1 .pp-accent, .pp-theme-halloween .pp-home .pp-hero--home h1 .pp-accent { background: linear-gradient(100deg, #ffb347 0%, #ff7a18 50%, #c084fc 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pp-theme-halloween .pp-home .pp-hero p, .pp-theme-halloween .pp-home .pp-how__lead, .pp-theme-halloween .pp-home .pp-how__steps span, .pp-theme-halloween .pp-home .pp-cta p, .pp-theme-halloween .pp-home .pp-hsection__head p, .pp-theme-halloween .pp-home .pp-catbar__item small, .pp-theme-halloween .pp-event__meta, .pp-theme-halloween .pp-home .pp-city__name small { color: #b9aed6; }
.pp-theme-halloween .pp-home h2, .pp-theme-halloween .pp-home h3, .pp-theme-halloween .pp-event__title, .pp-theme-halloween .pp-event__price, .pp-theme-halloween .pp-city__name { color: #f4eeff; }
.pp-theme-halloween .pp-findcard { background: rgba(30, 17, 56, .72); border: 1px solid var(--hw-edge); box-shadow: 0 30px 70px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06); }
.pp-theme-halloween .pp-homehero__kicker { background: rgba(255, 255, 255, .06); border: 1px solid var(--hw-edge); color: #e6defa; }
.pp-theme-halloween .pp-homehero__kicker i { background: #ff7a18; box-shadow: 0 0 0 4px rgba(255, 122, 24, .2), 0 0 12px rgba(255, 122, 24, .6); }
.pp-theme-halloween .pp-search, .pp-theme-halloween .pp-hero--under .pp-search, .pp-theme-halloween .pp-home .pp-search { background: rgba(20, 11, 38, .7); border: 1px solid var(--hw-edge); box-shadow: none; }
.pp-theme-halloween .pp-search__cell, .pp-theme-halloween .pp-hero .pp-search__cell, .pp-theme-halloween .pp-home .pp-search__cell { background: rgba(255, 255, 255, .05); border: 1px solid rgba(190, 160, 255, .12); color: var(--pp-ink); }
.pp-theme-halloween .pp-search__cell:focus-within, .pp-theme-halloween .pp-home .pp-search__cell:focus-within { background: rgba(255, 255, 255, .08); border-color: rgba(255, 122, 24, .6); box-shadow: 0 0 0 4px rgba(255, 122, 24, .15); }
.pp-theme-halloween .pp-search input, .pp-theme-halloween .pp-search select, .pp-theme-halloween .pp-search__cell svg { color: var(--pp-ink); background: transparent; }
.pp-theme-halloween .pp-search input::placeholder { color: #9d90bd; }
.pp-theme-halloween .pp-chip, .pp-theme-halloween .pp-hero .pp-chip, .pp-theme-halloween .pp-home .pp-hero--home .pp-chip { background: rgba(255, 255, 255, .05); color: #e6defa; border: 1px solid rgba(190, 160, 255, .16); }
.pp-theme-halloween .pp-chip:hover, .pp-theme-halloween .pp-home .pp-hero--home .pp-chip:hover { background: rgba(255, 122, 24, .1); color: #ffb37a; border-color: rgba(255, 122, 24, .5); }
.pp-theme-halloween .pp-chip svg, .pp-theme-halloween .pp-home .pp-hero--home .pp-chip svg { color: #ff9a4a; }
.pp-theme-halloween .pp-chip--active { background: #ff7a18; border-color: #ff7a18; color: #140b24; }
.pp-theme-halloween .pp-hsection__more { color: #ff9a4a; }
.pp-theme-halloween .pp-spot__arrow, .pp-theme-halloween .pp-railbtn, .pp-theme-halloween .pp-home .pp-railbtn { background: rgba(255, 255, 255, .06); color: var(--pp-ink); border: 1px solid var(--hw-edge); }
.pp-theme-halloween .pp-home .pp-railbtn:hover:not(:disabled), .pp-theme-halloween .pp-home .pp-spot__arrow:hover { background: #ff7a18; color: #140b24; }
/* Cartes en verre fumé */
.pp-theme-halloween .pp-card, .pp-theme-halloween .pp-event, .pp-theme-halloween .pp-home .pp-event, .pp-theme-halloween .pp-catbar__item, .pp-theme-halloween .pp-home .pp-catbar__item, .pp-theme-halloween .pp-home .pp-citygrid .pp-city, .pp-theme-halloween .pp-org, .pp-theme-halloween .pp-home .pp-org, .pp-theme-halloween .pp-partners__item a, .pp-theme-halloween .pp-partners__item span, .pp-theme-halloween .pp-home .pp-how__steps li { background: var(--hw-glass); border: 1px solid var(--hw-edge); color: var(--pp-ink); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.pp-theme-halloween .pp-home .pp-event:hover, .pp-theme-halloween .pp-home .pp-catbar__item:hover, .pp-theme-halloween .pp-home .pp-citygrid .pp-city:hover, .pp-theme-halloween .pp-event:hover { background: var(--hw-glass-2); box-shadow: 0 18px 44px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 122, 24, .3), 0 0 30px rgba(255, 122, 24, .12); }
.pp-theme-halloween .pp-event__date, .pp-theme-halloween .pp-home .pp-event__date, .pp-theme-halloween .pp-spot__date, .pp-theme-halloween .pp-stage__date, .pp-theme-halloween .pp-evhero__date { background: rgba(20, 11, 38, .88); color: #f4eeff; border: 1px solid rgba(255, 122, 24, .35); }
.pp-theme-halloween .pp-stage__date { color: #ff9a4a; }
.pp-theme-halloween .pp-stage__date b, .pp-theme-halloween .pp-event__date b, .pp-theme-halloween .pp-evhero__date b, .pp-theme-halloween .pp-spot__date b { color: #fff; }
.pp-theme-halloween .pp-event__date span, .pp-theme-halloween .pp-stage__date span, .pp-theme-halloween .pp-evhero__date span { color: #ff9a4a; }
.pp-theme-halloween .pp-event__date::before { background: var(--hw-accent); }
.pp-theme-halloween .pp-event__fav, .pp-theme-halloween .pp-home .pp-event__fav { background: rgba(20, 11, 38, .7); border: 1px solid var(--hw-edge); color: #f4eeff; }
.pp-theme-halloween .pp-catbar__icon, .pp-theme-halloween .pp-home .pp-catbar__icon, .pp-theme-halloween .pp-city__pin, .pp-theme-halloween .pp-home .pp-city__pin, .pp-theme-halloween .pp-org__logo, .pp-theme-halloween .pp-home .pp-org__logo, .pp-theme-halloween .pp-evpage .pp-evcard__ico, .pp-theme-halloween .pp-evpage .pp-org__logo { background: linear-gradient(135deg, rgba(255, 122, 24, .2) 0%, rgba(139, 92, 246, .24) 100%); color: #ffb37a; }
.pp-theme-halloween .pp-home .pp-catbar__item:hover .pp-catbar__icon { background: var(--hw-accent); color: #140b24; }
.pp-theme-halloween .pp-city__go, .pp-theme-halloween .pp-home .pp-city__go { background: #ff7a18; color: #140b24; }
.pp-theme-halloween .pp-home .pp-citygrid .pp-city::before { opacity: .3; }
.pp-theme-halloween .pp-home .pp-how__grid { background: linear-gradient(135deg, rgba(88, 40, 160, .35) 0%, rgba(255, 122, 24, .12) 100%); border: 1px solid var(--hw-edge); }
.pp-theme-halloween .pp-home .pp-how h2 .pp-accent { color: #ff9a4a; }
.pp-theme-halloween .pp-how__steps b, .pp-theme-halloween .pp-how__steps strong { color: #f4eeff; }
.pp-theme-halloween .pp-cta, .pp-theme-halloween .pp-home .pp-cta { background: linear-gradient(135deg, rgba(58, 31, 100, .75) 0%, rgba(80, 30, 20, .55) 100%); border: 1px solid var(--hw-edge); color: var(--pp-ink); }
/* Grande scène : nuit, lune et lueur orange */
.pp-theme-halloween .pp-stage { background: #0d0619; }
.pp-theme-halloween .pp-stage__slide::after { background: linear-gradient(90deg, rgba(13, 6, 25, .88) 0%, rgba(13, 6, 25, .55) 46%, rgba(13, 6, 25, .15) 100%), linear-gradient(180deg, rgba(13, 6, 25, .3) 0%, rgba(13, 6, 25, 0) 30%, rgba(20, 11, 36, .9) 100%); }
.pp-theme-halloween .pp-stage::before { content: ""; position: absolute; right: 39%; top: 10%; width: 76px; height: 76px; border-radius: 50%; z-index: 1; pointer-events: none; background: radial-gradient(circle at 38% 38%, #fff6d6 0%, #ffe9a8 45%, #f2c86b 100%); box-shadow: 0 0 60px 20px rgba(255, 233, 168, .22), 0 0 140px 60px rgba(255, 233, 168, .08); opacity: .75; }
.pp-theme-halloween .pp-stage__label i { background: #ff7a18; box-shadow: 0 0 0 4px rgba(255, 122, 24, .22), 0 0 12px rgba(255, 122, 24, .7); }
.pp-theme-halloween .pp-stage__label span { color: #ffb37a; }
.pp-theme-halloween .pp-stage__meta svg { color: #ff9a4a; }
.pp-theme-halloween .pp-stage__poster { box-shadow: 0 40px 90px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .12), 0 0 50px rgba(255, 122, 24, .18); }
.pp-theme-halloween .pp-stage .pp-spot__arrow:hover { background: #ff7a18; color: #140b24; }
@media (max-width: 1023px) { .pp-theme-halloween .pp-stage::before { display: none; } }

/* Page événement */
.pp-theme-halloween .pp-evpage { --soft-ink: #f4eeff; --soft-accent: var(--hw-accent); color: var(--pp-ink); background: radial-gradient(900px 600px at 95% 30%, rgba(139, 92, 246, .22), transparent 62%), radial-gradient(800px 560px at -6% 50%, rgba(255, 122, 24, .1), transparent 60%), radial-gradient(900px 700px at 60% 92%, rgba(88, 40, 160, .25), transparent 62%), linear-gradient(180deg, #170c2b 0%, #120822 100%); }
.pp-theme-halloween .pp-evpage .pp-eventhero::before { background: radial-gradient(600px 400px at 85% 0%, rgba(255, 233, 168, .14), transparent 60%), linear-gradient(135deg, rgba(30, 14, 60, .88) 0%, rgba(13, 6, 25, .94) 70%); }
.pp-theme-halloween .pp-evpage .pp-eventhero::after { background: linear-gradient(180deg, rgba(23, 12, 43, 0) 0%, rgba(23, 12, 43, .85) 75%, #170c2b 100%); }
.pp-theme-halloween a.pp-evhero__chip, .pp-theme-halloween .pp-evfacts a { color: #ffb37a; }
.pp-theme-halloween .pp-countdown__label, .pp-theme-halloween .pp-evfacts__ico, .pp-theme-halloween .pp-evpage .pp-countdown__label, .pp-theme-halloween .pp-evpage .pp-evfacts__ico { color: #ff9a4a; }
.pp-theme-halloween .pp-countdown__unit, .pp-theme-halloween .pp-countdown__cell { border-color: rgba(255, 122, 24, .35); box-shadow: 0 0 18px rgba(255, 122, 24, .12); }
.pp-theme-halloween .pp-evnav, .pp-theme-halloween .pp-evpage .pp-evnav { background: rgba(18, 9, 34, .82); border-color: rgba(190, 160, 255, .12); }
.pp-theme-halloween .pp-evnav a { color: #b9aed6; }
.pp-theme-halloween .pp-evnav a[aria-current="true"], .pp-theme-halloween .pp-evnav a.is-active { color: #f4eeff; }
.pp-theme-halloween .pp-evpage .pp-evsection, .pp-theme-halloween .pp-evpage .pp-evcard, .pp-theme-halloween .pp-evpage .pp-evtickets, .pp-theme-halloween .pp-evpage .pp-evsimilar .pp-event, .pp-theme-halloween .pp-evpage .pp-ticket, .pp-theme-halloween .pp-evpage .pp-goodtoknow > div, .pp-theme-halloween .pp-evpage .pp-faq details { background: var(--hw-glass); border: 1px solid var(--hw-edge); color: var(--pp-ink); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); }
.pp-theme-halloween .pp-evpage .pp-evsection .pp-prose, .pp-theme-halloween .pp-prose { color: #d5cbea; }
.pp-theme-halloween .pp-evpage .pp-evcard__tile { background: rgba(255, 255, 255, .06); border-color: rgba(255, 122, 24, .35); color: #f4eeff; }
.pp-theme-halloween .pp-evpage .pp-btn--ghost { background: rgba(255, 255, 255, .04); border-color: #4a3577; color: var(--pp-ink); }
.pp-theme-halloween .pp-evtickets__head, .pp-theme-halloween .pp-evpage .pp-evtickets__head { background: linear-gradient(135deg, #3a1d63 0%, #1c0f33 55%, #7a2a0a 130%); color: #fff; }
.pp-theme-halloween .pp-evtickets__head span { color: #ffb37a; }
.pp-theme-halloween .pp-evtickets__trust svg { color: #9be15d; }
.pp-theme-halloween .pp-qty button, .pp-theme-halloween .pp-stepper button { background: rgba(255, 255, 255, .06); color: var(--pp-ink); border-color: #4a3577; }
.pp-theme-halloween .pp-breadcrumb, .pp-theme-halloween .pp-breadcrumb a { color: #b9aed6; }

/* Catalogue, connexion, compte, paiement */
.pp-theme-halloween .pp-hero:not(.pp-hero--home) { background: radial-gradient(700px 380px at 88% 0%, rgba(255, 233, 168, .1), transparent 60%), radial-gradient(900px 420px at 10% 10%, rgba(139, 92, 246, .22), transparent 60%), linear-gradient(180deg, #1a0e30 0%, #140b24 100%); color: var(--pp-ink); }
.pp-theme-halloween .pp-input, .pp-theme-halloween .pp-select, .pp-theme-halloween .pp-textarea { background: #170d2c; color: var(--pp-ink); border-color: #3e2b68; }
.pp-theme-halloween .pp-input::placeholder, .pp-theme-halloween .pp-textarea::placeholder { color: #8f82b0; }
.pp-theme-halloween .pp-input:focus, .pp-theme-halloween .pp-select:focus, .pp-theme-halloween .pp-textarea:focus { border-color: #ff7a18; }
.pp-theme-halloween .pp-auth h1 { background-image: linear-gradient(135deg, #3a1d63 0%, #1c0f33 60%, #7a2a0a 130%); }
.pp-theme-halloween .pp-badge--featured { background: #ff7a18; color: #140b24; }
.pp-theme-halloween .pp-pagination [aria-current="page"] { background: #ff7a18; border-color: #ff7a18; color: #140b24; }
.pp-theme-halloween .pp-modal__box, .pp-theme-halloween .pp-sheet, .pp-theme-halloween .pp-drawer { background: #1e1236; color: var(--pp-ink); }
.pp-theme-halloween .pp-skel { background: linear-gradient(90deg, #241640 0%, #2e1d50 40%, #241640 80%); background-size: 800px 100%; }
.pp-theme-halloween .pp-simpay { background: #2a1f10; }
.pp-theme-halloween .pp-heroticket { background: #1e1236; color: var(--pp-ink); }
.pp-theme-halloween .pp-heroticket__stub::before, .pp-theme-halloween .pp-heroticket__stub::after { background: #140b24; }
.pp-theme-halloween .pp-offline-note { background: #3a2a14; color: #ffc46b; border-color: #6b4a1a; }
/* QR codes : toujours sur blanc pour rester lisibles au scan */
.pp-theme-halloween .pp-qrfull, .pp-theme-halloween .pp-qr, .pp-theme-halloween .pp-qr img, .pp-theme-halloween img[src*="qr"], .pp-theme-halloween .pp-ticketqr { background: #fff; }
.pp-theme-halloween .pp-qrfull { color: #14122b; }
.pp-theme-halloween .pp-row__thumb { color: #f4eeff; background: linear-gradient(135deg, rgba(255, 122, 24, .18) 0%, rgba(139, 92, 246, .22) 100%); }
.pp-theme-halloween .pp-row__thumb span { color: #ff9a4a; }
.pp-theme-halloween .pp-header .pp-logo { color: #fff; }
