
:root{--sb2-ink:#0c0d0c;--sb2-gold:#d6b65e;--sb2-paper:#f5f1e7;--sb2-muted:#aaa99e;--sb2-line:rgba(245,241,231,.15)}
.sb2-header,.sb2-menu,.sb2-footer,.sb2-floating-book{font-family:Arial,Helvetica,sans-serif;color:var(--sb2-paper);box-sizing:border-box}
.sb2-header *,.sb2-menu *,.sb2-footer *{box-sizing:border-box}
.sb2-header a,.sb2-menu a,.sb2-footer a,.sb2-floating-book{text-decoration:none}
.sb2-header a,.sb2-menu a,.sb2-footer a{color:inherit}
.sb2-header a:focus-visible,.sb2-header button:focus-visible,.sb2-menu a:focus-visible,.sb2-menu button:focus-visible,.sb2-footer a:focus-visible,.sb2-floating-book:focus-visible{outline:2px solid var(--sb2-gold);outline-offset:6px}
.sb2-skip{position:fixed;top:-100px;left:16px;z-index:100001;padding:14px;background:#fff;color:#111}.sb2-skip:focus{top:10px}
.sb2-header{position:sticky;top:0;z-index:900;background:rgba(12,13,12,.96);border-bottom:1px solid var(--sb2-line);backdrop-filter:blur(18px)}
.admin-bar .sb2-header{top:32px}
.sb2-topline{display:flex;justify-content:space-between;max-width:1440px;margin:auto;padding:10px 40px;border-bottom:1px solid var(--sb2-line);font-size:9px;font-weight:600;letter-spacing:.2em;color:var(--sb2-gold)}
.sb2-navwrap{max-width:1440px;margin:auto;min-height:100px;padding:14px 40px;display:flex;align-items:center;gap:32px}
.sb2-brand{display:block;flex-shrink:0}.sb2-brand img{display:block;width:155px;height:auto;max-height:72px;object-fit:contain}
.sb2-desktop{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.sb2-desktop a{font-size:12px;position:relative;padding:12px 0}.sb2-desktop a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--sb2-gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}.sb2-desktop a:hover:after,.sb2-desktop a[aria-current]:after{transform:scaleX(1)}
.sb2-button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:18px 24px;background:var(--sb2-gold);color:var(--sb2-ink)!important;font-size:12px;font-weight:700;border:1px solid var(--sb2-gold);border-radius:2px;line-height:1.2;transition:background .2s,transform .2s}.sb2-button:hover{background:#ecd493;transform:translateY(-2px)}.sb2-button span{font-size:20px}
.sb2-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:48px;height:48px;border:1px solid var(--sb2-line);border-radius:0;background:transparent;color:inherit;padding:10px}.sb2-menu-toggle span{width:22px;height:1px;background:var(--sb2-paper)}
.sb2-menu{background:var(--sb2-ink);border:1px solid var(--sb2-line);padding:32px;width:min(600px,100%);max-width:100%;max-height:100dvh;overflow:auto;margin:auto 0 auto auto}.sb2-menu:not([open]){display:none}.sb2-menu::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}.sb2-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;font-family:Georgia,serif;font-size:22px}.sb2-menu-top b{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.3em;margin-top:6px;color:var(--sb2-gold)}.sb2-menu-close{width:48px;height:48px;background:transparent;border:1px solid var(--sb2-line);color:var(--sb2-paper);font-size:24px;padding:0}.sb2-menu nav{display:flex;flex-direction:column}.sb2-menu nav a{font-size:clamp(28px,6vw,46px);padding:12px 0;border-bottom:1px solid var(--sb2-line);letter-spacing:-.04em}.sb2-menu nav a:hover,.sb2-menu nav a[aria-current]{color:var(--sb2-gold)}.sb2-menu-bottom{display:flex;flex-direction:column;gap:22px;margin-top:32px}.sb2-menu-bottom p{font-size:12px;color:var(--sb2-muted);line-height:1.6}.sb2-lock{overflow:hidden}
.sb2-footer{background:var(--sb2-ink);border-top:1px solid var(--sb2-line);position:relative;overflow:hidden;margin:0}.sb2-footer-inner{max-width:1440px;margin:auto;padding:80px 40px 0}.sb2-eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--sb2-gold);margin:0 0 24px;line-height:1.6}.sb2-footer-callout{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:64px;border-bottom:1px solid var(--sb2-line)}.sb2-footer h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(48px,6vw,88px);line-height:1.05;letter-spacing:-.05em;color:var(--sb2-paper);margin:0}.sb2-footer h2 em{color:var(--sb2-gold);font-weight:400}.sb2-callout-action p{font-size:12px;line-height:1.7;color:var(--sb2-muted);margin:18px 0 0}
.sb2-footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1.1fr 1fr;gap:48px;padding:60px 0}.sb2-footer h3{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--sb2-gold);margin:0 0 24px}.sb2-footer-brand img{width:170px;height:auto;max-height:82px;object-fit:contain}.sb2-footer-brand p,.sb2-hours-note{font-size:12px;line-height:1.9;color:var(--sb2-muted);margin:20px 0}.sb2-footer nav{display:flex;flex-direction:column;gap:16px}.sb2-footer nav a,.sb2-footer address a{font-size:13px;line-height:1.8}.sb2-footer a:hover{color:var(--sb2-gold)}.sb2-footer address{font-style:normal;display:flex;flex-direction:column;gap:18px}.sb2-text-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--sb2-gold);padding:5px 0;margin-top:16px}.sb2-socials{display:flex;gap:10px}.sb2-socials a{display:flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid var(--sb2-line);font-size:10px}.sb2-hours{margin:0}.sb2-hours div{font-size:12px;display:flex;justify-content:space-between;gap:14px;padding:0 0 14px;line-height:1.6}.sb2-hours dd{margin:0;white-space:nowrap}.sb2-hours-note{font-size:11px}
.sb2-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--sb2-line);padding:24px 0;font-size:10px;line-height:1.8;color:var(--sb2-muted)}.sb2-wordmark{font-family:Georgia,serif;font-size:clamp(70px,16vw,220px);font-weight:700;line-height:1.05;letter-spacing:-.06em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(214,182,94,.22);user-select:none;padding-top:20px}
.sb2-floating-book{position:fixed;bottom:24px;right:24px;z-index:901;display:flex;align-items:center;justify-content:center;gap:14px;background:var(--sb2-gold);color:var(--sb2-ink);padding:18px 24px;border:1px solid #efd897;border-radius:999px;box-shadow:0 8px 32px #0005;font-size:12px;font-weight:700;line-height:1.2}.sb2-floating-book:hover{background:#ecd493;color:var(--sb2-ink)}.sb2-book-dot{width:7px;height:7px;background:var(--sb2-ink);border-radius:50%}
@media(min-width:901px){.sb2-floating-book{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s}.sb2-scrolled .sb2-floating-book{opacity:1;visibility:visible;transform:translateY(0)}}
@media(max-width:1100px){.sb2-navwrap{gap:20px;padding-inline:24px}.sb2-desktop{gap:18px}.sb2-header-book{padding:16px;font-size:11px;gap:12px}.sb2-footer-grid{gap:28px}}
@media(max-width:900px){.sb2-desktop{display:none}.sb2-menu-toggle{display:flex}.sb2-navwrap{justify-content:space-between;min-height:85px}.sb2-brand{margin-right:auto}.sb2-brand img{width:130px}.sb2-footer-grid{grid-template-columns:1fr 1fr;gap:40px}.sb2-topline{padding-inline:24px}.sb2-footer-bottom{flex-wrap:wrap}.sb2-footer-inner{padding:60px 24px 80px}}
@media(max-width:600px){.sb2-topline{justify-content:center;font-size:8px;padding:8px 16px}.sb2-topline span:last-child{display:none}.sb2-navwrap{padding:12px 16px;gap:12px;min-height:76px}.sb2-brand img{width:112px}.sb2-header-book{font-size:10px;padding:12px;max-width:135px;gap:8px}.sb2-header-book span{font-size:16px}.sb2-menu-toggle{width:44px;height:44px}.sb2-footer-callout{align-items:flex-start;flex-direction:column;gap:28px;padding-bottom:40px}.sb2-footer-grid{grid-template-columns:1fr;gap:36px;padding:40px 0}.sb2-footer h3{margin-bottom:16px}.sb2-footer-grid nav{display:grid;grid-template-columns:1fr 1fr}.sb2-footer-bottom{flex-direction:column;gap:12px}.sb2-floating-book{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));padding:17px 20px}.sb2-menu{padding:24px;max-height:100dvh}.sb2-menu-top{margin-bottom:30px}.sb2-wordmark{font-size:18vw}.admin-bar .sb2-header{top:46px}}
@media(max-width:782px) and (min-width:601px){.admin-bar .sb2-header{top:46px}}
@media(prefers-reduced-motion:reduce){.sb2-header *,.sb2-menu *,.sb2-floating-book,.sb2-footer *{transition:none!important;scroll-behavior:auto!important}}

