/* BHS Lounges — front */
.bhs, body.bhs-page {
	--bg:#0b0a08; --surface:#15120e; --line:rgba(232,201,140,.14); --line-2:rgba(232,201,140,.28);
	--gold:#e8c98c; --text:#f4eee3; --muted:#a69c8b; --dim:#6f675b;
	--gold-txt:#e8c98c; --text-2:#d6cec0; --bar-bg:rgba(11,10,8,.86); --soft:rgba(255,255,255,.04); --stripe:rgba(255,255,255,.05); --pv-txt:#ffd1da; --pv-ic:#ff8fa3;
	--r:18px; --serif:"Playfair Display",Georgia,serif; --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
	--adminbar: var(--wp-admin--admin-bar--height, 0px);
}
body.bhs-page { background:var(--bg); color:var(--text); margin:0; }
.bhs { --accent:var(--gold); --accent-ink:#14110b; --accent-txt:var(--accent); background:var(--bg); color:var(--text); font-family:var(--sans); font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased; font-variant-numeric:lining-nums; overflow-x:clip; }
.bhs *, .bhs *::before, .bhs *::after { box-sizing:border-box; }
.bhs :where(h1,h2,h3,p) { margin:0; padding:0; }
.bhs :where(a) { color:inherit; text-decoration:none; }
.bhs :where(img) { display:block; max-width:100%; height:auto; }
.bhs :where(button) { font:inherit; color:inherit; background:none; border:0; cursor:pointer; padding:0; text-align:inherit; }
.bhs :where(svg) { flex:none; }
.bhs-wrap { max-width:1120px; margin:0 auto; padding:0 16px; }

/* ---------- Accueil ---------- */
.bhs-home__head { text-align:center; padding:40px 0 26px; position:relative; }
.bhs-home__head::before { content:""; position:absolute; inset:-40px 0 auto; height:320px; background:radial-gradient(60% 70% at 50% 0%,rgba(232,201,140,.13),transparent 70%); pointer-events:none; }
.bhs-home__logo { width:118px; margin:0 auto 22px; position:relative; }
.bhs-eyebrow { font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-txt); font-weight:600; }
.bhs-home__title { font-family:var(--serif); font-weight:500; font-size:clamp(25px,6.6vw,46px); line-height:1.08; margin:10px 0 8px !important; color:var(--text); }
.bhs-home__title em { color:var(--gold-txt); font-style:italic; }
.bhs-home__sub { color:var(--muted); max-width:420px; margin:0 auto !important; }
.bhs-rule { display:flex; align-items:center; gap:10px; justify-content:center; margin:20px auto 0; width:180px; }
.bhs-rule i { flex:1; height:1px; background:var(--line-2); }
.bhs-rule b { width:6px; height:6px; border-radius:50%; background:var(--gold); }

