/* ===== Carte à feuilleter — Brasserie Gribaumont ===== */
.fb{--paper:#F4ECDD;--paper-2:#EADFCB;--paper-ink:#2B2620;--paper-ink-2:#6E6354;--paper-line:rgba(43,38,32,.16);--spine:rgba(0,0,0,.28);padding-block:clamp(28px,4vw,56px) clamp(56px,7vw,96px)}
.fb__tabs{position:sticky;top:calc(var(--header-h) - 1px);z-index:5;background:linear-gradient(var(--bg) 70%,transparent);padding:14px 0 18px;margin-bottom:clamp(16px,2.5vw,28px)}
.fb__tablist{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;justify-content:center;padding:4px 2px;margin:0;list-style:none}
.fb__tablist::-webkit-scrollbar{display:none}
@media (max-width:1100px){.fb__tablist{justify-content:flex-start}}
.fb__tab{flex:none;font:500 .82rem/1 var(--sans);letter-spacing:.04em;color:var(--ink-2);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.72em 1.15em;cursor:pointer;transition:color .3s,border-color .3s,background .3s;text-decoration:none;white-space:nowrap}
.fb__tab:hover{color:var(--ink);border-color:var(--line-strong)}
.fb__tab[aria-current="true"]{background:var(--gold);border-color:var(--gold);color:#1b1a16}
.fb__tab:focus-visible,.fb__arrow:focus-visible,.fb__book:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Livre */
.fb__stage{position:relative;max-width:1180px;margin-inline:auto;scroll-margin-top:calc(var(--header-h) + 84px)}
.fb__photo img{object-position:50% 50%}
.fb__book{position:relative;perspective:2400px}
.fb__spread{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(520px,calc(100vh - 300px),680px);border-radius:6px;box-shadow:0 40px 80px -30px rgba(0,0,0,.75),0 0 0 1px rgba(246,240,230,.06)}
.fb__page{position:relative;overflow:hidden;transform-style:preserve-3d;backface-visibility:hidden}
.fb__page--l{border-radius:6px 0 0 6px;transform-origin:right center}
.fb__page--r{border-radius:0 6px 6px 0;transform-origin:left center}
/* papier */
.fb__paper{background:var(--paper);color:var(--paper-ink);background-image:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.55),transparent 60%),radial-gradient(100% 80% at 100% 100%,rgba(160,130,90,.14),transparent 70%)}
.fb__paper::after{content:"";position:absolute;inset:0 0 0 auto;width:48px;background:linear-gradient(90deg,transparent,var(--spine));pointer-events:none}
.fb__page--r.fb__paper::after{inset:0 auto 0 0;background:linear-gradient(270deg,transparent,var(--spine))}
.fb__inner{position:relative;height:100%;display:flex;flex-direction:column;padding:clamp(28px,3.6vw,52px) clamp(28px,4vw,60px) clamp(22px,2.6vw,34px)}
.fb__kicker{font:600 .66rem/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--paper-ink-2);margin:0}
.fb__num{display:block;font:italic 400 1.35rem/1 var(--serif);color:#9a7340;margin:clamp(18px,2.4vw,30px) 0 6px}
.fb__title{font:400 clamp(2.1rem,3.6vw,3.2rem)/1.02 var(--serif);letter-spacing:-.01em;margin:0;color:var(--paper-ink)}
.fb__intro{font:italic 400 1rem/1.45 var(--serif);color:var(--paper-ink-2);margin:.6em 0 0}
.fb__orn{display:flex;align-items:center;gap:14px;margin:clamp(14px,1.8vw,22px) 0 clamp(8px,1vw,12px);color:#9a7340}
.fb__orn::before,.fb__orn::after{content:"";flex:1;height:1px;background:var(--paper-line)}
.fb__orn svg{width:30px;height:32px}
.fb__wm{position:absolute;right:-8%;bottom:-10%;width:48%;color:#9a7340;opacity:.07;pointer-events:none}
.fb__list{list-style:none;margin:0;padding:0;flex:1}
.fb__list--2{columns:2;column-gap:clamp(22px,3vw,40px)}
.fb__item{break-inside:avoid;display:flex;align-items:baseline;gap:10px;padding:.62em 0;border-bottom:1px solid var(--paper-line)}
.fb__list--2 .fb__item{padding:.46em 0}
.fb__item-name{font:400 clamp(1rem,1.15vw,1.1rem)/1.3 var(--serif);color:var(--paper-ink)}
.fb__item-desc{display:block;font:italic 400 .86rem/1.35 var(--serif);color:var(--paper-ink-2);margin-top:2px}
.fb__tag{margin-left:auto;flex:none;font:600 .6rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#8a6533;border:1px solid rgba(154,115,64,.45);border-radius:999px;padding:.45em .7em}
.fb__note{font:400 .74rem/1.45 var(--sans);color:var(--paper-ink-2);margin:14px 0 0}
.fb__foot{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(14px,1.6vw,22px);font:600 .6rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--paper-ink-2)}
/* page photo */
.fb__photo{background:#1a1714}
.fb__photo picture,.fb__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fb__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,9,8,.15) 0%,transparent 35%,rgba(10,9,8,.78) 100%)}
.fb__photo::after{content:"";position:absolute;inset:0 auto 0 0;width:60px;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent)}
.fb__cap{position:absolute;z-index:3;left:clamp(26px,3.4vw,48px);right:clamp(26px,3.4vw,48px);bottom:clamp(22px,2.6vw,34px);color:#F6F0E6;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.fb__cap-text{font:italic 400 clamp(1.4rem,2.2vw,2rem)/1.15 var(--serif);margin:0;max-width:18ch}
.fb__cap-meta{text-align:right;font:600 .6rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.75;flex:none}
/* couverture */
.fb__cover{background:#1F3B33;color:#D9B373;background-image:radial-gradient(90% 70% at 30% 20%,rgba(255,255,255,.07),transparent 60%),radial-gradient(80% 80% at 80% 100%,rgba(0,0,0,.35),transparent 70%)}
.fb__cover .fb__inner{align-items:center;justify-content:center;text-align:center;gap:clamp(14px,2vw,22px)}
.fb__cover::before{content:"";position:absolute;inset:clamp(14px,1.6vw,22px);border:1px solid rgba(217,179,115,.45);border-radius:3px;pointer-events:none}
.fb__cover::after{content:"";position:absolute;inset:0 0 0 auto;width:48px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.35))}
.fb__cover .fb__kicker{color:rgba(217,179,115,.85)}
.fb__cover-badge{width:clamp(120px,13vw,170px);height:auto;color:#D9B373}
.fb__cover-title{font:400 clamp(2.2rem,3.8vw,3.4rem)/1.02 var(--serif);color:#F6F0E6;margin:0}
.fb__cover-title em{font-style:italic;color:#D9B373}
.fb__cover-sub{font:italic 400 1.05rem/1.4 var(--serif);color:rgba(246,240,230,.75);margin:0}
.fb__open{margin-top:6px;font:500 .82rem/1 var(--sans);letter-spacing:.06em;color:#1b1a16;background:#D9B373;border:0;border-radius:999px;padding:1em 1.6em;cursor:pointer;transition:transform .3s var(--ease),background .3s}
.fb__open:hover{background:#e6c58c;transform:translateY(-2px)}

/* contrôles */
.fb__controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:clamp(18px,2.4vw,28px)}
.fb__arrow{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:var(--ink-2);font:500 .86rem/1.2 var(--sans);cursor:pointer;padding:10px 4px;transition:color .3s}
.fb__arrow:hover{color:var(--gold)}
.fb__arrow[disabled]{opacity:.25;pointer-events:none}
.fb__arrow--next{justify-self:end;text-align:right}
.fb__arrow svg{width:18px;height:18px;flex:none}
.fb__arrow--prev svg{transform:scaleX(-1)}
.fb__arrow small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.fb__counter{font:italic 400 1rem/1 var(--serif);color:var(--ink-2);text-align:center}
.fb__counter b{font-weight:400;color:var(--gold)}
.fb__progress{grid-column:1/-1;height:1px;background:var(--line);position:relative;overflow:hidden}
.fb__progress i{position:absolute;inset:0 auto 0 0;background:var(--gold);transition:width .6s var(--ease)}
.fb__hint{text-align:center;font:400 .76rem/1.4 var(--sans);color:var(--ink-3);margin:14px 0 0}

/* ===== Mode JS : une double page à la fois ===== */
.fb--js .fb__book{display:grid}
.fb--js .fb__spread{grid-area:1/1;visibility:hidden}
.fb--js .fb__spread.is-current{visibility:visible;z-index:2}
.fb--js .fb__spread.is-under{visibility:visible;z-index:1}
.fb--js .fb__spread.is-turning{visibility:visible;z-index:3;box-shadow:none}
.fb--js .fb__spread.is-turning .fb__page{transition:transform .9s cubic-bezier(.45,.05,.2,1),filter .9s}
/* avance : la page de droite se soulève et passe à gauche */
.fb--js .is-turning.turn-next .fb__page--r{transform:rotateY(-180deg);filter:brightness(.7)}
.fb--js .is-turning.turn-next .fb__page--l{visibility:hidden;transition:visibility 0s linear .45s}
.fb--js .is-under.turn-next .fb__page--l{animation:fbInL .9s cubic-bezier(.45,.05,.2,1) both}
@keyframes fbInL{from{transform:rotateY(180deg)}to{transform:rotateY(0)}}
/* recul */
.fb--js .is-turning.turn-prev .fb__page--l{transform:rotateY(180deg);filter:brightness(.7)}
.fb--js .is-turning.turn-prev .fb__page--r{visibility:hidden;transition:visibility 0s linear .45s}
.fb--js .is-under.turn-prev .fb__page--r{animation:fbInR .9s cubic-bezier(.45,.05,.2,1) both}
@keyframes fbInR{from{transform:rotateY(-180deg)}to{transform:rotateY(0)}}
.fb--js .fb__spread:not(.is-current) .fb__list{content-visibility:auto}

/* ===== Sans JS / impression : toutes les pages à la suite ===== */
.fb:not(.fb--js) .fb__spread + .fb__spread{margin-top:32px}
.fb:not(.fb--js) .fb__controls,.fb:not(.fb--js) .fb__hint,.fb:not(.fb--js) .fb__open{display:none}

/* ===== Mobile : une page, photo en bandeau ===== */
@media (max-width:899px){
  .fb__tabs{top:calc(var(--header-h) - 1px)}
  .fb__spread{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;border-radius:6px;overflow:hidden}
  .fb--js .fb__spread:not(.is-current){display:none}
  .fb__wm{width:60%}
  .fb__page--r{order:-1;height:clamp(170px,46vw,260px);border-radius:6px 6px 0 0}
  .fb__page--l{border-radius:0 0 6px 6px}
  .fb__paper::after,.fb__photo::after,.fb__cover::after{display:none}
  .fb__cap-text{font-size:1.3rem}
  .fb__list--2{columns:1}
  .fb__cover{min-height:420px}
  .fb--js .fb__spread.is-current{animation:fbMob .5s var(--ease) both}
  .fb--js .fb__spread.is-current.from-prev{animation-name:fbMobBack}
  .fb--js .fb__spread.is-turning,.fb--js .fb__spread.is-under{visibility:hidden}
  .fb--js .is-under .fb__page{animation:none!important}
  .fb__controls{grid-template-columns:1fr 1fr}
  .fb__counter{display:none}
  .fb__arrow span{max-width:12ch}
}
@keyframes fbMob{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes fbMobBack{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .fb--js .fb__spread .fb__page,.fb--js .fb__spread{transition:none!important;animation:none!important}
}
@media print{
  .fb__tabs,.fb__controls,.fb__hint,.fb__open{display:none!important}
  .fb__spread{visibility:visible!important;break-inside:avoid;box-shadow:none;margin-bottom:20px;display:block}
  .fb__photo{display:none}
  .fb--js .fb__book{display:block}
}

/* Titre de la page carte sur une seule ligne */
.page--carte .intro__inner{grid-template-columns:1fr}
.page--carte .intro__badge{display:none}
.page--carte .intro__text .display{max-width:none;white-space:nowrap;font-size:clamp(1.6rem,.6rem + 4.6vw,5.4rem)}


/* ===== Prix, sous-titres, bar ===== */
.fb__item{align-items:baseline}
.fb__item-name{flex:0 1 auto;min-width:0}
.fb__dots{flex:1 1 18px;min-width:18px;border-bottom:1px dotted rgba(43,38,32,.35);transform:translateY(-.3em)}
.fb__price{flex:none;font:500 .98rem/1.2 var(--serif);font-variant-numeric:tabular-nums lining-nums;color:#7a5a2c;white-space:nowrap}
.fb__sub{break-after:avoid;list-style:none;font:600 .64rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#9a7340;padding:1.1em 0 .35em;border-bottom:1px solid rgba(154,115,64,.35)}
.fb__list>.fb__sub:first-child{padding-top:.2em}
.fb__list--compact .fb__item{padding:.36em 0}
.fb__list--compact .fb__item-name{font-size:.98rem}
.fb__list--compact .fb__item-desc{font-size:.8rem}
.fb__list--compact .fb__price{font-size:.92rem}
.fb__tabsep{flex:none;align-self:center;font:600 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);padding:0 6px 0 14px;border-left:1px solid var(--line);margin-left:6px}
.fb__cover-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.fb__cover-actions .fb__open{margin-top:0}
.fb__open--ghost{background:transparent;color:#D9B373;box-shadow:inset 0 0 0 1px rgba(217,179,115,.6)}
.fb__open--ghost:hover{background:rgba(217,179,115,.12);color:#e6c58c}

/* ligne de plat : nom … prix, description dessous */
.fb__item{display:grid;grid-template-columns:auto 1fr auto;column-gap:8px;align-items:baseline}
.fb__item--np{grid-template-columns:1fr}
.fb__item-desc{grid-column:1/-1;margin-top:1px}
.fb__dots{transform:none;align-self:end;margin-bottom:.35em;border-bottom:1px dotted rgba(43,38,32,.32)}
/* page « suite » */
.fb__page--cont .fb__inner{padding-top:clamp(28px,3.6vw,52px)}
.fb__orn--top{margin-top:clamp(10px,1.4vw,16px)}
.fb__page--cont .fb__wm{display:none}
@media (max-width:899px){
  .fb__page--r.fb__paper{order:0;height:auto;border-radius:0 0 6px 6px}
  .fb__spread:has(.fb__page--cont) .fb__page--l{border-radius:6px 6px 0 0}
  .fb__page--cont .fb__inner{padding-top:8px}
  .fb__page--cont .fb__kicker,.fb__page--cont .fb__orn{display:none}
  .fb__page--cont .fb__foot{margin-top:18px}
  .fb__spread:has(.fb__page--cont) .fb__page--l .fb__foot{display:none}
}
.fb__item{row-gap:0}
.fb__item-desc{line-height:1.25;margin-top:0}
.fb__list--compact .fb__item{padding:.3em 0}
.fb__list--compact .fb__item-name{line-height:1.25}
@media (min-width:900px){
  .fb__num{margin:clamp(10px,1.4vw,18px) 0 4px}
  .fb__title{font-size:clamp(2rem,3vw,2.8rem)}
  .fb__orn{margin:clamp(10px,1.2vw,16px) 0 6px}
  .fb__inner{padding-top:clamp(24px,3vw,42px);padding-bottom:clamp(18px,2vw,28px)}
}

/* ===== v3 : une colonne, prix alignés à droite ===== */
.fb__list--2{columns:1}
.fb__dots{display:none}
.fb__item{grid-template-columns:1fr auto;column-gap:24px}
.fb__item--np{grid-template-columns:1fr}
.fb__price{justify-self:end;text-align:right;min-width:4.5ch;font-size:1rem}
.fb__item-desc{grid-column:1/2}
/* boutons page précédente / suivante */
.fb__controls{grid-template-columns:auto 1fr auto}
.fb__arrow{border:1px solid var(--line-strong);border-radius:999px;padding:12px 22px;gap:12px;color:var(--ink);transition:border-color .3s,color .3s,background .3s}
.fb__arrow:hover{border-color:var(--gold);color:var(--gold);background:rgba(217,179,115,.06)}
.fb__arrow-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.fb__arrow--next .fb__arrow-txt{align-items:flex-end}
.fb__arrow-txt b{font:500 .9rem/1.2 var(--sans)}
.fb__arrow-txt small{font:400 .72rem/1.3 var(--sans);color:var(--ink-3);letter-spacing:0;text-transform:none;margin:2px 0 0}
.fb__arrow-txt small:empty{display:none}
@media (max-width:899px){
  .fb__controls{grid-template-columns:1fr 1fr;gap:10px}
  .fb__arrow{padding:11px 14px;justify-content:center}
  .fb__arrow-txt small{display:none}
  .fb__arrow-txt b{font-size:.84rem}
}
/* titre de page sur une ligne, à toutes les tailles */
.page--carte .intro__text .display{white-space:nowrap!important;font-size:clamp(1.25rem,.35rem + 5.2vw,5.4rem)}

/* v4 : onglets sur plusieurs lignes, rien de coupé */
@media (min-width:900px){
  .fb__tablist{flex-wrap:wrap;justify-content:center;overflow:visible;row-gap:8px}
  .fb__tabsep{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:12px;border:0;margin:6px 0 0;padding:0}
  .fb__tabsep::before,.fb__tabsep::after{content:"";height:1px;width:48px;background:var(--line)}
}
@media (max-width:899px){
  .fb__tablist{justify-content:flex-start;padding-inline:2px;scroll-padding-inline:16px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}
  .fb__tablist>li:first-child{margin-left:12px}
  .fb__tablist>li:last-child{margin-right:12px}
  .fb__tabsep{border-left:1px solid var(--line);white-space:nowrap}
}

/* v5 : en-tête simple « Menu » */
.menu-head{text-align:center;padding-top:clamp(36px,5vw,72px)}
.menu-head__title{margin:0;font:300 clamp(2.6rem,1.6rem + 4vw,5rem)/1 var(--serif);color:var(--cream);letter-spacing:-.01em;font-variation-settings:'opsz' 144}
.menu-head__title::after{content:"";display:block;width:7px;height:7px;margin:18px auto 0;background:var(--gold);transform:rotate(45deg)}
.fb{padding-top:clamp(12px,2vw,24px)}
