/* Thème « arène » du tunnel de réservation, pour les centres de réalité virtuelle (repris de l'habillage de bassinvr.fr, version hors
   saison). Portée : #pulzar-booking-tenant.pz-arene (le module) et .resa-page (la page, et les fenêtres que le module pose dans <body>).
   Chargé après la feuille du module. Images : décors génériques, arme et logo Zero Latency, servis sous /_pulzar/immersive/assets/.
   Rien de propre à un centre : ni photo, ni formule, ni nom, ni logo d'un centre.
   Couleurs de l'accent en variables, posées par la palette du centre (/_pulzar/themes/arene/palettes/<nom>.css) ; sans palette, le
   défaut officiel Zero Latency : --pz-arene-accent #41c0f0, --pz-arene-accent-rgb 65,192,240, --pz-arene-clair #eff9fe,
   --pz-arene-fleche (flèche des listes). Le fond d'ambiance de la page est dans fond.css. */
/* ---------- 0. SOCLE : à garder, la page en dépend ---------- */
body.resa-page{background:#080c14}
.resa-main{padding-top:calc(16px + env(safe-area-inset-top))}

/* Les couleurs du module sont posées EN LIGNE sur la racine : !important obligatoire pour les forcer. */
#pulzar-booking-tenant.pz-arene{
  --bw-bg:#080c14!important; --bw-surface:#0d1320!important; --bw-surface-2:#121b2d!important;
  --bw-border:rgba(255,255,255,.08)!important;
  --bw-text:var(--pz-arene-clair,#eff9fe)!important; --bw-text-2:#9fb0cf!important; --bw-text-3:#6b7894!important;
  --bw-primary:var(--pz-arene-accent,#41c0f0)!important; --bw-primary-2:#1e90ff!important; --bw-accent:var(--pz-arene-accent,#41c0f0)!important;
  --bw-on-primary:#04111c!important; --bw-on-accent:#04111c!important;
  --bw-grad:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff)!important;
  background:transparent!important;
}
/* L'en-tête du module garde le logo et le nom du centre ; sa carte de présentation couperait l'écran 1 (fusil, logo, titre). */
#pulzar-booking-tenant.pz-arene .bw-hero{display:none!important}
/* Au téléphone, le nom du centre buterait sur le choix de langue : le logo seul le porte, quand il existe. */
@media (max-width:639px){#pulzar-booking-tenant.pz-arene .bw-header:has(img.bw-logo) .bw-brand-name{display:none!important}}



/* Racine du module : polices sur les descendants (la racine porte font-family en ligne !important). */
#pulzar-booking-tenant.pz-arene{color:var(--pz-arene-clair,#eff9fe);position:relative;overflow:visible;border:0;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
#pulzar-booking-tenant.pz-arene > *{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
#pulzar-booking-tenant.pz-arene .bw-main{padding:6px 0 18px;overflow:visible}


/* ---------- 2. En-tête du module : bandeau de fermeture, langues, carte cadeau ---------- */
#pulzar-booking-tenant.pz-arene #bw-closure-banner-top:empty{display:none}
#pulzar-booking-tenant.pz-arene .bw-closure-banner-top{
  background:rgba(255,210,74,.08)!important;color:#ffd24a!important;
  border:1px solid rgba(255,210,74,.35);border-radius:12px;
  padding:9px 12px!important;margin:0 0 4px;
  font:600 12.5px/1.35 'Space Grotesk',sans-serif!important;letter-spacing:.01em;
}
#pulzar-booking-tenant.pz-arene .bw-header{
  position:relative;top:auto;z-index:13;background:transparent;border:0;
  -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;
  padding:6px 0;justify-content:space-between;gap:8px;
}
#pulzar-booking-tenant.pz-arene .bw-lang-switch{
  display:flex;gap:2px;padding:3px;border-radius:999px;margin:0;
  background:rgba(8,12,20,.6);border:1px solid rgba(255,255,255,.1);
}
#pulzar-booking-tenant.pz-arene .bw-lang-btn{
  min-width:44px;min-height:38px;padding:0 10px;border:0;border-radius:999px;background:transparent;
  font:700 12px/1 'Space Grotesk',sans-serif;letter-spacing:.08em;color:#9fb0cf;cursor:pointer;
  transition:background .2s,color .2s;
}
#pulzar-booking-tenant.pz-arene .bw-lang-btn.active{background:var(--pz-arene-accent,#41c0f0);color:#04111c;box-shadow:0 0 16px rgba(var(--pz-arene-accent-rgb,65,192,240),.55)}
#pulzar-booking-tenant.pz-arene .bw-gift-btn{
  min-height:44px;padding:0 14px;border-radius:999px;margin:0;white-space:nowrap;
  font:700 12.5px/1 'Space Grotesk',sans-serif;letter-spacing:.02em;color:#ffd24a;
  background:rgba(255,210,74,.07);border:1px solid rgba(255,210,74,.4);cursor:pointer;
  transition:transform .15s,background .2s;
}
#pulzar-booking-tenant.pz-arene .bw-gift-btn:active{transform:scale(.96)}


/* ---------- 3. Progression façon story (.bw-stepper-pills, .bw-step-pill .active .done) ---------- */
/* Cinq segments qui se remplissent, libellés lisibles dessous. Collée en haut pendant le défilement. */
#pulzar-booking-tenant.pz-arene .bw-stepper-pills{
  position:sticky;top:0;z-index:12;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;
  padding:8px 0 4px;margin:0;overflow:visible;
  background:linear-gradient(180deg,rgba(8,12,20,.94) 55%,rgba(8,12,20,0));
}
#pulzar-booking-tenant.pz-arene .bw-step-pill-sep,
#pulzar-booking-tenant.pz-arene .bw-step-pill-num{display:none!important}
#pulzar-booking-tenant.pz-arene .bw-step-pill{
  position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:7px;
  min-width:0;min-height:40px;padding:10px 0 0;margin:0;border-radius:0;
  background:none!important;border:0!important;box-shadow:none!important;color:#6b7894;
}
#pulzar-booking-tenant.pz-arene .bw-step-pill::before{content:"";display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.13)}
#pulzar-booking-tenant.pz-arene .bw-step-pill::after{
  content:"";position:absolute;left:0;right:0;top:10px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--pz-arene-accent,#41c0f0),#1e90ff);transform:scaleX(0);transform-origin:left center;
}
#pulzar-booking-tenant.pz-arene .bw-step-pill.done::after{transform:scaleX(1)}
#pulzar-booking-tenant.pz-arene .bw-step-pill.active::after{
  box-shadow:0 0 12px rgba(var(--pz-arene-accent-rgb,65,192,240),.9);
  animation:arene-seg 1.1s cubic-bezier(.3,.7,.2,1) .15s forwards;
}
#pulzar-booking-tenant.pz-arene .bw-step-pill-label{
  display:block!important;font:700 10px/1.1 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;
}
#pulzar-booking-tenant.pz-arene .bw-step-pill.active{color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-step-pill.done{color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-step-pill.bw-step-clickable{cursor:pointer!important}
#pulzar-booking-tenant.pz-arene .bw-step-pill.bw-step-clickable:hover{color:var(--pz-arene-accent,#41c0f0)}
@keyframes arene-seg{to{transform:scaleX(1)}}


/* ---------- 4. Titre d'écran et transition d'entrée (.bw-step, .bw-step-title, .bw-step-sub) ---------- */
/* Le module remplace .bw-step à chaque écran : l'animation rejoue à chaque étape. */
#pulzar-booking-tenant.pz-arene .bw-step{position:relative;animation:arene-step-in .55s cubic-bezier(.2,.8,.2,1) backwards}
#pulzar-booking-tenant.pz-arene .bw-step-title{
  font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(42px,11.2vw,72px);line-height:.9;letter-spacing:.012em;
  margin:14px 0 10px;padding-right:78px;color:var(--pz-arene-clair,#eff9fe);text-wrap:balance;
  text-shadow:0 0 28px rgba(var(--pz-arene-accent-rgb,65,192,240),.35);
  animation:arene-glitch .5s steps(1) .12s backwards;
}
#pulzar-booking-tenant.pz-arene .bw-step-sub{font:400 14.5px/1.45 Inter,sans-serif;color:#9fb0cf;margin:0 0 18px;max-width:40ch;text-wrap:pretty}

/* Le fusil en petit, dans le coin, qui accompagne le client : retourné, son canon (en bas à gauche) vise le titre.
   Le cadre a les proportions de l'image, donc le canon tombe toujours au même point (right 59px, top 49px). */
#pulzar-booking-tenant.pz-arene .bw-step::before{
  content:"";position:absolute;top:10px;right:-4px;width:68px;height:50px;pointer-events:none;z-index:2;
  background:url(/_pulzar/immersive/assets/fusil-zl-gen3.webp) center/contain no-repeat;
  filter:drop-shadow(0 0 10px rgba(var(--pz-arene-accent-rgb,65,192,240),.45));
  animation:arene-gun-mini 6s ease-in-out infinite;
}
/* La rafale quand une carte est choisie : part du canon, suit son inclinaison et traverse l'écran vers la gauche.
   rafale-neon-gauche.svg est la rafale livrée, retournée : son éclair est à droite, contre le canon. */
#pulzar-booking-tenant.pz-arene .bw-step:has(.selected)::after{
  content:"";position:absolute;top:34px;right:59px;width:min(300px,70%);height:30px;pointer-events:none;z-index:2;
  background:url(/_pulzar/immersive/assets/rafale-neon-gauche.svg) center/100% 100% no-repeat;
  transform-origin:right center;
  animation:arene-burst .75s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes arene-step-in{0%{opacity:0;transform:translate3d(32px,0,0) scale(.985);filter:blur(8px) brightness(1.6)}55%{filter:blur(0) brightness(1.1)}100%{opacity:1;transform:none;filter:none}}