/* 2.1 — Commandes du menu, visibles sur tous les écrans. */
.sb2-header .sb2-menu-toggle,.sb2-menu .sb2-menu-close{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;min-width:52px;padding:0!important;gap:0;border:1px solid rgba(214,182,94,.65)!important;border-radius:50%!important;background:linear-gradient(145deg,#29271d,#11120f)!important;color:#ecd493!important;box-shadow:inset 0 0 0 4px rgba(214,182,94,.045),0 4px 18px rgba(0,0,0,.2);cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.sb2-header .sb2-menu-toggle:hover,.sb2-menu .sb2-menu-close:hover{border-color:#ecd493!important;box-shadow:0 0 0 5px rgba(214,182,94,.09),0 0 24px rgba(214,182,94,.18);transform:translateY(-2px)}
.sb2-header .sb2-menu-toggle:active,.sb2-menu .sb2-menu-close:active{transform:scale(.94)}
.sb2-header .sb2-menu-toggle .sb2-burger-lines{display:block;position:relative;width:24px;height:20px;background:none}
.sb2-burger-lines i{display:block;position:absolute;left:0;width:24px;height:2px;border-radius:2px;background:#ecd493;transition:transform .28s ease,width .28s ease,opacity .2s ease;transform-origin:center}
.sb2-burger-lines i:nth-child(1){top:1px}.sb2-burger-lines i:nth-child(2){top:9px;width:17px}.sb2-burger-lines i:nth-child(3){top:17px;width:21px}
.sb2-menu-toggle:hover .sb2-burger-lines i{width:24px}
.sb2-menu-toggle[aria-expanded="true"] .sb2-burger-lines i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.sb2-menu-toggle[aria-expanded="true"] .sb2-burger-lines i:nth-child(2){opacity:0;transform:translateX(6px)}
.sb2-menu-toggle[aria-expanded="true"] .sb2-burger-lines i:nth-child(3){width:24px;transform:translateY(-8px) rotate(-45deg)}
.sb2-close-lines{position:relative;display:block;width:24px;height:24px;transition:transform .35s ease}
.sb2-close-lines::before,.sb2-close-lines::after{content:"";position:absolute;top:11px;left:0;width:24px;height:2px;border-radius:2px;background:#ecd493;transform:rotate(45deg)}
.sb2-close-lines::after{transform:rotate(-45deg)}
.sb2-menu-close:hover .sb2-close-lines{transform:rotate(90deg)}
.sb2-menu[open]{animation:sb2-menu-enter .32s cubic-bezier(.2,.7,.2,1) both}
.sb2-menu[open]::backdrop{animation:sb2-backdrop-enter .25s ease both}
.sb2-menu.sb2-menu-closing{animation:sb2-menu-exit .22s ease both;pointer-events:none}
.sb2-menu.sb2-menu-closing::backdrop{animation:sb2-backdrop-exit .22s ease both}
@keyframes sb2-menu-enter{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
@keyframes sb2-menu-exit{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(36px)}}
@keyframes sb2-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes sb2-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(min-width:901px) and (max-width:1150px){.sb2-desktop{gap:12px}.sb2-navwrap{gap:16px}.sb2-desktop a{font-size:11px}.sb2-brand img{width:130px}.sb2-header-book{padding:14px;gap:10px}}
@media(max-width:600px){.sb2-header .sb2-menu-toggle{flex-basis:44px;min-width:44px;width:44px;height:44px}.sb2-menu .sb2-menu-close{flex-basis:48px;min-width:48px;width:48px;height:48px}.sb2-navwrap{gap:10px}.sb2-header-book{flex-shrink:1}.sb2-brand img{width:clamp(90px,28vw,112px)}}
@media(prefers-reduced-motion:reduce){.sb2-menu[open],.sb2-menu[open]::backdrop,.sb2-menu.sb2-menu-closing,.sb2-menu.sb2-menu-closing::backdrop{animation:none!important}.sb2-burger-lines i,.sb2-close-lines{transition:none!important}}

/* Flèches SVG : dessin identique sur iOS, Android et ordinateur. */
.sb2-arrow{display:inline-block;width:18px;height:18px;flex:0 0 auto;vertical-align:middle;color:inherit;overflow:visible}
.sb2-button .sb2-arrow,.sb2-floating-book .sb2-arrow{width:20px;height:20px;transition:transform .25s ease}
.sb2-button:hover .sb2-arrow,.sb2-floating-book:hover .sb2-arrow{transform:translate(2px,-2px)}
.sb2-socials .sb2-arrow,.sb2-footer-bottom .sb2-arrow{width:12px;height:12px}
.sb2-socials a{gap:4px}
@media(max-width:600px){.sb2-header-book .sb2-arrow{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.sb2-arrow{transition:none!important}}

/* Neutraliser les états roses du thème pour les commandes du menu. */
.sb2-header .sb2-menu-toggle:is(:hover,:focus,:focus-visible,:active),.sb2-menu .sb2-menu-close:is(:hover,:focus,:focus-visible,:active){background:linear-gradient(145deg,#302b1d,#11120f)!important;color:#ecd493!important;border-color:#d6b65e!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
.sb2-header .sb2-menu-toggle:focus-visible,.sb2-menu .sb2-menu-close:focus-visible{outline:2px solid #ecd493!important;outline-offset:4px!important}
.sb2-header button,.sb2-menu button,.sb2-header a,.sb2-menu a,.sb2-footer a,.sb2-floating-book{-webkit-tap-highlight-color:transparent}

/* Header épuré : logo, réservation et burger ; liens dans le panneau. */
.sb2-navwrap{justify-content:space-between}
.sb2-brand{margin-right:auto}
.sb2-header-book{flex-shrink:0}
@media(max-width:600px){.sb2-header-book{flex-shrink:1}}

/* Bouton d’appel dans le panneau de navigation. */
.sb2-menu .sb2-menu-phone{display:flex;align-items:center;gap:16px;width:100%;min-height:86px;padding:18px 20px;border:1px solid rgba(214,182,94,.4);border-radius:4px;background:linear-gradient(120deg,rgba(214,182,94,.08),rgba(214,182,94,.02));color:var(--sb2-paper);transition:border-color .25s,background .25s,transform .25s}
.sb2-phone-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(214,182,94,.35);border-radius:50%;color:var(--sb2-gold);background:rgba(214,182,94,.06);transition:transform .25s}
.sb2-phone-icon svg{width:22px;height:22px}
.sb2-phone-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.sb2-phone-label{font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--sb2-gold);line-height:1.4}
.sb2-phone-number{font-size:clamp(18px,4.8vw,24px);font-weight:600;letter-spacing:.02em;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.sb2-menu-phone>.sb2-arrow{color:var(--sb2-gold);transition:transform .25s}
.sb2-menu .sb2-menu-phone:hover,.sb2-menu .sb2-menu-phone:focus-visible{background:rgba(214,182,94,.12);border-color:var(--sb2-gold);color:var(--sb2-paper)}
.sb2-menu-phone:hover .sb2-phone-icon{transform:rotate(-12deg)}
.sb2-menu-phone:hover>.sb2-arrow{transform:translate(2px,-2px)}
@media(max-width:380px){.sb2-menu .sb2-menu-phone{padding:16px 12px;gap:10px}.sb2-phone-icon{width:38px;height:38px;flex-basis:38px}.sb2-phone-number{font-size:18px}}
@media(prefers-reduced-motion:reduce){.sb2-menu-phone,.sb2-phone-icon,.sb2-menu-phone>.sb2-arrow{transition:none!important}}

/* 2.5 — Typographies reprises du code de la page d’accueil. */
:root{--sb2-font-title:'Bebas Neue',sans-serif;--sb2-font-text:'Montserrat',sans-serif;--sb2-font-secondary:'Cinzel',serif;--sb2-font-accent:'Playfair Display',serif}
.sb2-header,.sb2-menu,.sb2-footer,.sb2-floating-book,.sb2-skip{font-family:var(--sb2-font-text)}
.sb2-header :is(p,span,a,button),.sb2-menu :is(p,span,a,button),.sb2-footer :is(p,span,a,button,dt,dd,address),.sb2-floating-book span{font-family:var(--sb2-font-text)}
.sb2-button,.sb2-eyebrow,.sb2-phone-label,.sb2-phone-number{font-family:var(--sb2-font-text)!important}
.sb2-footer h2,.sb2-footer h3,.sb2-menu nav a,.sb2-wordmark{font-family:var(--sb2-font-title);font-weight:400;letter-spacing:.02em}
.sb2-footer h2{font-size:clamp(52px,6vw,88px);line-height:1.05}
.sb2-footer h2 em{font-family:var(--sb2-font-accent);font-weight:400;letter-spacing:-.03em}
.sb2-footer h3{font-size:18px;letter-spacing:.08em}
.sb2-menu nav a{font-size:clamp(32px,6vw,46px);letter-spacing:.03em}
.sb2-menu .sb2-menu-top>span{font-family:var(--sb2-font-secondary);font-weight:600}
.sb2-menu-top b{font-family:var(--sb2-font-title);font-size:16px;font-weight:400;letter-spacing:.2em}
.sb2-wordmark{font-size:clamp(90px,19vw,260px);line-height:1;letter-spacing:.02em}
@media(max-width:600px){.sb2-wordmark{font-size:22vw}}
