/* ===== pages internes ===== */
.phero{padding:150px 0 40px}
.phero h1{font-size:clamp(58px,10.5vw,150px)}
.phero .stamp.big{right:-16px;top:-22px}
.phero p{max-width:680px;margin:36px auto 0}
.phero .rule{width:min(420px,70%)}
.phero .stk-a{right:-40px;top:110px;width:260px}
.phero .stk-b{left:-60px;bottom:-30px;width:280px}

/* nav de catégories */
.carte-grid{display:grid;grid-template-columns:230px 1fr;gap:60px;align-items:start;padding-top:20px}
.cnav{position:sticky;top:100px;display:grid;align-self:start}
.cnav a{font-family:var(--fd);font-style:normal;text-transform:uppercase;font-weight:500;font-size:19px;letter-spacing:.06em;padding:11px 0 11px 0;border-bottom:2px solid var(--g3);position:relative;transition:padding .3s var(--ease),color .3s;min-height:44px;display:flex;align-items:center}
.cnav a::before{content:"";position:absolute;left:0;top:50%;width:0;height:3px;background:var(--red);transform:translateY(-50%);transition:width .35s var(--ease)}
.cnav a:hover,.cnav a.on{padding-left:30px;color:var(--ink)}
.cnav a.on::before{width:20px}
.cnav .cn-note{margin-top:22px;font-size:14px;line-height:1.5}
.cnav .cn-note b{font-weight:700}

/* sections de carte */
.msec{display:grid;grid-template-columns:1fr 1.15fr;gap:44px;align-items:start;padding:30px 0 90px;position:relative;scroll-margin-top:100px}
.msec.alt > .ph{order:2}
.msec > .ph{position:sticky;top:100px;overflow:hidden;aspect-ratio:4/5}
.msec > .ph img{width:100%;height:100%;object-fit:cover}
.msec .paper{transform:rotate(.8deg);min-height:0;max-width:none;margin:0}
.msec.alt .paper{transform:rotate(-.9deg)}
.msec .paper .stamp{left:auto;right:-12px;top:60px;transform:rotate(11deg)}
.msec.alt .paper .stamp{left:-12px;right:auto;transform:rotate(-12deg)}
.msec .paper .pt{font-size:clamp(26px,3vw,38px)}
.msec .paper .pt small{display:block;font-family:var(--fb);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:15px;color:#555;margin-top:6px}
.msec .paper .d{padding:9px 6px}
.msec .paper .d b{font-size:15px}
.msec .paper .d span{font-size:13.5px}
.msec .paper h4{margin-top:22px}
.msec .stk{opacity:.9}
.hl-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:30px 0 0}
.hl-bar span{font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding:8px 14px;border:2px solid var(--g);color:var(--g)}
.hl-bar span.red{border-color:var(--red);color:var(--red)}

/* bloc plat du jour */
.pdj{margin:20px 0 60px;background:var(--g);color:#fff;position:relative;overflow:hidden}
.pdj-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:56px 0}
.pdj .big{font-family:var(--fd);font-style:normal;font-weight:600;font-size:clamp(90px,14vw,190px);line-height:.85;letter-spacing:-.02em}
.pdj .big small{font-size:.4em;font-weight:500;vertical-align:top;margin-left:.1em}
.pdj h2{font-family:var(--fb);font-style:italic;font-weight:700;text-transform:uppercase;font-size:clamp(22px,2.4vw,32px);letter-spacing:.02em;margin-bottom:14px}
.pdj p{max-width:460px;font-size:17px;line-height:1.6}
.pdj .stk{opacity:.35;filter:invert(1);mix-blend-mode:screen;right:-40px;bottom:-60px;width:340px}
.pdj .tear.top{position:absolute;left:0;top:-25px;transform:none}
.pdj .tear.bot{position:absolute;left:0;bottom:-25px;transform:rotate(180deg)}