@keyframes arene-glitch{
  0%{opacity:0}
  12%{opacity:1;transform:translateX(-5px) skewX(-10deg);filter:drop-shadow(4px 0 0 var(--pz-arene-accent,#41c0f0)) drop-shadow(-4px 0 0 #1e90ff)}
  28%{transform:translateX(4px) skewX(6deg);filter:drop-shadow(-3px 0 0 var(--pz-arene-accent,#41c0f0)) drop-shadow(3px 0 0 #ffd24a)}
  44%{opacity:.6;transform:translateX(-2px);filter:none}
  60%{opacity:1;transform:translateX(1px);filter:drop-shadow(2px 0 0 var(--pz-arene-accent,#41c0f0))}
  76%{transform:none;filter:none}
}
@keyframes arene-gun-mini{0%,100%{transform:scaleX(-1) translateY(0) rotate(0)}50%{transform:scaleX(-1) translateY(-5px) rotate(-3deg)}}
@keyframes arene-burst{0%{opacity:0;transform:rotate(-26deg) scaleX(.05)}15%{opacity:1}60%{opacity:1;transform:rotate(-26deg) scaleX(1)}100%{opacity:0;transform:rotate(-26deg) scaleX(1.15)}}


/* ---------- 5. Écran « Choisis ton activité » (.bw-activity-grid, .bw-activity-card, .bw-featured, .bw-family-card, .bw-gift-card) ---------- */
/* Le grand fusil trône au-dessus du titre, flotte et vise ; le logo Zero Latency signe sous la crosse.
   --gun-h est la hauteur du fusil. L'image est centrée, large de 1,36 × --gun-h : le canon est donc à
   50 % + 0,585 × --gun-h et à 0,79 × --gun-h du haut ; le logo (0,58 × --gun-h) démarre à 4 % de l'image.
   L'image touche le bas de son cadre et le fusil flotte : sans la marge du bas, le logo et le canon mordent le titre.
   La marge du haut (4px) se fond avec celle de l'étape : le cadre démarre donc au haut de l'étape, d'où « - 15px » seul. */
#pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step{--gun-h:clamp(170px,50vw,250px)}
#pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step::before{
  position:relative;display:block;top:auto;right:auto;width:auto;height:var(--gun-h);margin:4px -6px 12px;
  background:url(/_pulzar/immersive/assets/logo-zero-latency-couleur.webp) calc(50% - var(--gun-h) * .335) 95%/calc(var(--gun-h) * .58) auto no-repeat,
             url(/_pulzar/immersive/assets/fusil-zl-gen3.webp) center/contain no-repeat,
             radial-gradient(closest-side,rgba(var(--pz-arene-accent-rgb,65,192,240),.24),transparent) center/80% 90% no-repeat;
  filter:drop-shadow(0 0 18px rgba(var(--pz-arene-accent-rgb,65,192,240),.4));
  animation:arene-gun-hero 7s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step:has(.selected)::after{
  top:calc(var(--gun-h) * .79 - 15px);left:calc(50% + var(--gun-h) * .585);right:auto;width:60%;
  background-image:url(/_pulzar/immersive/assets/rafale-neon.svg);transform-origin:left center;animation-name:arene-burst-r;
}
#pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step-title{padding-right:0;margin-top:0}
@keyframes arene-gun-hero{0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg)}25%{transform:translate3d(4px,-8px,0) rotate(1deg)}50%{transform:translate3d(-3px,-3px,0) rotate(-.5deg)}75%{transform:translate3d(2px,-10px,0) rotate(2deg)}}
@keyframes arene-burst-r{0%{opacity:0;transform:rotate(26deg) scaleX(.05)}15%{opacity:1}60%{opacity:1;transform:rotate(26deg) scaleX(1)}100%{opacity:0;transform:rotate(26deg) scaleX(1.15)}}

/* Titres de section : étiquette cyan + filet. */
#pulzar-booking-tenant.pz-arene .bw-step1-section-title,
#pulzar-booking-tenant.pz-arene .bw-lineaire-section-title{
  display:flex;align-items:center;gap:12px;width:auto;margin:28px 0 12px;padding:0;
  background:none;border:0;border-radius:0;box-shadow:none;
  font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0);
}
#pulzar-booking-tenant.pz-arene .bw-step1-section-title::before{display:none}
#pulzar-booking-tenant.pz-arene .bw-step1-section-title::after,
#pulzar-booking-tenant.pz-arene .bw-lineaire-section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.5),transparent)}

/* Cartes affiches de cinéma. */
#pulzar-booking-tenant.pz-arene .bw-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pulzar-booking-tenant.pz-arene .bw-activity-card{
  position:relative;overflow:hidden;border-radius:18px;cursor:pointer;
  background:#0d1320;border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 40px -20px rgba(0,0,0,.9);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .3s;
  animation:arene-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.pz-arene .bw-activity-card:active{transform:scale(.97)}
#pulzar-booking-tenant.pz-arene .bw-activity-cover{position:relative;overflow:hidden;aspect-ratio:3/4;height:auto;background-color:#121b2d;background-size:cover;background-position:center}
#pulzar-booking-tenant.pz-arene .bw-activity-cover.bw-cover-natural{aspect-ratio:3/4!important;height:auto!important}
#pulzar-booking-tenant.pz-arene .bw-fc-img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
/* voile bas pour lire le titre sur la photo */
#pulzar-booking-tenant.pz-arene .bw-activity-cover::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,12,20,.35) 0%,rgba(8,12,20,0) 22%,rgba(8,12,20,0) 38%,rgba(8,12,20,.82) 68%,#080c14 100%);
}
/* reflet qui passe */
#pulzar-booking-tenant.pz-arene .bw-activity-cover::before{
  content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:45%;z-index:2;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.2) 50%,transparent);
  transform:translateX(-160%) skewX(-18deg);animation:arene-sheen 6s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene .bw-activity-card:nth-child(2) .bw-activity-cover::before{animation-delay:.9s}
#pulzar-booking-tenant.pz-arene .bw-activity-card:nth-child(3) .bw-activity-cover::before{animation-delay:1.8s}
#pulzar-booking-tenant.pz-arene .bw-activity-card:nth-child(4) .bw-activity-cover::before{animation-delay:2.7s}
#pulzar-booking-tenant.pz-arene .bw-activity-card:nth-child(5) .bw-activity-cover::before{animation-delay:3.6s}
#pulzar-booking-tenant.pz-arene .bw-activity-body{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:12px 12px 13px}
#pulzar-booking-tenant.pz-arene .bw-activity-name{
  margin:0 0 4px;font:400 25px/.92 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#fff;text-wrap:balance;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
#pulzar-booking-tenant.pz-arene .bw-activity-desc,
#pulzar-booking-tenant.pz-arene .bw-activity-tagline{
  margin:0 0 8px;font:400 12px/1.35 Inter,sans-serif;color:#c3cede;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#pulzar-booking-tenant.pz-arene .bw-activity-meta{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
#pulzar-booking-tenant.pz-arene .bw-activity-meta span{
  display:inline-block;padding:3px 6px;border-radius:6px;background:rgba(8,12,20,.55);border:1px solid rgba(255,255,255,.16);
  font:600 10px/1.2 'Space Grotesk',sans-serif;letter-spacing:.03em;color:#dbe4f5;
}
#pulzar-booking-tenant.pz-arene .bw-activity-meta span::before{display:none}
/* prix : lisible d'un coup d'œil, en haut à gauche */
#pulzar-booking-tenant.pz-arene .bw-activity-price-badge{
  position:absolute;top:10px;left:10px;right:auto;bottom:auto;z-index:3;
  padding:5px 9px 4px;border-radius:9px;background:rgba(8,12,20,.8);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font:400 18px/1 'Bebas Neue',sans-serif;letter-spacing:.04em;color:#fff;box-shadow:0 0 14px rgba(var(--pz-arene-accent-rgb,65,192,240),.35);
}
#pulzar-booking-tenant.pz-arene .bw-info-btn{
  top:10px!important;right:10px!important;left:auto!important;width:34px;height:34px;z-index:4;
  background:rgba(8,12,20,.7);border:1px solid rgba(255,255,255,.3);font-size:15px;
}
#pulzar-booking-tenant.pz-arene .bw-info-btn::after{content:"";position:absolute;inset:-6px}
#pulzar-booking-tenant.pz-arene .bw-pkg-badge{
  top:10px;right:10px;left:auto;z-index:3;padding:4px 8px;border-radius:7px;
  font:700 9.5px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;
}
#pulzar-booking-tenant.pz-arene .bw-pkg-badge-orange{background:rgba(255,210,74,.14);color:#ffd24a;border:1px solid rgba(255,210,74,.5)}
#pulzar-booking-tenant.pz-arene .bw-pkg-badge-pink{background:rgba(var(--pz-arene-accent-rgb,65,192,240),.14);color:#9fe9ff;border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.5)}
#pulzar-booking-tenant.pz-arene .bw-gift-card .bw-activity-price-badge{top:44px;left:10px}

/* Carte « expérience phare » : l'affiche principale, pleine largeur, bordure qui respire. */
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured{grid-column:1/-1;border-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.45);box-shadow:0 0 0 1px rgba(var(--pz-arene-accent-rgb,65,192,240),.15),0 24px 50px -22px rgba(var(--pz-arene-accent-rgb,65,192,240),.55)}
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-cover{aspect-ratio:16/11}
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-name{font-size:40px}
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-desc{font-size:13.5px}
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-price-badge{top:46px;left:10px;right:auto;bottom:auto;font-size:22px}
#pulzar-booking-tenant.pz-arene .bw-featured-badge{
  top:10px;left:10px;z-index:4;padding:6px 10px;border-radius:8px;
  background:#ffd24a;color:#1a1300;border:0;box-shadow:0 0 18px rgba(255,210,74,.5);
  font:700 10.5px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;
}
#pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.8);animation:arene-breathe 3.2s ease-in-out infinite;
}

/* Carte choisie : cadre lumineux animé (+ la coche du module, en bas à droite). */
#pulzar-booking-tenant.pz-arene .bw-activity-card.selected,
#pulzar-booking-tenant.pz-arene .bw-game-card.selected,
#pulzar-booking-tenant.pz-arene .bw-pkg-card.selected,
#pulzar-booking-tenant.pz-arene .bw-package-card.selected,
#pulzar-booking-tenant.pz-arene .bw-exp-card.selected{
  border-color:var(--pz-arene-accent,#41c0f0);background:#0d1320;box-shadow:0 0 0 2px var(--pz-arene-accent,#41c0f0),0 0 34px rgba(var(--pz-arene-accent-rgb,65,192,240),.55);
}
#pulzar-booking-tenant.pz-arene .bw-activity-card.selected::after,
#pulzar-booking-tenant.pz-arene .bw-game-card.selected::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;
  border:2px solid #9fe9ff;box-shadow:inset 0 0 26px rgba(var(--pz-arene-accent-rgb,65,192,240),.6);
  animation:arene-frame 1.4s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene .bw-activity-card.selected::before{z-index:6}

