:root {
  --navy:#2F1D14;
  --orange:#F7A23A;
  --beige:#FFF7EA;
  --brown:#4A2A1C;
  --off:#FFF7EA;
  --red:#C64B2C;
  --glass:rgba(255,247,234,.10);
  --line:rgba(19,19,19,.22);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Montserrat","Segoe UI",Arial,sans-serif;
  color:#111111;
  background:#EFE7DA;
  min-height:100vh;
  overflow-x:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body::-webkit-scrollbar{display:none}

/* Accueil: no visible scrollbar */
body.page-accueil{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.page-accueil::-webkit-scrollbar{
  display:none;
}

/* Menu: custom scrollbar */
body.page-menu{
  scrollbar-width:thin;
  scrollbar-color:#ff9c52 rgba(255,255,255,.08);
}
body.page-menu::-webkit-scrollbar{
  width:10px;
}
body.page-menu::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}
body.page-menu::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#ffb978,#ff7a1a);
  border-radius:999px;
  border:2px solid rgba(11,22,48,.45);
}

.bg-noise{
  position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.08;
  background-image:radial-gradient(#fff 1px, transparent 1px);background-size:3px 3px;
}
.container{width:min(1160px,92%);margin:0 auto}
.section{padding:88px 0}
.glass{
  background:#F8F8F8;
  border:3px solid #111111;
  border-radius:22px;
  box-shadow:6px 6px 0 #111111;
}
.site-header{position:sticky;top:0;z-index:30;padding:12px 0}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;width:min(1160px,92%);margin:auto}
.brand{display:flex;align-items:center;gap:10px;color:#111111;text-decoration:none}
.brand-logo{width:44px;height:44px;display:grid;place-items:center}
.brand-text{font-family:"Montserrat",Arial,sans-serif;font-weight:900;letter-spacing:1px}
.nav-links{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.nav-links a{color:#111111;text-decoration:none;padding:8px 12px;border-radius:12px;border:2px solid transparent;transition:.2s}
.nav-links a:hover,.nav-links a.active{background:#F39A3B;border-color:#111111;box-shadow:4px 4px 0 #111111}
.nav-toggle{display:none}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}
.hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}
.hero h1 span{color:var(--orange);text-shadow:0 0 15px rgba(255,122,26,.45)}
.kicker{color:#ffbf87;font-weight:700;letter-spacing:2px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.signature-card{padding:18px}
.home-event-poster{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:20px;
  display:block;
  border:1px solid rgba(255,255,255,.16);
}
.home-event-empty-space{
  width:100%;
  aspect-ratio:1/1;
  border-radius:20px;
  border:1px dashed rgba(255,255,255,.14);
  background:rgba(255,255,255,.02);
}
.burger-placeholder,.menu-img{
  width:100%;aspect-ratio:1/1;border-radius:20px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.22), transparent 35%),
    linear-gradient(145deg,#ffb468,#ff7a1a 35%,#77341e 100%);
}
.burger-placeholder::before,.menu-img::before{
  content:"";position:absolute;inset:14% 12%;
  background:
    linear-gradient(#f9b771 0 22%, transparent 22% 28%, #4b2f1f 28% 40%, #74c26d 40% 47%, #f0d4ab 47% 56%, #f3a15a 56% 70%, transparent 70%);
  border-radius:16px;box-shadow:0 14px 28px rgba(0,0,0,.34);
}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:14px;border:3px solid #111111;text-decoration:none;color:#111111;cursor:pointer;transition:.2s;box-shadow:4px 4px 0 #111111;font-weight:900}
.btn-primary{background:#F39A3B}
.btn-primary:hover{transform:translateY(-2px) scale(1.02) rotate(-1deg);box-shadow:6px 6px 0 #111111}
.btn-secondary{background:#F8F8F8;border-color:#111111}
.btn-danger{background:#D95534;color:#F8F8F8}
.btn-sm{padding:8px 12px}
.stats-grid,.cards-3,.menu-grid{display:grid;gap:16px}
.stats-grid{grid-template-columns:repeat(4,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.stat-card,.feature-card,.menu-card{padding:16px;position:relative;background:#F8F8F8;border:3px solid #111111;border-radius:20px;box-shadow:6px 6px 0 #111111}
.menu-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.menu-img-real{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  border-radius:20px;
}
.badge{position:absolute;top:12px;right:12px;background:var(--orange);color:#fff;padding:5px 8px;border-radius:999px;font-size:.75rem}
.menu-type{color:#ffca9b;font-size:.85rem}
.menu-bottom{display:flex;align-items:center;justify-content:space-between}
.form-premium{padding:18px;display:grid;gap:12px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.recruit-check-group{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.recruit-check-item{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  font-weight:700;
}
.recruit-check-item input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.recruit-check-box{
  width:22px;
  height:22px;
  border-radius:7px;
  border:2px solid rgba(255,255,255,.45);
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  display:inline-grid;
  place-items:center;
  transition:.2s ease;
  box-shadow:0 6px 14px rgba(0,0,0,.2);
}
.recruit-check-box::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:3px;
  background:#111111;
  transform:scale(0);
  transition:transform .15s ease;
}
.recruit-check-item:hover .recruit-check-box{
  border-color:rgba(255,185,120,.85);
  box-shadow:0 8px 18px rgba(255,122,26,.2);
}
.recruit-check-item input[type="checkbox"]:checked + .recruit-check-box{
  border-color:#ff9a3d;
  background:linear-gradient(160deg,#ffb978,#ff7a1a);
  box-shadow:0 0 0 3px rgba(255,122,26,.2),0 10px 24px rgba(255,122,26,.28);
}
.recruit-check-item input[type="checkbox"]:checked + .recruit-check-box::before{
  transform:scale(1);
}
label{display:grid;gap:6px}
input,textarea{
  width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,.9);color:#111111;outline:none
}
.password-wrap{display:flex;align-items:center;gap:8px}
.btn-icon{border:1px solid var(--line);background:rgba(255,255,255,.08);color:#111111;border-radius:10px;padding:8px 10px;cursor:pointer}
.alert{padding:10px 12px;border-radius:10px;margin-bottom:12px}
.alert.success{background:rgba(70,184,95,.2);border:1px solid rgba(80,210,110,.4)}
.alert.error{background:rgba(219,52,52,.2);border:1px solid rgba(219,52,52,.45)}
.section-title{font-family:"Montserrat Black","Montserrat","TeXGyreAdventor","Segoe UI",Arial,sans-serif;font-size:clamp(1.6rem,3.2vw,2.4rem);margin-bottom:8px}
.section-sub{opacity:.86}
.reveal{opacity:0;transform:translateY(22px);transition:.6s}
.reveal.visible{opacity:1;transform:none}
.site-footer{padding:26px 0;border-top:1px solid var(--line);margin-top:36px}
.footer-inner{width:min(1160px,92%);margin:auto;text-align:center;color:#ddd}
.toast-container{position:fixed;right:14px;bottom:14px;display:grid;gap:10px;z-index:50}
.toast{transform:translateX(20px);opacity:0;transition:.25s;padding:10px 12px;border-radius:10px;background:#1c2745;border:1px solid var(--line)}
.toast.show{transform:none;opacity:1}
#loader{position:fixed;inset:0;background:#081226;display:grid;place-items:center;z-index:100;color:#fff;transition:.4s}
#loader.hide{opacity:0;visibility:hidden}
.loader-ring{width:62px;height:62px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Remove spinner buttons globally */
input[type="number"]{
  -moz-appearance:textfield;
  appearance:textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.menu-card.js-menu-card{cursor:pointer;outline:none}
.menu-card.js-menu-card:focus-visible{
  box-shadow:0 0 0 3px rgba(246,153,56,.35),0 0 0 1px rgba(255,255,255,.22) inset;
}
.menu-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(47,29,20,.72);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:130;
  padding:14px;
}
.menu-modal-backdrop.open{display:flex}
.menu-modal-card{
  width:min(980px,96%);
  max-height:90vh;
  overflow:auto;
  padding:22px 22px 18px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  position:relative;
  background:linear-gradient(155deg, rgba(247,162,58,.22), rgba(198,75,44,.20));
  border:1px solid rgba(255,255,255,.22);
  color:#f8f5ef;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  backdrop-filter:blur(10px);
}
.menu-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  border:1px solid rgba(17,17,17,.2);
  background:rgba(255,255,255,.9);
  color:#111111;
  border-radius:10px;
  width:36px;
  height:36px;
  cursor:pointer;
  font-weight:800;
}
.menu-modal-media{min-width:0}
.menu-modal-image{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
}
.menu-modal-content{
  min-width:0;
  display:grid;
  align-content:start;
  justify-items:center;
  text-align:center;
  gap:12px;
  padding:20px;
}
.menu-modal-content h2{
  margin:0;
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:900;
  color:#111111;
  font-size:clamp(1.6rem,2.8vw,2.1rem);
}
.menu-modal-description{margin:0;color:#111111}
.menu-modal-price{font-size:1.35rem;color:#111111}
.menu-modal-composition-wrap{
  width:min(860px,100%);
}
.menu-modal-composition-wrap h3{
  margin:2px 0 10px;
  font-family:"Montserrat",Arial,sans-serif;
  font-weight:900;
  color:#111111;
  text-align:left;
}
.menu-modal-composition-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:2px;
  row-gap:0;
  align-items:start;
  justify-items:start;
  width:min(860px,100%);
}
.menu-modal-composition{
  margin:0;
  padding-left:0;
  list-style:none;
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:84px;
  justify-items:start;
}
.menu-compo-item{
  color:#111111;
  font-size:1.08rem;
  font-weight:700;
  text-align:left;
  width:100%;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
.menu-compo-label{
  min-width:170px;
  max-width:230px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.menu-compo-arrow{
  position:relative;
  flex:1 1 auto;
  height:2px;
  border-top:3px dashed rgba(255,255,255,.72);
  opacity:.95;
}
.menu-compo-arrow::after{
  content:'';
  position:absolute;
  right:-2px;
  top:50%;
  transform:translateY(-50%);
  width:0;
  height:0;
  border-left:10px solid rgba(255,255,255,.9);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
}
.menu-modal-composition-stack{
  display:grid;
  grid-template-columns:1fr;
  grid-auto-rows:84px;
  justify-items:start;
  margin-left:-6px;
}
.menu-compo-stack-img{
  width:min(280px,100%);
  max-height:78px;
  align-self:center;
  justify-self:start;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 2px 1px rgba(75,46,21,.2));
}
@media (max-width:820px){
  .menu-modal-composition-layout{
    grid-template-columns:1fr;
  }
  .menu-modal-composition-stack{
    order:-1;
    margin-bottom:8px;
  }
  .menu-compo-stack-img{
    width:min(220px,100%);
  }
  .menu-compo-label{
    min-width:140px;
    max-width:170px;
  }
}

@media (max-width:980px){
  .hero-grid,.stats-grid,.cards-3,.menu-grid,.grid-2{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero-grid,.stats-grid,.cards-3,.menu-grid,.grid-2{grid-template-columns:1fr}
  .nav-toggle{display:block;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:8px}
  .nav-links{position:absolute;top:78px;left:4%;right:4%;flex-direction:column;background:#101f3dcc;padding:12px;border:1px solid var(--line);border-radius:14px;display:none}
  .nav-links.open{display:flex}
}