/* soirées */
.ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:40px}
.evc{position:relative}
.evc .ph{aspect-ratio:4/3.2;overflow:hidden;position:relative}
.evc .ph img{width:100%;height:100%;object-fit:cover}
.evc .gp{padding:40px 34px;text-align:left;align-items:flex-start}
.evc .gp p{margin:0;max-width:none}
.evc .gp .btn{margin-top:10px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.step{color:var(--g);background:var(--paper);background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:5px 5px;padding:34px 28px 36px;text-align:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.4);position:relative;transition:transform .5s var(--ease)}
.step:nth-child(1){transform:rotate(-1deg)}.step:nth-child(2){transform:rotate(.6deg)}.step:nth-child(3){transform:rotate(-.5deg)}
.step:hover{transform:rotate(0) translateY(-6px)}
.step .num{font-family:var(--fd);font-style:normal;font-weight:600;font-size:64px;line-height:1;color:var(--red);margin-bottom:8px}
.step h3{font-family:var(--fd);font-style:normal;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:22px;margin-bottom:10px}
.step p{font-size:15.5px}
.step .pin{width:64px;height:8px;margin:0 auto 14px;background:linear-gradient(90deg,#8a8a8a,#d8d8d8 40%,#8a8a8a);border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.35)}
.sec{padding:70px 0 90px;position:relative;overflow:hidden}
.sec h2.dsp{font-size:clamp(46px,7vw,100px);text-align:center;margin-bottom:16px}
.sec .lead{text-align:center;max-width:680px;margin:0 auto;font-size:18px}
.sec.green{background:var(--g);color:#fff}
.sec.green .lead,.sec.green h2.dsp{color:#fff}
.sec.green .stk{opacity:.3;filter:invert(1);mix-blend-mode:screen}

/* contact */
.tel-big{display:block;text-align:center;font-family:var(--fd);font-style:normal;font-weight:600;font-size:clamp(44px,8vw,120px);letter-spacing:.02em;color:var(--g);line-height:1;margin:20px 0 10px;transition:transform .4s var(--ease),color .3s}
.tel-big:hover{transform:rotate(-1.5deg) scale(1.02);color:var(--g2)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-top:50px}
.map{position:relative;aspect-ratio:4/3.4;overflow:hidden;border:8px solid #b28a53;outline:1px solid #9a7443;background:var(--paper)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.7) contrast(1.05)}
.map .tag{left:auto;right:16px;bottom:16px}
.acc{display:grid;gap:14px;margin-top:26px}
.acc > div{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;font-size:16px}
.acc > div > div{display:block}
.acc svg{width:26px;height:26px;stroke:var(--g);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.acc b{display:block;font-weight:700}

@media(max-width:1000px){
  .carte-grid{grid-template-columns:1fr;gap:20px}
  .cnav{position:sticky;top:78px;z-index:20;display:flex;gap:8px;overflow-x:auto;padding:10px 0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);margin:0 -20px;padding-left:20px;padding-right:20px;scrollbar-width:none}
  .cnav::-webkit-scrollbar{display:none}
  .cnav a{border:2px solid var(--g);border-radius:999px;padding:8px 14px;font-size:14px;white-space:nowrap;min-height:40px}
  .cnav a::before{display:none}
  .cnav a:hover,.cnav a.on{padding-left:14px;background:var(--g);color:#fff}
  .cnav .cn-note{display:none}
  .msec{grid-template-columns:1fr;gap:26px;padding:20px 0 60px;scroll-margin-top:150px}
  .msec > .ph{position:relative;top:auto;aspect-ratio:4/3}
  .msec.alt > .ph{order:0}
  .msec .paper{transform:rotate(.4deg)}
  .pdj-in{grid-template-columns:1fr;gap:16px;padding:44px 0}
  .ev-grid,.steps,.ct-grid{grid-template-columns:1fr}
  .phero .stk-a{width:150px;right:-30px;top:90px}
  .phero .stk-b{width:170px;left:-40px}
  .sec{padding:50px 0 70px}
}

/* alternance */
.carte-grid{background:transparent}
.msec:nth-child(2n){background:transparent}
.sec.green .step{color:var(--ink2)}

/* enseigne pages */
.phero h1.sign{font-size:clamp(70px,10vw,160px);margin:14px 0 22px}
.phero h1.sign.sign-s{font-size:clamp(54px,7.6vw,128px)}
.phero .tbox.sign .stamp.big{right:-40px;top:-30px}
@media(min-width:1001px){
  [data-uni=carte] .hero-stk.a{left:-200px;top:-110px;width:220px;transform:rotate(-22deg)}
  [data-uni=carte] .hero-stk.b{right:-210px;top:-80px;width:200px;transform:rotate(24deg)}
  [data-uni=carte] .hero-stk.c{right:-150px;bottom:-40px;width:150px;transform:rotate(-8deg)}
  [data-uni=bar] .hero-stk.a{left:-170px;top:-90px;width:170px;transform:rotate(-9deg)}
  [data-uni=bar] .hero-stk.b{right:-190px;top:-70px;width:180px;transform:rotate(10deg)}
  [data-uni=bar] .hero-stk.c{right:-70px;bottom:-100px;width:150px;transform:rotate(-7deg);left:auto}
  [data-uni=soirees] .hero-stk.a{left:-220px;top:-90px;width:300px;transform:rotate(-8deg)}
  [data-uni=soirees] .hero-stk.b{right:-200px;top:-50px;width:200px;transform:rotate(32deg)}
  [data-uni=soirees] .hero-stk.c{right:-190px;bottom:-140px;width:120px;transform:rotate(-32deg)}
  [data-uni=contact] .hero-stk.a{right:-230px;top:-150px;width:220px;transform:rotate(6deg);left:auto}
  [data-uni=contact] .hero-stk.b{left:-240px;top:-50px;width:190px;transform:rotate(-10deg);right:auto}
  [data-uni=contact] .hero-stk.c{left:-130px;bottom:-30px;width:120px;transform:rotate(8deg);right:auto}
}
@media(max-width:1000px){
  .phero h1.sign{font-size:clamp(48px,13vw,96px)}
  .phero h1.sign.sign-s{font-size:clamp(40px,10.5vw,80px)}
  .phero .tbox.sign .stamp.big{top:2px;right:-12px}
  [data-uni=carte] .hero-stk.a{width:110px;top:-50px;left:-50px}
  [data-uni=bar] .hero-stk.a{width:100px;top:-40px;left:-40px}
  [data-uni=bar] .hero-stk.b{width:110px;top:-70px;right:-40px}
  [data-uni=bar] .hero-stk.a{width:100px;top:-40px;left:-40px}
  [data-uni=bar] .hero-stk.b{width:110px;top:-70px;right:-40px}
  [data-uni=contact] .hero-stk.a{left:auto;right:-60px;top:-50px;width:150px}
  [data-uni=contact] .hero-stk.b{right:auto;left:-70px;top:-10px;width:140px}
}

/* le plat du jour qui s ecrit */
.pj-h2{margin:0 0 14px}
.pj-h2 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ecrit{display:block;width:min(100%,520px);height:auto;max-width:100%}
.ecrit path{fill:#fff;fill-opacity:0;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:var(--l,600);stroke-dashoffset:var(--l,600);
  transition:stroke-dashoffset .5s ease-out,fill-opacity .35s ease-out;
  transition-delay:calc(var(--i) * .055s),calc(var(--i) * .055s + .3s)}
.ecrit.on path{stroke-dashoffset:0;fill-opacity:1}
@media(prefers-reduced-motion:reduce){.ecrit path{stroke-dashoffset:0;fill-opacity:1;transition:none}}

/* carte des boissons : sous-titres, tableaux de tailles */
.msec .paper .sh{display:flex;align-items:baseline;gap:8px;margin:22px 0 4px;padding-bottom:4px;border-bottom:1.5px solid rgba(62,106,42,.25);font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--g)}
.msec .paper .sh small{font-family:var(--fb);font-style:italic;text-transform:none;letter-spacing:0;font-size:13px;color:#666}
.msec .paper .sz{display:grid;align-items:end;gap:0 8px;padding:6px 6px 2px;font-family:var(--fd);font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777}
.msec .paper .sz b{font-weight:500;text-align:right;white-space:nowrap}
.msec .paper .d.multi{align-items:baseline}
.msec .paper .d em.vide{color:#bbb;font-weight:400}
.fiche-style .paper .d.multi.c3,.fiche-style .paper .sz.c3{grid-template-columns:14px 1fr 54px 54px 58px}
.fiche-style .paper .d.multi.c4,.fiche-style .paper .sz.c4{grid-template-columns:14px repeat(4,1fr)}
.fiche-style .paper .d.multi.c4 > div{grid-column:2 / -1;margin-bottom:2px}
.fiche-style .paper .d.multi.c4 > em:nth-of-type(1){grid-column:2}
.fiche-style .paper .sz.c4 b{text-align:right}
.fiche-style .paper .sz{grid-template-columns:14px 1fr 54px 54px 58px}
.fiche-style .paper .d.multi em{text-align:right;justify-self:end}
@media(max-width:700px){
  .fiche-style .paper .d.multi.c3,.fiche-style .paper .sz.c3{grid-template-columns:10px 1fr 44px 44px 48px}
  .fiche-style .paper .d.multi.c4,.fiche-style .paper .sz.c4{grid-template-columns:10px repeat(4,1fr)}
  .fiche-style .paper .d.multi em,.fiche-style .paper .sz b{font-size:13px}
}


/* sans photo : la feuille prend la largeur, un brin d'olivier au trait vient se poser près du titre */
.msec.sans{grid-template-columns:1fr}
.msec.sans .paper{width:100%;max-width:760px;margin:0 auto;position:relative}
.acc-brin{position:absolute;left:-26px;top:-46px;width:150px;height:auto;overflow:visible;pointer-events:none;transform:rotate(-8deg)}
.acc-brin path{fill:none;stroke:var(--g);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.msec.alt.sans .acc-brin{left:auto;right:-26px;transform:rotate(8deg) scaleX(-1)}
@media(max-width:700px){.acc-brin{width:100px;left:-8px;top:-30px}.msec.alt.sans .acc-brin{right:-8px}}