@keyframes arene-card-in{0%{opacity:0;transform:translate3d(0,26px,0) scale(.94)}100%{opacity:1;transform:none}}
@keyframes arene-sheen{0%,62%{transform:translateX(-160%) skewX(-18deg)}100%{transform:translateX(360%) skewX(-18deg)}}
@keyframes arene-frame{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes arene-breathe{0%,100%{opacity:.25}50%{opacity:.9}}

/* Cascade d'entrée des cartes (activités, jeux, créneaux, extras, jours). */
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(2){animation-delay:.06s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(3){animation-delay:.12s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(4){animation-delay:.18s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(5){animation-delay:.24s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(6){animation-delay:.30s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(7){animation-delay:.36s}
#pulzar-booking-tenant.pz-arene :is(.bw-activity-card,.bw-game-card,.bw-slot-c,.bw-pkg-card,.bw-gift-amount):nth-child(n+8){animation-delay:.42s}


/* ---------- 6. Écrans « Combien de joueurs ? » et « Quelle date ? » (.bw-field-players, .bw-places-*, #bw-cal-card, .bw-cal-*) ---------- */
#pulzar-booking-tenant.pz-arene .bw-field-players{
  position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(172deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.10),rgba(13,19,32,.75) 55%)!important;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35)!important;border-radius:24px!important;
  padding:20px 16px 18px!important;margin-bottom:16px!important;
  box-shadow:0 30px 60px -30px rgba(var(--pz-arene-accent-rgb,65,192,240),.45);
}
#pulzar-booking-tenant.pz-arene .bw-field-players .bw-label{
  font:700 12px/1.2 'Space Grotesk',sans-serif!important;letter-spacing:.22em!important;text-transform:uppercase;
  color:var(--pz-arene-accent,#41c0f0)!important;margin:0 0 6px!important;
}
#pulzar-booking-tenant.pz-arene .bw-field-players > div:not([class]){font-size:13px!important;color:#9fb0cf!important;margin:0 auto 12px!important;max-width:30ch}
#pulzar-booking-tenant.pz-arene .bw-places-stepper{display:grid;grid-template-columns:68px minmax(0,1fr) 68px;align-items:center;gap:8px}
#pulzar-booking-tenant.pz-arene .bw-places-btn{
  width:68px;height:68px;border-radius:50%;padding:0;cursor:pointer;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.5);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.08);color:var(--pz-arene-clair,#eff9fe);
  font:500 34px/1 'Space Grotesk',sans-serif;box-shadow:0 0 22px -6px rgba(var(--pz-arene-accent-rgb,65,192,240),.6),inset 0 0 14px rgba(var(--pz-arene-accent-rgb,65,192,240),.12);
  transition:transform .12s,background .2s,border-color .2s;
}
#pulzar-booking-tenant.pz-arene .bw-places-btn:hover:not(:disabled){border-color:var(--pz-arene-accent,#41c0f0);color:#fff;background:rgba(var(--pz-arene-accent-rgb,65,192,240),.16)}
#pulzar-booking-tenant.pz-arene .bw-places-btn:active:not(:disabled){transform:scale(.9)}
#pulzar-booking-tenant.pz-arene .bw-places-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}
#pulzar-booking-tenant.pz-arene #bw-places-plus{background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.pz-arene #bw-places-plus:disabled{background:rgba(255,255,255,.06);color:#6b7894}
#pulzar-booking-tenant.pz-arene .bw-places-val{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;font-size:16px}
/* anneau de visée qui tourne derrière le compteur */
#pulzar-booking-tenant.pz-arene .bw-places-val::before{
  content:"";position:absolute;left:50%;top:50%;width:146px;height:146px;margin:-73px 0 0 -73px;border-radius:50%;pointer-events:none;
  border:1px dashed rgba(var(--pz-arene-accent-rgb,65,192,240),.45);box-shadow:0 0 40px rgba(var(--pz-arene-accent-rgb,65,192,240),.18),inset 0 0 30px rgba(var(--pz-arene-accent-rgb,65,192,240),.12);
  animation:arene-spin 18s linear infinite;
}
#pulzar-booking-tenant.pz-arene .bw-places-val::after{
  content:"";position:absolute;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,var(--pz-arene-accent,#41c0f0) 0 6deg,transparent 6deg 84deg,var(--pz-arene-accent,#41c0f0) 84deg 96deg,transparent 96deg 174deg,var(--pz-arene-accent,#41c0f0) 174deg 186deg,transparent 186deg 264deg,var(--pz-arene-accent,#41c0f0) 264deg 276deg,transparent 276deg 354deg,var(--pz-arene-accent,#41c0f0) 354deg);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(closest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  opacity:.8;animation:arene-spin 9s linear infinite reverse;
}
#pulzar-booking-tenant.pz-arene .bw-places-input{
  position:relative;z-index:1;display:block;width:100%;min-width:0;max-width:none;margin:0;padding:0;
  border:0;border-radius:0;background:transparent;color:#fff;text-align:center;
  font:400 112px/.9 'Bebas Neue',sans-serif;letter-spacing:.01em;text-shadow:0 0 32px rgba(var(--pz-arene-accent-rgb,65,192,240),.75);
  -moz-appearance:textfield;appearance:textfield;
}
#pulzar-booking-tenant.pz-arene .bw-places-input:hover,
#pulzar-booking-tenant.pz-arene .bw-places-input:focus{background:transparent;box-shadow:none;outline:none}
#pulzar-booking-tenant.pz-arene .bw-places-input:focus-visible{text-shadow:0 0 40px var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-places-suffix{position:relative;z-index:1;margin-top:2px;font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-field-players .bw-help{margin-top:14px;font:600 11px/1 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene #bw-joueurs-ok{min-height:60px;font-size:16px!important;font-weight:700!important;padding:14px!important;margin:4px 0 8px!important}

/* Salle privée (anniversaire, EVG) */
#pulzar-booking-tenant.pz-arene .bw-private-room{
  display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;cursor:pointer;text-align:left;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:14px;
}
#pulzar-booking-tenant.pz-arene .bw-private-room input{width:22px;height:22px;margin:0;accent-color:var(--pz-arene-accent,#41c0f0);flex:none}
#pulzar-booking-tenant.pz-arene .bw-private-room-text{font:600 14px/1.3 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-private-room-sub{font-size:12.5px;color:#9fb0cf;margin-top:2px}

/* « Quelle date ? » : le compteur se replie en ligne compacte, le calendrier prend la scène. */
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;text-align:left;
  padding:10px 10px 10px 16px!important;border-radius:18px!important;border-color:rgba(255,255,255,.12)!important;box-shadow:none;
}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players > div:not([class]){display:none}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players .bw-label{margin:0!important;flex:1}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players .bw-help{order:3;width:100%;margin:0;font-size:10px}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-stepper{grid-template-columns:44px 64px 44px;gap:8px}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-btn{width:44px;height:44px;font-size:22px}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val{min-height:0}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val::before,
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val::after{display:none}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-input{font-size:46px;text-shadow:0 0 18px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}
#pulzar-booking-tenant.pz-arene:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-suffix{font-size:8.5px;letter-spacing:.18em}

/* Calendrier : grille néon */
#pulzar-booking-tenant.pz-arene .bw-cal-card{
  position:relative;overflow:hidden;padding:14px 10px 14px;border-radius:24px;
  background:
    linear-gradient(rgba(var(--pz-arene-accent-rgb,65,192,240),.05) 1px,transparent 1px) 0 0/100% 22px,
    linear-gradient(90deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.05) 1px,transparent 1px) 0 0/22px 100%,
    linear-gradient(172deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.08),rgba(13,19,32,.85) 45%);
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.28);box-shadow:0 30px 60px -30px rgba(var(--pz-arene-accent-rgb,65,192,240),.4);
}
#pulzar-booking-tenant.pz-arene .bw-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px}
#pulzar-booking-tenant.pz-arene .bw-cal-month{font:400 29px/1 'Bebas Neue',sans-serif;letter-spacing:.05em;white-space:nowrap;color:#fff;text-shadow:0 0 18px rgba(var(--pz-arene-accent-rgb,65,192,240),.5)}
#pulzar-booking-tenant.pz-arene .bw-cal-nav{
  width:44px;height:44px;border-radius:14px;padding:0;cursor:pointer;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.06);color:var(--pz-arene-accent,#41c0f0);font:500 24px/1 'Space Grotesk',sans-serif;
}
#pulzar-booking-tenant.pz-arene .bw-cal-nav:active{transform:scale(.92)}
#pulzar-booking-tenant.pz-arene .bw-cal-weekdays{gap:5px;margin-bottom:6px}
#pulzar-booking-tenant.pz-arene .bw-cal-weekday{font:700 9.5px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:#9fb0cf;padding:6px 0}
#pulzar-booking-tenant.pz-arene .bw-cal-grid{gap:5px}
#pulzar-booking-tenant.pz-arene .bw-cal-cell{
  position:relative;min-height:54px;padding:6px 1px 5px;border-radius:11px;justify-content:center;
  background:rgba(var(--pz-arene-accent-rgb,65,192,240),.07);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.32);color:var(--pz-arene-clair,#eff9fe);
  box-shadow:inset 0 0 14px rgba(var(--pz-arene-accent-rgb,65,192,240),.10);
  transition:transform .15s,border-color .2s,background .2s;
  animation:arene-cell-on .45s ease-out backwards;
}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:nth-child(n+8){animation-delay:.08s}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:nth-child(n+15){animation-delay:.16s}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:nth-child(n+22){animation-delay:.24s}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:nth-child(n+29){animation-delay:.32s}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:hover:not([disabled]):not(.bw-cal-past):not(.bw-cal-empty){border-color:var(--pz-arene-accent,#41c0f0);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.14);transform:translateY(-2px);box-shadow:inset 0 0 14px rgba(var(--pz-arene-accent-rgb,65,192,240),.2)}
#pulzar-booking-tenant.pz-arene .bw-cal-cell:active:not([disabled]){transform:scale(.94)}
#pulzar-booking-tenant.pz-arene .bw-cal-day{font:400 23px/1 'Bebas Neue',sans-serif;letter-spacing:.03em;text-shadow:0 0 12px rgba(var(--pz-arene-accent-rgb,65,192,240),.8)}
#pulzar-booking-tenant.pz-arene .bw-cal-price{margin-top:3px;font:600 9px/1.1 'Space Grotesk',sans-serif;letter-spacing:0;color:#b9c6dd;text-align:center;white-space:normal}
/* passé : éteint */
#pulzar-booking-tenant.pz-arene .bw-cal-past{opacity:1;background:transparent;border-color:rgba(255,255,255,.04);box-shadow:none;color:#4d5a73;animation:none}
#pulzar-booking-tenant.pz-arene .bw-cal-past .bw-cal-day{text-shadow:none}
#pulzar-booking-tenant.pz-arene .bw-cal-empty{background:transparent;border:0;box-shadow:none;animation:none}
/* aujourd'hui : point or */
#pulzar-booking-tenant.pz-arene .bw-cal-today::before{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:#ffd24a;box-shadow:0 0 8px #ffd24a}
/* sur réservation : or, pointillé */
#pulzar-booking-tenant.pz-arene .bw-cal-surresa{background:rgba(255,210,74,.06);border:1px dashed rgba(255,210,74,.7);box-shadow:none}
#pulzar-booking-tenant.pz-arene .bw-cal-surresa .bw-cal-day{text-shadow:0 0 10px rgba(255,210,74,.5)}
#pulzar-booking-tenant.pz-arene .bw-cal-sr{color:#ffd24a!important;font-size:8px!important;letter-spacing:0!important;text-align:center}
/* jour choisi : se verrouille avec un anneau et un éclat */
#pulzar-booking-tenant.pz-arene .bw-cal-selected,
#pulzar-booking-tenant.pz-arene .bw-cal-cell.bw-cal-selected:hover{
  z-index:2;color:#04111c;background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);border-color:transparent;transform:scale(1.06);
  box-shadow:0 0 0 2px #080c14,0 0 0 4px var(--pz-arene-accent,#41c0f0),0 0 28px rgba(var(--pz-arene-accent-rgb,65,192,240),.85);
}
#pulzar-booking-tenant.pz-arene .bw-cal-selected .bw-cal-day{text-shadow:none}
#pulzar-booking-tenant.pz-arene .bw-cal-selected .bw-cal-price,
#pulzar-booking-tenant.pz-arene .bw-cal-selected .bw-cal-sr{color:#04111c!important}
#pulzar-booking-tenant.pz-arene .bw-cal-selected::before{
  content:"";position:absolute;inset:-7px;border-radius:15px;border:2px solid #9fe9ff;pointer-events:none;background:none;width:auto;height:auto;box-shadow:none;
  animation:arene-lock .55s cubic-bezier(.2,.8,.2,1) both;
}
#pulzar-booking-tenant.pz-arene .bw-cal-selected::after{
  content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;pointer-events:none;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(159,233,255,.9) 0 3deg,transparent 3deg 30deg);
  -webkit-mask:radial-gradient(closest-side,transparent 30%,#000 32%,transparent 100%);mask:radial-gradient(closest-side,transparent 30%,#000 32%,transparent 100%);
  animation:arene-eclat .7s ease-out both;
}
@keyframes arene-cell-on{0%{opacity:0;filter:brightness(2.2)}60%{opacity:1}100%{filter:none}}
@keyframes arene-lock{0%{opacity:0;transform:scale(1.7)}60%{opacity:1;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@keyframes arene-eclat{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.5)}}
@keyframes arene-spin{to{transform:rotate(360deg)}}


