/* =====================================================================
   BassinVR · habillage du module de réservation Pulzar
   ---------------------------------------------------------------------
   SEUL fichier à écrire. Il est chargé APRÈS la feuille du module (widget-original.css)
   et après les styles que le module injecte (widget-runtime.css).

   Contrat :
   - CSS uniquement. Aucun HTML, aucun JavaScript, aucun texte ne change.
   - Portée : #pulzar-booking-tenant.bvr-skin (le module) et .resa-page (la page, et les
     fenêtres que le module pose dans <body> : .bw-gamesheet-overlay, .bw-si-ov,
     .bw-surresa-modal-overlay, .bw-toast).
   - Images de décor : dans ../resa/ (donc url(../resa/nom.svg) depuis ce fichier).
   - Tout décor animé est coupé sous prefers-reduced-motion.

   Palette : fond #080c14 · surface #0d1320 · cyan #00c6ff · bleu #1e90ff · texte #f0f2ff
             · secondaire #9fb0cf · or #ffd24a (rare) · rouge « complet » #f87171 (couleur du module).
   Polices : Bebas Neue (titres, chiffres) · Space Grotesk (boutons, étiquettes) · Inter (texte).

   Intégration du 25 septembre 2026 sur le site de test :
   - le fusil au trait est remplacé par le vrai fusil de l'arène (fusil-zl-gen3.webp, 1100 × 809, portail de marque
     Zero Latency). Son canon est à 93 % de la largeur de l'image et à 79 % de sa hauteur, incliné de 26° vers le bas ;
   - la rafale part de ce canon et suit son inclinaison (la version livrée se retournait autour de son bord droit
     et partait vers l'écran au lieu du titre) ;
   - logo Zero Latency sous le grand fusil de l'écran 1, symbole Zero Latency sur le billet du récapitulatif.
   ===================================================================== */

/* ---------- 0. SOCLE : à garder, la page en dépend ---------- */
body.resa-page{background:#080c14}
.resa-page .hd{position:absolute}                 /* l'en-tête du site passe au-dessus du module */
.resa-page .hd .lang{display:none!important}      /* le module a déjà son choix de langue */
.resa-main{padding-top:calc(92px + 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.bvr-skin{
  --bw-bg:#080c14!important; --bw-surface:#0d1320!important; --bw-surface-2:#121b2d!important;
  --bw-border:rgba(255,255,255,.08)!important;
  --bw-text:#f0f2ff!important; --bw-text-2:#9fb0cf!important; --bw-text-3:#6b7894!important;
  --bw-primary:#00c6ff!important; --bw-primary-2:#1e90ff!important; --bw-accent:#00c6ff!important;
  --bw-on-primary:#04111c!important; --bw-on-accent:#04111c!important;
  --bw-grad:linear-gradient(135deg,#00c6ff,#1e90ff)!important;
  background:transparent!important;
}
/* Le logo et le nom du centre sont déjà dans l'en-tête du site : on ne les répète pas. */
#pulzar-booking-tenant.bvr-skin .bw-header .bw-logo,
#pulzar-booking-tenant.bvr-skin .bw-header .bw-brand-name,
#pulzar-booking-tenant.bvr-skin .bw-hero{display:none!important}


/* ---------- 1. Fond d'ambiance de la page (sol de l'arène, lueurs, particules) ---------- */
/* Le sol : le motif de l'arène couché en perspective, qui défile lentement vers le joueur. */
.resa-main{position:relative;z-index:1}
body.resa-page{overflow-x:clip}
body.resa-page::before{
  content:"";position:fixed;z-index:0;pointer-events:none;
  left:-60%;right:-60%;bottom:-8vh;height:150vh;
  background:url(../resa/sol-arene.svg) 0 0/240px 240px repeat;
  opacity:.42;transform-origin:50% 100%;
  transform:perspective(560px) rotateX(66deg) translateY(0);
  -webkit-mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.55) 30%,transparent 62%);
          mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.55) 30%,transparent 62%);
  animation:bvr-sol 16s linear infinite;
}
/* Lueurs cyan et bleue + particules + voile pour garder le texte lisible. */
body.resa-page::after{
  content:"";position:fixed;inset:-10%;z-index:0;pointer-events:none;
  background:
    url(../resa/particules.svg) center/cover no-repeat,
    radial-gradient(40% 30% at 18% 12%,rgba(0,198,255,.20),transparent 70%),
    radial-gradient(38% 28% at 88% 34%,rgba(30,144,255,.16),transparent 70%),
    radial-gradient(60% 30% at 50% 100%,rgba(0,198,255,.10),transparent 70%),
    linear-gradient(180deg,#080c14 0%,rgba(8,12,20,.2) 30%,rgba(8,12,20,.35) 70%,rgba(8,12,20,.75) 100%);
  animation:bvr-lueurs 22s ease-in-out infinite alternate;
}
@keyframes bvr-sol{to{transform:perspective(560px) rotateX(66deg) translateY(240px)}}
@keyframes bvr-lueurs{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2%,-1.5%,0) scale(1.04)}100%{transform:translate3d(-2%,1%,0) scale(1.02)}}

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


