/* ============================================================
   LE BANGKOK — Vernon (27) · Design system « SIAM POP »
   Pop graphique thaï : ambre (logo) + vert thaï + piment, sur crème.
   ============================================================ */
:root{
  --ink:#1D1710; --ink-2:#413425; --muted:#8C775C;
  --cream:#FCF5E9; --cream-2:#F6E8CF; --card:#FFFEFA;
  --amber:#F2A02C; --amber-d:#CF7E12; --amber-l:#FBD37A;
  --green:#0F6B43; --green-d:#0A4E30; --green-l:#9BC85B;
  --chili:#E5372A; --chili-d:#B72519;
  --gold:#F6C043;
  --line:#EBD9BC; --line-2:#E0C79E;
  --shadow-s:0 3px 14px rgba(60,40,15,.09);
  --shadow-m:0 22px 50px -24px rgba(40,25,5,.5);
  --shadow-pop:6px 6px 0 var(--ink);
  --font:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:"Unbounded",var(--font);
  --round:"Baloo Thai 2",var(--font);
  --wrap:1220px; --radius:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:var(--cream);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.02em}
strong,b{font-weight:700}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.4rem)}
section{position:relative}
/* mot surligné « marqueur » */
.mark{position:relative;white-space:nowrap;color:var(--ink);z-index:0}
.mark::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.05em;height:.34em;background:var(--amber);z-index:-1;border-radius:3px;transform:rotate(-1deg)}
.mark.g::after{background:var(--green-l)}
.mark.c::after{background:var(--chili);opacity:.85}
.txt-green{color:var(--green)}.txt-amber{color:var(--amber-d)}.txt-chili{color:var(--chili)}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font);font-weight:700;font-size:1rem;
  padding:.86rem 1.5rem;border-radius:100px;border:2px solid transparent;cursor:pointer;transition:.18s;white-space:nowrap;line-height:1}
.btn svg{width:19px;height:19px;flex:none}
.btn-amber{background:var(--amber);color:#241400;border-color:var(--ink)}
.btn-amber:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-pop)}
.btn-chili{background:var(--chili);color:#fff;border-color:var(--ink)}
.btn-chili:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-pop)}
.btn-green{background:var(--green);color:#fff;border-color:var(--ink)}
.btn-green:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-pop)}
.btn-ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn-ink:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--amber)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost.on-dark:hover{background:var(--amber);color:#241400;border-color:var(--amber)}
.btn-lg{padding:1.04rem 1.9rem;font-size:1.06rem}
.btn-block{width:100%;justify-content:center}

/* ---------- promo / topbar ---------- */
.promo{background:var(--green-d);color:var(--amber-l);text-align:center;font-size:.85rem;font-weight:600;letter-spacing:.01em;padding:.55rem 1rem}
.promo b{color:#fff}
.promo .thai{font-family:var(--round);color:var(--gold);font-weight:800;margin:0 .3rem}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(252,245,233,.92);backdrop-filter:saturate(1.3) blur(10px);border-bottom:2px solid var(--ink)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:88px;transition:height .25s}
.site-header.shrink .header-in{height:70px}
.brand{display:flex;align-items:baseline;gap:.32rem;font-family:var(--round);font-weight:800;font-size:1.5rem;letter-spacing:-.02em;line-height:1}
.brand .le{color:var(--ink)}
.brand .thai{color:var(--chili);font-size:.8em;font-weight:800}
.brand .bk{color:var(--ink)}
.brand .bk b{color:var(--amber)}
.brand-logo{height:72px;width:auto;display:block}
.site-header.shrink .brand-logo{height:56px}
@media (max-width:560px){.brand-logo{height:60px}}
.main-nav{display:flex;gap:1.6rem;align-items:center}
.main-nav a{font-weight:600;font-size:.97rem;color:var(--ink-2);position:relative;padding:.2rem 0}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:3px;background:var(--chili);transition:right .25s;border-radius:3px}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.main-nav a.active{color:var(--ink)}
.header-cta{display:flex;align-items:center;gap:.7rem}
.burger{display:none;width:46px;height:46px;border:2px solid var(--ink);border-radius:12px;background:var(--card);flex-direction:column;gap:5px;justify-content:center;align-items:center;cursor:pointer}
.burger span{width:22px;height:2.5px;background:var(--ink);border-radius:2px;transition:.25s}
.m-menu{position:fixed;inset:0;z-index:70;background:var(--green-d);color:#fff;transform:translateX(100%);transition:transform .32s cubic-bezier(.5,0,.2,1);display:flex;flex-direction:column;padding:5.5rem 1.6rem 2rem}
.m-menu.open{transform:none}
.m-menu nav{display:flex;flex-direction:column;gap:.2rem}
.m-menu nav a{font-family:var(--display);font-weight:700;font-size:1.9rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.15);color:#fff}
.m-menu .m-foot{margin-top:auto;display:flex;flex-direction:column;gap:.6rem}
.m-close{position:absolute;top:1.3rem;right:1.3rem;width:46px;height:46px;border:2px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:12px;font-size:1.3rem;cursor:pointer}

/* ---------- statut ouverture ---------- */
.status{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.85rem;padding:.36rem .85rem;border-radius:100px;background:var(--card);border:2px solid var(--ink)}
.status .dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}
.status.open .dot{background:var(--green);box-shadow:0 0 0 4px rgba(15,107,67,.2)}
.status.closed .dot{background:var(--chili)}
.status.open{color:var(--green-d)}.status.closed{color:var(--chili-d)}

