﻿/* Magma Pizza - design refresh
   Override layer only: original markup and scripts are left untouched. */

:root{
  --ember:#ff6b35;
  --ember2:#ff8f5e;
  --gold:#ff6b35;
  --gold2:#ffd0b8;
  --ash:#0f0f0f;
  --charcoal:#171717;
  --wood:#25110b;
  --cream:#f5f1ea;
  --parchment:#e8ded3;
  --smoke:#a4a0a0;
  --green:#38d996;
  --blue:#4aa8ff;
  --r:18px;
  --tap:50px;
  --pad:16px;
}

html{background:#0f0f0f;}

body{
  font-family:'Outfit','Lato',sans-serif;
  background-color:#0f0f0f;
  background-image:
    radial-gradient(ellipse 80% 48% at 50% -8%,rgba(255,107,53,.20) 0%,transparent 62%),
    radial-gradient(ellipse 50% 30% at 100% 100%,rgba(255,107,53,.07) 0%,transparent 70%);
  color:var(--cream);
}

button,
input,
textarea,
select,
.nav-tab,
.mh-btn,
.btn-lookup,
.btn-send,
.btn-wheel,
.btn-call-big,
.p-add-btn,
.qty-btn,
.lang-btn{
  font-family:'Outfit','Lato',sans-serif;
}

/* ---------- HEADER ---------- */
.site-header{
  background:#0f0f0f;
  border-bottom:1px solid #242424;
  padding:22px 16px 16px;
}
.site-header::before{
  background:radial-gradient(ellipse 70% 50% at 50% 120%,rgba(255,107,53,.22) 0%,transparent 70%);
}
.logo-emoji{
  filter:drop-shadow(0 0 14px rgba(255,107,53,.65));
}
.logo-title{
  font-family:'Bebas Neue',sans-serif;
  font-weight:400;
  font-size:clamp(2rem,9vw,3.4rem);
  letter-spacing:3px;
  background:linear-gradient(135deg,#ffe1d3,var(--ember) 62%,var(--ember2));
  -webkit-background-clip:text;
  background-clip:text;
}
.logo-sub{
  color:#8d8d8d;
  letter-spacing:2px;
}
.flame-divider::before,
.flame-divider::after{
  background:linear-gradient(90deg,transparent,rgba(255,107,53,.7),transparent);
}
.lang-bar{gap:6px;padding:10px 12px 0;}
.lang-btn{
  background:#1a1a1a;
  border:1px solid #2c2c2c;
  border-radius:999px;
  color:#9a9a9a;
  padding:6px 13px;
  font-weight:600;
}
.lang-btn.active{
  background:var(--ember);
  border-color:var(--ember);
  color:#161616;
  font-weight:800;
}
.hours-bar{
  background:#161616;
  border-top:1px solid #242424;
  border-bottom:1px solid #242424;
  color:#ffb99a;
  font-size:.75rem;
}
.hours-bar span{color:#9a9a9a;}

/* ---------- HERO ---------- */
.mh{
  padding:32px 16px 28px;
  background:#111;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  pointer-events:none;
}
.mh::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  pointer-events:none;
  z-index:1;
}
.mh-in,
.mh-addr,
.mh-chips{position:relative;z-index:2;}
.mh-in{gap:24px;}
.mh-photo img{
  border:1px solid #2e2e2e;
  border-radius:26px;
  box-shadow:0 22px 55px rgba(0,0,0,.65);
}
.mh-photo figcaption{
  background:linear-gradient(135deg,var(--ember2),var(--ember));
  color:#161616;
  font-weight:800;
}
.mh-kicker{
  color:var(--ember2);
  letter-spacing:.24em;
  font-weight:700;
}
.mh-h1{
  font-family:'Bebas Neue',sans-serif;
  font-weight:400;
  font-size:clamp(3rem,13vw,5.6rem);
  line-height:.94;
  letter-spacing:1.5px;
  background:linear-gradient(180deg,#fff,#ffb28f 58%,var(--ember));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.mh-sub{color:#c9c2ba;font-size:.96rem;}
.mh-btn{
  min-height:52px;
  border-radius:14px;
  background:#1a1a1a;
  border:1px solid #333;
  color:var(--cream);
  font-weight:600;
}
.mh .mh-btn-main{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  border-color:transparent;
  color:#161616;
  font-weight:800;
  box-shadow:0 12px 28px rgba(255,107,53,.3);
}
.mh-addr{
  background:#171717;
  border:1px solid #2a2a2a;
  border-radius:20px;
  padding:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.mh-addr-txt strong{color:var(--cream);}
.mh-addr-txt span{color:#9a9a9a;}
.mh-addr-txt em{color:#ff9d78;}
.mh-chips li{
  background:#1a1a1a;
  border:1px solid #2b2b2b;
  color:#cfc7bf;
}
.mh-strip figure{
  border-radius:20px;
  border:1px solid #242424;
}
.mh-strip figcaption{background:linear-gradient(0deg,rgba(15,15,15,.92),transparent);}

/* ---------- BOTTOM NAV ---------- */
.page-nav{
  left:12px;
  right:12px;
  max-width:520px;
  margin-left:auto;
  margin-right:auto;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  background:rgba(22,22,22,.94);
  border:1px solid #2d2d2d;
  border-radius:22px;
  padding:6px;
  gap:4px;
  box-shadow:0 18px 42px rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.nav-tab{
  flex-direction:row;
  gap:8px;
  padding:13px 10px;
  border-top:0;
  border-radius:16px;
  font-size:.8rem;
  font-weight:600;
  color:#9a9a9a;
  letter-spacing:.2px;
}
.nav-tab .tab-icon{
  font-size:1.3rem;
  transform:none;
}
.nav-tab.active{
  color:#ffb99a;
  background:rgba(255,107,53,.13);
  border-top-color:transparent;
}
.nav-tab.active .tab-icon{transform:none;}
.nav-tab:hover{color:#ffc7ad;}
@media(max-width:380px){
  .nav-tab{font-size:.72rem;gap:5px;padding:12px 7px;white-space:nowrap;}
  .nav-tab .tab-icon{font-size:1.1rem;}
}
body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));}

/* ---------- SECTION HEADINGS ---------- */
.wrap{padding:20px 16px 30px;}
.sec-head{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.25rem;
  font-weight:400;
  letter-spacing:1.4px;
  color:#ffd8c5;
  margin:30px 0 12px;
}
.sec-head::after{
  background:linear-gradient(90deg,rgba(255,107,53,.5),transparent);
}
.sec-icon{font-size:1.15rem;}

/* ---------- LOYALTY ---------- */
.loyalty-panel{
  background:linear-gradient(180deg,#1a1a1a,#141414);
  border:1px solid #2d2d2d;
  border-radius:22px;
  padding:18px;
  box-shadow:0 20px 44px rgba(0,0,0,.25);
}
.loyalty-top-text h3{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.2rem;
  font-weight:400;
  letter-spacing:.8px;
  color:#ffd8c5;
}
.loyalty-top-text p{color:#9a9a9a;}
.field-label{color:#8f8f8f;}
.loy-input{
  background:#0e0e0e;
  border:1px solid #333;
  border-radius:12px;
  color:var(--cream);
}
.loyalty-panel input.loy-input{
  background:#0e0e0e;
  border-color:#333;
  color:var(--cream);
}
.loy-input::placeholder{color:#7a7a7a;}
.loy-input:focus{
  border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,107,53,.12);
}
.loyalty-panel input.loy-input:focus{
  border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,107,53,.12);
}
.btn-lookup{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  border-radius:12px;
  color:#fff;
  font-weight:700;
  box-shadow:0 10px 24px rgba(255,107,53,.24);
}
.loy-hint{color:#9a9a9a;}
.loy-forgot-btn{color:#ff9d78;}
.loy-forgot-btn:hover{color:var(--ember);}
.loy-status{
  background:#111;
  border:1px solid #2d2d2d;
  border-radius:16px;
}
.ls-code{color:var(--ember2);}
.ls-pts-num{
  font-family:'Bebas Neue',sans-serif;
  font-weight:400;
  letter-spacing:1px;
  color:#ffd8c5;
}
.prog-track{background:#2a2a2a;}
.prog-fill{background:linear-gradient(90deg,var(--ember),var(--gold2));}
.badge-lock{border-color:#2f2f2f;color:#8f8f8f;}
.btn-resend{color:#67e8f9;}

/* ---------- PIZZA / MENU ---------- */
#commande{
  background:transparent;
  color:var(--cream);
  border-radius:0;
  margin-top:0;
  padding-top:0;
  box-shadow:none;
}
#commande .sec-head{color:#ffd8c5;}
.p-card,
#commande .p-card{
  background:linear-gradient(180deg,#1a1a1a,#151515);
  border:1px solid #2a2a2a;
  border-radius:18px;
  box-shadow:none;
}
.p-card.sel,
#commande .p-card.sel{border-color:rgba(255,107,53,.75);}
.p-card.free-sel,
#commande .p-card.free-sel{border-color:rgba(56,217,150,.7);}
.p-check,
#commande .p-check{border-color:#3a3a3a;}
.p-name,
#commande .p-name{color:var(--cream);font-weight:700;}
.p-ing,
#commande .p-ing{color:#9a9a9a;}
.p-ing strong,
#commande .p-ing strong{color:#ded6ce;}
.p-ing-hint,
#commande .p-ing-hint{color:#6f6f6f;}
.p-price,
#commande .p-price{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.2rem;
  letter-spacing:.8px;
  color:#ff9d78;
}
.tag-vege{background:rgba(56,217,150,.12);color:#7cf0c1;border-color:rgba(56,217,150,.3);}
.tag-excl{background:rgba(255,107,53,.12);color:var(--ember2);border-color:rgba(255,107,53,.3);}
.p-add-btn,
#commande .p-add-btn{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  border:none;
  border-radius:12px;
  color:#161616;
  font-weight:800;
  box-shadow:0 10px 22px rgba(255,107,53,.22);
}
.p-add-btn:active{background:var(--ember2);}
.p-actions{background:#101010;border-top-color:#242424;}
.dual-qty-row{
  background:#101010;
  border-color:#2a2a2a;
}
.dual-qty-row.active{
  border-color:rgba(255,107,53,.55);
  background:rgba(255,107,53,.08);
}
.dual-qty-name{color:var(--cream);}
.dual-qty-price{color:#ffb99a;}
.qty-btn{background:#262626;color:var(--cream);}
.qty-btn:active{background:var(--ember);color:#161616;}
.qty-num{color:#ffd0b8;}
.btn-cust-sm{
  background:rgba(255,107,53,.12);
  border-color:rgba(255,107,53,.4);
  color:#ffb99a;
}
.btn-cust-sm:active{background:rgba(255,107,53,.28);}
.p-subtot{color:#ffb99a;}
.d-card{
  background:linear-gradient(180deg,#1a1a1a,#151515);
  border-color:#2a2a2a;
}
.d-card.sel{
  border-color:rgba(255,107,53,.75);
  background:linear-gradient(135deg,rgba(255,107,53,.12),#151515);
}
.d-card.sel .d-check{background:var(--ember);border-color:var(--ember);color:#161616;}
.d-name{color:var(--cream);}
.d-sub{color:#8f8f8f;}
.d-price{color:#ff9d78;}
.brioche-card.sel{
  border-color:var(--ember)!important;
  background:linear-gradient(135deg,rgba(255,107,53,.12),#151515)!important;
}
.brioche-card.sel .d-check{background:var(--ember)!important;border-color:var(--ember)!important;}
.alc{color:#7a7a7a;}
.drink-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.d-card{min-width:0;}
.d-name{overflow-wrap:anywhere;}
@media(min-width:900px){
  .drink-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:360px){
  .drink-grid{grid-template-columns:1fr;}
}

/* ---------- WHEEL CTA ---------- */
.wheel-cta{
  background:linear-gradient(160deg,#1c120e,#121212);
  border:1px solid rgba(255,107,53,.38);
  border-radius:20px;
  padding:22px 18px;
}
.wc-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.3rem;
  font-weight:400;
  letter-spacing:1px;
  color:#ffd8c5;
}
.wc-sub{color:#9a9a9a;}
.btn-wheel{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  border-radius:14px;
  color:#161616;
  font-family:'Outfit',sans-serif;
  font-weight:800;
  box-shadow:0 12px 26px rgba(255,107,53,.28);
}

/* ---------- ORDER ---------- */
.order-section{
  background:linear-gradient(180deg,#1a1a1a,#141414);
  border:1px solid rgba(255,107,53,.7);
  border-radius:22px;
  padding:18px;
  box-shadow:0 0 0 1px rgba(255,107,53,.12),0 22px 54px rgba(0,0,0,.35);
}
.order-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.25rem;
  font-weight:400;
  letter-spacing:1px;
  color:#ffd8c5;
}
.order-total-big{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.55rem;
  font-weight:400;
  letter-spacing:.5px;
  color:var(--ember2);
}
.order-items{color:#9a9a9a;}
.order-items strong{color:var(--cream);}
.form-sep{background:#242424;}
.form-input{
  background:#0e0e0e;
  border:1px solid #333;
  border-radius:12px;
  color:var(--cream);
}
#order-section input.form-input,
#order-section textarea.form-input{
  background:#0e0e0e;
  border-color:#333;
  color:var(--cream);
}
.form-input::placeholder{color:#7a7a7a;}
.form-input:focus{
  border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,107,53,.12);
}
#order-section .form-input:focus{
  border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,107,53,.12);
}
.email-opt-wrap{
  background:rgba(255,107,53,.06);
  border:1px solid #3a2a24;
  border-radius:12px;
}
.email-opt-title{color:#ffb99a;}
.email-opt-desc{color:#8f8f8f;}
.btn-send{border-radius:14px;}
.btn-wa{background:linear-gradient(135deg,#128C7E,#25D366);}
.btn-sms{background:linear-gradient(135deg,#2b2b2b,#3a3a3a);}
.btn-tel{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  color:#161616;
  box-shadow:0 10px 24px rgba(255,107,53,.24);
}
.send-note{color:#8f8f8f;}
.confirm-banner{
  background:linear-gradient(135deg,rgba(56,217,150,.14),rgba(0,100,50,.08));
  border-color:rgba(56,217,150,.45);
}
.btn-new-order{color:#7cf0c1;border-color:rgba(56,217,150,.45);}
#toast{
  bottom:calc(96px + env(safe-area-inset-bottom,0px));
  background:rgba(22,22,22,.98);
  border:1px solid rgba(255,107,53,.5);
  color:#ffd8c5;
  border-radius:16px;
}

/* ---------- SAMEDI ---------- */
.samedi-alert{
  background:linear-gradient(135deg,rgba(255,107,53,.16),rgba(255,107,53,.05));
  border:1px solid rgba(255,107,53,.55);
  border-radius:20px;
}
.samedi-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.25rem;
  font-weight:400;
  letter-spacing:1px;
  color:#ff9d78;
}
.samedi-msg{color:#c9c2ba;}
.samedi-msg strong{color:#ffc7ad;}
.btn-call-big{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  color:#161616;
  border-radius:14px;
  font-family:'Outfit',sans-serif;
  font-weight:800;
  box-shadow:0 10px 26px rgba(255,107,53,.3);
}
.samedi-footer{color:#7d7d7d;}

/* ---------- WHEEL PAGE ---------- */
#page-roue{
  min-height:100vh;
  background:radial-gradient(ellipse at 30% 12%,#2a1208 0%,#121212 55%,#0f0f0f 100%);
  padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(104px + env(safe-area-inset-bottom,0px));
}
.roue-card{
  background:linear-gradient(180deg,#1a1a1a,#141414);
  border:1px solid #2d2d2d;
  border-radius:24px;
  box-shadow:0 0 0 1px rgba(255,107,53,.55),0 24px 60px rgba(0,0,0,.55);
  color:var(--cream);
}
.brand-name{
  font-family:'Bebas Neue',sans-serif;
  font-weight:400;
  letter-spacing:2.5px;
  color:var(--cream);
}
.brand-loc{color:#8d8d8d;}
.intro{
  background:linear-gradient(135deg,var(--ember),#c94318);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(255,107,53,.25);
}
.intro-t1{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.6px;}
.intro-t2{color:#fff4ee;}
.intro-t2 strong{color:#ffe1d3;}
.pill{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.26);
}
.roue-card input[type="email"],
.roue-card input[type="text"]{
  background:#0e0e0e;
  border:1px solid #333;
  color:var(--cream);
  border-radius:11px;
}
.roue-card input[type="email"]:focus,
.roue-card input[type="text"]:focus{
  border-color:var(--ember);
  box-shadow:0 0 0 3px rgba(255,107,53,.12);
}
.roue-card input::placeholder{color:#7a7a7a;}
.parrain-block{
  background:#1c1512;
  border-color:#5a3a2a;
  border-radius:11px;
}
.parrain-block.active{
  background:#221511;
  border-color:var(--ember);
}
.parr-toggle-lbl{color:#ff9d78;}
.parr-input-wrap input{border-color:#5a3a2a;}
.parr-hint{color:#8a8a8a;}
.cgu-item{color:#c9c2ba;}
.cgu-link{color:#ff9d78;}
#u-btn{
  background:linear-gradient(135deg,var(--ember),var(--ember2));
  border-radius:14px;
  color:#fff;
  font-family:'Outfit',sans-serif;
  font-weight:800;
  box-shadow:0 10px 26px rgba(255,107,53,.3);
}
#u-btn:active{box-shadow:0 4px 12px rgba(255,107,53,.3);}
.code-rappel{color:#8a8a8a;}
.code-rappel strong{color:#ff9d78;}
.pointer::before{border-top-color:var(--ember);}
.pointer::after{border-top-color:var(--ember2);}
.m-content{
  border:2px solid rgba(255,107,53,.8);
  border-radius:20px;
  box-shadow:0 0 0 1px #2a2a2a,0 24px 60px rgba(0,0,0,.7);
}
.m-close-btn{
  background:linear-gradient(135deg,#2a1710,#1a0f0a);
}
.lim-title{color:#92400e;}

/* ---------- SMALL TWEAKS ---------- */
.spin{border-color:rgba(255,107,53,.25);border-top-color:var(--ember);}
.order-bon-badge{color:#67e8f9;}
.bon-actif-notice{border-color:rgba(8,145,178,.5);}

/* ---------- FIDÉLITÉ ---------- */
.fidelite {
  padding: 32px 20px;
  text-align: center;
  background: #1a1a1a;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #2a2a2a;
}
.fidelite h2 { color: #ff6b35; font-size: 1.6rem; margin-bottom: 10px; }
.points-display { font-size: 1.15rem; color: #fff; margin-bottom: 10px; }
.progress-bar {
  width: 80%; max-width: 400px; height: 10px;
  background: #333; border-radius: 6px; margin: 0 auto 10px;
  overflow: hidden;
}
.progress-fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, #ff6b35, #ff9a56);
  border-radius: 6px; transition: width 0.5s ease;
}
.fidelite-regles {
  color: #ccc; font-size: 0.9rem; line-height: 1.6;
  margin: 0 0 12px;
}
.fidelite-regles p { margin: 0; }
.fidelite-regles strong { color: #fff; }
.paliers { color: #ccc; font-size: 0.9rem; margin-bottom: 10px; }
.fidelite-detail {
  color: #8a8a8a; font-size: 0.8rem;
  margin-top: 6px; min-height: 1em;
}
.btn-reserver {
  background: #ff6b35; color: #fff; border: none;
  padding: 12px 24px; border-radius: 30px;
  font-size: 0.95rem; cursor: pointer; transition: transform 0.2s;
}
.btn-reserver:hover { transform: scale(1.05); }
.msg-fidelite { color: #4caf50; margin-top: 10px; font-weight: bold; }
.fidelite-cta {
  display: inline-block; margin-top: 12px;
  color: #ff9d78; font-size: 0.9rem; font-weight: 700;
  text-decoration: underline;
}
.fidelite-cta:hover { color: #ff6b35; }


/* ================= AUDIT ENHANCEMENTS ================= */

/* ---- Initial loader ---- */
#mh-loader{
  position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;
  background:radial-gradient(ellipse at 50% 38%,#2a0d06 0%,#0f0f0f 58%,#050505 100%);
  transition:opacity .45s ease,visibility .45s ease;
}
#mh-loader.loader-hidden{opacity:0;visibility:hidden;}
.loader-flame{font-size:3.4rem;filter:drop-shadow(0 0 20px rgba(255,107,53,.85));animation:loaderFlame 1s ease-in-out infinite;}
@keyframes loaderFlame{0%,100%{transform:scale(1) rotate(-3deg);opacity:.85}50%{transform:scale(1.18) rotate(3deg);opacity:1}}
.loader-logo{font-family:'Bebas Neue',sans-serif;letter-spacing:4px;font-size:1.7rem;color:#ffd8c5;}
.loader-bar{width:130px;height:4px;border-radius:4px;background:#2a2a2a;overflow:hidden;}
.loader-bar::after{content:'';display:block;height:100%;width:42%;border-radius:4px;background:linear-gradient(90deg,var(--ember),var(--gold2));animation:loaderBar 1s ease-in-out infinite;}
@keyframes loaderBar{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}

/* ---- Hero entrance + typewriter + CTA pulse ---- */
.mh-kicker,.mh-h1,.mh-sub,.mh-cta,.mh-photo,.mh-addr,.mh-chips{animation:heroIn .85s cubic-bezier(.22,1,.36,1) both;}
.mh-kicker{animation-delay:.05s}
.mh-h1{animation-delay:.12s}
.mh-sub{animation-delay:.24s}
.mh-cta{animation-delay:.34s}
.mh-photo{animation-delay:.1s}
.mh-addr{animation-delay:.44s}
.mh-chips{animation-delay:.52s}
@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.mh-type{
  position:relative;z-index:2;margin:0 0 14px;min-height:1.5em;
  font-weight:600;font-size:clamp(.95rem,3.6vw,1.18rem);
  color:#ffd8c5;letter-spacing:.01em;line-height:1.4;
}
.mh-type .tw-cursor{
  display:inline-block;width:2px;height:1.05em;margin-left:2px;
  background:var(--ember);vertical-align:-3px;animation:twBlink 1s step-end infinite;
}
@keyframes twBlink{50%{opacity:0}}

.mh-btn-main{animation:ctaPulse 2.4s ease-in-out infinite;}
@keyframes ctaPulse{
  0%,100%{transform:scale(1);box-shadow:0 12px 28px rgba(255,107,53,.3)}
  50%{transform:scale(1.035);box-shadow:0 16px 38px rgba(255,107,53,.52)}
}

/* ---- Menu cards ---- */
.p-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
@media(hover:hover) and (pointer:fine){
  .p-card:hover,#commande .p-card:hover{
    transform:translateY(-5px);
    border-color:rgba(255,107,53,.6);
    box-shadow:0 16px 34px rgba(255,107,53,.34);
  }
}
.p-best{
  display:inline-flex;align-items:center;gap:3px;
  font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:#161616;background:linear-gradient(135deg,var(--gold2),var(--gold));
  border-radius:20px;padding:3px 8px;margin-bottom:4px;white-space:nowrap;
  box-shadow:0 4px 12px rgba(255,176,32,.4);
}
.p-tag{
  display:inline-block;font-size:.56rem;font-weight:700;padding:2px 7px;
  border-radius:8px;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px;
}
.p-tag-vege{background:rgba(56,217,150,.12);color:#7cf0c1;border:1px solid rgba(56,217,150,.3);}
.p-tag-spicy{background:rgba(255,80,40,.14);color:#ff8a66;border:1px solid rgba(255,80,40,.38);}
.p-name .p-emoji{
  display:inline-block;margin-right:6px;line-height:1;vertical-align:-2px;
  font-size:1.15em;
  filter:drop-shadow(0 2px 7px rgba(255,107,53,.5));
  transition:transform .2s ease;
}
.p-card:hover .p-name .p-emoji{transform:scale(1.18) rotate(-6deg);}

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.reveal.in{opacity:1;transform:none;}

/* ---- Loyalty shimmer + badge pop ---- */
.prog-fill,.progress-fill{
  background-image:linear-gradient(90deg,var(--ember) 0%,var(--gold2) 42%,#fff 50%,var(--gold2) 58%,var(--ember) 100%);
  background-size:220% 100%;
  animation:shimmer 2.4s linear infinite;
}
@keyframes shimmer{0%{background-position:180% 0}100%{background-position:-80% 0}}
.badge-green{animation:badgePop .55s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes badgePop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}

/* ---- Wheel win ---- */
.m-cadeau-val.win-bounce{animation:winBounce .85s cubic-bezier(.34,1.56,.64,1) .08s both;}
@keyframes winBounce{0%{transform:scale(.55);opacity:0}40%{transform:scale(1.16);opacity:1}70%{transform:scale(.95)}100%{transform:scale(1)}}
.confetti{position:fixed;top:-16px;z-index:10001;pointer-events:none;border-radius:2px;animation:confettiFall linear forwards;}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}100%{transform:translateY(106vh) rotate(720deg);opacity:0}}

/* ---- Back to top ---- */
#backToTop{
  position:fixed;right:16px;bottom:calc(98px + env(safe-area-inset-bottom,0px));z-index:950;
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,107,53,.55);
  background:rgba(22,22,22,.94);color:#ffd8c5;font-size:1.35rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease,border-color .2s ease,color .2s ease;
}
#backToTop.show{opacity:1;visibility:visible;transform:none;}
#backToTop:hover{border-color:var(--ember);color:#fff;}

/* ---- Footer ---- */
.site-footer{
  margin-top:18px;background:linear-gradient(180deg,#141414,#0d0d0d);
  border-top:1px solid #2a2a2a;
  padding:30px 18px calc(34px + env(safe-area-inset-bottom,0px));
  text-align:center;color:#c9c2ba;
}
.footer-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;}
.footer-brand{font-family:'Bebas Neue',sans-serif;font-size:1.55rem;letter-spacing:2px;color:#ffd8c5;}
.footer-tag{font-size:.8rem;color:#8d8d8d;}
.footer-hours{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px;}
.open-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.5px;padding:5px 11px;border-radius:20px;border:1px solid;
}
.open-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;}
.open-badge.is-open{color:#5bea8e;background:rgba(56,217,150,.1);border-color:rgba(56,217,150,.45);}
.open-badge.is-closed{color:#ff8a66;background:rgba(255,107,53,.1);border-color:rgba(255,107,53,.4);}
.footer-hours-txt{font-size:.75rem;color:#9a9a9a;}
.footer-delivery{font-size:.84rem;font-weight:700;color:#ffd27a;margin-top:4px;}
.footer-wa{
  display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:13px 24px;border-radius:14px;
  background:linear-gradient(135deg,#128C7E,#25D366);color:#fff;text-decoration:none;
  font-weight:800;font-size:.9rem;box-shadow:0 10px 26px rgba(37,211,102,.28);
  -webkit-tap-highlight-color:transparent;transition:transform .15s ease;
}
.footer-wa:active{transform:scale(.97);}
.footer-addr{font-size:.74rem;color:#8d8d8d;line-height:1.7;margin-top:8px;}
.footer-addr a{color:#ffb99a;text-decoration:none;}
.footer-copy{font-size:.68rem;color:#5f5f5f;margin-top:4px;}

@media(max-width:380px){
  #backToTop{width:44px;height:44px;right:12px;font-size:1.2rem;}
  .footer-wa{width:100%;justify-content:center;}
}

@media(prefers-reduced-motion:reduce){
  .mh-kicker,.mh-h1,.mh-sub,.mh-cta,.mh-photo,.mh-addr,.mh-chips,
  .mh-btn-main,.loader-flame,.loader-bar::after,
  .prog-fill,.progress-fill,.badge-green,.m-cadeau-val.win-bounce{animation:none!important;}
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .p-name .p-emoji,.p-card:hover .p-name .p-emoji{transform:none!important;transition:none!important;}
  #mh-loader{transition:none;}
}

/* Règlement du jeu (inline) */
.rules-toggle{
  background:none;border:0;padding:0;margin-top:2px;
  font:inherit;font-size:.66rem;font-weight:800;text-align:left;
  color:#ff9d78;text-decoration:underline;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.rules-box{
  margin:6px 0 8px;padding:11px 13px;border-radius:12px;
  font-size:.66rem;line-height:1.55;color:#b9b0a8;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,107,53,.28);
}
.rules-box[hidden]{display:none;}