/* ---------- 2. En-tête du module : bandeau de fermeture, langues, carte cadeau ---------- */
#pulzar-booking-tenant.bvr-skin #bw-closure-banner-top:empty{display:none}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .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.bvr-skin .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.bvr-skin .bw-lang-btn.active{background:#00c6ff;color:#04111c;box-shadow:0 0 16px rgba(0,198,255,.55)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .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.bvr-skin .bw-step-pill-sep,
#pulzar-booking-tenant.bvr-skin .bw-step-pill-num{display:none!important}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-step-pill::before{content:"";display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.13)}
#pulzar-booking-tenant.bvr-skin .bw-step-pill::after{
  content:"";position:absolute;left:0;right:0;top:10px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,#00c6ff,#1e90ff);transform:scaleX(0);transform-origin:left center;
}
#pulzar-booking-tenant.bvr-skin .bw-step-pill.done::after{transform:scaleX(1)}
#pulzar-booking-tenant.bvr-skin .bw-step-pill.active::after{
  box-shadow:0 0 12px rgba(0,198,255,.9);
  animation:bvr-seg 1.1s cubic-bezier(.3,.7,.2,1) .15s forwards;
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-step-pill.active{color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .bw-step-pill.done{color:#9fb0cf}
#pulzar-booking-tenant.bvr-skin .bw-step-pill.bw-step-clickable{cursor:pointer!important}
#pulzar-booking-tenant.bvr-skin .bw-step-pill.bw-step-clickable:hover{color:#00c6ff}
@keyframes bvr-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.bvr-skin .bw-step{position:relative;animation:bvr-step-in .55s cubic-bezier(.2,.8,.2,1) backwards}
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff;text-wrap:balance;
  text-shadow:0 0 28px rgba(0,198,255,.35);
  animation:bvr-glitch .5s steps(1) .12s backwards;
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-step::before{
  content:"";position:absolute;top:10px;right:-4px;width:68px;height:50px;pointer-events:none;z-index:2;
  background:url(../resa/fusil-zl-gen3.webp) center/contain no-repeat;
  filter:drop-shadow(0 0 10px rgba(0,198,255,.45));
  animation:bvr-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.bvr-skin .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(../resa/rafale-neon-gauche.svg) center/100% 100% no-repeat;
  transform-origin:right center;
  animation:bvr-burst .75s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes bvr-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 bvr-glitch{
  0%{opacity:0}
  12%{opacity:1;transform:translateX(-5px) skewX(-10deg);filter:drop-shadow(4px 0 0 #00c6ff) drop-shadow(-4px 0 0 #1e90ff)}
  28%{transform:translateX(4px) skewX(6deg);filter:drop-shadow(-3px 0 0 #00c6ff) 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 #00c6ff)}
  76%{transform:none;filter:none}
}
@keyframes bvr-gun-mini{0%,100%{transform:scaleX(-1) translateY(0) rotate(0)}50%{transform:scaleX(-1) translateY(-5px) rotate(-3deg)}}
@keyframes bvr-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.bvr-skin:has(.bw-step1-section-title) .bw-step{--gun-h:clamp(170px,50vw,250px)}
#pulzar-booking-tenant.bvr-skin: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(../resa/logo-zero-latency-couleur.webp) calc(50% - var(--gun-h) * .335) 95%/calc(var(--gun-h) * .58) auto no-repeat,
             url(../resa/fusil-zl-gen3.webp) center/contain no-repeat,
             radial-gradient(closest-side,rgba(0,198,255,.24),transparent) center/80% 90% no-repeat;
  filter:drop-shadow(0 0 18px rgba(0,198,255,.4));
  animation:bvr-gun-hero 7s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin: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(../resa/rafale-neon.svg);transform-origin:left center;animation-name:bvr-burst-r;
}
#pulzar-booking-tenant.bvr-skin:has(.bw-step1-section-title) .bw-step-title{padding-right:0;margin-top:0}
@keyframes bvr-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 bvr-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.bvr-skin .bw-step1-section-title,
#pulzar-booking-tenant.bvr-skin .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:#00c6ff;
}
#pulzar-booking-tenant.bvr-skin .bw-step1-section-title::before{display:none}
#pulzar-booking-tenant.bvr-skin .bw-step1-section-title::after,
#pulzar-booking-tenant.bvr-skin .bw-lineaire-section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(0,198,255,.5),transparent)}

/* Cartes affiches de cinéma. */
#pulzar-booking-tenant.bvr-skin .bw-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pulzar-booking-tenant.bvr-skin .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:bvr-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-activity-card:active{transform:scale(.97)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-cover.bw-cover-natural{aspect-ratio:3/4!important;height:auto!important}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .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:bvr-sheen 6s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin .bw-activity-card:nth-child(2) .bw-activity-cover::before{animation-delay:.9s}
#pulzar-booking-tenant.bvr-skin .bw-activity-card:nth-child(3) .bw-activity-cover::before{animation-delay:1.8s}
#pulzar-booking-tenant.bvr-skin .bw-activity-card:nth-child(4) .bw-activity-cover::before{animation-delay:2.7s}
#pulzar-booking-tenant.bvr-skin .bw-activity-card:nth-child(5) .bw-activity-cover::before{animation-delay:3.6s}
#pulzar-booking-tenant.bvr-skin .bw-activity-body{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:12px 12px 13px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-desc,
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-meta{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-meta span::before{display:none}
/* prix : lisible d'un coup d'œil, en haut à gauche */
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.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(0,198,255,.35);
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-info-btn::after{content:"";position:absolute;inset:-6px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-pkg-badge-orange{background:rgba(255,210,74,.14);color:#ffd24a;border:1px solid rgba(255,210,74,.5)}
#pulzar-booking-tenant.bvr-skin .bw-pkg-badge-pink{background:rgba(0,198,255,.14);color:#9fe9ff;border:1px solid rgba(0,198,255,.5)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-card.bw-featured{grid-column:1/-1;border-color:rgba(0,198,255,.45);box-shadow:0 0 0 1px rgba(0,198,255,.15),0 24px 50px -22px rgba(0,198,255,.55)}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-cover{aspect-ratio:16/11}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-name{font-size:40px}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-desc{font-size:13.5px}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-price-badge{top:46px;left:10px;right:auto;bottom:auto;font-size:22px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-card.bw-featured::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:5;
  border:1px solid rgba(0,198,255,.8);animation:bvr-breathe 3.2s ease-in-out infinite;
}

/* Carte choisie : cadre lumineux animé (+ la coche du module, en bas à droite). */
#pulzar-booking-tenant.bvr-skin .bw-activity-card.selected,
#pulzar-booking-tenant.bvr-skin .bw-game-card.selected,
#pulzar-booking-tenant.bvr-skin .bw-pkg-card.selected,
#pulzar-booking-tenant.bvr-skin .bw-package-card.selected,
#pulzar-booking-tenant.bvr-skin .bw-exp-card.selected{
  border-color:#00c6ff;background:#0d1320;box-shadow:0 0 0 2px #00c6ff,0 0 34px rgba(0,198,255,.55);
}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.selected::after,
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.6);
  animation:bvr-frame 1.4s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin .bw-activity-card.selected::before{z-index:6}

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

/* Cascade d'entrée des cartes (activités, jeux, créneaux, extras, jours). */
#pulzar-booking-tenant.bvr-skin :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.bvr-skin :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.bvr-skin :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.bvr-skin :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.bvr-skin :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.bvr-skin :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.bvr-skin :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.bvr-skin .bw-field-players{
  position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(172deg,rgba(0,198,255,.10),rgba(13,19,32,.75) 55%)!important;
  border:1px solid rgba(0,198,255,.35)!important;border-radius:24px!important;
  padding:20px 16px 18px!important;margin-bottom:16px!important;
  box-shadow:0 30px 60px -30px rgba(0,198,255,.45);
}
#pulzar-booking-tenant.bvr-skin .bw-field-players .bw-label{
  font:700 12px/1.2 'Space Grotesk',sans-serif!important;letter-spacing:.22em!important;text-transform:uppercase;
  color:#00c6ff!important;margin:0 0 6px!important;
}
#pulzar-booking-tenant.bvr-skin .bw-field-players > div:not([class]){font-size:13px!important;color:#9fb0cf!important;margin:0 auto 12px!important;max-width:30ch}
#pulzar-booking-tenant.bvr-skin .bw-places-stepper{display:grid;grid-template-columns:68px minmax(0,1fr) 68px;align-items:center;gap:8px}
#pulzar-booking-tenant.bvr-skin .bw-places-btn{
  width:68px;height:68px;border-radius:50%;padding:0;cursor:pointer;
  border:1px solid rgba(0,198,255,.5);background:rgba(0,198,255,.08);color:#f0f2ff;
  font:500 34px/1 'Space Grotesk',sans-serif;box-shadow:0 0 22px -6px rgba(0,198,255,.6),inset 0 0 14px rgba(0,198,255,.12);
  transition:transform .12s,background .2s,border-color .2s;
}
#pulzar-booking-tenant.bvr-skin .bw-places-btn:hover:not(:disabled){border-color:#00c6ff;color:#fff;background:rgba(0,198,255,.16)}
#pulzar-booking-tenant.bvr-skin .bw-places-btn:active:not(:disabled){transform:scale(.9)}
#pulzar-booking-tenant.bvr-skin .bw-places-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}
#pulzar-booking-tenant.bvr-skin #bw-places-plus{background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.bvr-skin #bw-places-plus:disabled{background:rgba(255,255,255,.06);color:#6b7894}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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(0,198,255,.45);box-shadow:0 0 40px rgba(0,198,255,.18),inset 0 0 30px rgba(0,198,255,.12);
  animation:bvr-spin 18s linear infinite;
}
#pulzar-booking-tenant.bvr-skin .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,#00c6ff 0 6deg,transparent 6deg 84deg,#00c6ff 84deg 96deg,transparent 96deg 174deg,#00c6ff 174deg 186deg,transparent 186deg 264deg,#00c6ff 264deg 276deg,transparent 276deg 354deg,#00c6ff 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:bvr-spin 9s linear infinite reverse;
}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.75);
  -moz-appearance:textfield;appearance:textfield;
}
#pulzar-booking-tenant.bvr-skin .bw-places-input:hover,
#pulzar-booking-tenant.bvr-skin .bw-places-input:focus{background:transparent;box-shadow:none;outline:none}
#pulzar-booking-tenant.bvr-skin .bw-places-input:focus-visible{text-shadow:0 0 40px #00c6ff}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin #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.bvr-skin .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.bvr-skin .bw-private-room input{width:22px;height:22px;margin:0;accent-color:#00c6ff;flex:none}
#pulzar-booking-tenant.bvr-skin .bw-private-room-text{font:600 14px/1.3 'Space Grotesk',sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin: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.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players > div:not([class]){display:none}
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-field-players .bw-label{margin:0!important;flex:1}
#pulzar-booking-tenant.bvr-skin: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.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-stepper{grid-template-columns:44px 64px 44px;gap:8px}
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-btn{width:44px;height:44px;font-size:22px}
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val{min-height:0}
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val::before,
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-val::after{display:none}
#pulzar-booking-tenant.bvr-skin:has(#bw-cal-card):not(:has(#bw-joueurs-ok)) .bw-places-input{font-size:46px;text-shadow:0 0 18px rgba(0,198,255,.6)}
#pulzar-booking-tenant.bvr-skin: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.bvr-skin .bw-cal-card{
  position:relative;overflow:hidden;padding:14px 10px 14px;border-radius:24px;
  background:
    linear-gradient(rgba(0,198,255,.05) 1px,transparent 1px) 0 0/100% 22px,
    linear-gradient(90deg,rgba(0,198,255,.05) 1px,transparent 1px) 0 0/22px 100%,
    linear-gradient(172deg,rgba(0,198,255,.08),rgba(13,19,32,.85) 45%);
  border:1px solid rgba(0,198,255,.28);box-shadow:0 30px 60px -30px rgba(0,198,255,.4);
}
#pulzar-booking-tenant.bvr-skin .bw-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.5)}
#pulzar-booking-tenant.bvr-skin .bw-cal-nav{
  width:44px;height:44px;border-radius:14px;padding:0;cursor:pointer;
  border:1px solid rgba(0,198,255,.35);background:rgba(0,198,255,.06);color:#00c6ff;font:500 24px/1 'Space Grotesk',sans-serif;
}
#pulzar-booking-tenant.bvr-skin .bw-cal-nav:active{transform:scale(.92)}
#pulzar-booking-tenant.bvr-skin .bw-cal-weekdays{gap:5px;margin-bottom:6px}
#pulzar-booking-tenant.bvr-skin .bw-cal-weekday{font:700 9.5px/1 'Space Grotesk',sans-serif;letter-spacing:.14em;color:#9fb0cf;padding:6px 0}
#pulzar-booking-tenant.bvr-skin .bw-cal-grid{gap:5px}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell{
  position:relative;min-height:54px;padding:6px 1px 5px;border-radius:11px;justify-content:center;
  background:rgba(0,198,255,.07);border:1px solid rgba(0,198,255,.32);color:#f0f2ff;
  box-shadow:inset 0 0 14px rgba(0,198,255,.10);
  transition:transform .15s,border-color .2s,background .2s;
  animation:bvr-cell-on .45s ease-out backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:nth-child(n+8){animation-delay:.08s}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:nth-child(n+15){animation-delay:.16s}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:nth-child(n+22){animation-delay:.24s}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:nth-child(n+29){animation-delay:.32s}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:hover:not([disabled]):not(.bw-cal-past):not(.bw-cal-empty){border-color:#00c6ff;background:rgba(0,198,255,.14);transform:translateY(-2px);box-shadow:inset 0 0 14px rgba(0,198,255,.2)}
#pulzar-booking-tenant.bvr-skin .bw-cal-cell:active:not([disabled]){transform:scale(.94)}
#pulzar-booking-tenant.bvr-skin .bw-cal-day{font:400 23px/1 'Bebas Neue',sans-serif;letter-spacing:.03em;text-shadow:0 0 12px rgba(0,198,255,.8)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-cal-past{opacity:1;background:transparent;border-color:rgba(255,255,255,.04);box-shadow:none;color:#4d5a73;animation:none}
#pulzar-booking-tenant.bvr-skin .bw-cal-past .bw-cal-day{text-shadow:none}
#pulzar-booking-tenant.bvr-skin .bw-cal-empty{background:transparent;border:0;box-shadow:none;animation:none}
/* aujourd'hui : point or */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-cal-surresa{background:rgba(255,210,74,.06);border:1px dashed rgba(255,210,74,.7);box-shadow:none}
#pulzar-booking-tenant.bvr-skin .bw-cal-surresa .bw-cal-day{text-shadow:0 0 10px rgba(255,210,74,.5)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-cal-selected,
#pulzar-booking-tenant.bvr-skin .bw-cal-cell.bw-cal-selected:hover{
  z-index:2;color:#04111c;background:linear-gradient(135deg,#00c6ff,#1e90ff);border-color:transparent;transform:scale(1.06);
  box-shadow:0 0 0 2px #080c14,0 0 0 4px #00c6ff,0 0 28px rgba(0,198,255,.85);
}
#pulzar-booking-tenant.bvr-skin .bw-cal-selected .bw-cal-day{text-shadow:none}
#pulzar-booking-tenant.bvr-skin .bw-cal-selected .bw-cal-price,
#pulzar-booking-tenant.bvr-skin .bw-cal-selected .bw-cal-sr{color:#04111c!important}
#pulzar-booking-tenant.bvr-skin .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:bvr-lock .55s cubic-bezier(.2,.8,.2,1) both;
}
#pulzar-booking-tenant.bvr-skin .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:bvr-eclat .7s ease-out both;
}
@keyframes bvr-cell-on{0%{opacity:0;filter:brightness(2.2)}60%{opacity:1}100%{filter:none}}
@keyframes bvr-lock{0%{opacity:0;transform:scale(1.7)}60%{opacity:1;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@keyframes bvr-eclat{0%{opacity:1;transform:scale(.3)}100%{opacity:0;transform:scale(1.5)}}
@keyframes bvr-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.bvr-skin .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:#00c6ff!important;
}
#pulzar-booking-tenant.bvr-skin .bw-game-agegroup::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(0,198,255,.5),transparent)}
#pulzar-booking-tenant.bvr-skin .bw-games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#pulzar-booking-tenant.bvr-skin .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:bvr-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-game-card:active{transform:scale(.97)}
#pulzar-booking-tenant.bvr-skin .bw-game-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
#pulzar-booking-tenant.bvr-skin .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:bvr-sheen 7s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin .bw-game-card:nth-child(2n)::before{animation-delay:1.2s}
#pulzar-booking-tenant.bvr-skin .bw-game-card:nth-child(3n)::before{animation-delay:2.4s}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-game-meta{font:500 11.5px/1.3 Inter,sans-serif!important;opacity:1!important;color:#dbe4f5}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-game-card[data-compat="0"]{cursor:not-allowed}
#pulzar-booking-tenant.bvr-skin .bw-game-card[data-compat="0"]::before{display:none}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.4)!important;
}
#pulzar-booking-tenant.bvr-skin .bw-game-session > div:first-child{font-family:'Space Grotesk',sans-serif;letter-spacing:.22em!important;color:#00c6ff;opacity:1!important}
#pulzar-booking-tenant.bvr-skin .bw-game-session > div + div{font-family:'Space Grotesk',sans-serif;font-size:15px}
#pulzar-booking-tenant.bvr-skin:has(.bw-game-card.selected) .bw-game-session{border-style:solid!important;border-color:#00c6ff!important;box-shadow:0 0 24px -6px rgba(0,198,255,.6)}

