.elementor-2445 .elementor-element.elementor-element-4c22cbe{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}@media(max-width:767px){.elementor-2445 .elementor-element.elementor-element-4c22cbe{--width:500px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2445 .elementor-element.elementor-element-abf92ec{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for html, class: .elementor-element-abf92ec */@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ===================================================================
   LASERGAME GENÈVE — Page Retour client
   =================================================================== */
.lgf-app{
  --lgf-violet:#a855f7;
  --lgf-violet-d:#7c3aed;
  --lgf-cyan:#38bdf8;
  --lgf-pink:#ec4899;
  --lgf-gold:#f5b31b;
  --lgf-green:#4ade80;
  --lgf-line:rgba(168,85,247,.22);
  --lgf-ink:#ffffff;
  --lgf-dim:#b6abd8;

  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:64px 20px 72px;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--lgf-ink);
  overflow:hidden;
  background:
    radial-gradient(110% 75% at 50% -12%, #2c1560 0%, transparent 58%),
    radial-gradient(85% 65% at 88% 108%, #0f2a52 0%, transparent 62%),
    radial-gradient(70% 55% at 8% 95%, #3a0f45 0%, transparent 60%),
    linear-gradient(180deg,#100827 0%,#0a0418 52%,#050209 100%);
  -webkit-font-smoothing:antialiased;

  width:auto; max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.lgf-app *{ box-sizing:border-box; }

/* --- neutralise les styles globaux de bouton du thème --- */
.lgf-app button{
  font:inherit;
  color:inherit;
  -webkit-appearance:none;
  appearance:none;
}

/* ------------------------- DÉCOR --------------------------------- */
.lgf-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }

/* aurores diffuses (remplacent les anciens faisceaux) */
.lgf-aurora{
  position:absolute;
  border-radius:50%;
  filter:blur(120px);
  will-change:transform;
}
.lgf-aurora--1{
  width:60vw; height:48vw;
  top:-22%; left:-14%;
  background:radial-gradient(circle at 40% 40%, rgba(168,85,247,.75), transparent 66%);
  opacity:.55;
  animation:lgf-drift1 26s ease-in-out infinite;
}
.lgf-aurora--2{
  width:52vw; height:44vw;
  bottom:-24%; right:-12%;
  background:radial-gradient(circle at 60% 50%, rgba(56,189,248,.60), transparent 66%);
  opacity:.42;
  animation:lgf-drift2 32s ease-in-out infinite;
}
.lgf-aurora--3{
  width:46vw; height:34vw;
  top:32%; left:46%;
  background:radial-gradient(circle at 50% 50%, rgba(236,72,153,.55), transparent 68%);
  opacity:.30;
  animation:lgf-drift1 38s ease-in-out infinite reverse;
}

/* faisceau de scène très diffus, depuis le haut */
.lgf-spot{
  position:absolute;
  top:-14%; left:50%;
  width:130%; height:78%;
  transform:translateX(-50%);
  background:radial-gradient(48% 62% at 50% 0%, rgba(190,140,255,.30) 0%, transparent 72%);
  filter:blur(28px);
  animation:lgf-breathe 9s ease-in-out infinite;
}

/* poussière lumineuse fine */
.lgf-dots{
  position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.30;
  mask-image:radial-gradient(62% 52% at 50% 42%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(62% 52% at 50% 42%, #000 0%, transparent 78%);
}

/* vignette : concentre le regard sur la carte */
.lgf-vignette{
  position:absolute; inset:0;
  background:radial-gradient(125% 88% at 50% 42%, transparent 38%, rgba(3,1,8,.72) 100%);
}

/* ------------------------- CARTE --------------------------------- */
.lgf-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:540px;
  padding:2px;
  border-radius:26px;
  background:linear-gradient(90deg,
    rgba(168,85,247,.9) 0%,
    rgba(56,189,248,.65) 25%,
    rgba(236,72,153,.9) 50%,
    rgba(56,189,248,.65) 75%,
    rgba(168,85,247,.9) 100%);
  background-size:200% 100%;
  animation:lgf-slide 12s linear infinite;
  box-shadow:0 44px 100px -34px rgba(0,0,0,.9);
}

.lgf-card__inner{
  position:relative;
  border-radius:24px;
  padding:46px 38px 30px;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(124,58,237,.26), transparent 58%),
    radial-gradient(120% 100% at 100% 100%, rgba(56,189,248,.15), transparent 58%),
    linear-gradient(165deg, rgba(24,12,52,.94) 0%, rgba(16,7,34,.96) 60%, rgba(10,4,24,.97) 100%);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
}

.lgf-card__spot{
  position:absolute; inset:2px;
  border-radius:24px;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),
    rgba(168,85,247,.18), transparent 62%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
  z-index:2;
}
.lgf-card:hover .lgf-card__spot{ opacity:1; }

/* ------------------------- EN-TÊTE ------------------------------- */
.lgf-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(25px,4.4vw,34px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.015em;
  margin:0 0 13px;
  color:var(--lgf-ink);
}
.lgf-grad{
  background:linear-gradient(100deg,var(--lgf-violet),var(--lgf-cyan) 45%,var(--lgf-pink));
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  animation:lgf-slide 8s linear infinite;
}

.lgf-sub{
  margin:0 auto 32px;
  max-width:400px;
  color:var(--lgf-dim);
  font-size:14.5px;
  line-height:1.6;
}

/* ------------------------- ÉTOILES ------------------------------- */
.lgf-stars{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-bottom:10px;
}

/* !important : le thème stylise tous les <button> */
.lgf-app .lgf-star{
  position:relative;
  display:inline-flex;
  background:none !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:6px !important;
  margin:0 !important;
  min-height:0 !important;
  min-width:0 !important;
  width:auto !important;
  border-radius:12px !important;
  line-height:0;
  cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.9,.3,1.4);
}
.lgf-app .lgf-star:hover{ transform:translateY(-5px) scale(1.12); background:none !important; }
.lgf-app .lgf-star:active{ transform:translateY(-2px) scale(1.04); }
.lgf-app .lgf-star:focus-visible{ outline:2px solid var(--lgf-cyan); outline-offset:2px; }

.lgf-star svg{ width:42px; height:42px; position:relative; z-index:2; display:block; }
.lgf-star path{
  fill:transparent;
  stroke:rgba(245,179,27,.5);
  stroke-width:1.4;
  stroke-linejoin:round;
  transition:fill .25s ease, stroke .25s ease, filter .25s ease;
}
.lgf-star.is-on path{
  fill:var(--lgf-gold);
  stroke:#ffd469;
  filter:drop-shadow(0 0 10px rgba(245,179,27,.8));
}
.lgf-star.is-hover path{ filter:drop-shadow(0 0 17px rgba(245,179,27,1)); }

.lgf-star__ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:2px solid rgba(245,179,27,.8);
  opacity:0;
  z-index:1;
  pointer-events:none;
}
.lgf-star.is-pop .lgf-star__ring{ animation:lgf-ring .6s ease-out; }
.lgf-star.is-pop svg{ animation:lgf-bounce .45s cubic-bezier(.2,.9,.3,1.6); }

.lgf-rating{
  min-height:26px;
  margin-bottom:24px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .3s ease, transform .3s ease;
}
.lgf-rating.is-visible{ opacity:1; transform:none; }
.lgf-rating__txt{
  display:inline-block;
  padding:5px 14px;
  border-radius:999px;
  border:1px solid currentColor;
  background:rgba(255,255,255,.04);
}
.lgf-rating.tone-bad  { color:#ff8a7a; }
.lgf-rating.tone-mid  { color:var(--lgf-gold); }
.lgf-rating.tone-good { color:var(--lgf-cyan); }
.lgf-rating.tone-top  { color:var(--lgf-gold); text-shadow:0 0 18px rgba(245,179,27,.6); }

/* ------------------------- PANNEAUX ------------------------------ */
.lgf-panel{
  position:relative;
  text-align:left;
  margin-top:6px;
  padding-top:26px;
  border-top:1px solid var(--lgf-line);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s cubic-bezier(.2,.8,.25,1);
}
.lgf-panel.is-open{ opacity:1; transform:none; }
.lgf-panel[hidden]{ display:none; }

.lgf-panel__head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.lgf-panel__emoji{ font-size:20px; line-height:1; }
.lgf-panel h2{
  font-family:'Space Grotesk',sans-serif;
  font-size:17px; font-weight:600; margin:0; color:var(--lgf-ink);
}
.lgf-hint{ font-size:13.5px; color:var(--lgf-dim); line-height:1.55; margin:0 0 20px; }
.lgf-panel--low .lgf-hint{ color:#e6a99c; }

.lgf-label{
  font-family:'Space Grotesk',sans-serif;
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lgf-dim); margin:0 0 10px;
}
.lgf-label--ok{ color:#86efac; }
.lgf-label--ko{ color:#ff8a7a; }

/* ------------------------- BOUTON GOOGLE ------------------------- */
.lgf-app .lgf-google{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:58px;
  padding:0 22px;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#eef1f6);
  color:#121a2b !important;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15.5px;
  text-decoration:none !important;
  box-shadow:0 16px 38px -12px rgba(255,255,255,.4),
             0 0 0 1px rgba(255,255,255,.5),
             inset 0 1px 0 #fff;
  transition:transform .25s cubic-bezier(.2,.8,.25,1), box-shadow .25s ease;
}
.lgf-app .lgf-google:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 52px -14px rgba(255,255,255,.5),
             0 0 0 1px rgba(255,255,255,.7), inset 0 1px 0 #fff;
}
.lgf-google__g svg{ width:21px; height:21px; display:block; }
.lgf-google__arrow svg{ width:15px; height:15px; transition:transform .25s ease; }
.lgf-google:hover .lgf-google__arrow svg{ transform:translate(3px,-3px); }
.lgf-google__shine{
  position:absolute; top:0; left:-120%;
  width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(120,160,255,.35),transparent);
  transform:skewX(-20deg);
  transition:left .7s ease;
}
.lgf-google:hover .lgf-google__shine{ left:130%; }

/* ------------------------- SÉPARATEUR ---------------------------- */
.lgf-sep{
  display:flex; align-items:center; gap:14px;
  margin:24px 0 18px;
  font-size:12px; color:var(--lgf-dim);
}
.lgf-sep::before,.lgf-sep::after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg,transparent,var(--lgf-line),transparent);
}

/* ------------------------- PUCES --------------------------------- */
.lgf-block{ margin-bottom:4px; }
.lgf-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.lgf-app .lgf-chip{
  font-family:'Inter',sans-serif;
  font-size:13px; font-weight:500;
  color:var(--lgf-dim);
  padding:8px 14px !important;
  min-height:0 !important;
  width:auto !important;
  border-radius:999px !important;
  border:1px solid var(--lgf-line) !important;
  background:rgba(255,255,255,.03) !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.lgf-app .lgf-chip:hover{
  color:#fff;
  transform:translateY(-1px);
}
.lgf-app .lgf-chip--ok{
  border-color:rgba(74,222,128,.45) !important;
}
.lgf-app .lgf-chip--ok:hover{
  border-color:rgba(74,222,128,.85) !important;
}
.lgf-app .lgf-chip--ok.is-on{
  color:#fff;
  border-color:rgba(74,222,128,.95) !important;
  background:linear-gradient(120deg, rgba(34,197,94,.28), rgba(74,222,128,.18)) !important;
  box-shadow:0 0 18px -4px rgba(74,222,128,.55) !important;
}
.lgf-app .lgf-chip--ko{
  border-color:rgba(255,138,122,.5) !important;
}
.lgf-app .lgf-chip--ko:hover{
  border-color:rgba(255,138,122,.9) !important;
}
.lgf-app .lgf-chip--ko.is-on{
  color:#fff;
  border-color:rgba(255,138,122,.95) !important;
  background:linear-gradient(120deg, rgba(239,68,68,.28), rgba(255,138,122,.16)) !important;
  box-shadow:0 0 18px -4px rgba(255,138,122,.5) !important;
}

/* ------------------------- CHAMPS -------------------------------- */
.lgf-field{ position:relative; margin-bottom:14px; }
.lgf-row{ display:flex; gap:12px; }
.lgf-row .lgf-field{ flex:1; }

.lgf-app textarea,
.lgf-app input[type="text"],
.lgf-app input[type="email"],
.lgf-app input[type="tel"]{
  width:100%;
  background:rgba(6,3,16,.7);
  border:1px solid var(--lgf-line);
  border-radius:13px;
  color:var(--lgf-ink);
  font-family:'Inter',sans-serif;
  font-size:14px;
  padding:14px 16px;
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.lgf-app textarea{ resize:vertical; min-height:96px; padding-bottom:26px; }
.lgf-app textarea:focus,
.lgf-app input[type="text"]:focus,
.lgf-app input[type="email"]:focus,
.lgf-app input[type="tel"]:focus{
  outline:none;
  border-color:rgba(56,189,248,.85);
  background:rgba(6,3,16,.9);
  box-shadow:0 0 0 3px rgba(56,189,248,.14), 0 0 26px -6px rgba(56,189,248,.5);
}
.lgf-app ::placeholder{ color:#7b6fa0; }

.lgf-callback{
  text-align:left;
  margin:6px 0 20px;
  padding:6px;
  border-radius:18px;
  background:
    linear-gradient(165deg, rgba(36,18,72,.55) 0%, rgba(12,6,28,.72) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(168,85,247,.28),
    0 18px 40px -24px rgba(0,0,0,.7);
}
.lgf-checkopt{
  position:relative;
  display:flex; align-items:center; gap:14px;
  padding:12px 14px;
  border-radius:13px;
  cursor:pointer; user-select:none;
}
.lgf-checkopt:hover{ background:rgba(255,255,255,.03); }
.lgf-app .lgf-checkopt input[type="checkbox"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important; height:1px !important;
  margin:0 !important; padding:0 !important;
  pointer-events:none;
}
.lgf-checkopt__box{
  flex:0 0 auto;
  width:24px; height:24px;
  display:grid; place-items:center;
  border-radius:8px;
  border:1.5px solid rgba(190,140,255,.55);
  background:rgba(8,4,20,.75);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease;
}
.lgf-checkopt__box svg{ width:13px; height:13px; opacity:0; transform:scale(.7); transition:opacity .2s ease, transform .2s ease; }
.lgf-checkopt input:checked + .lgf-checkopt__box{
  border-color:transparent;
  background:linear-gradient(140deg, var(--lgf-violet-d), var(--lgf-violet) 55%, var(--lgf-pink));
  box-shadow:0 0 0 3px rgba(168,85,247,.18), 0 8px 20px -8px rgba(168,85,247,.8);
  transform:scale(1.04);
}
.lgf-checkopt input:checked + .lgf-checkopt__box svg{ opacity:1; transform:none; }
.lgf-checkopt input:focus-visible + .lgf-checkopt__box{
  outline:2px solid var(--lgf-cyan); outline-offset:3px;
}
.lgf-checkopt__txt{
  font-family:'Space Grotesk',sans-serif;
  font-size:14.5px; font-weight:600;
  letter-spacing:-.01em;
  color:#f4efff;
}
.lgf-phone{ display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .35s cubic-bezier(.2,.8,.25,1), opacity .28s ease; }
.lgf-callback.is-on .lgf-phone{ grid-template-rows:1fr; opacity:1; }
.lgf-phone__clip{ overflow:hidden; min-height:0; }
.lgf-phone__field{ padding:0 8px 10px; }
.lgf-app .lgf-phone input[type="tel"]{
  background:rgba(6,3,16,.55) !important;
  border:1px solid rgba(168,85,247,.35) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.lgf-count{
  position:absolute; right:12px; bottom:10px;
  font-size:11px; color:#6f6392; pointer-events:none;
}

.lgf-hp{ position:absolute!important; left:-9999px!important; opacity:0!important; height:0!important; }

/* ------------------------- BOUTON ENVOI -------------------------- */
.lgf-app .lgf-submit{
  position:relative;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%;
  min-height:56px;
  border:0 !important;
  border-radius:14px !important;
  cursor:pointer;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15px;
  color:#fff !important;
  background:linear-gradient(120deg,var(--lgf-violet-d),var(--lgf-violet) 45%,var(--lgf-pink)) !important;
  background-size:180% 100% !important;
  box-shadow:0 14px 36px -12px rgba(168,85,247,.8), inset 0 1px 0 rgba(255,255,255,.25) !important;
  animation:lgf-flow 7s ease infinite;
  transition:transform .25s cubic-bezier(.2,.8,.25,1), box-shadow .25s ease, opacity .2s ease;
}
.lgf-app .lgf-submit:hover{ transform:translateY(-3px); }
.lgf-app .lgf-submit:disabled{ cursor:default; transform:none; opacity:.75; }
.lgf-submit__shine{
  position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg); transition:left .7s ease;
}
.lgf-submit:hover .lgf-submit__shine{ left:130%; }

.lgf-app .lgf-submit--ghost{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(56,189,248,.45) !important;
  color:#d9f1ff !important;
  box-shadow:none !important;
  animation:none;
  min-height:50px;
  font-size:14px;
}
.lgf-app .lgf-submit--ghost:hover{
  background:rgba(56,189,248,.12) !important;
  border-color:rgba(56,189,248,.9) !important;
  box-shadow:0 12px 30px -12px rgba(56,189,248,.7) !important;
}

.lgf-spinner{
  display:none;
  width:17px; height:17px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  animation:lgf-spin .7s linear infinite;
}
.lgf-submit.is-loading .lgf-spinner{ display:block; }
.lgf-submit.is-loading .lgf-submit__label{ opacity:.7; }

.lgf-error{ margin:12px 0 0; font-size:13px; color:#ff8a7a; text-align:center; }

/* ------------------------- CONFIRMATION -------------------------- */
.lgf-success{
  text-align:center;
  padding:14px 0 6px;
  opacity:0;
  transform:translateY(10px) scale(.97);
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.25,1);
}
.lgf-success.is-open{ opacity:1; transform:none; }
.lgf-success[hidden]{ display:none; }

.lgf-check{ display:block; margin:0 auto 14px; width:64px; height:64px; }
.lgf-check svg{ width:100%; height:100%; }
.lgf-check circle{
  fill:none; stroke:var(--lgf-green); stroke-width:2.5;
  stroke-dasharray:151; stroke-dashoffset:151;
  animation:lgf-draw .7s ease forwards;
  filter:drop-shadow(0 0 10px rgba(74,222,128,.6));
}
.lgf-check path{
  fill:none; stroke:var(--lgf-green); stroke-width:3.4;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:40; stroke-dashoffset:40;
  animation:lgf-draw .45s ease .55s forwards;
}
.lgf-success h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px; font-weight:600; margin:0 0 6px; color:var(--lgf-ink);
}
.lgf-success p{ font-size:13.5px; color:var(--lgf-dim); margin:0; line-height:1.55; }

/* ------------------------- CONFETTIS ----------------------------- */
.lgf-confetti{ position:absolute; inset:-30px 0 auto; height:220px; pointer-events:none; overflow:hidden; z-index:5; }
.lgf-confetti i{
  position:absolute; top:0;
  width:7px; height:11px;
  border-radius:2px;
  opacity:0;
  animation:lgf-fall 1.4s ease-in forwards;
}

/* ------------------------- PIED ---------------------------------- */
.lgf-foot{
  margin:26px 0 0;
  font-size:11.5px;
  line-height:1.5;
  color:#6f6392;
  text-align:center;
}

/* ------------------------- ANIMATIONS ---------------------------- */
@keyframes lgf-slide{ from{background-position:0% 50%;} to{background-position:200% 50%;} }
@keyframes lgf-flow{ 0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;} }
@keyframes lgf-spin{ to{ transform:rotate(360deg); } }

@keyframes lgf-drift1{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%    { transform:translate(7%,9%) scale(1.14); }
}
@keyframes lgf-drift2{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%    { transform:translate(-8%,-7%) scale(1.12); }
}
@keyframes lgf-breathe{
  0%,100%{ opacity:.75; }
  50%    { opacity:1; }
}

@keyframes lgf-ring{
  0%  { opacity:.9; transform:scale(.4); }
  100%{ opacity:0;  transform:scale(2.2); }
}
@keyframes lgf-bounce{
  0%  { transform:scale(.7) rotate(-14deg); }
  60% { transform:scale(1.22) rotate(6deg); }
  100%{ transform:scale(1) rotate(0); }
}

@keyframes lgf-draw{ to{ stroke-dashoffset:0; } }

@keyframes lgf-fall{
  0%  { opacity:1; transform:translate(0,-10px) rotate(0); }
  100%{ opacity:0; transform:translate(var(--x,0),190px) rotate(var(--r,360deg)); }
}

/* ------------------------- RESPONSIVE ---------------------------- */
@media (max-width:600px){
  .lgf-app{ padding:40px 14px 52px; min-height:auto; }
  .lgf-card{ border-radius:22px; }
  .lgf-card__inner{ padding:34px 22px 24px; border-radius:20px; }
  .lgf-title{ font-size:24px; }
  .lgf-sub{ font-size:13.5px; margin-bottom:26px; }
  .lgf-stars{ gap:2px; }
  .lgf-app .lgf-star{ padding:4px !important; }
  .lgf-star svg{ width:36px; height:36px; }
  .lgf-row{ flex-direction:column; gap:0; }
  .lgf-app .lgf-google{ font-size:14.5px; min-height:54px; gap:9px; }
  .lgf-aurora{ filter:blur(80px); }
}

/* Accessibilité : mouvement réduit */
@media (prefers-reduced-motion:reduce){
  .lgf-app *{ animation:none !important; transition:none !important; }
  .lgf-check circle,.lgf-check path{ stroke-dashoffset:0 !important; }
}

/* Décale la carte sous le header fixe — le fond reste derrière l'en-tête */
.lgf-card{
  margin-top: 60px;
}

@media (max-width: 767px){
  .lgf-card{
    margin-top: 110px;
    transform: translateY(-20px);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4c22cbe */@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ===================================================================
   LASERGAME GENÈVE — Page Retour client
   =================================================================== */
.lgf-app{
  --lgf-bg:#0a0418;
  --lgf-bg2:#150a2e;
  --lgf-panel:rgba(21,10,46,.72);
  --lgf-line:rgba(168,85,247,.22);
  --lgf-violet:#a855f7;
  --lgf-violet-d:#7c3aed;
  --lgf-cyan:#38bdf8;
  --lgf-pink:#ec4899;
  --lgf-gold:#f5b31b;
  --lgf-red:#ef4444;
  --lgf-green:#4ade80;
  --lgf-ink:#ffffff;
  --lgf-dim:#b6abd8;

  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:56px 20px;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--lgf-ink);
  background:
    radial-gradient(120% 90% at 50% -10%, #24124d 0%, transparent 60%),
    linear-gradient(180deg,#0d0620 0%,var(--lgf-bg) 55%,#07030f 100%);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.lgf-app *{ box-sizing:border-box; }

/* ------------------------- DÉCOR --------------------------------- */
.lgf-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }

.lgf-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.42;
}
.lgf-orb--1{ width:46vw; height:46vw; top:-12%; left:-10%;
  background:radial-gradient(circle,var(--lgf-violet),transparent 68%);
  animation:lgf-drift1 22s ease-in-out infinite; }
.lgf-orb--2{ width:40vw; height:40vw; bottom:-14%; right:-8%;
  background:radial-gradient(circle,var(--lgf-cyan),transparent 68%);
  opacity:.30; animation:lgf-drift2 26s ease-in-out infinite; }
.lgf-orb--3{ width:32vw; height:32vw; top:38%; left:52%;
  background:radial-gradient(circle,var(--lgf-pink),transparent 70%);
  opacity:.24; animation:lgf-drift1 30s ease-in-out infinite reverse; }

.lgf-beam{
  position:absolute;
  top:-25%;
  width:2px;
  height:150%;
  opacity:.55;
  filter:blur(.5px);
}
.lgf-beam--1{ left:18%; transform:rotate(14deg);
  background:linear-gradient(180deg,transparent,rgba(56,189,248,.85),transparent);
  animation:lgf-beam 9s ease-in-out infinite; }
.lgf-beam--2{ left:52%; transform:rotate(-11deg);
  background:linear-gradient(180deg,transparent,rgba(168,85,247,.85),transparent);
  animation:lgf-beam 11s ease-in-out infinite 1.6s; }
.lgf-beam--3{ left:82%; transform:rotate(9deg);
  background:linear-gradient(180deg,transparent,rgba(236,72,153,.75),transparent);
  animation:lgf-beam 13s ease-in-out infinite .8s; }

.lgf-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(168,85,247,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,85,247,.055) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%);
}

/* ------------------------- CARTE --------------------------------- */
.lgf-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:540px;
  padding:2px;
  border-radius:26px;
  background:linear-gradient(90deg,
    rgba(168,85,247,.9) 0%,
    rgba(56,189,248,.65) 25%,
    rgba(236,72,153,.9) 50%,
    rgba(56,189,248,.65) 75%,
    rgba(168,85,247,.9) 100%);
  background-size:200% 100%;
  animation:lgf-slide 12s linear infinite;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
}

.lgf-card__inner{
  position:relative;
  border-radius:24px;
  padding:44px 38px 30px;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(120% 100% at 0% 0%, rgba(124,58,237,.28), transparent 58%),
    radial-gradient(120% 100% at 100% 100%, rgba(56,189,248,.16), transparent 58%),
    linear-gradient(165deg,#180c34 0%,#100722 60%,#0a0418 100%);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

/* halo suivant le curseur */
.lgf-card__spot{
  position:absolute; inset:2px;
  border-radius:24px;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),
    rgba(168,85,247,.18), transparent 62%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
  z-index:2;
}
.lgf-card:hover .lgf-card__spot{ opacity:1; }

/* ------------------------- EN-TÊTE ------------------------------- */
.lgf-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'Space Grotesk',sans-serif;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--lgf-cyan);
  padding:7px 16px 7px 12px;
  border:1px solid rgba(56,189,248,.30);
  border-radius:999px;
  background:rgba(56,189,248,.07);
  margin-bottom:22px;
}
.lgf-brand__pulse{
  width:7px; height:7px; border-radius:50%;
  background:var(--lgf-cyan);
  box-shadow:0 0 0 0 rgba(56,189,248,.6);
  animation:lgf-pulse 2.2s ease-out infinite;
}

.lgf-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(25px,4.4vw,33px);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.01em;
  margin:0 0 12px;
}
.lgf-grad{
  background:linear-gradient(100deg,var(--lgf-violet),var(--lgf-cyan) 45%,var(--lgf-pink));
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  animation:lgf-slide 8s linear infinite;
}

.lgf-sub{
  margin:0 auto 30px;
  max-width:400px;
  color:var(--lgf-dim);
  font-size:14.5px;
  line-height:1.6;
}

/* ------------------------- ÉTOILES ------------------------------- */
.lgf-stars{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-bottom:10px;
}

.lgf-star{
  position:relative;
  background:none;
  border:0;
  padding:6px;
  line-height:0;
  cursor:pointer;
  border-radius:12px;
  transition:transform .22s cubic-bezier(.2,.9,.3,1.4);
}
.lgf-star:hover{ transform:translateY(-5px) scale(1.12); }
.lgf-star:active{ transform:translateY(-2px) scale(1.04); }
.lgf-star:focus-visible{ outline:2px solid var(--lgf-cyan); outline-offset:2px; }

.lgf-star svg{ width:42px; height:42px; position:relative; z-index:2; }
.lgf-star path{
  fill:transparent;
  stroke:rgba(245,179,27,.55);
  stroke-width:1.4;
  stroke-linejoin:round;
  transition:fill .25s ease, stroke .25s ease, filter .25s ease;
}
.lgf-star.is-on path{
  fill:url(#none);
  fill:var(--lgf-gold);
  stroke:#ffd469;
  filter:drop-shadow(0 0 10px rgba(245,179,27,.75));
}
.lgf-star.is-hover path{ filter:drop-shadow(0 0 16px rgba(245,179,27,.95)); }

/* onde de choc au clic */
.lgf-star__ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:2px solid rgba(245,179,27,.8);
  opacity:0;
  z-index:1;
}
.lgf-star.is-pop .lgf-star__ring{ animation:lgf-ring .6s ease-out; }
.lgf-star.is-pop svg{ animation:lgf-bounce .45s cubic-bezier(.2,.9,.3,1.6); }

.lgf-rating{
  min-height:26px;
  margin-bottom:22px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .3s ease, transform .3s ease;
}
.lgf-rating.is-visible{ opacity:1; transform:none; }
.lgf-rating__txt{
  display:inline-block;
  padding:5px 14px;
  border-radius:999px;
  border:1px solid currentColor;
  background:rgba(255,255,255,.04);
}
.lgf-rating.tone-bad  { color:#ff8a7a; }
.lgf-rating.tone-mid  { color:var(--lgf-gold); }
.lgf-rating.tone-good { color:var(--lgf-cyan); }
.lgf-rating.tone-top  { color:var(--lgf-gold); text-shadow:0 0 18px rgba(245,179,27,.6); }

/* ------------------------- PANNEAUX ------------------------------ */
.lgf-panel{
  position:relative;
  text-align:left;
  margin-top:6px;
  padding-top:26px;
  border-top:1px solid var(--lgf-line);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s cubic-bezier(.2,.8,.25,1);
}
.lgf-panel.is-open{ opacity:1; transform:none; }
.lgf-panel[hidden]{ display:none; }

.lgf-panel__head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.lgf-panel__emoji{ font-size:20px; line-height:1; }
.lgf-panel h2{
  font-family:'Space Grotesk',sans-serif;
  font-size:17px; font-weight:600; margin:0;
}
.lgf-hint{ font-size:13.5px; color:var(--lgf-dim); line-height:1.55; margin:0 0 20px; }
.lgf-panel--low .lgf-hint{ color:#e6a99c; }

.lgf-label{
  font-family:'Space Grotesk',sans-serif;
  font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lgf-dim); margin:0 0 10px;
}

/* ------------------------- BOUTON GOOGLE ------------------------- */
.lgf-google{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:58px;
  padding:0 22px;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#eef1f6);
  color:#121a2b !important;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15.5px;
  text-decoration:none !important;
  box-shadow:0 14px 34px -10px rgba(255,255,255,.35),
             0 0 0 1px rgba(255,255,255,.5),
             inset 0 1px 0 #fff;
  transition:transform .25s cubic-bezier(.2,.8,.25,1), box-shadow .25s ease;
}
.lgf-google:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px -12px rgba(255,255,255,.45),
             0 0 0 1px rgba(255,255,255,.7), inset 0 1px 0 #fff;
}
.lgf-google__g svg{ width:21px; height:21px; display:block; }
.lgf-google__arrow svg{ width:15px; height:15px; transition:transform .25s ease; }
.lgf-google:hover .lgf-google__arrow svg{ transform:translate(3px,-3px); }
.lgf-google__shine{
  position:absolute; top:0; left:-120%;
  width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(120,160,255,.35),transparent);
  transform:skewX(-20deg);
  transition:left .7s ease;
}
.lgf-google:hover .lgf-google__shine{ left:130%; }

