:root{
  --primary:#cda434;
  --secondary:#0a0a0a;
  --accent:#33ccff;
  --header-h:0px;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{padding-top:var(--header-h);font-family:Inter,system-ui;background:#fff;color:#0b0b0b}
a{color:inherit;text-decoration:inherit}

/* Palette hard overrides */
.bg-secondary{background:#0a0a0a!important}
.text-secondary{color:#0a0a0a!important}
.text-primary{color:#cda434!important}
.bg-primary{background:#cda434!important}
.border-primary{border-color:#cda434!important}
.text-accent{color:#33ccff!important}
.bg-accent{background:#33ccff!important}
.ap-text-gold{--tw-text-opacity:1;color:rgb(205 164 52 / var(--tw-text-opacity, 1))!important}

.panel{background:rgba(12,12,12,.92);border:1px solid rgba(255,255,255,.10);box-shadow:0 24px 80px rgba(0,0,0,.65);backdrop-filter:blur(10px)}
.panel-soft{background:rgba(18,18,18,.78);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 60px rgba(0,0,0,.55);backdrop-filter:blur(10px)}
.input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);outline:none;color:#fff}
.input:focus{border-color:rgba(205,164,52,.55);box-shadow:0 0 0 3px rgba(205,164,52,.14)}
.btn{background:var(--primary);color:var(--secondary);font-weight:900;text-transform:uppercase;border-radius:18px;padding:14px 18px;display:inline-block;transition:background-color .2s,color .2s}
.btn:hover{background:var(--accent);color:var(--secondary)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px 14px;display:inline-block;color:#fff}
.btn-ghost:hover{border-color:rgba(51,204,255,.65);color:var(--accent)}
.pill{border:1px solid rgba(205,164,52,.24);background:rgba(255,255,255,.05)}

.overlay{background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}
.modal{background:rgba(12,12,12,.96);border:1px solid rgba(255,255,255,.10);box-shadow:0 30px 120px rgba(0,0,0,.75)}
.daybtn{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.daybtn:hover{background:rgba(255,255,255,.10)}

/* Safety: avoid clipping */
#accueil { overflow: visible !important; }
#reservation { overflow: visible !important; }

/* Legacy dropdown (pac-container) */
.pac-container{ z-index: 999999 !important; font-family: Inter, system-ui !important; }
.pac-item{ padding:10px 12px !important; }

/* ✅ Portal dropdown (Places New) in <body> */
#ap-ac-portal{
  position: fixed;
  z-index: 999999;
  max-height: 260px;
  overflow: auto;
  background: rgba(12,12,12,.98);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
}
#ap-ac-portal.hidden{ display:none; }
#ap-ac-portal .ap-ac-item{ padding:10px 12px; cursor:pointer; }
#ap-ac-portal .ap-ac-item:hover,
#ap-ac-portal .ap-ac-item[aria-selected="true"]{ background:rgba(255,255,255,.06); }
#ap-ac-portal .ap-ac-main{ color:#fff; font-weight:800; font-size:13px; }
#ap-ac-portal .ap-ac-sub{ color:rgba(255,255,255,.65); font-size:12px; margin-top:2px; }