/* ---------- 7. Écran « Compose ta session » : jeux (.bw-games-grid, .bw-game-card) et fiche d'un jeu (.resa-page .bw-gamesheet-overlay) ---------- */
#pulzar-booking-tenant.pz-arene .bw-game-agegroup{
  display:flex;align-items:center;gap:12px;margin:24px 0 12px!important;
  font:700 11px/1 'Space Grotesk',sans-serif!important;letter-spacing:.24em!important;color:var(--pz-arene-accent,#41c0f0)!important;
}
#pulzar-booking-tenant.pz-arene .bw-game-agegroup::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.5),transparent)}
#pulzar-booking-tenant.pz-arene .bw-games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pulzar-booking-tenant.pz-arene .bw-game-card{
  position:relative;overflow:hidden;aspect-ratio:3/4;padding:0;border-radius:16px;cursor:pointer;
  background:#0d1320;border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 40px -20px rgba(0,0,0,.9);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .3s;
  animation:arene-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.pz-arene .bw-game-card:active{transform:scale(.97)}
#pulzar-booking-tenant.pz-arene .bw-game-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
#pulzar-booking-tenant.pz-arene .bw-game-card::before{
  content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:45%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.18) 50%,transparent);
  transform:translateX(-160%) skewX(-18deg);animation:arene-sheen 7s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene .bw-game-card:nth-child(2n)::before{animation-delay:1.2s}
#pulzar-booking-tenant.pz-arene .bw-game-card:nth-child(3n)::before{animation-delay:2.4s}
#pulzar-booking-tenant.pz-arene .bw-game-body{
  position:absolute!important;left:0;right:0;bottom:0;z-index:2;padding:48px 10px 10px!important;
  background:linear-gradient(180deg,rgba(8,12,20,0),rgba(8,12,20,.85) 45%,#080c14);
}
#pulzar-booking-tenant.pz-arene .bw-game-name{font:400 23px/.95 'Bebas Neue',sans-serif!important;letter-spacing:.02em;color:#fff;margin-bottom:4px;text-wrap:balance}
#pulzar-booking-tenant.pz-arene .bw-game-meta{font:500 11.5px/1.3 Inter,sans-serif!important;opacity:1!important;color:#dbe4f5}
#pulzar-booking-tenant.pz-arene .bw-game-meta + .bw-game-meta{font:600 10px/1.3 'Space Grotesk',sans-serif!important;letter-spacing:.08em;text-transform:uppercase;color:#9fb0cf;margin-top:2px}
#pulzar-booking-tenant.pz-arene .bw-game-card[data-compat="0"]{cursor:not-allowed}
#pulzar-booking-tenant.pz-arene .bw-game-card[data-compat="0"]::before{display:none}
#pulzar-booking-tenant.pz-arene .bw-game-session{
  margin-top:20px!important;padding:14px 16px!important;border-radius:16px!important;
  background:rgba(13,19,32,.8)!important;border:1px dashed rgba(var(--pz-arene-accent-rgb,65,192,240),.4)!important;
}
#pulzar-booking-tenant.pz-arene .bw-game-session > div:first-child{font-family:'Space Grotesk',sans-serif;letter-spacing:.22em!important;color:var(--pz-arene-accent,#41c0f0);opacity:1!important}
#pulzar-booking-tenant.pz-arene .bw-game-session > div + div{font-family:'Space Grotesk',sans-serif;font-size:15px}
#pulzar-booking-tenant.pz-arene:has(.bw-game-card.selected) .bw-game-session{border-style:solid!important;border-color:var(--pz-arene-accent,#41c0f0)!important;box-shadow:0 0 24px -6px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}

/* Formules : choix de l'arène (.bw-arena-choice) */
#pulzar-booking-tenant.pz-arene .bw-arena-choice{margin:4px 0 8px}
#pulzar-booking-tenant.pz-arene .bw-arena-choice-label{font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0);margin:14px 0 10px}
#pulzar-booking-tenant.pz-arene .bw-arena-choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
#pulzar-booking-tenant.pz-arene .bw-arena-choice-btn{
  min-height:52px;padding:10px 12px;border-radius:14px;cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);color:var(--pz-arene-clair,#eff9fe);
  font:400 21px/1 'Bebas Neue',sans-serif;letter-spacing:.04em;transition:all .2s;
}
#pulzar-booking-tenant.pz-arene .bw-arena-choice-btn:hover{border-color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-arena-choice-btn.sel{background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;border-color:transparent;box-shadow:0 0 22px rgba(var(--pz-arene-accent-rgb,65,192,240),.55)}