/* Formules : choix de l'arène (.bw-arena-choice) */
#pulzar-booking-tenant.bvr-skin .bw-arena-choice{margin:4px 0 8px}
#pulzar-booking-tenant.bvr-skin .bw-arena-choice-label{font:700 11px/1 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#00c6ff;margin:14px 0 10px}
#pulzar-booking-tenant.bvr-skin .bw-arena-choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff;
  font:400 21px/1 'Bebas Neue',sans-serif;letter-spacing:.04em;transition:all .2s;
}
#pulzar-booking-tenant.bvr-skin .bw-arena-choice-btn:hover{border-color:#00c6ff}
#pulzar-booking-tenant.bvr-skin .bw-arena-choice-btn.sel{background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;border-color:transparent;box-shadow:0 0 22px rgba(0,198,255,.55)}


/* ---------- 8. Écran « Choisis ton créneau » (.bw-slots-compact-grid, .bw-slot-c, états complet / pris / sur réservation) ---------- */
#pulzar-booking-tenant.bvr-skin #bw-gf-head{
  background:rgba(0,198,255,.08)!important;border:1px solid rgba(0,198,255,.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.bvr-skin #bw-gf-change{min-height:44px;padding:0 14px;font-size:13px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .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:bvr-flap-in .5s cubic-bezier(.3,.8,.3,1) backwards;
}
/* charnière des volets */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-slot-c:hover:not(.bw-slot-disabled){border-color:#00c6ff;transform:translateY(-2px);box-shadow:0 0 18px -4px rgba(0,198,255,.6)}
#pulzar-booking-tenant.bvr-skin .bw-slot-c:active:not(.bw-slot-disabled){transform:scale(.95)}
#pulzar-booking-tenant.bvr-skin .bw-slot-c .bw-slot-c-time{
  position:relative;font:400 34px/1 'Bebas Neue',sans-serif;letter-spacing:.04em;color:#f0f2ff;font-variant-numeric:tabular-nums;
  text-shadow:0 0 14px rgba(0,198,255,.45);
}
#pulzar-booking-tenant.bvr-skin .bw-slot-c-end{font:500 11px/1.2 'Space Grotesk',sans-serif;color:#9fb0cf;margin-top:2px}
#pulzar-booking-tenant.bvr-skin .bw-slot-c-places{font:700 9.5px/1.2 'Space Grotesk',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#00c6ff;margin-top:3px}
#pulzar-booking-tenant.bvr-skin .bw-slot-c-price{font:700 11px 'Space Grotesk',sans-serif;color:#ffd24a}
#pulzar-booking-tenant.bvr-skin .bw-slot-remaining.low{color:#ffd24a}
/* complet : barré net, en rouge */
#pulzar-booking-tenant.bvr-skin .bw-slot-c.bw-slot-disabled,
#pulzar-booking-tenant.bvr-skin .bw-slot-c.bw-slot-full,
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-slot-c.bw-slot-disabled .bw-slot-c-time{color:#56627a;text-shadow:none}
#pulzar-booking-tenant.bvr-skin .bw-slot-c.bw-slot-disabled .bw-slot-c-end{color:#56627a}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-slot-c.bw-slot-full::after{background:#f87171;box-shadow:0 0 10px rgba(248,113,113,.7)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-slot-c.bw-slot-occupied .bw-slot-c-occupied{color:#9fb0cf}
/* choisi : le volet se retourne et s'allume */
#pulzar-booking-tenant.bvr-skin .bw-slot-c.selected{
  background:linear-gradient(180deg,#00c6ff 0,#16b0ff 49.5%,#0f9bf5 50.5%,#1e90ff 100%);border-color:transparent;
  box-shadow:0 0 0 2px #05080e,0 0 0 4px #00c6ff,0 0 26px rgba(0,198,255,.8);
}
#pulzar-booking-tenant.bvr-skin .bw-slot-c.selected .bw-slot-c-time{color:#04111c;text-shadow:none;animation:bvr-flap .45s cubic-bezier(.3,.8,.3,1)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-surresa-label{font:700 9.5px/1.2 'Space Grotesk',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffd24a}
#pulzar-booking-tenant.bvr-skin .bw-surresa-phone{font:600 11px/1.3 'Space Grotesk',sans-serif;color:#f0f2ff;margin-top:4px}
@keyframes bvr-flap-in{0%{opacity:0;transform:perspective(300px) rotateX(-80deg)}100%{opacity:1;transform:none}}
@keyframes bvr-flap{0%{transform:perspective(200px) rotateX(90deg)}100%{transform:none}}

/* Joueurs par tarif sous les créneaux (.bw-players-box) */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-players-box > div:first-child{font-family:'Space Grotesk',sans-serif;letter-spacing:.24em!important;color:#00c6ff;opacity:1!important}
#pulzar-booking-tenant.bvr-skin .bw-players-box strong{font:400 28px/1 'Bebas Neue',sans-serif}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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:#00c6ff!important;
}
#pulzar-booking-tenant.bvr-skin .bw-section-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(0,198,255,.5),transparent)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-extras-section .bw-section-title{margin:14px 0 4px!important}
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff!important;font:400 25px/1 'Bebas Neue',sans-serif!important;letter-spacing:.04em;
  transition:color .2s;
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-acc-chev{
  display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(0,198,255,.35);color:#00c6ff;opacity:1!important;font-size:10px!important;
}
#pulzar-booking-tenant.bvr-skin .bw-extras-cat-h:has(+ .bw-acc-body:not([style*="display:none"]):not([style*="display: none"])){color:#00c6ff!important;border-bottom-color:rgba(0,198,255,.4)!important}
#pulzar-booking-tenant.bvr-skin .bw-extras-grid{display:flex;flex-direction:column;gap:0;margin-top:0!important;padding:2px 0 8px}
#pulzar-booking-tenant.bvr-skin .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:bvr-card-in .4s ease-out backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-extra-item:last-child{border-bottom:0}
#pulzar-booking-tenant.bvr-skin .bw-extra-name{grid-column:1;font:500 15px/1.3 Inter,sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .bw-extra-desc{grid-column:1;font-size:12px;color:#9fb0cf}
#pulzar-booking-tenant.bvr-skin .bw-extra-foot{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;gap:12px;margin:0}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-extra-qty{display:flex;align-items:center;gap:4px}
#pulzar-booking-tenant.bvr-skin .bw-extra-qty-btn{
  width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;
  border:1px solid rgba(0,198,255,.4);background:rgba(0,198,255,.06);color:#f0f2ff;font:500 20px/1 'Space Grotesk',sans-serif;
  transition:transform .12s,background .2s;
}
#pulzar-booking-tenant.bvr-skin .bw-extra-qty-btn[data-action="+"]{background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.bvr-skin .bw-extra-qty-btn:active{transform:scale(.9)}
#pulzar-booking-tenant.bvr-skin .bw-extra-qty-val{min-width:24px;text-align:center;font:400 28px/1 'Bebas Neue',sans-serif;color:#fff}
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff}
/* Session verrouillée (hache) */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-locked-img{border-radius:12px}
#pulzar-booking-tenant.bvr-skin .bw-locked-pill{font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ffd24a}
#pulzar-booking-tenant.bvr-skin .bw-locked-name{font:400 28px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;margin:4px 0}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-grid:has(.bw-tranche-card){grid-template-columns:minmax(0,1fr)}
#pulzar-booking-tenant.bvr-skin .bw-tranche-card .bw-activity-cover{aspect-ratio:16/10}
#pulzar-booking-tenant.bvr-skin .bw-tranche-card .bw-activity-name{font-size:36px}
#pulzar-booking-tenant.bvr-skin .bw-formule-grid{display:flex;flex-direction:column;gap:14px}
#pulzar-booking-tenant.bvr-skin .bw-pkg-card{
  position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:22px;cursor:pointer;
  background:linear-gradient(172deg,rgba(0,198,255,.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:bvr-card-in .6s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.bvr-skin .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:bvr-sheen 7s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin .bw-pkg-card:active{transform:scale(.98)}
#pulzar-booking-tenant.bvr-skin .bw-formule-name{margin:0 0 8px;font:400 34px/.92 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#fff}
#pulzar-booking-tenant.bvr-skin .bw-formule-desc{margin:0 0 10px;font:400 14px/1.5 Inter,sans-serif;color:#c3cede}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-formule-price strong{font:400 36px/1 'Bebas Neue',sans-serif!important;letter-spacing:.02em;color:#fff;text-shadow:0 0 18px rgba(0,198,255,.45)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-formule-includes{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
#pulzar-booking-tenant.bvr-skin .bw-formule-includes-label{width:100%;font:700 10.5px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#00c6ff}
#pulzar-booking-tenant.bvr-skin .bw-formule-chip{padding:5px 10px;border-radius:9px;background:rgba(0,198,255,.06);border:1px solid rgba(0,198,255,.22);font:500 12.5px/1.35 Inter,sans-serif;color:#dbe4f5}
#pulzar-booking-tenant.bvr-skin .bw-formule-meta{display:flex;flex-wrap:wrap;gap:6px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-recap{
  position:relative;overflow:hidden;padding:52px 18px 12px;margin-bottom:18px;border-radius:20px;
  background:
    url(../resa/symbole-zero-latency.webp) 16px 10px/40px 24px no-repeat,
    linear-gradient(172deg,rgba(0,198,255,.12),rgba(13,19,32,.92) 38%);
  border:1px solid rgba(0,198,255,.35);box-shadow:0 30px 60px -30px rgba(0,198,255,.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:bvr-card-in .6s cubic-bezier(.2,.8,.2,1) .1s backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-recap::before{content:"";position:absolute;left:16px;right:16px;top:42px;border-top:2px dashed rgba(255,255,255,.16)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-recap-row{padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.09);align-items:baseline}
#pulzar-booking-tenant.bvr-skin .bw-recap-key{font:700 10px/1.3 'Space Grotesk',sans-serif;letter-spacing:.18em;color:#9fb0cf}
#pulzar-booking-tenant.bvr-skin .bw-recap-val{font:600 14.5px/1.3 'Space Grotesk',sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-total{
  position:relative;overflow:hidden;gap:12px;padding:18px 18px;margin:16px 0 8px;border-radius:20px;color:#f0f2ff;
  background:linear-gradient(135deg,rgba(0,198,255,.18),rgba(30,144,255,.08));border:1px solid rgba(0,198,255,.55);
  box-shadow:0 0 44px -12px rgba(0,198,255,.6),inset 0 0 30px rgba(0,198,255,.08);
}
#pulzar-booking-tenant.bvr-skin .bw-total-key{font:700 11px/1.2 'Space Grotesk',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#00c6ff;opacity:1}
#pulzar-booking-tenant.bvr-skin .bw-total-detail{margin-top:4px;font:400 12px/1.4 Inter,sans-serif;color:#c3cede;opacity:1}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.8)}
#pulzar-booking-tenant.bvr-skin details.bw-total-vat-details{font-size:12.5px!important;color:#9fb0cf!important}
#pulzar-booking-tenant.bvr-skin details.bw-total-vat-details summary{min-height:32px;display:flex;align-items:center}

/* Mode de paiement */
#pulzar-booking-tenant.bvr-skin .bw-pay-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-pay-mode input{width:20px;height:20px;margin:1px 0 0;accent-color:#00c6ff;flex:none}
#pulzar-booking-tenant.bvr-skin .bw-pay-mode.sel{background:rgba(0,198,255,.1);border-color:#00c6ff;box-shadow:0 0 22px -6px rgba(0,198,255,.6)}
#pulzar-booking-tenant.bvr-skin .bw-pm-title{font:600 13px/1.3 'Space Grotesk',sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .bw-pm-amount{margin-top:4px;font:400 26px/1 'Bebas Neue',sans-serif;letter-spacing:.02em;color:#00c6ff}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-pay-mode > div{min-width:0;overflow-wrap:anywhere}
#pulzar-booking-tenant.bvr-skin .bw-pm-sub{font-size:11.5px;color:#9fb0cf}

/* Tarif client (compteurs) */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-tier-counter:last-child{border-bottom:0}
#pulzar-booking-tenant.bvr-skin .bw-tier-counter-name{font:600 14px 'Space Grotesk',sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .bw-tier-counter-controls{display:flex;align-items:center;gap:6px}
#pulzar-booking-tenant.bvr-skin .bw-tier-cnt-btn{width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;border:1px solid rgba(0,198,255,.4);background:rgba(0,198,255,.06);color:#f0f2ff;font:500 20px/1 'Space Grotesk',sans-serif}
#pulzar-booking-tenant.bvr-skin .bw-tier-cnt-btn[data-action="+"]{background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;border-color:transparent}
#pulzar-booking-tenant.bvr-skin .bw-tier-cnt-btn:active{transform:scale(.9)}
#pulzar-booking-tenant.bvr-skin .bw-tier-cnt-val{min-width:26px;text-align:center;font:400 28px/1 'Bebas Neue',sans-serif;color:#fff}
/* Durée (hache) : boutons en ligne, le choisi garde son style en ligne cyan */
#pulzar-booking-tenant.bvr-skin .bw-dur-btn{min-height:60px;border-radius:14px!important;font-family:'Space Grotesk',sans-serif!important}
#pulzar-booking-tenant.bvr-skin .bw-dur-btn strong{font:400 22px/1.1 'Bebas Neue',sans-serif;letter-spacing:.03em}
#pulzar-booking-tenant.bvr-skin .bw-dur-btn[style*="var(--bw-accent)"]{box-shadow:0 0 20px -4px rgba(0,198,255,.6)}

/* Champs : sobres, lisibles, 16 px (pas de zoom iPhone) */
#pulzar-booking-tenant.bvr-skin .bw-field{margin-bottom:14px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-required::after{color:#00c6ff}
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff;
  font:400 16px/1.35 Inter,sans-serif;transition:border-color .2s,box-shadow .2s;
}
#pulzar-booking-tenant.bvr-skin .bw-input::placeholder{color:#6b7894}
#pulzar-booking-tenant.bvr-skin .bw-input:focus{outline:none;border-color:#00c6ff;box-shadow:0 0 0 3px rgba(0,198,255,.22)}
#pulzar-booking-tenant.bvr-skin textarea.bw-input{min-height:78px;resize:vertical}
#pulzar-booking-tenant.bvr-skin select.bw-input{
  -webkit-appearance:none;appearance:none;padding-right:40px;
  background:rgba(8,12,20,.7) 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='%2300c6ff' stroke-width='1.8'/%3E%3C/svg%3E") right 14px center/12px 8px no-repeat;
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-extras-recap-edit{min-height:32px}
/* Message d'arrivée : ne se rate pas */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-arrival-msg::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:#ffd24a;box-shadow:0 0 10px #ffd24a;animation:bvr-frame 1.4s ease-in-out infinite}
/* Codes promo, carte cadeau, abonnement */
#pulzar-booking-tenant.bvr-skin .bw-codes-section{margin-top:22px}
#pulzar-booking-tenant.bvr-skin .bw-codes-section .bw-section-title{margin:14px 0 8px}
#pulzar-booking-tenant.bvr-skin .bw-code-row{display:flex;gap:8px}
#pulzar-booking-tenant.bvr-skin .bw-code-row .bw-input{flex:1;min-width:0;font-family:'Space Grotesk',sans-serif;letter-spacing:.08em}
#pulzar-booking-tenant.bvr-skin .bw-code-apply{flex:none;min-height:50px;padding:0 16px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-check-row{min-height:28px;color:#c3cede!important}
#pulzar-booking-tenant.bvr-skin .bw-check-row input{accent-color:#00c6ff!important;width:20px!important;height:20px!important}
/* Mentions légales et CGV : lisibles */
#pulzar-booking-tenant.bvr-skin .bw-legal-note{margin:16px 0 10px!important;font-size:12px!important;line-height:1.55!important;color:#b9c6dd!important}
#pulzar-booking-tenant.bvr-skin .bw-legal-note a,
#pulzar-booking-tenant.bvr-skin .bw-cgv-text a,
#pulzar-booking-tenant.bvr-skin .bw-cgv-link{color:#00c6ff!important;text-decoration:underline!important;text-underline-offset:2px}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-cgv:has(#bw-cgv:checked){border-color:rgba(0,198,255,.55);box-shadow:0 0 20px -8px rgba(0,198,255,.6)}
#pulzar-booking-tenant.bvr-skin .bw-cgv input{width:22px;height:22px;margin:0;accent-color:#00c6ff;flex:none}
#pulzar-booking-tenant.bvr-skin .bw-cgv-text{font:400 13px/1.5 Inter,sans-serif;color:#c3cede}
#pulzar-booking-tenant.bvr-skin .bw-mkt-optin{background:transparent;border-color:rgba(255,255,255,.07)}
#pulzar-booking-tenant.bvr-skin #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.bvr-skin .bw-gift-amounts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pulzar-booking-tenant.bvr-skin .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:bvr-card-in .5s cubic-bezier(.2,.8,.2,1) backwards;
}
#pulzar-booking-tenant.bvr-skin .bw-gift-amount:active{transform:scale(.95)}
#pulzar-booking-tenant.bvr-skin .bw-gift-amount.selected{background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;border-color:transparent;box-shadow:0 0 0 2px #080c14,0 0 0 4px #00c6ff,0 0 30px rgba(0,198,255,.7)}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.45);font:600 13px 'Space Grotesk',sans-serif;color:#9fb0cf;
}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-cart-sticky:not(.bw-cart-hidden){
  margin-top:20px;padding:16px 18px;border-radius:20px;color:#f0f2ff;
  background:linear-gradient(172deg,rgba(0,198,255,.08),rgba(13,19,32,.92) 45%);border:1px solid rgba(0,198,255,.28);
  box-shadow:0 24px 50px -24px rgba(0,0,0,.9);
}
#pulzar-booking-tenant.bvr-skin .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:#00c6ff}
#pulzar-booking-tenant.bvr-skin .bw-cart-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(0,198,255,.5),transparent)}
#pulzar-booking-tenant.bvr-skin .bw-cart-row{font:500 13.5px/1.35 Inter,sans-serif;color:#dbe4f5}
#pulzar-booking-tenant.bvr-skin .bw-cart-lbl{font:600 14px/1.3 'Space Grotesk',sans-serif;color:#f0f2ff}
#pulzar-booking-tenant.bvr-skin .bw-cart-row > .bw-cart-lbl:only-child{flex:1}
#pulzar-booking-tenant.bvr-skin .bw-cart-val{font:600 13px 'Space Grotesk',sans-serif;color:#9fb0cf}
#pulzar-booking-tenant.bvr-skin .bw-cart-divider{background:rgba(255,255,255,.08)}
#pulzar-booking-tenant.bvr-skin .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:#00c6ff}
#pulzar-booking-tenant.bvr-skin .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(0,198,255,.6);text-align:right}