/* ---------- hero ---------- */
.hero{background:var(--cream);overflow:hidden;border-bottom:2px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center;padding:clamp(2.2rem,5vw,4rem) 0 clamp(2.6rem,5vw,4.4rem)}
.hero-copy>*{min-width:0}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.3rem);margin:1.1rem 0 0;letter-spacing:-.03em}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--ink-2);max-width:44ch;margin-top:1.2rem;font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.9rem;padding-top:1.4rem;border-top:2px dashed var(--line-2)}
.hero-meta .mi{display:flex;align-items:center;gap:.5rem;font-size:.93rem;color:var(--ink-2);font-weight:600}
.hero-meta .mi svg{width:19px;height:19px;color:var(--green);flex:none}
.hero-visual{position:relative}
.hero-visual .frame{border-radius:26px;overflow:hidden;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--green);aspect-ratio:5/4;transform:rotate(-1.6deg)}
.hero-visual .frame img{width:100%;height:100%;object-fit:cover}
.hero-tag{position:absolute;right:-14px;bottom:24px;background:var(--amber);border:3px solid var(--ink);border-radius:16px;padding:.6rem .9rem;box-shadow:var(--shadow-pop);transform:rotate(4deg);text-align:center}
.hero-tag b{display:block;font-family:var(--round);font-weight:800;color:var(--ink);font-size:1.5rem;line-height:1}
.hero-tag span{font-size:.72rem;color:#3a2400;font-weight:700}
.hero-sticker{position:absolute;left:10px;top:8px;z-index:3;width:78px;height:78px;background:var(--chili);color:#fff;border:3px solid var(--ink);border-radius:50%;display:grid;place-content:center;text-align:center;font-family:var(--round);font-weight:800;line-height:1;transform:rotate(-9deg);box-shadow:var(--shadow-pop);font-size:.72rem;padding:.3rem}
.hero-sticker b{font-size:1.15rem;display:block}

/* ---------- sections ---------- */
.section{padding:clamp(3rem,6vw,5.4rem) 0}
.section.tint{background:var(--cream-2)}
.section.green{background:var(--green-d);color:#f0ecdf;border-block:2px solid var(--ink)}
.section.green h2,.section.green h3{color:#fff}
.kicker{display:inline-block;font-family:var(--round);font-weight:800;font-size:.8rem;letter-spacing:.04em;color:#fff;background:var(--chili);padding:.28rem .7rem;border-radius:100px;border:2px solid var(--ink);transform:rotate(-1deg)}
.section.green .kicker{background:var(--amber);color:#241400}
.sec-head{max-width:64ch}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.1rem);margin-top:.7rem}
.sec-head .lead{color:var(--ink-2);margin-top:.8rem;font-size:1.06rem;font-weight:500}
.section.green .sec-head .lead{color:#d3ccb9}

/* ---------- signatures ---------- */
.sig-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1.2rem;margin-top:2.4rem}
.sig{position:relative;border-radius:var(--radius);overflow:hidden;min-height:350px;display:flex;align-items:flex-end;color:#fff;border:3px solid var(--ink);box-shadow:var(--shadow-pop)}
.sig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.sig:hover img{transform:scale(1.06)}
.sig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,10,4,0) 30%,rgba(15,10,4,.9) 100%)}
.sig .bd{position:relative;z-index:2;padding:1.4rem}
.sig .k{font-family:var(--round);font-weight:800;font-size:.74rem;letter-spacing:.04em;color:var(--amber-l);text-transform:uppercase}
.sig h3{color:#fff;font-size:1.5rem;margin:.4rem 0 .35rem;letter-spacing:-.02em}
.sig p{font-size:.92rem;color:rgba(255,255,255,.88);font-weight:500}
.sig .price{position:absolute;top:-2px;right:14px;z-index:3;background:var(--amber);color:#241400;font-family:var(--round);font-weight:800;padding:.5rem .8rem;border:3px solid var(--ink);border-top:none;border-radius:0 0 14px 14px;font-size:1.05rem}

/* ---------- carte teaser ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.4rem}
.cat{background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);overflow:hidden;transition:.2s;box-shadow:var(--shadow-pop)}
.cat:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--green)}
.cat .ph{aspect-ratio:4/3;overflow:hidden;border-bottom:2.5px solid var(--ink)}
.cat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover .ph img{transform:scale(1.07)}
.cat .bd{padding:1.05rem 1.15rem 1.25rem}
.cat h3{font-size:1.22rem}
.cat p{font-size:.9rem;color:var(--muted);margin-top:.3rem;font-weight:500}
.cat .arrow{display:inline-block;margin-top:.7rem;font-weight:700;font-size:.9rem;color:var(--chili)}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:center}
.split>*{min-width:0}
.split.flip .media{order:2}
.split .media{border-radius:var(--radius);overflow:hidden;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--amber);aspect-ratio:4/3}
.split .media img{width:100%;height:100%;object-fit:cover}
.section.green .split .media{box-shadow:8px 8px 0 var(--chili)}
.feat-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.7rem}
.feat-list .fi{display:flex;gap:.9rem;align-items:flex-start}
.feat-list .fi svg{width:26px;height:26px;color:var(--amber);flex:none;margin-top:1px}
.section.green .feat-list .fi svg{color:var(--amber-l)}
.feat-list .fi b{display:block;font-family:var(--round);font-weight:700;font-size:1.1rem}
.feat-list .fi span{font-size:.94rem;color:var(--ink-2)}
.section.green .feat-list .fi span{color:#c9c1ad}

/* ---------- avis ---------- */
.rate-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.rate{flex:1;min-width:200px;background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:var(--shadow-pop)}
.rate .n{font-family:var(--round);font-weight:800;font-size:2.4rem;color:var(--green);line-height:1}
.rate .stars{color:var(--amber);letter-spacing:2px;margin:.3rem 0;font-size:1.05rem}
.rate .src{font-size:.86rem;color:var(--muted);font-weight:600}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}
.quote{background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:4px 4px 0 var(--green-l)}
.quote:nth-child(2){box-shadow:4px 4px 0 var(--amber)}
.quote:nth-child(3){box-shadow:4px 4px 0 var(--chili)}
.quote .stars{color:var(--amber);letter-spacing:1px;font-size:.95rem}
.quote p{font-size:.96rem;color:var(--ink);margin:.55rem 0 .7rem;font-weight:500}
.quote .who{font-weight:700;font-size:.86rem}
.quote .who span{color:var(--muted);font-weight:500}

/* ---------- accès ---------- */
.infos-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem;margin-top:2.2rem}
.info-card{background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-pop)}
.info-row{display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:none}
.info-row>svg{width:22px;height:22px;color:var(--chili);flex:none;margin-top:2px}
.info-row .k{font-family:var(--round);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.info-row .v{font-size:1rem;margin-top:.1rem;font-weight:500}
.info-row .v a{color:var(--green);font-weight:700}
.hours{display:flex;flex-direction:column;gap:.15rem;margin-top:.3rem;font-size:.95rem}
.hours .hr{display:flex;justify-content:space-between;gap:1rem;padding:.14rem 0}
.hours .hr.today{color:var(--green-d);font-weight:700}
.hours .cl{color:var(--chili)}
.map-card{border-radius:var(--radius);overflow:hidden;position:relative;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--chili);min-height:280px;display:flex;align-items:flex-end;background:#2a3a2c}
.map-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.map-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,20,10,0) 40%,rgba(10,20,10,.85))}
.map-card .over{position:relative;z-index:2;padding:1.3rem;color:#fff;width:100%}
.map-card .over .ad{font-weight:700}

/* ---------- carte (menu) ---------- */
.page-head{background:var(--green-d);color:#fff;padding:clamp(2.2rem,4vw,3.2rem) 0 clamp(1.6rem,3vw,2.2rem);border-bottom:2px solid var(--ink);position:relative;overflow:hidden}
.page-head .wrap{position:relative;z-index:2}
.crumb{font-size:.86rem;color:var(--amber-l);margin-bottom:.5rem;font-weight:600}
.crumb a{color:#fff}
.page-head h1{font-size:clamp(2.2rem,5.4vw,3.6rem);color:#fff}
.page-head .lead{color:#d6cfba;margin-top:.7rem;max-width:60ch;font-weight:500}
.menu-nav{position:sticky;top:88px;z-index:40;background:var(--cream);border-bottom:2px solid var(--ink)}
.menu-nav-in{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem clamp(1.1rem,4vw,2.4rem);scrollbar-width:none}
.menu-nav-in::-webkit-scrollbar{display:none}
.menu-nav a{white-space:nowrap;font-weight:700;font-size:.92rem;padding:.42rem .95rem;border-radius:100px;color:var(--ink-2);border:2px solid transparent}
.menu-nav a:hover{background:var(--card);border-color:var(--ink)}
.menu-nav a.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.menu-cat{padding-top:clamp(2rem,4vw,3rem);scroll-margin-top:135px}
.menu-cat .ct{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.menu-cat h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.menu-cat .ct .note{font-size:.88rem;color:#fff;background:var(--green);padding:.24rem .7rem;border-radius:100px;font-weight:600}
.menu-items{margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:.1rem 2.8rem}
.mi{display:flex;align-items:baseline;gap:.5rem;padding:.72rem 0;border-bottom:1px solid var(--line)}
.mi .nm{font-weight:700;font-size:1.04rem}
.mi .nm .tag{font-family:var(--round);font-weight:800;font-size:.66rem;color:#fff;background:var(--chili);padding:.1rem .45rem;border-radius:100px;margin-left:.4rem;vertical-align:middle;text-transform:uppercase}
.mi .ds{display:block;font-weight:500;font-size:.86rem;color:var(--muted);margin-top:.15rem}
.mi .dot{flex:1;border-bottom:2px dotted var(--line-2);transform:translateY(-4px)}
.mi .pr{font-family:var(--round);font-weight:800;color:var(--green);white-space:nowrap}
.menu-note{margin-top:1.2rem;font-size:.9rem;color:var(--ink-2);background:var(--card);border:2px dashed var(--line-2);border-radius:14px;padding:.85rem 1.05rem;font-weight:500}

/* ---------- compose wok ---------- */
.wok{max-width:880px;margin-inline:auto}
.wok-step{background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);padding:1.4rem 1.5rem;margin-bottom:1.1rem;box-shadow:var(--shadow-pop)}
.wok-step .st-h{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.wok-step .st-n{width:34px;height:34px;border-radius:50%;background:var(--chili);color:#fff;font-family:var(--round);font-weight:800;display:grid;place-items:center;font-size:1rem;flex:none;border:2px solid var(--ink)}
.wok-step h3{font-size:1.24rem}
.wok-step .hint{font-size:.84rem;color:var(--muted);margin-left:auto;font-family:var(--font);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{font-family:var(--font);font-weight:600;font-size:.95rem;padding:.56rem 1rem;border-radius:100px;border:2px solid var(--ink);background:var(--cream);cursor:pointer;transition:.14s;user-select:none}
.chip:hover{background:var(--amber-l)}
.chip.on{background:var(--green);color:#fff}
.chip.on::before{content:"✓ ";color:var(--amber-l)}
.chip.sup{font-size:.9rem}
.chip.dis{opacity:.4;pointer-events:none}
.wok-bar{position:sticky;bottom:0;z-index:30;background:var(--ink);color:#f2e6d3;border:2.5px solid var(--amber);border-radius:var(--radius);padding:1.1rem 1.4rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:var(--shadow-m);margin-top:.4rem}
.wok-bar .recap{flex:1;min-width:180px;font-size:.9rem;color:#cdbfa9;line-height:1.4;font-weight:500}
.wok-bar .recap b{color:#fff;font-weight:700}
.wok-bar .tot{font-family:var(--round);font-weight:800;font-size:1.8rem;color:var(--amber-l)}

/* ---------- formulaire ---------- */
.form-card{background:var(--card);border:2.5px solid var(--ink);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-pop)}
.field{margin-bottom:1rem}
.field label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.35rem}
.field .opt{color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{width:100%;font-family:var(--font);font-size:1rem;padding:.8rem .95rem;border:2px solid var(--line-2);border-radius:12px;background:var(--cream);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ---------- galerie ---------- */
.gallery{columns:3;column-gap:1rem;margin-top:2rem}
.gallery img{width:100%;margin-bottom:1rem;border-radius:14px;border:2.5px solid var(--ink);break-inside:avoid;box-shadow:4px 4px 0 var(--amber)}
.gallery img:nth-child(3n+2){box-shadow:4px 4px 0 var(--green-l)}
.gallery img:nth-child(3n){box-shadow:4px 4px 0 var(--chili)}
/* grille de plats nommés */
.dish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2rem}
.dish{margin:0;border:2.5px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--card);box-shadow:5px 5px 0 var(--amber);transition:transform .2s}
.dish:nth-child(3n+2){box-shadow:5px 5px 0 var(--green-l)}
.dish:nth-child(3n){box-shadow:5px 5px 0 var(--chili)}
.dish:hover{transform:translate(-2px,-2px)}
.dish img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-bottom:2.5px solid var(--ink)}
.dish figcaption{padding:.55rem .75rem;font-family:var(--round);font-weight:700;font-size:.92rem;color:var(--ink)}
@media(max-width:980px){.dish-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.dish-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#c9baa2;padding:clamp(2.6rem,5vw,3.6rem) 0 1.6rem;border-top:3px solid var(--amber)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot-brand .brand{font-size:1.7rem;margin-bottom:.7rem}
.foot-brand .brand .le,.foot-brand .brand .bk{color:#fff}
.foot-brand p{font-size:.92rem;color:#a8987f;max-width:34ch;font-weight:500}
.foot-col h4{font-family:var(--round);font-weight:800;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--amber-l);margin-bottom:.9rem}
.foot-col a,.foot-col p{display:block;font-size:.94rem;color:#c9baa2;padding:.2rem 0;font-weight:500}
.foot-col a:hover{color:var(--amber)}
.foot-bot{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.82rem;color:#8a7c64}

/* ---------- order bar mobile ---------- */
.order-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--ink);border-top:2px solid var(--amber);display:none;gap:.6rem;padding:.6rem .8rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}
.order-bar .btn{flex:1}
.order-bar .btn.icon{flex:0 0 auto;width:52px;padding:0;justify-content:center}

/* ---------- reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}
[data-reveal].in{opacity:1;transform:none}
[data-reveal][data-d="1"]{transition-delay:.09s}[data-reveal][data-d="2"]{transition-delay:.18s}[data-reveal][data-d="3"]{transition-delay:.27s}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ============================================================ RESPONSIVE */
@media (max-width:980px){
  .sig-grid{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .quotes{grid-template-columns:1fr}
  .gallery{columns:2}
}
@media (max-width:820px){
  .main-nav,.header-cta .btn{display:none}
  .burger{display:flex}
  .section{padding-block:clamp(3rem,7vw,4rem)}
  .hero-grid{grid-template-columns:1fr;gap:2rem}
  .hero-visual{order:-1;max-width:460px;margin-inline:auto;width:100%}
  .hero-visual .frame{transform:none;aspect-ratio:16/11;box-shadow:7px 7px 0 var(--green)}
  .hero-tag{transform:rotate(4deg);right:6px}
  .sig-grid,.cat-grid{gap:1.4rem}
  .split{grid-template-columns:1fr;gap:2rem}
  .split.flip .media{order:-1}
  .infos-grid{grid-template-columns:1fr}
  .menu-items{grid-template-columns:1fr;gap:0}
  .menu-cat{padding-top:2.6rem}
  .menu-nav{top:70px}
  .order-bar{display:flex}
  body{padding-bottom:74px}
  .foot-bot{padding-bottom:64px}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding-inline:1.25rem}
  .sig-grid,.cat-grid,.quotes,.rate-row{grid-template-columns:1fr}
  .sig-grid,.cat-grid,.dish-grid{gap:1.3rem}
  .sig{min-height:290px}
  .cat .bd{padding:1.15rem 1.15rem 1.35rem}
  .gallery{columns:1}
  .foot-top{grid-template-columns:1fr;gap:1.6rem}
  .form-row{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2.2rem,9vw,2.9rem)}
  .hero .lead{margin-top:1.05rem;max-width:none}
  .hero-meta{gap:.7rem 1.3rem}
  .sec-head h2{font-size:clamp(1.8rem,7.5vw,2.3rem)}
  .sec-head .lead{margin-top:.85rem}
  .mi{padding:.9rem 0}
  .feat-list{gap:1.15rem}
  .info-card{padding:1.4rem}
  .wok-bar{flex-direction:column;align-items:stretch;text-align:center}
  .wok-bar .btn{width:100%}
  .hero-sticker{width:64px;height:64px;left:6px}
  .btn-lg{padding:1.02rem 1.55rem}
}
h1,h2,h3{overflow-wrap:break-word}
/* surlignage « marqueur » sur les mots accentués des titres */
.serif-it{font-style:normal;position:relative;white-space:nowrap;z-index:0}
.serif-it::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.06em;height:.32em;background:var(--amber);z-index:-1;border-radius:3px;transform:rotate(-1.2deg)}
.sec-head.center .serif-it::after{background:var(--green-l)}
.section.green .serif-it::after{background:var(--amber)}
.hero h1 em{font-style:normal;color:var(--chili)}
.page-head h1 .serif-it::after{background:var(--amber);height:.28em}