/* ---------- 8. Écran « Choisis ton créneau » (.bw-slots-compact-grid, .bw-slot-c, états complet / pris / sur réservation) ---------- */
#pulzar-booking-tenant.pz-arene #bw-gf-head{
  background:rgba(var(--pz-arene-accent-rgb,65,192,240),.08)!important;border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.3);border-radius:14px!important;
  padding:8px 8px 8px 14px!important;margin:0 0 12px!important;font:600 14px/1.3 'Space Grotesk',sans-serif;
}
#pulzar-booking-tenant.pz-arene #bw-gf-change{min-height:44px;padding:0 14px;font-size:13px}
#pulzar-booking-tenant.pz-arene .bw-slot-advice{
  margin:0 0 14px;padding:10px 12px;border-radius:12px;font:400 12.5px/1.45 Inter,sans-serif;color:#9fb0cf;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
}
/* Tableau des départs */
#pulzar-booking-tenant.pz-arene .bw-slots-compact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;border-radius:18px;
  background:#05080e;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 20px rgba(0,0,0,.8);
}
#pulzar-booking-tenant.pz-arene .bw-slot-c{
  position:relative;overflow:hidden;min-height:84px;padding:10px 4px 8px;border-radius:9px;text-align:center;cursor:pointer;
  background:linear-gradient(180deg,#141d2e 0,#111a29 49.5%,#0b111c 50.5%,#0e1522 100%);
  border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .15s,border-color .2s;
  animation:arene-flap-in .5s cubic-bezier(.3,.8,.3,1) backwards;
}
/* charnière des volets */
#pulzar-booking-tenant.pz-arene .bw-slot-c::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.85);box-shadow:0 1px 0 rgba(255,255,255,.05);pointer-events:none;
}
#pulzar-booking-tenant.pz-arene .bw-slot-c:hover:not(.bw-slot-disabled){border-color:var(--pz-arene-accent,#41c0f0);transform:translateY(-2px);box-shadow:0 0 18px -4px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}
#pulzar-booking-tenant.pz-arene .bw-slot-c:active:not(.bw-slot-disabled){transform:scale(.95)}
#pulzar-booking-tenant.pz-arene .bw-slot-c .bw-slot-c-time{
  position:relative;font:400 34px/1 'Bebas Neue',sans-serif;letter-spacing:.04em;color:var(--pz-arene-clair,#eff9fe);font-variant-numeric:tabular-nums;
  text-shadow:0 0 14px rgba(var(--pz-arene-accent-rgb,65,192,240),.45);
}
#pulzar-booking-tenant.pz-arene .bw-slot-c-end{font:500 11px/1.2 'Space Grotesk',sans-serif;color:#9fb0cf;margin-top:2px}
#pulzar-booking-tenant.pz-arene .bw-slot-c-places{font:700 9.5px/1.2 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0);margin-top:3px}
#pulzar-booking-tenant.pz-arene .bw-slot-c-price{font:700 11px 'Space Grotesk',sans-serif;color:#ffd24a}
#pulzar-booking-tenant.pz-arene .bw-slot-remaining.low{color:#ffd24a}
/* complet : barré net, en rouge */
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-disabled,
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-full,
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-occupied{opacity:1;cursor:not-allowed;background:#0a0f18;border-color:rgba(255,255,255,.05);box-shadow:none}
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-disabled .bw-slot-c-time{color:#56627a;text-shadow:none}
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-disabled .bw-slot-c-end{color:#56627a}
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-disabled::after{
  content:"";position:absolute;left:10%;right:10%;top:27px;height:3px;border-radius:2px;background:#8a95ab;transform:rotate(-9deg);pointer-events:none;
}
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-full::after{background:#f87171;box-shadow:0 0 10px rgba(248,113,113,.7)}
#pulzar-booking-tenant.pz-arene .bw-slot-c-occupied{font:700 9.5px/1.2 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#f87171;margin-top:3px}
#pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-occupied .bw-slot-c-occupied{color:#9fb0cf}
/* choisi : le volet se retourne et s'allume */
#pulzar-booking-tenant.pz-arene .bw-slot-c.selected{
  background:linear-gradient(180deg,var(--pz-arene-accent,#41c0f0) 0,#16b0ff 49.5%,#0f9bf5 50.5%,#1e90ff 100%);border-color:transparent;
  box-shadow:0 0 0 2px #05080e,0 0 0 4px var(--pz-arene-accent,#41c0f0),0 0 26px rgba(var(--pz-arene-accent-rgb,65,192,240),.8);
}
#pulzar-booking-tenant.pz-arene .bw-slot-c.selected .bw-slot-c-time{color:#04111c;text-shadow:none;animation:arene-flap .45s cubic-bezier(.3,.8,.3,1)}
#pulzar-booking-tenant.pz-arene .bw-slot-c.selected :is(.bw-slot-c-end,.bw-slot-c-places,.bw-slot-c-price){color:#04111c}
/* sur réservation : or, pointillé, numéro à appeler */
#pulzar-booking-tenant.pz-arene .bw-slot-surresa{
  min-height:84px;border-radius:9px;padding:8px 6px;justify-content:center;text-align:center;
  background:rgba(255,210,74,.06);border:1px dashed rgba(255,210,74,.7);
}
#pulzar-booking-tenant.pz-arene .bw-surresa-label{font:700 9.5px/1.2 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffd24a}
#pulzar-booking-tenant.pz-arene .bw-surresa-phone{font:600 11px/1.3 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe);margin-top:4px}
@keyframes arene-flap-in{0%{opacity:0;transform:perspective(300px) rotateX(-80deg)}100%{opacity:1;transform:none}}
@keyframes arene-flap{0%{transform:perspective(200px) rotateX(90deg)}100%{transform:none}}

/* Joueurs par tarif sous les créneaux (.bw-players-box) */
#pulzar-booking-tenant.pz-arene .bw-players-box{
  margin-top:18px!important;padding:14px 16px!important;border-radius:18px!important;
  background:rgba(13,19,32,.8)!important;border:1px solid rgba(255,255,255,.1)!important;
}
#pulzar-booking-tenant.pz-arene .bw-players-box > div:first-child{font-family:'Space Grotesk',sans-serif;letter-spacing:.24em!important;color:var(--pz-arene-accent,#41c0f0);opacity:1!important}
#pulzar-booking-tenant.pz-arene .bw-players-box strong{font:400 28px/1 'Bebas Neue',sans-serif}
#pulzar-booking-tenant.pz-arene .bw-players-box .bw-places-btn{width:44px;height:44px;font-size:22px}


/* ---------- 9. Écran « Extras » et « Options » (.bw-extras-*, .bw-extra-*, .bw-locked-card) ---------- */
/* Carte du bar : catégories en accordéon, prix en or, quantités nettes. */
#pulzar-booking-tenant.pz-arene .bw-section-title{
  display:flex;align-items:center;gap:12px;padding:0;border:0;
  font:700 11px/1 'Space Grotesk',sans-serif!important;letter-spacing:.24em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0)!important;
}
#pulzar-booking-tenant.pz-arene .bw-section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.5),transparent)}
#pulzar-booking-tenant.pz-arene .bw-extras-section{
  padding:6px 16px 10px;border-radius:22px;
  background:linear-gradient(172deg,rgba(255,255,255,.045),rgba(255,255,255,.014));border:1px solid rgba(255,255,255,.09);
}
#pulzar-booking-tenant.pz-arene .bw-extras-section .bw-section-title{margin:14px 0 4px!important}
#pulzar-booking-tenant.pz-arene .bw-extras-cat-h{
  min-height:58px;margin:0!important;padding:14px 2px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;
  background:transparent!important;color:var(--pz-arene-clair,#eff9fe)!important;font:400 25px/1 'Bebas Neue',sans-serif!important;letter-spacing:.04em;
  transition:color .2s;
}
#pulzar-booking-tenant.pz-arene .bw-extras-cat-h > span:not(.bw-acc-chev){font-family:'Space Grotesk',sans-serif;opacity:1!important;color:#9fb0cf;font-size:12px!important}
#pulzar-booking-tenant.pz-arene .bw-acc-chev{
  display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35);color:var(--pz-arene-accent,#41c0f0);opacity:1!important;font-size:10px!important;
}
#pulzar-booking-tenant.pz-arene .bw-extras-cat-h:has(+ .bw-acc-body:not([style*="display:none"]):not([style*="display: none"])){color:var(--pz-arene-accent,#41c0f0)!important;border-bottom-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.4)!important}
#pulzar-booking-tenant.pz-arene .bw-extras-grid{display:flex;flex-direction:column;gap:0;margin-top:0!important;padding:2px 0 8px}
#pulzar-booking-tenant.pz-arene .bw-extra-item{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;
  padding:10px 2px;margin:0;border:0;border-bottom:1px dashed rgba(255,255,255,.09);border-radius:0;background:none;box-shadow:none;
  animation:arene-card-in .4s ease-out backwards;
}
#pulzar-booking-tenant.pz-arene .bw-extra-item:last-child{border-bottom:0}
#pulzar-booking-tenant.pz-arene .bw-extra-name{grid-column:1;font:500 15px/1.3 Inter,sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-extra-desc{grid-column:1;font-size:12px;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-extra-foot{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;gap:12px;margin:0}
#pulzar-booking-tenant.pz-arene .bw-extra-price{font:400 23px/1 'Bebas Neue',sans-serif;letter-spacing:.03em;color:#ffd24a;min-width:40px;text-align:right}
#pulzar-booking-tenant.pz-arene .bw-extra-qty{display:flex;align-items:center;gap:4px}
#pulzar-booking-tenant.pz-arene .bw-extra-qty-btn{
  width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.4);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.06);color:var(--pz-arene-clair,#eff9fe);font:500 20px/1 'Space Grotesk',sans-serif;
  transition:transform .12s,background .2s;
}
#pulzar-booking-tenant.pz-arene .bw-extra-qty-btn[data-action="+"]{background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.pz-arene .bw-extra-qty-btn:active{transform:scale(.9)}
#pulzar-booking-tenant.pz-arene .bw-extra-qty-val{min-width:24px;text-align:center;font:400 28px/1 'Bebas Neue',sans-serif;color:#fff}
#pulzar-booking-tenant.pz-arene .bw-extras-subtotal{margin-top:12px;padding:12px 2px 4px;border-top:1px solid rgba(255,255,255,.1);font:600 14px 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
/* Session verrouillée */
#pulzar-booking-tenant.pz-arene .bw-locked-card{border-radius:18px;background:linear-gradient(172deg,rgba(255,255,255,.045),rgba(255,255,255,.014));border:1px solid rgba(255,255,255,.1)}
#pulzar-booking-tenant.pz-arene .bw-locked-img{border-radius:12px}
#pulzar-booking-tenant.pz-arene .bw-locked-pill{font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ffd24a}
#pulzar-booking-tenant.pz-arene .bw-locked-name{font:400 28px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;margin:4px 0}
#pulzar-booking-tenant.pz-arene .bw-locked-sub{font-size:13px;color:#9fb0cf}


/* ---------- 10. Formules anniversaire et EVG (.bw-tranche-card, .bw-formule-grid, .bw-pkg-card, .bw-arena-choice-*) ---------- */
#pulzar-booking-tenant.pz-arene .bw-activity-grid:has(.bw-tranche-card){grid-template-columns:minmax(0,1fr)}
#pulzar-booking-tenant.pz-arene .bw-tranche-card .bw-activity-cover{aspect-ratio:16/10}
#pulzar-booking-tenant.pz-arene .bw-tranche-card .bw-activity-name{font-size:36px}
#pulzar-booking-tenant.pz-arene .bw-formule-grid{display:flex;flex-direction:column;gap:14px}
#pulzar-booking-tenant.pz-arene .bw-pkg-card{
  position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:22px;cursor:pointer;
  background:linear-gradient(172deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.07),rgba(13,19,32,.85) 50%);border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 50px -26px rgba(0,0,0,.9);transition:transform .3s,border-color .25s;
  animation:arene-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.pz-arene .bw-pkg-card::before{
  content:"";position:absolute;top:-40%;bottom:-40%;left:0;width:35%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.08) 50%,transparent);
  transform:translateX(-200%) skewX(-18deg);animation:arene-sheen 7s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene .bw-pkg-card:active{transform:scale(.98)}
#pulzar-booking-tenant.pz-arene .bw-formule-name{margin:0 0 8px;font:400 34px/.92 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#fff}
#pulzar-booking-tenant.pz-arene .bw-formule-desc{margin:0 0 10px;font:400 14px/1.5 Inter,sans-serif;color:#c3cede}
#pulzar-booking-tenant.pz-arene .bw-formule-price{padding:12px 0!important;margin:10px 0!important;border-top:1px dashed rgba(255,255,255,.12);border-bottom:1px dashed rgba(255,255,255,.12)}
#pulzar-booking-tenant.pz-arene .bw-formule-price strong{font:400 36px/1 'Bebas Neue',sans-serif!important;letter-spacing:.02em;color:#fff;text-shadow:0 0 18px rgba(var(--pz-arene-accent-rgb,65,192,240),.45)}
#pulzar-booking-tenant.pz-arene .bw-formule-price-label{font:700 10px/1.2 'Space Grotesk',sans-serif!important;letter-spacing:.12em!important;opacity:1!important;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-formule-includes{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
#pulzar-booking-tenant.pz-arene .bw-formule-includes-label{width:100%;font:700 10.5px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-formule-chip{padding:5px 10px;border-radius:9px;background:rgba(var(--pz-arene-accent-rgb,65,192,240),.06);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.22);font:500 12.5px/1.35 Inter,sans-serif;color:#dbe4f5}
#pulzar-booking-tenant.pz-arene .bw-formule-meta{display:flex;flex-wrap:wrap;gap:6px}
#pulzar-booking-tenant.pz-arene .bw-formule-meta span{padding:4px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.16);font:600 11px 'Space Grotesk',sans-serif;letter-spacing:.04em;color:#dbe4f5}
#pulzar-booking-tenant.pz-arene .bw-formule-meta span::before{display:none}