/* ------------------------- SÉPARATEUR ---------------------------- */
.lgf-sep{
  display:flex; align-items:center; gap:14px;
  margin:24px 0 18px;
  font-size:12px; color:var(--lgf-dim);
}
.lgf-sep::before,.lgf-sep::after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg,transparent,var(--lgf-line),transparent);
}

/* ------------------------- PUCES --------------------------------- */
.lgf-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.lgf-chip{
  font-family:'Inter',sans-serif;
  font-size:13px; font-weight:500;
  color:var(--lgf-dim);
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--lgf-line);
  background:rgba(255,255,255,.03);
  cursor:pointer;
  transition:all .2s ease;
}
.lgf-chip:hover{ color:#fff; border-color:rgba(168,85,247,.6); transform:translateY(-1px); }
.lgf-chip.is-on{
  color:#fff;
  border-color:rgba(236,72,153,.85);
  background:linear-gradient(120deg, rgba(168,85,247,.3), rgba(236,72,153,.25));
  box-shadow:0 0 18px -4px rgba(236,72,153,.6);
}

/* ------------------------- CHAMPS -------------------------------- */
.lgf-field{ position:relative; margin-bottom:14px; }
.lgf-row{ display:flex; gap:12px; }
.lgf-row .lgf-field{ flex:1; }

.lgf-app textarea,
.lgf-app input[type="text"],
.lgf-app input[type="email"]{
  width:100%;
  background:rgba(8,4,20,.65);
  border:1px solid var(--lgf-line);
  border-radius:13px;
  color:var(--lgf-ink);
  font-family:'Inter',sans-serif;
  font-size:14px;
  padding:14px 16px;
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.lgf-app textarea{ resize:vertical; min-height:96px; padding-bottom:26px; }
.lgf-app textarea:focus,
.lgf-app input:focus{
  outline:none;
  border-color:rgba(56,189,248,.85);
  background:rgba(8,4,20,.85);
  box-shadow:0 0 0 3px rgba(56,189,248,.14), 0 0 26px -6px rgba(56,189,248,.5);
}
.lgf-app ::placeholder{ color:#7b6fa0; }

.lgf-count{
  position:absolute; right:12px; bottom:10px;
  font-size:11px; color:#6f6392; pointer-events:none;
}

.lgf-hp{ position:absolute!important; left:-9999px!important; opacity:0!important; height:0!important; }

/* ------------------------- BOUTON ENVOI -------------------------- */
.lgf-submit{
  position:relative;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%;
  min-height:56px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:15px;
  color:#fff;
  background:linear-gradient(120deg,var(--lgf-violet-d),var(--lgf-violet) 45%,var(--lgf-pink));
  background-size:180% 100%;
  box-shadow:0 12px 32px -10px rgba(168,85,247,.75), inset 0 1px 0 rgba(255,255,255,.25);
  animation:lgf-flow 7s ease infinite;
  transition:transform .25s cubic-bezier(.2,.8,.25,1), box-shadow .25s ease, opacity .2s ease;
}
.lgf-submit:hover{ transform:translateY(-3px); box-shadow:0 20px 46px -12px rgba(236,72,153,.8); }
.lgf-submit:disabled{ cursor:default; transform:none; opacity:.75; }
.lgf-submit__shine{
  position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg); transition:left .7s ease;
}
.lgf-submit:hover .lgf-submit__shine{ left:130%; }

.lgf-submit--ghost{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(56,189,248,.45);
  color:#d9f1ff;
  box-shadow:none;
  animation:none;
  min-height:50px;
  font-size:14px;
}
.lgf-submit--ghost:hover{
  background:rgba(56,189,248,.12);
  border-color:rgba(56,189,248,.9);
  box-shadow:0 12px 30px -12px rgba(56,189,248,.7);
}

.lgf-spinner{
  display:none;
  width:17px; height:17px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  animation:lgf-spin .7s linear infinite;
}
.lgf-submit.is-loading .lgf-spinner{ display:block; }
.lgf-submit.is-loading .lgf-submit__label{ opacity:.7; }

.lgf-error{
  margin:12px 0 0;
  font-size:13px;
  color:#ff8a7a;
  text-align:center;
}

/* ------------------------- CONFIRMATION -------------------------- */
.lgf-success{
  text-align:center;
  padding:14px 0 6px;
  opacity:0;
  transform:translateY(10px) scale(.97);
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.25,1);
}
.lgf-success.is-open{ opacity:1; transform:none; }
.lgf-success[hidden]{ display:none; }

.lgf-check{ display:block; margin:0 auto 14px; width:64px; height:64px; }
.lgf-check svg{ width:100%; height:100%; }
.lgf-check circle{
  fill:none; stroke:var(--lgf-green); stroke-width:2.5;
  stroke-dasharray:151; stroke-dashoffset:151;
  animation:lgf-draw .7s ease forwards;
  filter:drop-shadow(0 0 10px rgba(74,222,128,.6));
}
.lgf-check path{
  fill:none; stroke:var(--lgf-green); stroke-width:3.4;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:40; stroke-dashoffset:40;
  animation:lgf-draw .45s ease .55s forwards;
}
.lgf-success h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px; font-weight:600; margin:0 0 6px;
}
.lgf-success p{ font-size:13.5px; color:var(--lgf-dim); margin:0; line-height:1.55; }