.bhs-lounges { display:grid; gap:16px; padding-bottom:36px; }
@media (min-width:760px) { .bhs-lounges { grid-template-columns:1fr 1fr; gap:22px; } }
.bhs-lcard { position:relative; border-radius:24px; overflow:hidden; min-height:460px; display:flex; flex-direction:column; justify-content:flex-end; padding:24px; border:1px solid var(--line); isolation:isolate; transition:transform .35s ease,border-color .35s; }
.bhs-lcard:hover { transform:translateY(-3px); border-color:var(--line-2); }
.bhs-lcard__stretch { position:absolute; inset:0; z-index:1; }
.bhs-lcard__art { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#1a1712,#0b0a08); }
.bhs-lcard__photo { position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover; transition:transform 1.2s ease; }
.bhs-lcard:hover .bhs-lcard__photo { transform:scale(1.04); }
.bhs-lcard::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(6,6,6,.25) 0%,transparent 25%,rgba(6,6,6,.55) 55%,rgba(6,6,6,.94)); }
.bhs-art-luna-sky { background:
	radial-gradient(circle at 74% 24%,#f2f0ea 0 34px,rgba(242,240,234,.35) 36px,transparent 90px),
	radial-gradient(1.2px 1.2px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 28% 9%,#fff,transparent),radial-gradient(1.4px 1.4px at 44% 30%,#fff,transparent),radial-gradient(1px 1px at 58% 12%,#fff,transparent),radial-gradient(1.2px 1.2px at 88% 44%,#fff,transparent),radial-gradient(1px 1px at 8% 40%,#fff,transparent),radial-gradient(1px 1px at 36% 46%,#cfd8ff,transparent),radial-gradient(1px 1px at 66% 40%,#fff,transparent),radial-gradient(1px 1px at 94% 12%,#fff,transparent),
	radial-gradient(120% 60% at 50% 100%,#2a3a78 0%,transparent 60%),
	linear-gradient(180deg,#050816 0%,#0c1638 55%,#1b2a63 100%); }
.bhs-sky { position:absolute; left:0; right:0; bottom:0; width:100%; height:46%; }
.bhs-art-b2b { background:
	radial-gradient(circle at 18% 30%,rgba(255,196,110,.55) 0 18px,transparent 46px),radial-gradient(circle at 70% 18%,rgba(255,214,150,.4) 0 26px,transparent 62px),radial-gradient(circle at 84% 46%,rgba(255,170,80,.35) 0 14px,transparent 40px),radial-gradient(circle at 40% 52%,rgba(255,200,120,.22) 0 30px,transparent 70px),radial-gradient(circle at 56% 34%,rgba(255,230,180,.3) 0 8px,transparent 26px),
	radial-gradient(100% 70% at 50% 100%,#5a3810 0%,transparent 65%),
	linear-gradient(180deg,#140d06,#2b1a0a 60%,#3b240c); }
.bhs-bar { position:absolute; left:0; right:0; bottom:0; height:42%; background:repeating-linear-gradient(90deg,rgba(232,201,140,.07) 0 2px,transparent 2px 46px),linear-gradient(180deg,transparent,rgba(0,0,0,.4)); }
.bhs-lmark { position:absolute; top:22px; left:24px; display:flex; align-items:center; font-family:var(--serif); font-size:20px; font-weight:600; letter-spacing:.02em; }
.bhs-lmark__img { max-height:46px; width:auto; max-width:160px; }
.bhs-lcard__where { font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:700; color:var(--ac); }
.bhs-lcard__name { font-family:var(--serif); font-weight:600; font-size:clamp(38px,9vw,52px); line-height:1; margin:8px 0 14px !important; color:#fff; }
.bhs-tonight { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; align-items:center; }
.bhs-tonight__lbl { font-size:12px; color:var(--muted); margin-right:4px; }
.bhs-chip { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; padding:5px 10px; border-radius:99px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.bhs-cta { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; background:var(--ac); color:var(--ac-ink) !important; border-radius:14px; padding:14px 18px; font-weight:700; }
.bhs-cta svg { transition:transform .25s; }
.bhs-lcard:hover .bhs-cta svg { transform:translateX(4px); }
.bhs-acts { position:relative; z-index:2; display:grid; grid-template-columns:1fr 48px 48px; gap:8px; margin-top:8px; }
.bhs-acts a, .bhs-acts button { height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:14px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:background .2s; }
.bhs-acts a:hover, .bhs-acts button:hover { background:rgba(255,255,255,.16); }
.bhs-acts a.is-resa { border-color:var(--ac); color:var(--ac); }
.bhs-acts a.is-wa { color:#25d366; }

/* ---------- Pied de page ---------- */
.bhs-footer { border-top:1px solid var(--line); padding:26px 0 40px; color:var(--muted); font-size:13px; }
.bhs-footer__row { display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:space-between; align-items:center; }
.bhs-footer img { width:54px; opacity:.85; }
.bhs-footer a { color:var(--text); font-weight:600; }

/* ---------- Page lounge ---------- */
.bhs-topbar { position:sticky; top:var(--adminbar); z-index:30; background:var(--bar-bg); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.bhs-topbar .bhs-wrap { display:flex; align-items:center; gap:12px; height:58px; }
.bhs-back { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; border:1px solid var(--line); flex:none; }
.bhs-back:hover { border-color:var(--line-2); }
.bhs-topbar__t { font-family:var(--serif); font-size:21px; font-weight:600; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bhs-topbar__logo { width:30px; }
.bhs-switch { font-size:12px; font-weight:600; color:var(--muted) !important; border:1px solid var(--line); border-radius:99px; padding:6px 12px; white-space:nowrap; }
.bhs-switch:hover { color:var(--text) !important; }

.bhs-lhero { padding:26px 0 8px; }
.bhs-lhero__where { font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:700; color:var(--accent-txt); }
.bhs-lhero__name { font-family:var(--serif); font-weight:600; font-size:clamp(36px,8vw,56px); line-height:1; margin:8px 0 10px !important; color:var(--text); }
.bhs-lhero p { color:var(--muted); max-width:520px; }

.bhs-days { padding:6px 0 18px; }
.bhs-strip { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
@media (min-width:760px) { .bhs-strip { grid-template-columns:repeat(var(--cols,7),minmax(0,1fr)); gap:8px; max-width:calc(var(--cols,7) * 96px); margin:0 auto; } .bhs-days { padding-top:18px; } }
.bhs-day { display:flex; flex-direction:column; align-items:center; gap:1px; border-radius:12px; border:1px solid var(--line); background:var(--surface); padding:7px 0 6px; text-align:center; position:relative; transition:background .2s,border-color .2s; min-width:0; }
.bhs-day:hover { border-color:var(--line-2); }
.bhs-day > span { display:block; }
.bhs-day__dn { font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:700; white-space:nowrap; }
.bhs-day__dd { font-family:var(--sans); font-size:19px; font-weight:800; line-height:1.15; letter-spacing:-.01em; }
.bhs-day__dm { font-size:9px; color:var(--dim); text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.bhs-day .bhs-day__dots { display:flex; justify-content:center; gap:2px; height:4px; margin-top:3px; }
.bhs-day__dots i { width:4px; height:4px; border-radius:50%; background:var(--accent); opacity:.75; }
.bhs-day.is-today { border-color:var(--accent); }
.bhs-day.is-today .bhs-day__dn { color:var(--accent-txt); }
.bhs-day.is-on { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.bhs-day.is-on .bhs-day__dn, .bhs-day.is-on .bhs-day__dm { color:var(--accent-ink); opacity:.75; }
.bhs-day.is-on .bhs-day__dots i { background:var(--accent-ink); }
@media (min-width:760px) { .bhs-day { padding:9px 0 8px; border-radius:14px; } .bhs-day__dd { font-size:22px; } .bhs-day__dn { font-size:10.5px; } .bhs-day__dm { font-size:10px; } }

.bhs-panel[hidden] { display:none !important; }
.bhs-panel { animation:bhs-fade .3s ease; }
@keyframes bhs-fade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.bhs-dayhead { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:4px 0 14px; }
.bhs-dayhead h2 { font-family:var(--serif); font-size:28px; font-weight:600; color:var(--text); }
.bhs-dayhead span { color:var(--muted); font-size:13px; white-space:nowrap; }

.bhs-hh { display:flex; align-items:center; gap:14px; border-radius:var(--r); padding:12px 14px; margin-bottom:16px; background:linear-gradient(100deg,rgba(232,201,140,.16),rgba(232,201,140,.04)) !important; border:1px solid var(--line-2) !important; width:100%; text-align:left; transition:border-color .2s; }
.bhs-hh:hover { border-color:var(--gold) !important; }
.bhs-hh__ic { width:52px; height:52px; border-radius:12px; background:var(--gold); color:#1a140a; display:grid; place-items:center; flex:none; overflow:hidden; }
.bhs-hh__ic.has-photo { background:#000; }
.bhs-hh__ic img { width:100%; height:100% !important; object-fit:cover; }
.bhs-hh__txt { flex:1; min-width:0; display:block; }
.bhs-hh b { display:block; font-size:15px; letter-spacing:.04em; text-transform:uppercase; }
.bhs-hh b em { font-style:normal; text-transform:none; color:var(--gold-txt); letter-spacing:0; margin-left:6px; white-space:nowrap; }
.bhs-hh small { color:var(--muted); font-size:13px; display:block; margin-top:2px; }
.bhs-hh__go { flex:none; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:#1a140a; background:var(--gold); border-radius:99px; padding:8px 13px; }
@media (max-width:420px) { .bhs-hh { gap:11px; padding:11px 12px; } .bhs-hh__ic { width:46px; height:46px; } .bhs-hh b { font-size:14px; } .bhs-hh b em { display:block; margin:1px 0 0; } .bhs-hh small { display:none; } .bhs-hh__go { padding:8px 11px; } }

.bhs-grid { display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:620px) { .bhs-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:980px) { .bhs-grid { grid-template-columns:1fr 1fr 1fr; } }
.bhs-ev { background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:var(--r); overflow:hidden; text-align:left; transition:transform .3s,border-color .3s; display:flex; flex-direction:column; width:100%; }
.bhs-ev:hover { transform:translateY(-3px); border-color:var(--line-2) !important; }
.bhs-ev__pic { position:relative; aspect-ratio:4/5; overflow:hidden; background:#111; display:block; }
.bhs-ev__pic img { width:100%; height:100% !important; object-fit:cover; object-position:top; }
.bhs-ev__badges { position:absolute; top:12px; left:12px; right:12px; display:flex; flex-wrap:wrap; gap:6px; }
.bhs-ev__hour { position:absolute; bottom:12px; left:12px; background:rgba(0,0,0,.65); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:6px 11px; font-weight:800; font-size:15px; color:#fff; }
.bhs-ev__body { padding:14px 16px 16px; display:block; }
.bhs-ev__title { display:block; font-family:var(--serif); font-size:23px; font-weight:600; line-height:1.15; }
.bhs-ev__ex { color:var(--muted); font-size:13.5px; margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bhs-ev__more { margin-top:12px; font-size:13px; font-weight:700; color:var(--accent-txt); display:flex; align-items:center; gap:6px; }

.bhs-badge { display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:5px 9px; border-radius:8px; background:var(--b,#e8c98c); color:var(--bi,#1a140a); line-height:1.3; }
.b-live { --b:#e5484d; --bi:#fff; }
.b-live::before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:#fff; margin-right:6px; vertical-align:1px; animation:bhs-pulse 1.4s infinite; }
@keyframes bhs-pulse { 50% { opacity:.25; } }
.b-dj { --b:#8b5cf6; --bi:#fff; } .b-match { --b:#22c55e; --bi:#06210f; } .b-soiree { --b:#e8c98c; }
.b-music { --b:#38bdf8; --bi:#04202e; } .b-hh { --b:#f59e0b; --bi:#241400; } .b-offre { --b:#f43f5e; --bi:#fff; }

.bhs-poster { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:24px; background:var(--pg); overflow:hidden; }
.bhs-poster__k { font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.7); font-weight:700; position:relative; }
.bhs-poster__n { font-family:var(--serif); font-size:44px; line-height:.95; font-weight:700; margin:10px 0; color:#fff; text-wrap:balance; position:relative; }
.bhs-poster__s { font-family:var(--serif); font-style:italic; font-size:20px; color:var(--gold); position:relative; }
.bhs-poster__orb { position:absolute; width:70%; aspect-ratio:1; border-radius:50%; filter:blur(40px); opacity:.55; background:var(--po); top:-10%; right:-20%; }

.bhs-empty { border:1px dashed var(--line-2); border-radius:var(--r); padding:34px 20px; text-align:center; color:var(--muted); }
.bhs-empty h3 { font-family:var(--serif); font-size:26px; color:var(--text); font-weight:600; margin-bottom:4px; }
.bhs-empty .bhs-btns { justify-content:center; margin-top:16px; }

.bhs-reserve { margin:30px 0 30px; border-radius:22px; padding:22px; background:var(--surface); border:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; gap:16px; justify-content:space-between; }
.bhs-reserve h3 { font-family:var(--serif); font-size:26px; font-weight:600; color:var(--text); }
.bhs-reserve p { color:var(--muted); font-size:13.5px; }
.bhs-btns { display:flex; gap:10px; flex-wrap:wrap; }
.bhs-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:14px; padding:12px 16px; border-radius:13px; border:1px solid var(--line-2) !important; color:var(--text) !important; }
.bhs-btn.is-pri { background:var(--accent); color:var(--accent-ink) !important; border-color:var(--accent) !important; }
.bhs-btn.is-wa { background:#25d366; color:#05230f !important; border-color:#25d366 !important; }
.bhs-btn.is-ghost { background:transparent; }
@media (max-width:759px) {
	.bhs-reserve .bhs-btns { width:100%; }
	.bhs-reserve .bhs-btn { flex:1; }
	.bhs-reserve .bhs-btn.is-pri { flex-basis:100%; }
}

/* Barre d'actions mobile */
.bhs-mbar { display:none; }
@media (max-width:759px) {
	.bhs-lounge .bhs-footer { padding-bottom:100px; }
	.bhs-mbar { display:grid; grid-template-columns:1fr 50px 50px; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:40; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--bar-bg); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-top:1px solid var(--line); }
	.bhs-mbar a, .bhs-mbar button { height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; gap:8px; font-weight:800; font-size:15px; border:1px solid var(--line-2); }
	.bhs-mbar a.is-resa { background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
	.bhs-mbar a.is-wa { color:#25d366; }
}

/* ---------- Fiche (bottom sheet / modale) ---------- */
.bhs-scrim { position:fixed; inset:0; background:rgba(0,0,0,.6); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); z-index:99990; opacity:0; pointer-events:none; transition:opacity .3s; }
.bhs-scrim.is-on { opacity:1; pointer-events:auto; }
.bhs-sheet { position:fixed; z-index:99995; left:0; right:0; bottom:0; max-height:92vh; overflow-y:auto; background:var(--surface); border-radius:24px 24px 0 0; border:1px solid var(--line-2); border-bottom:0; transform:translateY(105%); transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s linear .4s; overscroll-behavior:contain; visibility:hidden; }
.bhs-sheet.is-on { transform:none; visibility:visible; transition:transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s; }
.bhs-sheet__grab { width:42px; height:4px; border-radius:9px; background:var(--line-2); margin:10px auto 0; }
.bhs-sheet__media { position:relative; background:#000; aspect-ratio:9/16; max-height:62vh; margin:10px auto 0; overflow:hidden; width:min(100%,360px); border-radius:16px; }
.bhs-sheet__media img { width:100%; height:100% !important; object-fit:contain; }
.bhs-sheet__media.is-photo { aspect-ratio:4/5; }
.bhs-sheet__media.is-photo img { object-fit:cover; }
.bhs-close { position:absolute; top:14px; right:14px; z-index:3; width:38px; height:38px; border-radius:50% !important; background:rgba(0,0,0,.6) !important; border:1px solid rgba(255,255,255,.2) !important; display:grid !important; place-items:center; color:#fff !important; }
.bhs-det { padding:20px 20px 28px; }
.bhs-det__badges { display:flex; gap:6px; flex-wrap:wrap; }
.bhs-det__title { font-family:var(--serif); font-size:38px; line-height:1.02; font-weight:600; margin:12px 0 6px !important; color:var(--text); }
.bhs-det__sub { font-family:var(--serif); font-style:italic; font-size:20px; color:var(--gold-txt); }
.bhs-facts { display:grid; gap:10px; margin:14px 0 18px; }
.bhs-fact { display:flex; gap:12px; align-items:center; font-size:14px; }
.bhs-fact__i { width:36px; height:36px; border-radius:10px; border:1px solid var(--line); display:grid; place-items:center; color:var(--accent-txt); flex:none; }
.bhs-fact small { display:block; color:var(--muted); font-size:12px; }
.bhs-det__desc { color:var(--text-2); font-size:15px; margin-bottom:20px; }
.bhs-det__desc p + p { margin-top:10px; }
.bhs-det__btns .bhs-btn { flex:1; min-width:110px; }
.bhs-det__btns .bhs-btn.is-full { flex-basis:100%; }
.bhs-det__btns .bhs-btn.is-ghost { flex:0 0 50px; min-width:0; padding:12px 0; }
@media (min-width:860px) {
	.bhs-sheet { left:50%; top:50%; bottom:auto; right:auto; width:min(940px,92vw); max-height:88vh; border-radius:24px; border-bottom:1px solid var(--line-2); transform:translate(-50%,-46%) scale(.97); opacity:0; transition:all .3s; }
	.bhs-sheet.is-on { transform:translate(-50%,-50%); opacity:1; }
	.bhs-sheet__grab { display:none; }
	.bhs-sheet__inner { display:grid; grid-template-columns:400px 1fr; }
	.bhs-sheet__media { margin:0; width:auto; max-height:none; height:100%; border-radius:24px 0 0 24px; }
	.bhs-det { padding:34px 34px 30px; position:relative; }
}

.bhs-toast { position:fixed; left:50%; bottom:90px; transform:translate(-50%,30px); background:var(--text); color:var(--bg); padding:10px 16px; border-radius:12px; font-weight:700; font-size:14px; opacity:0; transition:all .3s; z-index:99999; pointer-events:none; }
.bhs-toast.is-on { opacity:1; transform:translate(-50%,0); }

body.bhs-lock { overflow:hidden; }
@media (prefers-reduced-motion:reduce) { .bhs *, .bhs *::before { animation:none !important; transition:none !important; } }

/* ---------- Menu ---------- */
.bhs-acts.has-menu { grid-template-columns:1fr 1fr 48px 48px; }
.bhs-acts button.is-menu { color:#fff; }
@media (max-width:759px) {
	.bhs-mbar.has-menu { grid-template-columns:1fr auto 50px 50px; }
	.bhs-mbar button.is-menu { padding:0 14px; color:var(--text); }
}
.bhs-menu-btn { display:inline-flex !important; align-items:center; gap:8px; margin-top:16px; padding:10px 16px !important; border-radius:99px; border:1px solid var(--accent) !important; color:var(--accent-txt) !important; font-weight:700; font-size:14px; transition:background .2s; }
.bhs-menu-btn:hover { background:var(--soft) !important; }

.bhs-menu { padding:14px 16px 22px; }
.bhs-menu__head { display:flex; align-items:center; gap:12px; margin-bottom:12px; padding-right:48px; position:relative; }
.bhs-menu__head .bhs-close { top:50%; right:0; transform:translateY(-50%); }
.bhs-menu__k { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent-txt); font-weight:700; }
.bhs-menu__title { font-family:var(--serif); font-size:32px; font-weight:600; line-height:1.05; color:var(--text); }
.bhs-menu__count { margin-left:auto; font-size:13px; color:var(--muted); font-weight:600; white-space:nowrap; }
.bhs-menu__count b { color:var(--text); }
.bhs-menu__viewport { position:relative; }
.bhs-menu__track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:16px; background:#000; overscroll-behavior-x:contain; }
.bhs-menu__track::-webkit-scrollbar { display:none; }
.bhs-menu__slide { flex:0 0 100%; scroll-snap-align:center; margin:0; position:relative; display:flex; align-items:center; justify-content:center; }
.bhs-menu__slide img { width:100%; height:auto !important; max-height:64vh; object-fit:contain; }
.bhs-menu__zoom { position:absolute; right:10px; bottom:10px; font-size:12px; font-weight:700; padding:6px 10px; border-radius:99px; background:rgba(0,0,0,.65); border:1px solid rgba(255,255,255,.2); color:#fff !important; }
.bhs-menu__nav { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50% !important; background:rgba(0,0,0,.6) !important; border:1px solid rgba(255,255,255,.2) !important; display:grid !important; place-items:center; color:#fff !important; }
.bhs-menu__nav.is-prev { left:10px; } .bhs-menu__nav.is-next { right:10px; }
.bhs-menu__nav:disabled { opacity:0; pointer-events:none; }
@media (max-width:759px) { .bhs-menu__nav { width:38px; height:38px; background:rgba(0,0,0,.55) !important; } .bhs-menu__nav.is-prev { left:6px; } .bhs-menu__nav.is-next { right:6px; } }
.bhs-menu__dots { display:flex; justify-content:center; gap:6px; margin-top:12px; }
.bhs-menu__dots i { width:7px; height:7px; border-radius:50%; background:var(--line-2); transition:all .2s; }
.bhs-menu__dots i.is-on { background:var(--accent); width:20px; border-radius:9px; }
.bhs-menu__btns { margin-top:16px; }
.bhs-menu__btns .bhs-btn { flex:1; }


/* Menu plein écran (mobile et ordinateur) */
.bhs-sheet.is-menu { inset:0; width:100%; height:100vh; height:100dvh; max-height:none; border-radius:0; border:0; background:#000; overflow:hidden; display:flex; flex-direction:column; }
.bhs-sheet.is-menu.is-on { transform:none; }
@media (min-width:860px) { .bhs-sheet.is-menu, .bhs-sheet.is-menu.is-on { left:0; top:0; transform:none; width:100%; } }
.bhs-sheet.is-menu .bhs-sheet__grab { display:none; }
.bhs-sheet.is-menu .bhs-menu { flex:1; min-height:0; display:flex; flex-direction:column; padding:calc(10px + env(safe-area-inset-top)) 0 calc(10px + env(safe-area-inset-bottom)); }
.bhs-sheet.is-menu .bhs-menu__head { padding:0 64px 0 16px; margin-bottom:8px; }
.bhs-sheet.is-menu .bhs-menu__head .bhs-close { right:12px; }
.bhs-sheet.is-menu .bhs-menu__title { font-size:24px; }
.bhs-sheet.is-menu .bhs-menu__viewport { flex:1; min-height:0; }
.bhs-sheet.is-menu .bhs-menu__track { height:100%; border-radius:0; }
.bhs-sheet.is-menu .bhs-menu__slide { height:100%; }
.bhs-sheet.is-menu .bhs-menu__slide img { width:100%; height:100% !important; max-height:none; object-fit:contain; }
.bhs-sheet.is-menu .bhs-menu__dots { margin-top:8px; }

/* Mobile : la barre fixe du bas suffit, pas de boutons en double */
@media (max-width:759px) {
	.bhs-lounge .bhs-reserve { display:none; }
	.bhs-lounge .bhs-panel { padding-bottom:28px; }
	.bhs-lounge .bhs-empty .bhs-btns { display:none; }
}

/* ---------- Privatisation ---------- */
.bhs-chip.is-private { background:rgba(244,63,94,.18); border-color:rgba(244,63,94,.45); color:#ffd1da; }
.bhs-chip svg { vertical-align:-2px; }
.bhs-day.is-private { background:repeating-linear-gradient(135deg,var(--stripe) 0 6px,transparent 6px 12px),var(--surface); }
.bhs-day.is-private .bhs-day__dd { opacity:.55; }
.bhs-day .bhs-day__lock { display:flex; justify-content:center; height:11px; margin-top:1px; color:#f43f5e; }
.bhs-day.is-on .bhs-day__lock { color:var(--accent-ink); }
.bhs-day .bhs-day__plock { display:inline-flex; color:#f43f5e; margin-right:1px; }
.bhs-day.is-on .bhs-day__plock { color:var(--accent-ink); }
.bhs-day.is-on.is-private { background:var(--accent); }
.bhs-day.is-on.is-private .bhs-day__dd { opacity:1; }

.bhs-private { display:flex; gap:14px; align-items:flex-start; border-radius:var(--r); padding:14px 16px; margin-bottom:16px; border:1px solid rgba(244,63,94,.4); background:linear-gradient(100deg,rgba(244,63,94,.14),rgba(244,63,94,.03)); }
.bhs-private__ic { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; flex:none; background:rgba(244,63,94,.18); color:var(--pv-ic); }
.bhs-private h3 { font-size:15px; font-weight:800; letter-spacing:.02em; color:var(--text); margin-bottom:2px !important; }
.bhs-private p { color:var(--muted); font-size:13.5px; }
.bhs-private .bhs-private__note { color:var(--pv-txt); margin-top:6px !important; font-style:italic; }
.bhs-private.is-full { flex-direction:column; align-items:center; text-align:center; padding:34px 22px; }
.bhs-private.is-full .bhs-private__ic { width:60px; height:60px; border-radius:18px; }
.bhs-private.is-full h3 { font-family:var(--serif); font-size:28px; font-weight:600; letter-spacing:0; margin-top:6px !important; }
.bhs-private.is-full p { max-width:440px; }

.bhs .lbl-closed { display:none; }
.bhs-lounge.is-private-day .bhs-mbar .is-resa { opacity:.55; pointer-events:none; background:var(--surface); color:var(--muted); border-color:var(--line-2); }
.bhs-lounge.is-private-day .lbl-open { display:none; }
.bhs-lounge.is-private-day .lbl-closed { display:inline; }
.bhs-lounge.is-private-day .bhs-reserve { display:none; }

/* Jour sans événement : ambiance afterwork */
.bhs-empty { border:1px solid var(--line) !important; border-style:solid !important; background:var(--soft); padding:30px 22px; }
.bhs-empty__ic { width:54px; height:54px; border-radius:16px; display:grid; place-items:center; margin:0 auto 12px; background:color-mix(in srgb, var(--accent) 18%, transparent); color:var(--accent-txt); }
.bhs-empty p { max-width:440px; margin:0 auto !important; }

/* ---------- Mode clair ---------- */
html[data-bhs-theme="light"] .bhs, html[data-bhs-theme="light"] body.bhs-page {
	--bg:#f6f2ea; --surface:#ffffff; --line:rgba(120,90,40,.16); --line-2:rgba(120,90,40,.32);
	--text:#1d1913; --muted:#6b6254; --dim:#9a907f; --gold-txt:#93702a; --text-2:#3b342a;
	--bar-bg:rgba(246,242,234,.9); --soft:rgba(60,40,10,.04); --stripe:rgba(0,0,0,.06); --pv-txt:#b4233f; --pv-ic:#d6264a;
}
html[data-bhs-theme="light"] .bhs { --accent-txt:color-mix(in srgb, var(--accent) 45%, #1a1a1a); }
html[data-bhs-theme="light"] .bhs-home__head::before { background:radial-gradient(60% 70% at 50% 0%,rgba(201,163,92,.22),transparent 70%); }
html[data-bhs-theme="light"] .bhs-ev, html[data-bhs-theme="light"] .bhs-day, html[data-bhs-theme="light"] .bhs-reserve { box-shadow:0 1px 2px rgba(40,30,10,.06); }
html[data-bhs-theme="light"] .bhs-sheet { box-shadow:0 -10px 40px rgba(0,0,0,.18); }
/* Les cartes des lounges, affiches et le menu restent sombres (images) */
.bhs-lcard, .bhs-sheet.is-menu { --text:#f4eee3; --muted:#a69c8b; --line:rgba(232,201,140,.14); --line-2:rgba(232,201,140,.28); }
.bhs-sheet.is-menu { --accent-txt:var(--accent); }
.bhs-lcard { color:#f4eee3; }

/* Bouton mode clair / sombre */
.bhs-theme { width:38px; height:38px; border-radius:12px; display:grid !important; place-items:center; border:1px solid var(--line) !important; color:var(--text) !important; flex:none; transition:border-color .2s; }
.bhs-theme:hover { border-color:var(--line-2) !important; }
.bhs-theme .is-sun { display:none; }
html[data-bhs-theme="light"] .bhs-theme .is-sun { display:block; }
html[data-bhs-theme="light"] .bhs-theme .is-moon { display:none; }
.bhs-home__theme { position:absolute; top:16px; right:0; z-index:2; }
@media (max-width:420px) { .bhs-topbar .bhs-theme { width:34px; height:34px; } .bhs-topbar .bhs-wrap { gap:8px; } }
html[data-bhs-theme="light"] .bhs-home__logo, html[data-bhs-theme="light"] .bhs-topbar__logo, html[data-bhs-theme="light"] .bhs-footer img { filter:brightness(.62) saturate(1.3) contrast(1.15); }
@media (max-width:420px) { .bhs-topbar__logo { display:none; } }

/* ---------- Affiches multiples (carrousel) ---------- */
.bhs-slides { position:absolute; inset:0; display:block; }
.bhs-slides__track { position:absolute; inset:0; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
.bhs-slides__track::-webkit-scrollbar { display:none; }
.bhs-slides .bhs-slide { flex:0 0 100%; width:100%; height:100% !important; object-fit:cover; object-position:top; scroll-snap-align:center; scroll-snap-stop:always; user-select:none; -webkit-user-drag:none; }
.bhs-sheet__media .bhs-slides .bhs-slide { object-fit:contain; object-position:center; }
.bhs-sheet__media.is-photo .bhs-slides .bhs-slide { object-fit:cover; }

.bhs-slides__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; color:#fff; background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.35); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.35); transition:opacity .2s, transform .2s, background .2s; }
.bhs-slides__nav:hover { background:rgba(0,0,0,.75); }
.bhs-slides__nav:active { transform:translateY(-50%) scale(.92); }
.bhs-slides__nav.is-prev { left:8px; } .bhs-slides__nav.is-next { right:8px; }
.bhs-slides__nav.is-off { opacity:.25; pointer-events:none; }
.bhs-sheet__media .bhs-slides__nav { width:44px; height:44px; }
.bhs-sheet__media .bhs-slides__nav.is-prev { left:10px; } .bhs-sheet__media .bhs-slides__nav.is-next { right:10px; }

.bhs-slides__count { position:absolute; top:12px; right:12px; z-index:3; font-size:12px; font-weight:800; color:rgba(255,255,255,.75); background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.2); border-radius:99px; padding:4px 9px; }
.bhs-slides__count b { color:#fff; }
.bhs-sheet__media .bhs-slides__count { top:auto; bottom:14px; right:auto; left:12px; }
.bhs-slides__dots { position:absolute; left:50%; transform:translateX(-50%); bottom:14px; display:flex; gap:5px; z-index:3; padding:5px 7px; border-radius:99px; background:rgba(0,0,0,.35); }
.bhs-ev .bhs-slides__dots { left:auto; right:12px; transform:none; bottom:16px; }
.bhs-slides__dots i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55); transition:all .3s; }
.bhs-slides__dots i.is-on { background:#fff; width:16px; border-radius:6px; }
.bhs-sheet__media .bhs-slides__dots { bottom:18px; }

.bhs-slides.is-zoom .bhs-slides__track { cursor:zoom-in; }
.bhs-slides__zoom { position:absolute; right:10px; bottom:10px; z-index:3; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.25); color:#fff; cursor:pointer; }
.bhs-slides__zoom:hover { background:rgba(0,0,0,.8); }
.bhs-slides__track:focus-visible, .bhs-slides__nav:focus-visible, .bhs-ev:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
@media (max-width:420px) { .bhs-ev .bhs-slides__nav { width:32px; height:32px; } }

/* ---------- Visionneuse plein écran ---------- */
.bhs-lb { position:fixed; inset:0; z-index:100000; background:#000; opacity:0; transition:opacity .25s; display:flex; flex-direction:column; }
.bhs-lb.is-on { opacity:1; }
.bhs-lb__track { flex:1; min-height:0; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior:contain; }
.bhs-lb__track::-webkit-scrollbar { display:none; }
.bhs-lb__slide { flex:0 0 100%; margin:0; scroll-snap-align:center; display:flex; align-items:center; justify-content:center; padding:calc(56px + env(safe-area-inset-top)) 8px calc(16px + env(safe-area-inset-bottom)); }
.bhs-lb__slide img { max-width:100%; max-height:100%; width:auto; height:auto !important; object-fit:contain; }
.bhs-lb__close { position:absolute; top:calc(10px + env(safe-area-inset-top)); right:12px; z-index:2; width:42px; height:42px; border-radius:50% !important; display:grid !important; place-items:center; background:rgba(255,255,255,.12) !important; border:1px solid rgba(255,255,255,.25) !important; color:#fff !important; }
.bhs-lb__count { position:absolute; top:calc(20px + env(safe-area-inset-top)); left:16px; z-index:2; color:rgba(255,255,255,.7); font-size:14px; font-weight:600; }
.bhs-lb__count b { color:#fff; }
.bhs-lb__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; border-radius:50% !important; display:grid !important; place-items:center; background:rgba(0,0,0,.55) !important; border:1px solid rgba(255,255,255,.25) !important; color:#fff !important; }
.bhs-lb__nav.is-prev { left:10px; } .bhs-lb__nav.is-next { right:10px; }
.bhs-lb__nav:disabled { opacity:0; pointer-events:none; }

.bhs-ev { cursor:pointer; }

/* ---------- Carte (menu codé) ---------- */
.bhs-sheet.is-carte { background:var(--bg); --text:inherit; }
.bhs-sheet.is-menu.is-carte { --text:#f4eee3; --muted:#a69c8b; --line:rgba(232,201,140,.14); --line-2:rgba(232,201,140,.28); --soft:rgba(255,255,255,.04); background:#0e0c0a; color:var(--text); }
html[data-bhs-theme="light"] .bhs-sheet.is-menu.is-carte { --text:#1d1913; --muted:#6b6254; --line:rgba(120,90,40,.16); --line-2:rgba(120,90,40,.32); --soft:rgba(60,40,10,.04); --accent-txt:color-mix(in srgb, var(--accent) 45%, #1a1a1a); background:#f6f2ea; }
.bhs-carte { flex:1; min-height:0; display:flex; flex-direction:column; width:100%; max-width:720px; margin:0 auto; }
.bhs-carte__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(14px + env(safe-area-inset-top)) 16px 12px; border-bottom:1px solid var(--line); }
.bhs-carte__head .bhs-close { position:static; }
.bhs-carte__head .bhs-menu__title { font-size:30px; }
.bhs-carte__body { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:14px 16px calc(28px + env(safe-area-inset-bottom)); }
.bhs-carte__hint { font-size:12.5px; color:var(--muted); text-align:center; margin:0 0 14px !important; }

.bhs-cat { border:1px solid var(--line); border-radius:16px; margin-bottom:10px; background:var(--soft); overflow:hidden; transition:border-color .2s; }
.bhs-cat.is-open { border-color:var(--line-2); }
.bhs-cat__head { width:100%; display:flex !important; align-items:center; gap:12px; padding:16px 16px !important; text-align:left; color:var(--text) !important; }
.bhs-cat__name { flex:1; font-family:var(--serif); font-size:22px; font-weight:600; line-height:1.15; }
.bhs-cat__name small { display:block; font-family:var(--sans); font-size:12px; font-weight:500; color:var(--muted); margin-top:3px; }
.bhs-cat__n { font-size:12px; font-weight:800; min-width:26px; height:26px; padding:0 8px; border-radius:99px; display:grid; place-items:center; background:var(--accent); color:var(--accent-ink); }
.bhs-cat__chev { color:var(--muted); transition:transform .25s; }
.bhs-cat.is-open .bhs-cat__chev { transform:rotate(180deg); color:var(--text); }
.bhs-cat__items { padding:0 16px 6px; border-top:1px solid var(--line); animation:bhs-fade .25s ease; }

.bhs-dish { display:flex; gap:12px; padding:14px 0; border-bottom:1px dashed var(--line); }
.bhs-dish:last-child { border-bottom:0; }
.bhs-dish__img { flex:none; width:64px; height:64px; border-radius:12px; overflow:hidden; background:#000; }
.bhs-dish__img img { width:100%; height:100% !important; object-fit:cover; }
.bhs-dish__main { flex:1; min-width:0; }
.bhs-dish__row { display:flex; align-items:baseline; gap:8px; }
.bhs-dish__name { font-size:16px; font-weight:700; color:var(--text); margin:0 !important; line-height:1.3; }
.bhs-dish__dots { flex:1; border-bottom:1px dotted var(--line-2); transform:translateY(-4px); min-width:12px; }
.bhs-dish__price { font-weight:800; font-size:15px; color:var(--accent-txt); white-space:nowrap; }
.bhs-dish__desc { color:var(--muted); font-size:13.5px; margin-top:3px !important; line-height:1.45; }
.bhs-dish__tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.bhs-dish__tag { font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:3px 7px; border-radius:6px; border:1px solid var(--line-2); color:var(--muted); }
.bhs-dish__tag.is-signature { background:var(--gold); color:#1a140a; border-color:var(--gold); }
.bhs-dish__tag.is-nouveau { background:#f43f5e; color:#fff; border-color:#f43f5e; }

.bhs-rate { display:flex; align-items:center; gap:8px; margin-top:9px; flex-wrap:wrap; }
.bhs-rate__lbl { font-size:12px; color:var(--muted); font-weight:600; }
.bhs-rate__stars { display:inline-flex; gap:2px; }
.bhs-star { width:30px; height:30px; display:grid !important; place-items:center; color:var(--line-2) !important; transition:transform .15s, color .15s; }
.bhs-star svg { fill:currentColor; }
.bhs-star:hover, .bhs-star:focus-visible { transform:scale(1.15); }
.bhs-rate__stars:hover .bhs-star { color:#e3b341 !important; }
.bhs-rate__stars .bhs-star:hover ~ .bhs-star { color:var(--line-2) !important; }
.bhs-star.is-on { color:#e3b341 !important; }
.bhs-rate.is-sending { opacity:.6; pointer-events:none; }
.bhs-rate__msg { font-size:12.5px; font-weight:700; color:var(--accent-txt); }
.bhs-rate__form { display:flex; gap:6px; margin-top:8px; }
.bhs-rate__form input { flex:1; min-width:0; font:inherit; font-size:14px; padding:9px 12px; border-radius:10px; border:1px solid var(--line-2); background:transparent; color:var(--text); }
.bhs-rate__form button { font:inherit; font-size:13px; font-weight:800; padding:0 14px; border-radius:10px; border:0; background:var(--accent); color:var(--accent-ink); cursor:pointer; }
.bhs-rate__thanks { font-size:12.5px; color:var(--muted); margin-top:6px !important; }