/* ---------- 11. Récapitulatif et paiement (.bw-recap, .bw-pay-mode, .bw-tier-counter, .bw-total, .bw-field, .bw-input, .bw-codes-section, .bw-cgv) ---------- */
/* Le récapitulatif en billet d'embarquement : encoches, perforation, code-barres. */
#pulzar-booking-tenant.pz-arene .bw-recap{
  position:relative;overflow:hidden;padding:52px 18px 12px;margin-bottom:18px;border-radius:20px;
  background:
    url(/_pulzar/immersive/assets/symbole-zero-latency.webp) 16px 10px/40px 24px no-repeat,
    linear-gradient(172deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.12),rgba(13,19,32,.92) 38%);
  border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35);box-shadow:0 30px 60px -30px rgba(var(--pz-arene-accent-rgb,65,192,240),.45);
  -webkit-mask:radial-gradient(circle 11px at 0 42px,transparent 10px,#000 11px) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 42px,transparent 10px,#000 11px) right/51% 100% no-repeat;
          mask:radial-gradient(circle 11px at 0 42px,transparent 10px,#000 11px) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 42px,transparent 10px,#000 11px) right/51% 100% no-repeat;
  animation:arene-card-in .6s cubic-bezier(.2,.8,.2,1) .1s backwards;
}
#pulzar-booking-tenant.pz-arene .bw-recap::before{content:"";position:absolute;left:16px;right:16px;top:42px;border-top:2px dashed rgba(255,255,255,.16)}
#pulzar-booking-tenant.pz-arene .bw-recap::after{
  content:"";position:absolute;top:13px;right:18px;width:96px;height:18px;opacity:.7;
  background:repeating-linear-gradient(90deg,#9fb0cf 0 2px,transparent 2px 4px,#9fb0cf 4px 5px,transparent 5px 8px,#9fb0cf 8px 11px,transparent 11px 13px);
}
#pulzar-booking-tenant.pz-arene .bw-recap-row{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.09);align-items:baseline}
#pulzar-booking-tenant.pz-arene .bw-recap-key{font:700 10px/1.3 'Space Grotesk',sans-serif;letter-spacing:.18em;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-recap-val{font:600 14.5px/1.3 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-recap-tier-badge{padding:4px 8px;border-radius:6px;font:700 10px/1 'Space Grotesk',sans-serif;letter-spacing:.08em;color:#04111c;background:#ffd24a!important}

/* Total : très visible */
#pulzar-booking-tenant.pz-arene .bw-total{
  position:relative;overflow:hidden;gap:12px;padding:18px 18px;margin:16px 0 8px;border-radius:20px;color:var(--pz-arene-clair,#eff9fe);
  background:linear-gradient(135deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.18),rgba(30,144,255,.08));border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.55);
  box-shadow:0 0 44px -12px rgba(var(--pz-arene-accent-rgb,65,192,240),.6),inset 0 0 30px rgba(var(--pz-arene-accent-rgb,65,192,240),.08);
}
#pulzar-booking-tenant.pz-arene .bw-total-key{font:700 11px/1.2 'Space Grotesk',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0);opacity:1}
#pulzar-booking-tenant.pz-arene .bw-total-detail{margin-top:4px;font:400 12px/1.4 Inter,sans-serif;color:#c3cede;opacity:1}
#pulzar-booking-tenant.pz-arene .bw-total-val{font:400 58px/.9 'Bebas Neue',sans-serif;letter-spacing:.01em;color:#fff;white-space:nowrap;text-shadow:0 0 26px rgba(var(--pz-arene-accent-rgb,65,192,240),.8)}
#pulzar-booking-tenant.pz-arene details.bw-total-vat-details{font-size:12.5px!important;color:#9fb0cf!important}
#pulzar-booking-tenant.pz-arene details.bw-total-vat-details summary{min-height:32px;display:flex;align-items:center}

/* Mode de paiement */
#pulzar-booking-tenant.pz-arene .bw-pay-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
#pulzar-booking-tenant.pz-arene .bw-pay-mode{
  display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:14px 12px;border-radius:16px;cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);transition:all .2s;
}
#pulzar-booking-tenant.pz-arene .bw-pay-mode input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--pz-arene-accent,#41c0f0);flex:none}
#pulzar-booking-tenant.pz-arene .bw-pay-mode.sel{background:rgba(var(--pz-arene-accent-rgb,65,192,240),.1);border-color:var(--pz-arene-accent,#41c0f0);box-shadow:0 0 22px -6px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}
#pulzar-booking-tenant.pz-arene .bw-pm-title{font:600 13px/1.3 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-pm-amount{margin-top:4px;font:400 26px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-pay-mode:not(.sel) .bw-pm-amount{font:600 12px/1.35 'Space Grotesk',sans-serif;letter-spacing:0;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-pay-mode > div{min-width:0;overflow-wrap:anywhere}
#pulzar-booking-tenant.pz-arene .bw-pm-sub{font-size:11.5px;color:#9fb0cf}

/* Tarif client (compteurs) */
#pulzar-booking-tenant.pz-arene .bw-tier-counters{display:flex;flex-direction:column;gap:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(13,19,32,.7)}
#pulzar-booking-tenant.pz-arene .bw-tier-counter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 8px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:none;border-radius:0}
#pulzar-booking-tenant.pz-arene .bw-tier-counter:last-child{border-bottom:0}
#pulzar-booking-tenant.pz-arene .bw-tier-counter-name{font:600 14px 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-tier-counter-controls{display:flex;align-items:center;gap:6px}
#pulzar-booking-tenant.pz-arene .bw-tier-cnt-btn{width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.4);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.06);color:var(--pz-arene-clair,#eff9fe);font:500 20px/1 'Space Grotesk',sans-serif}
#pulzar-booking-tenant.pz-arene .bw-tier-cnt-btn[data-action="+"]{background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.pz-arene .bw-tier-cnt-btn:active{transform:scale(.9)}
#pulzar-booking-tenant.pz-arene .bw-tier-cnt-val{min-width:26px;text-align:center;font:400 28px/1 'Bebas Neue',sans-serif;color:#fff}
/* Durée : boutons en ligne, le choisi garde son style en ligne cyan */
#pulzar-booking-tenant.pz-arene .bw-dur-btn{min-height:60px;border-radius:14px!important;font-family:'Space Grotesk',sans-serif!important}
#pulzar-booking-tenant.pz-arene .bw-dur-btn strong{font:400 22px/1.1 'Bebas Neue',sans-serif;letter-spacing:.03em}
#pulzar-booking-tenant.pz-arene .bw-dur-btn[style*="var(--bw-accent)"]{box-shadow:0 0 20px -4px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}

/* Champs : sobres, lisibles, 16 px (pas de zoom iPhone) */
#pulzar-booking-tenant.pz-arene .bw-field{margin-bottom:14px}
#pulzar-booking-tenant.pz-arene .bw-label{display:block;margin-bottom:6px;font:600 12.5px/1.3 'Space Grotesk',sans-serif;letter-spacing:.04em;color:#c3cede}
#pulzar-booking-tenant.pz-arene .bw-required::after{color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-input{
  width:100%;min-height:50px;padding:12px 14px;border-radius:13px;box-sizing:border-box;
  background:rgba(8,12,20,.7);border:1px solid rgba(255,255,255,.16);color:var(--pz-arene-clair,#eff9fe);
  font:400 16px/1.35 Inter,sans-serif;transition:border-color .2s,box-shadow .2s;
}
#pulzar-booking-tenant.pz-arene .bw-input::placeholder{color:#6b7894}
#pulzar-booking-tenant.pz-arene .bw-input:focus{outline:none;border-color:var(--pz-arene-accent,#41c0f0);box-shadow:0 0 0 3px rgba(var(--pz-arene-accent-rgb,65,192,240),.22)}
#pulzar-booking-tenant.pz-arene textarea.bw-input{min-height:78px;resize:vertical}
#pulzar-booking-tenant.pz-arene select.bw-input{
  -webkit-appearance:none;appearance:none;padding-right:40px;
  background:rgba(8,12,20,.7) var(--pz-arene-fleche,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2341c0f0' stroke-width='1.8'/%3E%3C/svg%3E")) right 14px center/12px 8px no-repeat;
}
#pulzar-booking-tenant.pz-arene .bw-extras-recap{background:rgba(13,19,32,.7)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important}
#pulzar-booking-tenant.pz-arene .bw-extras-recap-edit{min-height:32px}
/* Message d'arrivée : ne se rate pas */
#pulzar-booking-tenant.pz-arene .bw-arrival-msg{
  display:flex;align-items:center;gap:10px;margin-top:16px!important;padding:13px 14px!important;border-radius:14px!important;
  background:rgba(255,210,74,.1)!important;border:1px solid rgba(255,210,74,.5)!important;border-left:4px solid #ffd24a!important;
  color:#ffe9a3!important;font:600 14px/1.35 'Space Grotesk',sans-serif!important;
}
#pulzar-booking-tenant.pz-arene .bw-arrival-msg::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:#ffd24a;box-shadow:0 0 10px #ffd24a;animation:arene-frame 1.4s ease-in-out infinite}
/* Codes promo, carte cadeau, abonnement */
#pulzar-booking-tenant.pz-arene .bw-codes-section{margin-top:22px}
#pulzar-booking-tenant.pz-arene .bw-codes-section .bw-section-title{margin:14px 0 8px}
#pulzar-booking-tenant.pz-arene .bw-code-row{display:flex;gap:8px}
#pulzar-booking-tenant.pz-arene .bw-code-row .bw-input{flex:1;min-width:0;font-family:'Space Grotesk',sans-serif;letter-spacing:.08em}
#pulzar-booking-tenant.pz-arene .bw-code-apply{flex:none;min-height:50px;padding:0 16px}
#pulzar-booking-tenant.pz-arene .bw-b2b-section{background:rgba(13,19,32,.7)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important}
#pulzar-booking-tenant.pz-arene .bw-check-row{min-height:28px;color:#c3cede!important}
#pulzar-booking-tenant.pz-arene .bw-check-row input{accent-color:var(--pz-arene-accent,#41c0f0)!important;width:20px!important;height:20px!important}
/* Mentions légales et CGV : lisibles */
#pulzar-booking-tenant.pz-arene .bw-legal-note{margin:16px 0 10px!important;font-size:12px!important;line-height:1.55!important;color:#b9c6dd!important}
#pulzar-booking-tenant.pz-arene .bw-legal-note a,
#pulzar-booking-tenant.pz-arene .bw-cgv-text a,
#pulzar-booking-tenant.pz-arene .bw-cgv-link{color:var(--pz-arene-accent,#41c0f0)!important;text-decoration:underline!important;text-underline-offset:2px}
#pulzar-booking-tenant.pz-arene .bw-cgv{
  display:flex;align-items:flex-start;gap:12px;padding:14px;margin-bottom:10px;border-radius:16px;cursor:pointer;
  background:rgba(13,19,32,.8);border:1px solid rgba(255,255,255,.12);
}
#pulzar-booking-tenant.pz-arene .bw-cgv:has(#bw-cgv:checked){border-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.55);box-shadow:0 0 20px -8px rgba(var(--pz-arene-accent-rgb,65,192,240),.6)}
#pulzar-booking-tenant.pz-arene .bw-cgv input{width:22px;height:22px;margin:0;accent-color:var(--pz-arene-accent,#41c0f0);flex:none}
#pulzar-booking-tenant.pz-arene .bw-cgv-text{font:400 13px/1.5 Inter,sans-serif;color:#c3cede}
#pulzar-booking-tenant.pz-arene .bw-mkt-optin{background:transparent;border-color:rgba(255,255,255,.07)}
#pulzar-booking-tenant.pz-arene #bw-checkout-error:not(:empty){
  margin:10px 0;padding:12px 14px;border-radius:14px;background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.5);color:#fecaca;font:600 13.5px/1.4 'Space Grotesk',sans-serif;
}


/* ---------- 12. Carte cadeau (.bw-gift-amounts, .bw-gift-amount) ---------- */
#pulzar-booking-tenant.pz-arene .bw-gift-amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pulzar-booking-tenant.pz-arene .bw-gift-amount{
  position:relative;overflow:hidden;min-height:92px;padding:14px 0;border-radius:18px;cursor:pointer;
  background:linear-gradient(172deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.12);color:#fff;
  font:400 44px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;transition:transform .15s,border-color .2s;
  animation:arene-card-in .5s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.pz-arene .bw-gift-amount:active{transform:scale(.95)}