/* Pied : toujours visible, collé en bas */
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-footer .bw-btn{min-height:58px}
/* Bouton principal : dégradé cyan → bleu, halo, reflet qui passe, enfoncement au toucher */
#pulzar-booking-tenant.bvr-skin .bw-btn-primary{
  position:relative;overflow:hidden;isolation:isolate;flex:1;padding:12px 18px;border:0;text-wrap:balance;
  background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;font-size:16px;
  box-shadow:0 14px 34px -10px rgba(0,198,255,.85),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 0 rgba(4,17,28,.25);
}
#pulzar-booking-tenant.bvr-skin .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:bvr-btn-sheen 3.4s ease-in-out infinite;
}
#pulzar-booking-tenant.bvr-skin .bw-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 40px -10px rgba(0,198,255,.95),inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 0 rgba(4,17,28,.25)}
#pulzar-booking-tenant.bvr-skin .bw-btn-primary:active:not(:disabled){transform:translateY(2px) scale(.98);box-shadow:0 4px 14px -6px rgba(0,198,255,.8),inset 0 2px 6px rgba(4,17,28,.35)}
#pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-btn-primary:disabled::before{display:none}
/* Paiement : le bouton respire (mention légale imposée, sur deux lignes si besoin) */
#pulzar-booking-tenant.bvr-skin #bw-pay{min-height:64px;font-size:15px;padding:10px 16px}
#pulzar-booking-tenant.bvr-skin #bw-pay:not(:disabled){animation:bvr-pay 2.6s ease-in-out infinite}
/* Retour : discret mais toujours là */
#pulzar-booking-tenant.bvr-skin .bw-btn-ghost,
#pulzar-booking-tenant.bvr-skin .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:#f0f2ff;font-size:14px;
}
#pulzar-booking-tenant.bvr-skin .bw-btn-ghost:hover:not(:disabled),
#pulzar-booking-tenant.bvr-skin .bw-btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.09);border-color:rgba(0,198,255,.5)}
#pulzar-booking-tenant.bvr-skin .bw-btn-ghost:active,
#pulzar-booking-tenant.bvr-skin .bw-btn-secondary:active{transform:scale(.96)}
#pulzar-booking-tenant.bvr-skin .bw-footer .bw-btn-secondary:only-child,
#pulzar-booking-tenant.bvr-skin .bw-footer .bw-btn-ghost:only-child{flex:0 0 auto}
@keyframes bvr-btn-sheen{0%,55%{transform:translateX(-200%) skewX(-20deg)}100%{transform:translateX(420%) skewX(-20deg)}}
@keyframes bvr-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:#f0f2ff;
  background:linear-gradient(172deg,#111a2b,#080c14 60%);border:1px solid rgba(0,198,255,.35);border-bottom:0;
  box-shadow:0 -24px 70px -10px rgba(0,198,255,.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 #00c6ff;background:rgba(0,198,255,.22);color:#fff;font-size:24px;
  box-shadow:0 0 0 8px rgba(0,198,255,.12),0 0 34px rgba(0,198,255,.6);animation:bvr-play 2.2s ease-in-out infinite;
}
.resa-page .bw-gamesheet-play:hover{background:#00c6ff;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(0,198,255,.5);margin-bottom:8px}
.resa-page .bw-gamesheet-genre{font:700 12px/1.2 'Space Grotesk',sans-serif;letter-spacing:.2em;color:#00c6ff;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:#f0f2ff}
.resa-page .bw-gamesheet-ok{flex:1;border:0;background:linear-gradient(135deg,#00c6ff,#1e90ff);color:#04111c;box-shadow:0 14px 34px -10px rgba(0,198,255,.85),inset 0 1px 0 rgba(255,255,255,.4)}
.resa-page .bw-gamesheet-ok:active{transform:translateY(2px) scale(.98)}
@keyframes bvr-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:#f0f2ff;
  background:linear-gradient(172deg,#111a2b,#080c14 60%);border:1px solid rgba(0,198,255,.35);box-shadow:0 30px 80px -20px rgba(0,198,255,.3);
  animation:bvr-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(0,198,255,.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:#f0f2ff}
.resa-page .bw-si-mrow svg,.resa-page .bw-si-link{color:#00c6ff}
.resa-page .bw-si-dot.on{background:#00c6ff;box-shadow:0 0 8px #00c6ff}
.resa-page .bw-si-perfect{background:rgba(0,198,255,.08);border-color:rgba(0,198,255,.35);color:#c9f2ff}
.resa-page .bw-si-close{min-width:44px;min-height:44px;color:#f0f2ff}
/* 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:#f0f2ff}
.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:#f0f2ff;border:1px solid rgba(0,198,255,.45);font:600 14px/1.35 'Space Grotesk',sans-serif;box-shadow:0 16px 40px -10px rgba(0,198,255,.45)}
.resa-page .bw-toast.success{border-color:#00c6ff;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 le 25/09/2026 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.bvr-skin{border-radius:0;box-shadow:none;overflow:visible;margin-top:0}
  #pulzar-booking-tenant.bvr-skin .bw-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #pulzar-booking-tenant.bvr-skin .bw-games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pulzar-booking-tenant.bvr-skin .bw-slots-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #pulzar-booking-tenant.bvr-skin .bw-gift-amounts{grid-template-columns:repeat(3,minmax(0,1fr))}
  #pulzar-booking-tenant.bvr-skin .bw-cal-cell{min-height:64px}
  #pulzar-booking-tenant.bvr-skin .bw-cal-day{font-size:28px}
  #pulzar-booking-tenant.bvr-skin .bw-cal-price{font-size:10.5px}
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-grid:has(.bw-family-card){grid-template-columns:repeat(2,minmax(0,1fr))}
  #pulzar-booking-tenant.bvr-skin .bw-family-card .bw-activity-cover.bw-cover-natural{aspect-ratio:16/10!important}
  #pulzar-booking-tenant.bvr-skin .bw-activity-grid:has(.bw-gift-card){grid-template-columns:minmax(0,1fr)}
  #pulzar-booking-tenant.bvr-skin .bw-gift-card .bw-activity-cover{aspect-ratio:3/1}
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin:has(.bw-step1-section-title) .bw-step-title,
  #pulzar-booking-tenant.bvr-skin: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.bvr-skin .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(0,198,255,.16);
  }
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin{max-width:none;margin:0 auto;padding-bottom:calc(120px + env(safe-area-inset-bottom))}
  #pulzar-booking-tenant.bvr-skin > .bw-stepper{gap:10px;padding-top:12px}
  #pulzar-booking-tenant.bvr-skin .bw-step-pill-label{font-size:11.5px}
  #pulzar-booking-tenant.bvr-skin .bw-main{max-width:none}
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin .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.bvr-skin .bw-cart-sticky:not(.bw-cart-hidden){width:100%;max-width:860px;margin:24px auto 0;box-sizing:border-box}
  #pulzar-booking-tenant.bvr-skin .bw-step-title{font-size:80px;text-align:center;padding:0 130px}
  #pulzar-booking-tenant.bvr-skin .bw-step-sub{font-size:16px;max-width:64ch;margin-inline:auto;text-align:center}
  #pulzar-booking-tenant.bvr-skin .bw-step::before{width:110px;height:81px;top:8px}
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin:has(.bw-step1-section-title) .bw-step{--gun-h:260px}
  #pulzar-booking-tenant.bvr-skin:has(.bw-step1-section-title) .bw-step::before{margin:0 0 8px}
  #pulzar-booking-tenant.bvr-skin: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.bvr-skin .bw-activity-grid{gap:18px}
  #pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured{grid-column:span 2;grid-row:span 2;align-self:stretch;display:flex;flex-direction:column}
  #pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-cover{flex:1 1 auto;aspect-ratio:auto;height:auto;min-height:0}
  #pulzar-booking-tenant.bvr-skin .bw-activity-card.bw-featured .bw-activity-name{font-size:56px}
  #pulzar-booking-tenant.bvr-skin .bw-gift-card .bw-activity-cover{aspect-ratio:5/1}
  /* jeux, créneaux, formules, montants */
  #pulzar-booking-tenant.bvr-skin .bw-games-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  #pulzar-booking-tenant.bvr-skin .bw-slots-compact-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;padding:14px}
  #pulzar-booking-tenant.bvr-skin .bw-slot-c .bw-slot-c-time{font-size:40px}
  #pulzar-booking-tenant.bvr-skin .bw-slot-c.bw-slot-disabled::after{top:30px}
  #pulzar-booking-tenant.bvr-skin .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 (QCM du 26/09) : 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.bvr-skin .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.bvr-skin .bw-formule-grid > .bw-pkg-card.bw-pkg-formule-detail:last-child:nth-child(odd){padding-top:calc(25% + 13.5px)}
  #pulzar-booking-tenant.bvr-skin .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.bvr-skin .bw-activity-card:hover,
    #pulzar-booking-tenant.bvr-skin .bw-game-card:hover{
      transform:perspective(900px) rotateX(6deg) rotateY(-6deg) translate3d(0,-8px,0) scale(1.02);
      border-color:rgba(0,198,255,.6);box-shadow:18px 30px 50px -20px rgba(0,0,0,.95),0 0 30px -8px rgba(0,198,255,.5);
    }
    #pulzar-booking-tenant.bvr-skin .bw-activity-card:hover .bw-activity-cover::before,
    #pulzar-booking-tenant.bvr-skin .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(0,198,255,.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.bvr-skin .bw-games-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* ---------- 16. Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce){
  #pulzar-booking-tenant.bvr-skin *,#pulzar-booking-tenant.bvr-skin *::before,#pulzar-booking-tenant.bvr-skin *::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.bvr-skin .bw-step-pill.active::after{transform:scaleX(1)}
  #pulzar-booking-tenant.bvr-skin .bw-step::before{transform:scaleX(-1)}
  #pulzar-booking-tenant.bvr-skin:has(.bw-step1-section-title) .bw-step::before{transform:none}
  #pulzar-booking-tenant.bvr-skin .bw-step:has(.selected)::after{display:none}
}

/* ---------- 17. Formules illustrées (25/09 soir, demande d'Aymeric après la démo LGE : « remplir les cartes ») ----------
   Chaque carte de formule prend en tête une image (bandeau 2:1, fondu vers la carte). L'image suit l'identifiant de la
   formule (data-pkg), identique en français, anglais et espagnol ; une formule inconnue prend les quatre joueurs néon.
   Refaites le 25/09 à 23 h (verdict d'Aymeric sur les photos maison : « dégueulasses ») avec les photos officielles
   Zero Latency du Mac, 1200x600. Aucune photo pro d'enfants sur le Mac : les cartes enfant montrent deux jeux ouverts
   dès 8 ans. Le ?h= est l'empreinte du fichier : les images restent 30 jours en cache, un nouveau fichier doit changer d'adresse.
   Images vérifiées à l'œil avec leur titre. */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card.bw-pkg-formule-detail{padding-top:calc(50% + 16px)}
#pulzar-booking-tenant.bvr-skin .bw-pkg-card.bw-pkg-formule-detail::after{
  content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:2/1;pointer-events:none;z-index:0;
  background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-autre.webp?h=179d932c);
  background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat;
}
/* Un Jeu enfant : visuel officiel de Singularity, jeu de la grande arène ouvert dès 8 ans */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card[data-pkg="05883096-a8ed-4cb6-9cc7-e2e82848cef4"]::after{background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-enfant-1.webp?h=05616496)}
/* Deux Jeux enfant : visuel officiel de Sol Raiders, jeu de la grande arène ouvert dès 8 ans */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card[data-pkg="44632b94-979e-40be-a146-85fdcc26f99a"]::after{background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-enfant-2.webp?h=5679febc)}
/* Un Jeu Adulte : photo officielle Zero Latency, un duel face à face */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card[data-pkg="ad787ecb-d75f-496d-8b96-3f34f0e7bb21"]::after{background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-adulte-1.webp?h=fbcc3576)}
/* Deux Jeux Adulte : photo officielle Zero Latency, quatre joueurs en pleine partie */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card[data-pkg="416c379c-1ce3-4602-8779-49e22af9da00"]::after{background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-adulte-2.webp?h=09b6c9ea)}
/* EVG / EVJF : photo officielle Zero Latency, une bande d'amis qui fait la fête */
#pulzar-booking-tenant.bvr-skin .bw-pkg-card[data-pkg="b050d5bf-a20d-43f0-99e3-ed9f2f881a63"]::after{background-image:linear-gradient(180deg,rgba(13,19,32,0) 45%,rgba(13,19,32,.6) 78%,#0d1320 100%),url(../resa/formule-evg.webp?h=6275351e)}
#pulzar-booking-tenant.bvr-skin .bw-pkg-card.bw-pkg-formule-detail > *{position:relative;z-index:1}
/* ---------- fin de la section 17 ---------- */

/* ---------- 18. Créneaux par téléphone (26/09, choix d'Aymeric) ----------
   En semaine avant l'ouverture, les créneaux « sur réservation » restent par téléphone, pour la VR à partir de
   4 personnes. Le module n'affiche que « Sur réservation » et le numéro : la règle est précisée sur la tuile. */
#pulzar-booking-tenant.bvr-skin .bw-slot-surresa .bw-surresa-label::after{content:" · dès 4 personnes (VR)"}
html[lang="en"] #pulzar-booking-tenant.bvr-skin .bw-slot-surresa .bw-surresa-label::after{content:" · groups of 4+ (VR)"}
html[lang="es"] #pulzar-booking-tenant.bvr-skin .bw-slot-surresa .bw-surresa-label::after{content:" · desde 4 personas (RV)"}
/* ---------- fin de la section 18 ---------- */