/* ------------------------- CONFETTIS ----------------------------- */
.lgf-confetti{ position:absolute; inset:-30px 0 auto; height:220px; pointer-events:none; overflow:hidden; z-index:5; }
.lgf-confetti i{
  position:absolute; top:0;
  width:7px; height:11px;
  border-radius:2px;
  opacity:0;
  animation:lgf-fall 1.4s ease-in forwards;
}

/* ------------------------- PIED ---------------------------------- */
.lgf-foot{
  margin:26px 0 0;
  font-size:11.5px;
  line-height:1.5;
  color:#6f6392;
  text-align:center;
}

/* ------------------------- ANIMATIONS ---------------------------- */
@keyframes lgf-slide{ from{background-position:0% 50%;} to{background-position:200% 50%;} }
@keyframes lgf-flow{ 0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;} }
@keyframes lgf-spin{ to{ transform:rotate(360deg); } }

@keyframes lgf-pulse{
  0%  { box-shadow:0 0 0 0 rgba(56,189,248,.55); }
  70% { box-shadow:0 0 0 9px rgba(56,189,248,0); }
  100%{ box-shadow:0 0 0 0 rgba(56,189,248,0); }
}

@keyframes lgf-drift1{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%    { transform:translate(6%,8%) scale(1.12); }
}
@keyframes lgf-drift2{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%    { transform:translate(-7%,-6%) scale(1.1); }
}