#pulzar-booking-tenant.pz-arene .bw-gift-amount.selected{background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;border-color:transparent;box-shadow:0 0 0 2px #080c14,0 0 0 4px var(--pz-arene-accent,#41c0f0),0 0 30px rgba(var(--pz-arene-accent-rgb,65,192,240),.7)}
#pulzar-booking-tenant.pz-arene .bw-gift-amount-custom{
  grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 16px;border-radius:18px;
  background:rgba(8,12,20,.7);border:1px dashed rgba(var(--pz-arene-accent-rgb,65,192,240),.45);font:600 13px 'Space Grotesk',sans-serif;color:#9fb0cf;
}
#pulzar-booking-tenant.pz-arene .bw-gift-amount-custom input{flex:1;min-width:0;min-height:44px;background:transparent;border:0;color:#fff;text-align:right;font:400 34px/1 'Bebas Neue',sans-serif;outline:none}
#pulzar-booking-tenant.pz-arene .bw-gift-amount-custom span:last-child{font:400 30px/1 'Bebas Neue',sans-serif;color:#fff}


/* ---------- 13. Panier « Ta réservation » (.bw-cart-sticky) et pied à bouton (.bw-footer, #bw-next, #bw-back) ---------- */
#pulzar-booking-tenant.pz-arene .bw-cart-sticky:not(.bw-cart-hidden){
  margin-top:20px;padding:16px 18px;border-radius:20px;color:var(--pz-arene-clair,#eff9fe);
  background:linear-gradient(172deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.08),rgba(13,19,32,.92) 45%);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.28);
  box-shadow:0 24px 50px -24px rgba(0,0,0,.9);
}
#pulzar-booking-tenant.pz-arene .bw-cart-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-cart-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--pz-arene-accent-rgb,65,192,240),.5),transparent)}
#pulzar-booking-tenant.pz-arene .bw-cart-row{font:500 13.5px/1.35 Inter,sans-serif;color:#dbe4f5}
#pulzar-booking-tenant.pz-arene .bw-cart-lbl{font:600 14px/1.3 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
#pulzar-booking-tenant.pz-arene .bw-cart-row > .bw-cart-lbl:only-child{flex:1}
#pulzar-booking-tenant.pz-arene .bw-cart-val{font:600 13px 'Space Grotesk',sans-serif;color:#9fb0cf}
#pulzar-booking-tenant.pz-arene .bw-cart-divider{background:rgba(255,255,255,.08)}
#pulzar-booking-tenant.pz-arene .bw-cart-total{align-items:baseline;margin-top:6px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.14);font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--pz-arene-accent,#41c0f0)}
#pulzar-booking-tenant.pz-arene .bw-cart-total strong{text-wrap:balance;font:400 28px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;text-transform:none;color:#fff;text-shadow:0 0 18px rgba(var(--pz-arene-accent-rgb,65,192,240),.6);text-align:right}

/* Pied : toujours visible, collé en bas */
#pulzar-booking-tenant.pz-arene .bw-footer{
  position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:stretch;gap:10px;margin:0;
  padding:14px max(14px,calc((100% - 600px)/2 + 14px)) calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(8,12,20,0),rgba(8,12,20,.9) 26%,#080c14);border:0;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
#pulzar-booking-tenant.pz-arene .bw-btn{
  font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:normal;
  border-radius:16px;cursor:pointer;transition:transform .12s,box-shadow .2s,background .2s;
}
#pulzar-booking-tenant.pz-arene .bw-footer .bw-btn{min-height:58px}
/* Bouton principal : dégradé cyan → bleu, halo, reflet qui passe, enfoncement au toucher */
#pulzar-booking-tenant.pz-arene .bw-btn-primary{
  position:relative;overflow:hidden;isolation:isolate;flex:1;padding:12px 18px;border:0;text-wrap:balance;
  background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;font-size:16px;
  box-shadow:0 14px 34px -10px rgba(var(--pz-arene-accent-rgb,65,192,240),.85),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 0 rgba(4,17,28,.25);
}
#pulzar-booking-tenant.pz-arene .bw-btn-primary::before{
  content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:36%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6) 50%,transparent);
  transform:translateX(-200%) skewX(-20deg);animation:arene-btn-sheen 3.4s ease-in-out infinite;
}
#pulzar-booking-tenant.pz-arene .bw-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 40px -10px rgba(var(--pz-arene-accent-rgb,65,192,240),.95),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 0 rgba(4,17,28,.25)}
#pulzar-booking-tenant.pz-arene .bw-btn-primary:active:not(:disabled){transform:translateY(2px) scale(.98);box-shadow:0 4px 14px -6px rgba(var(--pz-arene-accent-rgb,65,192,240),.8),inset 0 2px 6px rgba(4,17,28,.35)}
#pulzar-booking-tenant.pz-arene .bw-btn-primary:disabled{
  opacity:1;cursor:not-allowed;background:#131d30;color:#8391ad;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#pulzar-booking-tenant.pz-arene .bw-btn-primary:disabled::before{display:none}
/* Paiement : le bouton respire (mention légale imposée, sur deux lignes si besoin) */
#pulzar-booking-tenant.pz-arene #bw-pay{min-height:64px;font-size:15px;padding:10px 16px}
#pulzar-booking-tenant.pz-arene #bw-pay:not(:disabled){animation:arene-pay 2.6s ease-in-out infinite}
/* Retour : discret mais toujours là */
#pulzar-booking-tenant.pz-arene .bw-btn-ghost,
#pulzar-booking-tenant.pz-arene .bw-btn-secondary{
  flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:16px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);color:var(--pz-arene-clair,#eff9fe);font-size:14px;
}
#pulzar-booking-tenant.pz-arene .bw-btn-ghost:hover:not(:disabled),
#pulzar-booking-tenant.pz-arene .bw-btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.09);border-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.5)}
#pulzar-booking-tenant.pz-arene .bw-btn-ghost:active,
#pulzar-booking-tenant.pz-arene .bw-btn-secondary:active{transform:scale(.96)}
#pulzar-booking-tenant.pz-arene .bw-footer .bw-btn-secondary:only-child,
#pulzar-booking-tenant.pz-arene .bw-footer .bw-btn-ghost:only-child{flex:0 0 auto}
@keyframes arene-btn-sheen{0%,55%{transform:translateX(-200%) skewX(-20deg)}100%{transform:translateX(420%) skewX(-20deg)}}
@keyframes arene-pay{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}