@keyframes lgf-beam{
  0%,100%{ opacity:.12; transform:translateY(-6%) rotate(var(--rot,12deg)); }
  50%    { opacity:.6;  transform:translateY(6%)  rotate(var(--rot,12deg)); }
}

@keyframes lgf-ring{
  0%  { opacity:.9; transform:scale(.4); }
  100%{ opacity:0;  transform:scale(2.2); }
}
@keyframes lgf-bounce{
  0%  { transform:scale(.7) rotate(-14deg); }
  60% { transform:scale(1.22) rotate(6deg); }
  100%{ transform:scale(1) rotate(0); }
}

@keyframes lgf-draw{ to{ stroke-dashoffset:0; } }

@keyframes lgf-fall{
  0%  { opacity:1; transform:translate(0,-10px) rotate(0); }
  100%{ opacity:0; transform:translate(var(--x,0),190px) rotate(var(--r,360deg)); }
}

/* ------------------------- RESPONSIVE ---------------------------- */
@media (max-width:600px){
  .lgf-app{ padding:36px 14px; min-height:auto; }
  .lgf-card__inner{ padding:34px 22px 24px; border-radius:20px; }
  .lgf-card{ border-radius:22px; }
  .lgf-title{ font-size:24px; }
  .lgf-sub{ font-size:13.5px; margin-bottom:24px; }
  .lgf-stars{ gap:2px; }
  .lgf-star{ padding:4px; }
  .lgf-star svg{ width:36px; height:36px; }
  .lgf-row{ flex-direction:column; gap:0; }
  .lgf-google{ font-size:14.5px; min-height:54px; gap:9px; }
  .lgf-orb{ filter:blur(70px); }
}

/* Accessibilité : mouvement réduit */
@media (prefers-reduced-motion:reduce){
  .lgf-app *{ animation:none !important; transition:none !important; }
  .lgf-check circle,.lgf-check path{ stroke-dashoffset:0 !important; }
}/* End custom CSS */