/* ---------- 14. Fenêtres posées dans <body> (.bw-gamesheet-overlay, .bw-si-ov, .bw-surresa-modal-overlay, .bw-toast) ---------- */
/* Fiche d'un jeu : feuille qui monte du bas, affiche plein cadre. */
.resa-page .bw-gamesheet-overlay{align-items:flex-end;padding:0;background:rgba(4,7,14,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.resa-page .bw-gamesheet{
  width:100%;max-width:520px;max-height:92vh;border-radius:28px 28px 0 0;color:var(--pz-arene-clair,#eff9fe);
  background:linear-gradient(172deg,#111a2b,#080c14 60%);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35);border-bottom:0;
  box-shadow:0 -24px 70px -10px rgba(var(--pz-arene-accent-rgb,65,192,240),.3);transform:translateY(60px);transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.resa-page .bw-gamesheet-overlay.open .bw-gamesheet{transform:none}
.resa-page .bw-gamesheet-media{position:relative;overflow:hidden;border-radius:28px 28px 0 0}
.resa-page .bw-gamesheet-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,12,20,0) 45%,#0e1627 100%)}
.resa-page .bw-gamesheet-img{height:auto;aspect-ratio:16/10;border-radius:0}
.resa-page .bw-gamesheet-play{
  z-index:2;width:74px;height:74px;border:1px solid var(--pz-arene-accent,#41c0f0);background:rgba(var(--pz-arene-accent-rgb,65,192,240),.22);color:#fff;font-size:24px;
  box-shadow:0 0 0 8px rgba(var(--pz-arene-accent-rgb,65,192,240),.12),0 0 34px rgba(var(--pz-arene-accent-rgb,65,192,240),.6);animation:arene-play 2.2s ease-in-out infinite;
}
.resa-page .bw-gamesheet-play:hover{background:var(--pz-arene-accent,#41c0f0);color:#04111c}
.resa-page .bw-gamesheet-body{padding:6px 22px 4px;margin-top:-26px;position:relative;z-index:1}
.resa-page .bw-gamesheet-name{font:400 48px/.9 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#fff;text-shadow:0 0 26px rgba(var(--pz-arene-accent-rgb,65,192,240),.5);margin-bottom:8px}
.resa-page .bw-gamesheet-genre{font:700 12px/1.2 'Space Grotesk',sans-serif;letter-spacing:.2em;color:var(--pz-arene-accent,#41c0f0);margin-bottom:8px}
.resa-page .bw-gamesheet-meta{font:500 13px/1.4 'Space Grotesk',sans-serif;color:#9fb0cf;margin-bottom:12px}
.resa-page .bw-gamesheet-desc{font:400 15px/1.55 Inter,sans-serif;color:#c3cede}
.resa-page .bw-gamesheet-foot{display:flex;gap:10px;padding:14px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,12,20,0),#080c14 30%)}
.resa-page .bw-gamesheet-foot .bw-btn{min-height:58px;border-radius:16px;font:700 16px/1.2 'Space Grotesk',sans-serif;cursor:pointer}
.resa-page .bw-gamesheet-close{flex:0 0 auto;padding:0 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);color:var(--pz-arene-clair,#eff9fe)}
.resa-page .bw-gamesheet-ok{flex:1;border:0;background:linear-gradient(135deg,var(--pz-arene-accent,#41c0f0),#1e90ff);color:#04111c;box-shadow:0 14px 34px -10px rgba(var(--pz-arene-accent-rgb,65,192,240),.85),inset 0 1px 0 rgba(255,255,255,.4)}
.resa-page .bw-gamesheet-ok:active{transform:translateY(2px) scale(.98)}
@keyframes arene-play{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
/* Fiche d'une salle */
.resa-page .bw-si-ov{background:rgba(4,7,14,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.resa-page .bw-si-box{
  border-radius:24px;padding:26px 22px;color:var(--pz-arene-clair,#eff9fe);
  background:linear-gradient(172deg,#111a2b,#080c14 60%);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35);box-shadow:0 30px 80px -20px rgba(var(--pz-arene-accent-rgb,65,192,240),.3);
  animation:arene-card-in .45s cubic-bezier(.2,.8,.2,1) backwards;
}
.resa-page .bw-si-box h3{font:400 40px/.95 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#fff;text-shadow:0 0 22px rgba(var(--pz-arene-accent-rgb,65,192,240),.5)}
.resa-page .bw-si-desc{font:400 15px/1.55 Inter,sans-serif;color:#c3cede}
.resa-page .bw-si-mrow{font:500 14px 'Space Grotesk',sans-serif;color:var(--pz-arene-clair,#eff9fe)}
.resa-page .bw-si-mrow svg,.resa-page .bw-si-link{color:var(--pz-arene-accent,#41c0f0)}
.resa-page .bw-si-dot.on{background:var(--pz-arene-accent,#41c0f0);box-shadow:0 0 8px var(--pz-arene-accent,#41c0f0)}
.resa-page .bw-si-perfect{background:rgba(var(--pz-arene-accent-rgb,65,192,240),.08);border-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.35);color:#c9f2ff}
.resa-page .bw-si-close{min-width:44px;min-height:44px;color:var(--pz-arene-clair,#eff9fe)}
/* Créneau sur réservation */
.resa-page .bw-surresa-modal-overlay{background:rgba(4,7,14,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.resa-page .bw-surresa-modal{border-radius:24px;background:linear-gradient(172deg,#111a2b,#080c14);border:1px dashed rgba(255,210,74,.6);color:var(--pz-arene-clair,#eff9fe)}
.resa-page .bw-surresa-modal-title{font:400 32px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#ffd24a}
.resa-page .bw-surresa-modal-body{font:400 15px/1.5 Inter,sans-serif;color:#c3cede}
/* Notification */
.resa-page .bw-toast{bottom:calc(96px + env(safe-area-inset-bottom));padding:13px 20px;border-radius:14px;background:#0d1320;color:var(--pz-arene-clair,#eff9fe);border:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.45);font:600 14px/1.35 'Space Grotesk',sans-serif;box-shadow:0 16px 40px -10px rgba(var(--pz-arene-accent-rgb,65,192,240),.45)}
.resa-page .bw-toast.success{border-color:var(--pz-arene-accent,#41c0f0);color:#c9f2ff}
.resa-page .bw-toast.error{background:#1e0f16;border-color:#f87171;color:#fecaca}


/* ---------- 15. Tablette (640 px et plus) puis PC (1024 px et plus) ----------
   Refait sur retour d'Aymeric : « parfait sur smartphone mais sur PC et tablette horrible ».
   La mise en page livrée (grille contenu + panier à droite) écrasait la grande carte à zéro de hauteur, bridait le
   contenu dans un tiers de l'écran et faisait flotter les boutons sur le contenu.
   Choix d'Aymeric (QCM) : vraie page PC, cartes à quatre ou cinq par ligne, barre de boutons fixe sur toute la
   largeur, panier placé comme sur mobile, sous le contenu. */
@media (min-width:640px){
  #pulzar-booking-tenant.pz-arene{border-radius:0;box-shadow:none;overflow:visible;margin-top:0}
  #pulzar-booking-tenant.pz-arene .bw-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #pulzar-booking-tenant.pz-arene .bw-games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pulzar-booking-tenant.pz-arene .bw-slots-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #pulzar-booking-tenant.pz-arene .bw-gift-amounts{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pulzar-booking-tenant.pz-arene .bw-cal-cell{min-height:64px}
  #pulzar-booking-tenant.pz-arene .bw-cal-day{font-size:28px}
  #pulzar-booking-tenant.pz-arene .bw-cal-price{font-size:10.5px}
  #pulzar-booking-tenant.pz-arene .bw-cal-sr{font-size:9px!important}
  /* anniversaire et EVG en format large, carte cadeau en bandeau : plus d'affiches seules sur une ligne vide */
  #pulzar-booking-tenant.pz-arene .bw-activity-grid:has(.bw-family-card){grid-template-columns:repeat(2,minmax(0,1fr))}
  #pulzar-booking-tenant.pz-arene .bw-family-card .bw-activity-cover.bw-cover-natural{aspect-ratio:16/10!important}
  #pulzar-booking-tenant.pz-arene .bw-activity-grid:has(.bw-gift-card){grid-template-columns:minmax(0,1fr)}
  #pulzar-booking-tenant.pz-arene .bw-gift-card .bw-activity-cover{aspect-ratio:3/1}
  #pulzar-booking-tenant.pz-arene .bw-activity-grid:has(.bw-tranche-card){grid-template-columns:repeat(2,minmax(0,1fr))}
  /* écran 1 : le fusil, le titre et le sous-titre au centre */
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step-title,
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step-sub{text-align:center;margin-inline:auto}
  /* barre du bas : fond plein, Retour à gauche, bouton principal à droite, alignés sur les bords du contenu */
  #pulzar-booking-tenant.pz-arene .bw-footer{
    padding:14px max(var(--pad,20px),calc((100% - 1180px)/2)) calc(14px + env(safe-area-inset-bottom));
    background:rgba(8,12,20,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-top:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.16);
  }
  #pulzar-booking-tenant.pz-arene .bw-footer .bw-btn-primary{flex:0 1 440px;margin-left:auto}
}
@media (min-width:1024px){
  .resa-main .wrap{width:min(100% - 64px,1280px)}
  #pulzar-booking-tenant.pz-arene{max-width:none;margin:0 auto;padding-bottom:calc(120px + env(safe-area-inset-bottom))}
  #pulzar-booking-tenant.pz-arene > .bw-stepper{gap:10px;padding-top:12px}
  #pulzar-booking-tenant.pz-arene .bw-step-pill-label{font-size:11.5px}
  #pulzar-booking-tenant.pz-arene .bw-main{max-width:none}
  #pulzar-booking-tenant.pz-arene .bw-footer{padding-inline:max(32px,calc((100% - 1280px)/2))}
  /* Écrans de saisie (joueurs, date, extras, récapitulatif) : centrés sur 860 px, petit fusil dans leur coin.
     Écrans à cartes (activités, formules, jeux, créneaux) : toute la largeur. */
  #pulzar-booking-tenant.pz-arene .bw-step:not(:has(.bw-activity-grid,.bw-games-grid,.bw-slots-compact-grid,.bw-formule-grid)){max-width:860px;margin-inline:auto}
  /* la racine du module est une colonne flexible : avec des marges automatiques, le panier se rétrécirait à son contenu */
  #pulzar-booking-tenant.pz-arene .bw-cart-sticky:not(.bw-cart-hidden){width:100%;max-width:860px;margin:24px auto 0;box-sizing:border-box}
  #pulzar-booking-tenant.pz-arene .bw-step-title{font-size:80px;text-align:center;padding:0 130px}
  #pulzar-booking-tenant.pz-arene .bw-step-sub{font-size:16px;max-width:64ch;margin-inline:auto;text-align:center}
  #pulzar-booking-tenant.pz-arene .bw-step::before{width:110px;height:81px;top:8px}
  #pulzar-booking-tenant.pz-arene .bw-step:has(.selected)::after{right:98px;top:57px;width:min(560px,50%)}
  /* écran 1 : grand fusil centré au-dessus du titre */
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step{--gun-h:260px}
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step::before{margin:0 0 8px}
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step-title{font-size:96px;padding:0}
  /* activités : la grande carte sur deux lignes, à côté de quatre affiches. La grille du module aligne ses cartes en
     haut (align-items:start) : la grande carte doit s'étirer elle-même, puis sa photo la remplit (flex). */
  #pulzar-booking-tenant.pz-arene .bw-activity-grid{gap:18px}
  #pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured{grid-column:span 2;grid-row:span 2;align-self:stretch;display:flex;flex-direction:column}
  #pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-cover{flex:1 1 auto;aspect-ratio:auto;height:auto;min-height:0}
  #pulzar-booking-tenant.pz-arene .bw-activity-card.bw-featured .bw-activity-name{font-size:56px}
  #pulzar-booking-tenant.pz-arene .bw-gift-card .bw-activity-cover{aspect-ratio:5/1}
  /* jeux, créneaux, formules, montants */
  #pulzar-booking-tenant.pz-arene .bw-games-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  #pulzar-booking-tenant.pz-arene .bw-slots-compact-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;padding:14px}
  #pulzar-booking-tenant.pz-arene .bw-slot-c .bw-slot-c-time{font-size:40px}
  #pulzar-booking-tenant.pz-arene .bw-slot-c.bw-slot-disabled::after{top:30px}
  #pulzar-booking-tenant.pz-arene .bw-formule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  /* une formule seule sur sa ligne (EVG, ou la dernière d'un nombre impair) : centrée, à la largeur des autres.
     Choix d'Aymeric : plus de carte collée à gauche avec un grand vide à droite.
     10 px = l'écart réel : le module impose « .bw-step .bw-formule-grid{gap:10px !important} », le 16 px ci-dessus ne s'applique pas.
     La place de la photo (section 17 : padding-top 50 % + 16 px) se calcule sur la largeur de la zone de grille, qui
     couvre ici les deux colonnes : la moitié de la carte = (100 % - 10 px) / 4, soit 25 % - 2,5 px, plus les 16 px. */
  #pulzar-booking-tenant.pz-arene .bw-formule-grid > .bw-pkg-card:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc((100% - 10px) / 2)}
  #pulzar-booking-tenant.pz-arene .bw-formule-grid > .bw-pkg-card.bw-pkg-formule-detail:last-child:nth-child(odd){padding-top:calc(25% + 13.5px)}
  #pulzar-booking-tenant.pz-arene .bw-gift-amounts{grid-template-columns:repeat(5,minmax(0,1fr))}
  /* relief 3D au survol, souris uniquement */
  @media (hover:hover) and (pointer:fine){
    #pulzar-booking-tenant.pz-arene .bw-activity-card:hover,
    #pulzar-booking-tenant.pz-arene .bw-game-card:hover{
      transform:perspective(900px) rotateX(6deg) rotateY(-6deg) translate3d(0,-8px,0) scale(1.02);
      border-color:rgba(var(--pz-arene-accent-rgb,65,192,240),.6);box-shadow:18px 30px 50px -20px rgba(0,0,0,.95),0 0 30px -8px rgba(var(--pz-arene-accent-rgb,65,192,240),.5);
    }
    #pulzar-booking-tenant.pz-arene .bw-activity-card:hover .bw-activity-cover::before,
    #pulzar-booking-tenant.pz-arene .bw-game-card:hover::before{animation-duration:1.4s;animation-delay:0s}
  }
  /* fenêtres : centrées */
  .resa-page .bw-gamesheet-overlay{align-items:center;padding:24px}
  .resa-page .bw-gamesheet{border-radius:28px;border-bottom:1px solid rgba(var(--pz-arene-accent-rgb,65,192,240),.35)}
  .resa-page .bw-gamesheet-foot{border-radius:0 0 28px 28px}
}
/* PC portable (1 366 × 768) : à quatre par ligne, la première rangée de jeux passait sous la barre du bas */
@media (min-width:1280px){
  #pulzar-booking-tenant.pz-arene .bw-games-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* ---------- 16. Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce){
  #pulzar-booking-tenant.pz-arene *,#pulzar-booking-tenant.pz-arene *::before,#pulzar-booking-tenant.pz-arene *::after,
  .resa-page::before,.resa-page::after{animation:none!important;transition:none!important}
  .resa-page .bw-gamesheet-play,.resa-page .bw-si-box{animation:none!important}
  #pulzar-booking-tenant.pz-arene .bw-step-pill.active::after{transform:scaleX(1)}
  #pulzar-booking-tenant.pz-arene .bw-step::before{transform:scaleX(-1)}
  #pulzar-booking-tenant.pz-arene:has(.bw-step1-section-title) .bw-step::before{transform:none}
  #pulzar-booking-tenant.pz-arene .bw-step:has(.selected)::after{display:none}
}
