/*
Theme Name: Les 3 Bœufs Meat Box
Theme URI: https://les3boeufs-meatbox.com
Author: Les 3 Bœufs
Description: Thème bloc sur mesure (méthode Claude-To-WordPress) : maquette HTML convertie en blocs natifs, 100 % éditable dans Gutenberg. Trois langues (EN, FR, ID) sans extension : une page, un modèle et un en-tête / pied de page par langue.
Version: 1.0.2610141727
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: les3boeufs
Tags: block-theme, full-site-editing, food-and-drink, one-column
*/
/* Base styles of the original artifact page (kept for a 1:1 rendering) */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

/* Les 3 Bœufs Meat Box */
:root{
  color-scheme: light;
  --bx:#4C151B;
  --bx-2:#5A1C23;
  --bx-3:#3E1015;
  --bx-shadow:#2E0A0F;
  --cream:#D7DBC0;
  --cream-hi:#ECEDE0;
  --cream-mute:#B0A492;
  --paper:#ECEDE0;
  --paper-2:#E1E3CE;
  --card:#F6F6ED;
  --ink:#4C151B;
  --ink-2:#7B4B50;
  --line-p:#CDD0B8;
  --line-b:rgba(215,219,192,.22);
  --orange:#DF5C30;
  --orange-deep:#B8431C;
  --radius:14px;
  --font:"Urbanist", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bx);color:var(--cream-hi);font:500 17px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img,svg{max-width:100%}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p,ul{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.section{padding-block:clamp(64px,9vw,120px)}
.on-paper{background:var(--paper);color:var(--ink)}
.on-bx{background:var(--bx);color:var(--cream-hi)}

/* type */
.kicker{font:800 13px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.on-paper .kicker{color:var(--orange-deep)}
.h2{font:900 clamp(38px,5.6vw,68px)/.98 var(--font);letter-spacing:-.02em}
.h2-orange{color:var(--orange);text-transform:uppercase}
.lead{font-size:clamp(17px,1.6vw,19px);max-width:60ch}
.on-paper .lead{color:var(--ink-2)}
.on-bx .lead{color:var(--cream-mute)}
.sec-head{display:grid;gap:16px;margin-bottom:clamp(32px,5vw,56px)}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bx);border-bottom:1px solid var(--line-b);transition:box-shadow .25s ease}
.site-head.is-scrolled{box-shadow:0 10px 28px rgba(20,4,6,.38)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.logo{display:flex;align-items:flex-end;gap:8px;text-decoration:none}
.logo-bull{width:34px;height:24px;fill:var(--orange);flex:none}
.logo-word{width:94px;height:24px;fill:var(--cream);flex:none}
.nav{display:flex;align-items:center;gap:clamp(14px,2.6vw,32px)}
.nav-links{display:flex;gap:clamp(14px,2.6vw,30px)}
.nav-links a{position:relative;font-weight:700;font-size:15px;text-decoration:none;color:var(--cream-hi);padding-block:6px}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav-links a:hover,.nav-links a[aria-current="true"]{color:var(--orange)}
.nav-links a[aria-current="true"]::after{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){.logo,.is-scrolled .logo{transform:none;transition:none}.nav-links a::after{transition:none}}
.lang{display:inline-flex;border:1.5px solid var(--line-b);border-radius:999px;padding:3px}
.lang a{text-decoration:none;font:800 12px/1 var(--font);letter-spacing:.1em;background:none;border:0;color:var(--cream);padding:8px 11px;border-radius:999px;cursor:pointer}
.lang a[aria-current]{background:var(--orange);color:var(--bx)}
.l-short{display:none}
.lang-select{display:none;flex:none;appearance:none;-webkit-appearance:none;font:800 12px/1 var(--font);letter-spacing:.08em;color:var(--cream-hi);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23DF5C30' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 10px center/9px 6px;border:1.5px solid var(--line-b);border-radius:999px;padding:8px 26px 8px 12px;cursor:pointer}
.lang-select option{color:#1b1b1b}
@media (max-width:760px){
  /* mobile: full logo at the top; once scrolling starts it fades out and the section links fade in */
  .head-in{position:relative;gap:10px}
  .logo{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s}
  .is-scrolled .logo{opacity:1;visibility:visible;transform:none}
  .logo-word{transition:opacity .25s ease,visibility 0s}
  .is-scrolled .logo-word{opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
  .nav{justify-content:flex-end}
  .nav-links{position:absolute;z-index:2;left:calc(clamp(16px,4vw,40px) + 44px);right:calc(clamp(16px,4vw,40px) + 76px);top:50%;translate:0 -50%;gap:12px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent);padding-right:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
  .is-scrolled .nav-links{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease .05s,transform .25s ease .05s,visibility 0s}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{font-size:14px;white-space:nowrap;flex:none}
  .l-long{display:none}
  .l-short{display:inline}
  .lang{display:none}
  .lang-select{display:block}
}
@media (max-width:760px) and (prefers-reduced-motion: reduce){.logo,.is-scrolled .logo,.logo-word,.is-scrolled .logo-word,.nav-links,.is-scrolled .nav-links{transform:none;transition:none}}
@media (max-width:370px){.nav-links{gap:9px}.nav-links a{font-size:13px}.lang-select{padding-left:10px}}

/* hero */
.hero{position:relative;overflow:hidden}
.hero-in{position:relative;z-index:1;padding-block:clamp(40px,7vw,96px) clamp(40px,6vw,80px)}
.hero-copy{display:grid;gap:24px;justify-items:start;max-width:460px}
.eyebrow{font:800 13px/1.3 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--cream-mute)}
.h1{display:grid;gap:22px;justify-items:start}
.hero-logo{width:min(400px,100%);height:auto;display:block}
.hero-logo .l-bull{fill:var(--orange)}
.hero-logo .l-word,.hero-logo .l-mb{fill:var(--cream)}
.h1-line{font:800 clamp(22px,2.5vw,30px)/1.2 var(--font);color:var(--cream-hi);max-width:20ch;letter-spacing:-.01em}
.hero-lead{color:var(--cream-mute);font-size:clamp(16px,1.5vw,18px);max-width:44ch}
.equation{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:14px 20px;border:1.5px solid rgba(215,219,192,.45);border-radius:16px;font:700 clamp(16px,1.6vw,19px)/1.3 var(--font);color:var(--cream-hi)}
.equation b{font-weight:900;color:var(--orange);text-transform:uppercase;letter-spacing:.01em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font:800 16px/1 var(--font);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .15s ease,background-color .15s ease}
.btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover{transform:none}}
.btn-orange{background:var(--orange);color:var(--bx)}
.btn-line{border-color:rgba(215,219,192,.55);color:var(--cream-hi)}
.btn-bx{background:var(--bx);color:var(--cream-hi)}
.btn-line-ink{border-color:var(--ink);color:var(--ink)}
.btn svg{width:18px;height:18px;flex:none}
.status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:700 14px/1.3 var(--font);padding:11px 16px;border:1.5px dashed rgba(215,219,192,.4);border-radius:12px;color:var(--cream-hi)}
.status .dot{width:10px;height:10px;border-radius:50%;background:#8BD99A;box-shadow:0 0 0 4px rgba(139,217,154,.2);flex:none}
.status[data-open="false"] .dot{background:#F59A86;box-shadow:0 0 0 4px rgba(245,154,134,.2)}
.status .st-time{color:var(--cream-mute);font-weight:600}
/* diagonal photo panel: from under the header down to the moving band */
.hero-visual{--sx:clamp(14px,2.2vw,28px);--slant:clamp(100px,13vw,200px);position:absolute;top:0;bottom:0;right:0;left:var(--left,calc(max((100% - 1180px) / 2, 0px) + clamp(16px,4vw,40px) + 470px));z-index:0}
.q-shadow,.q-photo{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 100%,var(--slant) 100%)}
.q-shadow{background:var(--bx-shadow);transform:translateX(calc(var(--sx) * -1))}
.q-photo{margin:0;overflow:hidden;background:var(--bx-2)}
.q-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 50%}
.sticker{position:absolute;z-index:2;margin:0;left:calc(var(--slant) * var(--f,.6));top:calc(var(--f,.6) * 100%);translate:-50% -50%;rotate:-10deg;transform-origin:50% 75%;width:clamp(96px,9.5vw,126px);aspect-ratio:210/278;filter:drop-shadow(-7px 3px 0 var(--bx-shadow))}
.sticker svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sticker use{fill:var(--cream);stroke:var(--bx);stroke-width:8;paint-order:stroke}
.sticker span{position:absolute;left:9%;right:9%;top:37%;bottom:9%;display:grid;place-items:center;text-align:center;font:900 clamp(14px,1.45vw,18px)/1 var(--font);text-transform:uppercase;letter-spacing:.01em;color:var(--bx)}
@keyframes hello{0%,100%{rotate:-10deg}25%{rotate:-21deg}55%{rotate:-1deg}80%{rotate:-14deg}}
@keyframes hello-again{0%,100%{rotate:-10deg}25%{rotate:-21deg}55%{rotate:-1deg}80%{rotate:-14deg}}
@media (prefers-reduced-motion: no-preference){.sticker{animation:hello .9s ease-in-out .6s 1}.sticker:hover{animation:hello-again .9s ease-in-out}}
@media (max-width:880px){
  .hero-visual{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:6/5;margin:0 0 56px}
  .q-shadow,.q-photo{clip-path:polygon(0 0,100% 0,100% 100%,0 76%)}
  .q-shadow{transform:translateY(var(--sx))}
  .sticker{left:30%;top:83%}
  .hero-in{padding-top:0}
  .hero-copy{max-width:none;justify-items:center;text-align:center}
  .h1{justify-items:center}
  .h1-line,.hero-lead{margin-inline:auto}
  .cta-row,.status{justify-content:center}
}

/* band */
.band{background:var(--orange);color:var(--bx);overflow:hidden}
.band-track{display:flex;width:max-content;animation:slide 42s linear infinite}
.band-track p{font:900 clamp(20px,2.4vw,28px)/1 var(--font);text-transform:uppercase;padding-block:18px;white-space:nowrap;padding-right:.5em;letter-spacing:.01em}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.band-track{animation:none}}

/* menu */
#menu,#find-us{padding-top:clamp(40px,5vw,64px)}
.menu-head{display:grid;gap:18px;justify-items:start;margin-bottom:clamp(36px,5vw,60px)}
.menu-eq{font-size:clamp(16px,1.6vw,19px)}
.menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px)}
@media (max-width:880px){.menu-grid{grid-template-columns:1fr}}
.step-h{display:flex;align-items:center;gap:14px;font:800 clamp(24px,2.6vw,30px)/1.1 var(--font);margin-bottom:22px;letter-spacing:-.01em}
.badge{position:relative;display:inline-block;width:34px;height:63px;flex:none}
.badge svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--orange)}
.badge b{position:absolute;left:0;right:0;bottom:9px;text-align:center;font:900 26px/1 var(--font);color:var(--cream-hi)}
.meats{display:grid;gap:12px}
.meat{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:center;padding:18px;border-radius:var(--radius);background:var(--bx-2);border:1px solid var(--line-b)}
.meat-img{display:block;width:80px;height:80px;max-width:100%;border-radius:12px;object-fit:cover;border:1px solid var(--line-b)}
@media (max-width:480px){.meat{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px}.meat-img{width:64px;height:64px}}
.meat-line{display:flex;align-items:baseline;gap:10px}
.meat-line h4{font:800 clamp(19px,1.8vw,22px)/1.2 var(--font)}
.dots{flex:1;min-width:16px;border-bottom:2px dotted rgba(215,219,192,.35);transform:translateY(-5px)}
.price{font:900 clamp(19px,1.8vw,22px)/1 var(--font);color:var(--orange);font-variant-numeric:tabular-nums;white-space:nowrap}
.meat p,.share p{font-style:italic;font-weight:500;color:var(--cream-mute);font-size:15px;margin-top:4px}
.sauces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:340px){.sauces{grid-template-columns:1fr}}
@media (max-width:480px){.sauces li{padding:14px}.sauces b{font-size:16px}.sauces i{font-size:14px}}
.sauces li{display:grid;gap:2px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--line-b)}
.sauces b{font:800 18px/1.25 var(--font)}
.sauces i{font-weight:500;font-size:15px;color:var(--cream-mute)}
.sauce-note{margin-top:16px;font-size:15px;color:var(--cream-mute)}
.menu-more{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:clamp(20px,3vw,32px);align-items:center;margin-top:clamp(40px,6vw,72px);padding-top:clamp(32px,5vw,48px);border-top:1px solid var(--line-b)}
@media (max-width:640px){.menu-more{grid-template-columns:1fr}.kids{justify-self:center}}
.share-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin-top:clamp(40px,6vw,72px);border-radius:20px;overflow:hidden;background:var(--bx-2);border:1.5px solid var(--orange)}
@media (max-width:820px){.share-feature{grid-template-columns:1fr}}
.share-photo{margin:0;min-height:100%}
.share-photo img{display:block;width:100%;height:100%;max-width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 32%}
.share-txt{display:grid;gap:14px;align-content:center;padding:clamp(24px,4vw,44px)}
.share-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}
.share-top h3{font:900 clamp(30px,3.6vw,44px)/1 var(--font);letter-spacing:-.02em}
.share-top .price{font-size:clamp(30px,3.6vw,44px)}
.share-d{font-style:italic;font-weight:600;color:var(--cream-mute)}
.share-long{max-width:44ch}
.share{padding:22px;border-radius:var(--radius);border:1.5px solid var(--orange);display:grid;gap:6px}
.mini-h{font:800 13px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.extras{display:grid;gap:18px}
.bull-h{display:flex;align-items:center;gap:10px;font:800 22px/1 var(--font);margin-bottom:10px}
.bull-h svg{width:34px;height:24px;fill:var(--orange);flex:none}
.xlist{display:grid;gap:8px}
.xlist li{display:flex;align-items:baseline;gap:10px;font-weight:700;font-size:17px}
.xlist .price{font-size:18px}
.xlist i{font-weight:500;color:var(--cream-mute);font-size:14px}
.kids{position:relative;width:220px;max-width:100%;aspect-ratio:210/278}
.kids svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--orange)}
.kids-in{position:absolute;left:12%;right:12%;top:34%;bottom:10%;display:grid;align-content:center;justify-items:center;text-align:center;gap:4px}
.kids-in h4{font:900 26px/1 var(--font);color:var(--cream-hi)}
.kids-in .k-price{font:900 26px/1 var(--font);color:var(--bx)}
.kids-in p{font:700 14px/1.3 var(--font);color:var(--bx)}
.menu-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:40px;font-size:15px;color:var(--cream-mute)}

.h2-wrap{display:grid;gap:16px;justify-items:start;margin:0;font:inherit}
.h2-wrap .h2{display:block}
.on-paper .dots{border-bottom-color:rgba(76,21,27,.22)}
.review-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.mini-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.mini-link svg{width:13px;height:13px;flex:none}
.map-link{display:block}
.map-stage{position:relative}
.map-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--paper-2)}
.map-cta{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--orange);color:var(--bx);font:800 14px/1 var(--font);text-decoration:none;box-shadow:0 6px 16px rgba(76,21,27,.25)}
.map-cta svg{width:16px;height:16px;flex:none}
.map-link:hover svg{opacity:.92}
.mini.mini-orange{display:inline-flex;align-items:center;gap:6px;background:var(--orange);border-color:var(--orange);color:var(--bx);text-decoration:none;white-space:nowrap}
.mini-orange svg{width:13px;height:13px;flex:none}
.find-side{display:grid;gap:20px;align-content:start}
.getting{padding:20px 22px;border-radius:18px;background:var(--card);border:1px solid var(--line-p)}
.getting h3{font:800 20px/1.2 var(--font);margin-bottom:14px}
.go-list{display:grid;gap:10px}
.go-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-weight:700}
.find > *{min-width:0}
.go-list b{margin-left:auto;font-weight:900;color:var(--orange-deep);white-space:nowrap;font-variant-numeric:tabular-nums}
.go-note{margin-top:14px;font-size:14px;color:var(--ink-2)}

/* gallery */
.gal-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}
.gal-head h2{font:900 clamp(28px,3.4vw,40px)/1 var(--font);letter-spacing:-.02em}
.gal-head a{font-weight:800;color:var(--orange-deep);text-decoration:none}
.gal-head a:hover{text-decoration:underline}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery .gal-item figcaption{left:8px;bottom:8px;right:8px;font-size:11.5px;padding:4px 8px;border-radius:6px}}
.gal-item{position:relative;margin:0;aspect-ratio:1;max-width:100%;border-radius:12px;overflow:hidden;background:var(--paper-2)}
.gal-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gal-item:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion: reduce){.gal-item img{transition:none}.gal-item:hover img{transform:none}}
.gal-item figcaption{position:absolute;left:12px;bottom:12px;right:12px;width:fit-content;font:700 13px/1.3 var(--font);background:var(--bx);color:var(--cream-hi);padding:6px 10px;border-radius:8px}
.gap-block{height:clamp(64px,9vw,112px)}

/* find */
.find{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:880px){.find{grid-template-columns:1fr}}
.facts{border-top:1px solid var(--line-p);margin:28px 0 0}
.fact{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding-block:18px;border-bottom:1px solid var(--line-p)}
@media (max-width:480px){.fact{grid-template-columns:1fr;gap:6px}}
.fact dt{font:800 12px/1.5 var(--font);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2);padding-top:3px}
.fact dd{margin:0;font-weight:600}
.fact address{font-style:normal;line-height:1.55}
.phone{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.phone code{font:800 18px/1 var(--font);letter-spacing:.02em;user-select:all;font-variant-numeric:tabular-nums}
.mini{font:800 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.map{background:var(--card);border:1px solid var(--line-p);border-radius:18px;overflow:hidden}
.map-link svg{display:block;width:100%;height:auto}
.map-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 16px;border-top:1px solid var(--line-p);font:700 13px/1.4 var(--font);color:var(--ink-2);font-variant-numeric:tabular-nums}

/* about */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px)}
@media (max-width:920px){.about{grid-template-columns:1fr}}
.about-copy{display:grid;gap:18px;align-content:start}
.about-copy p{color:var(--cream-mute);max-width:60ch}
.about-copy p a{color:var(--cream-hi);font-weight:700}
.quote{font:800 clamp(22px,2.4vw,28px)/1.25 var(--font);color:var(--cream-hi);max-width:24ch;letter-spacing:-.01em}
.quote em{font-style:normal;color:var(--orange)}
.next{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:22px 24px;border-radius:var(--radius);background:var(--orange);color:var(--bx)}
.next h3{font:900 clamp(20px,2vw,24px)/1.15 var(--font)}
.next p,.about-copy .next p{font-weight:600;font-size:15px;color:var(--bx)}
.next a{font-weight:900;text-decoration:none;white-space:nowrap;border-bottom:2px solid currentColor}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,72px)}
@media (max-width:880px){.faq-grid{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--line-p)}
.faq details{border-bottom:1px solid var(--line-p)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:20px;font:800 clamp(17px,1.7vw,20px)/1.35 var(--font)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--bx);color:var(--cream-hi);font:800 20px/1 var(--font);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--orange);color:var(--bx)}
@media (prefers-reduced-motion: reduce){.faq summary::after{transition:none}}
.faq .ans{padding-bottom:22px;color:var(--ink-2);max-width:62ch}

/* footer */
.site-foot{padding-block:64px 32px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:36px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-logo{width:min(260px,100%);height:auto;display:block}
.foot-logo .l-bull{fill:var(--orange)}
.foot-logo .l-word,.foot-logo .l-mb{fill:var(--cream)}
.foot-tag{margin-top:18px;color:var(--cream-mute);font-size:15px;max-width:40ch}
.foot-h{font:800 12px/1 var(--font);text-transform:uppercase;letter-spacing:.16em;color:var(--orange);margin-bottom:14px}
.site-foot address,.foot-list{font-style:normal;font-size:15px;color:var(--cream-mute);display:grid;gap:6px}
.foot-list a{color:var(--cream-hi);text-decoration:none;font-weight:700}
.foot-list a:hover{color:var(--orange)}
.nice{margin-top:56px;font:900 clamp(40px,8vw,104px)/.95 var(--font);color:var(--orange);letter-spacing:-.03em}
.foot-bottom{margin-top:28px;padding-top:20px;border-top:1px solid var(--line-b);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:var(--cream-mute)}

/* ==========================================================================
   Adaptations WordPress — complètent la feuille de la maquette, ci-dessus, sans la modifier.
   Le contenu est en blocs natifs : les classes de la maquette sont posées sur les blocs, et
   ce qui n'est pas un bloc (SVG décoratifs, éléments vides, <select>) devient CSS ou script.
   ========================================================================== */

/* Espacement automatique de Gutenberg : coupé dans theme.json (blockGap 0px) ; filet à spécificité nulle */
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
figure.wp-block-image { margin: 0; }
img { height: auto; }

/* Enveloppes de blocs que la maquette n'a pas : elles s'effacent, leur contenu prend leur place */
.head-in > .logo,
.gal-head > .gal-link,
.phone > .phone-num,
.next > .next-link,
.cta-row > .wp-block-button,
.phone > .wp-block-buttons, .phone > .wp-block-buttons > .wp-block-button,
.review-row > .wp-block-buttons, .review-row > .wp-block-buttons > .wp-block-button,
.map-stage > .wp-block-buttons, .map-stage > .wp-block-buttons > .wp-block-button { display: contents; }

/* Barre d'administration (session connectée) : l'en-tête collant reste visible sous elle */
body.admin-bar .site-head { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-head { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-head { top: 0; } }

/* ---------------------------------------------------------------- en-tête */
.logo a { display: flex; align-items: flex-end; gap: 0; text-decoration: none; font-size: 0; line-height: 0; color: transparent; }
.logo a::before { content: ""; flex: none; width: 34px; height: 24px; background: url(assets/svg/bull.svg) center / contain no-repeat; }
.logo a::after { content: ""; flex: none; width: 94px; height: 24px; margin-left: 8px; background: url(assets/svg/word.svg) center / contain no-repeat; }
.nav-links.nav-court { display: none; }
html[lang="en"] .lang a[href="/"],
html[lang="fr"] .lang a[href="/fr/"],
html[lang="id"] .lang a[href="/id/"] { background: var(--orange); color: var(--bx); }
@media (max-width: 760px) {
  .nav-links:not(.nav-court) { display: none; }
  .nav-links.nav-court { display: flex; }
  .logo a::after { transition: opacity .25s ease, visibility 0s; }
  .is-scrolled .logo a::after { opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) { .logo a::after, .is-scrolled .logo a::after { transition: none; } }

/* ---------------------------------------------------------------- héros */
.hero-visual::before { content: ""; position: absolute; inset: 0; clip-path: polygon(0 0, 100% 0, 100% 100%, var(--slant) 100%); background: var(--bx-shadow); transform: translateX(calc(var(--sx) * -1)); }
/* Sticker : le texte occupe la zone [9 % 9 % 9 % 37 %] de la forme, comme le <span> de la maquette */
p.sticker {
  --sw: clamp(96px, 9.5vw, 126px);
  width: var(--sw);
  display: grid; place-items: center; text-align: center;
  padding: calc(var(--sw) * .48981) calc(var(--sw) * .09) calc(var(--sw) * .11914);
  font: 900 clamp(14px, 1.45vw, 18px)/1 var(--font); text-transform: uppercase; letter-spacing: .01em; color: var(--bx);
}
p.sticker::before { content: ""; position: absolute; z-index: -1; inset: -1.4388% -1.9025%; background: url(assets/svg/sticker.svg) 0 0 / 100% 100% no-repeat; }
/* Titre : logo (pseudo-élément) puis la ligne de titre, limitée à 20ch comme .h1-line.
   La largeur du bloc reproduit celle de la maquette : max(300px, 20ch) — 300px est la taille
   intrinsèque d'un <svg> à largeur en %, qui fixait la largeur du logo dans la maquette. */
.hero-copy > .h1 {
  --t: 20ch; --w: max(300px, 20ch);
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; justify-items: stretch;
  width: var(--w); padding-right: calc(var(--w) - var(--t));
  font: 800 clamp(22px, 2.5vw, 30px)/1.2 var(--font); color: var(--cream-hi); letter-spacing: -.01em;
}
.hero-copy > .h1::before { content: ""; display: block; width: var(--w); aspect-ratio: 453.5 / 236.5; background: url(assets/svg/logo.svg) 0 0 / 100% 100% no-repeat; }
.hero-copy > .h1 > strong { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Boutons d'appel : le lien du bouton natif reprend .btn */
.cta-row { align-items: normal; }
.cta-row .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; width: auto; height: auto; padding: 15px 24px; border-radius: 999px; border: 2px solid transparent; box-shadow: none; font: 800 16px/1 var(--font); letter-spacing: normal; text-align: start; text-decoration: none; word-break: normal; cursor: pointer; transition: transform .15s ease, background-color .15s ease; }
.cta-row .wp-block-button__link:hover { transform: translateY(-1px); }
.cta-row .btn-orange .wp-block-button__link { background: var(--orange); color: var(--bx); }
.cta-row .btn-line .wp-block-button__link { background: transparent; border-color: rgba(215, 219, 192, .55); color: var(--cream-hi); }
@media (prefers-reduced-motion: reduce) { .cta-row .wp-block-button__link { transition: none; } .cta-row .wp-block-button__link:hover { transform: none; } }
/* Statut : le point et l'heure de Lombok sont des pseudo-éléments (l'heure vient du script, data-time) */
.status::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #8BD99A; box-shadow: 0 0 0 4px rgba(139, 217, 154, .2); flex: none; }
.status[data-open="false"]::before { background: #F59A86; box-shadow: 0 0 0 4px rgba(245, 154, 134, .2); }
.status::after { content: attr(data-time); color: var(--cream-mute); font-weight: 600; }
@media (max-width: 880px) {
  .hero-visual::before { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 76%); transform: translateY(var(--sx)); }
  .hero-copy > .h1 {
    --cap: calc(100vw - 2 * clamp(16px, 4vw, 40px));
    --t: min(var(--cap), 20ch); --w: min(var(--cap), max(300px, 20ch));
    justify-items: stretch; padding-inline: calc((var(--w) - var(--t)) / 2);
  }
  .hero-copy > .h1::before { margin-left: calc((var(--t) - var(--w)) / 2); }
}

/* ---------------------------------------------------------------- titres à surtitre (<strong> = .kicker) */
h2.h2-wrap { font: 900 clamp(38px, 5.6vw, 68px)/.98 var(--font); letter-spacing: -.02em; }
h2.h2-wrap > strong { font: 800 13px/1 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--orange); }
.on-paper h2.h2-wrap > strong { color: var(--orange-deep); }

/* ---------------------------------------------------------------- menu */
.equation strong { font-weight: 900; color: var(--orange); text-transform: uppercase; letter-spacing: .01em; }
.menu-grid { counter-reset: etape; }
.step-h::before {
  counter-increment: etape; content: counter(etape); content: counter(etape) / "";
  display: block; flex: none; box-sizing: border-box; width: 34px; height: 63px; padding-top: 28px;
  background: url(assets/svg/badge.svg) center / contain no-repeat;
  font: 900 26px/1 var(--font); color: var(--cream-hi); text-align: center;
}
.meat > figure.meat-photo { margin: 0; }
.meat-photo img { display: block; width: 80px; height: 80px; max-width: 100%; border-radius: 12px; object-fit: cover; border: 1px solid var(--line-b); }
.meat-line::before,
.xlist li::before,
.go-list li::before { content: ""; order: 1; flex: 1; min-width: 16px; border-bottom: 2px dotted rgba(215, 219, 192, .35); transform: translateY(-5px); }
.on-paper .go-list li::before { border-bottom-color: rgba(76, 21, 27, .22); }
.meat-line > .price, .xlist li > strong, .go-list li > strong { order: 2; }
.meat .meat-line p.price { margin-top: 0; font: 900 clamp(19px, 1.8vw, 22px)/1 var(--font); color: var(--orange); }
.sauces strong { font: 800 18px/1.25 var(--font); }
.sauces em { font-weight: 500; font-size: 15px; color: var(--cream-mute); }
.bull-h::before { content: ""; width: 34px; height: 24px; flex: none; background: url(assets/svg/bull.svg) center / contain no-repeat; }
.xlist li > strong { font: 900 18px/1 var(--font); color: var(--orange); font-variant-numeric: tabular-nums; white-space: nowrap; }
.xlist li > em { display: contents; font-weight: 500; color: var(--cream-mute); font-size: 14px; }
.kids::before { content: ""; position: absolute; inset: 0; background: url(assets/svg/blob.svg) center / contain no-repeat; }
@media (max-width: 480px) {
  .meat-photo img { width: 64px; height: 64px; }
}
/* (les tailles réduites des sauces à 480 px de la maquette sont écrasées par ses règles de base, placées après : on garde ce rendu) */

/* ---------------------------------------------------------------- galerie, nous trouver */
.gal-item figcaption { margin: 0; text-align: start; }
.find { margin-top: clamp(64px, 9vw, 112px); }   /* ex-.gap-block */
.sec-head.flush { margin-bottom: 0; }
.fact > .fact-dt { font: 800 12px/1.5 var(--font); text-transform: uppercase; letter-spacing: .14em; color: var(--ink-2); padding-top: 3px; }
.fact > .fact-dd { margin: 0; font-weight: 600; }
.fact > .fact-adr { font-style: normal; line-height: 1.55; }
/* Petits boutons (WhatsApp, avis Google) : le lien du bouton natif reprend .mini */
.wp-block-button.mini > .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 6px; width: auto; height: auto;
  font: 800 12px/1 var(--font); letter-spacing: .08em; text-transform: uppercase; text-align: start; text-decoration: none; white-space: nowrap; word-break: normal;
  padding: 8px 12px; border-radius: 999px; border: 1.5px solid var(--ink); background: transparent; color: var(--ink); box-shadow: none; cursor: pointer;
}
.wp-block-button.mini-orange > .wp-block-button__link { background: var(--orange); border-color: var(--orange); color: var(--bx); }
.wp-block-button.mini > .wp-block-button__link::before,
.wp-block-button.map-cta > .wp-block-button__link::before {
  content: ""; width: 13px; height: 13px; flex: none; background: currentColor;
  -webkit-mask: url(assets/svg/icone-whatsapp.svg) center / contain no-repeat; mask: url(assets/svg/icone-whatsapp.svg) center / contain no-repeat;
}
.wp-block-button.mini-orange > .wp-block-button__link::before { -webkit-mask-image: url(assets/svg/icone-etoile.svg); mask-image: url(assets/svg/icone-etoile.svg); }
/* Plan : image de la médiathèque liée à Google Maps, bouton natif pour la carte interactive */
.map-stage > figure.map-link > a { display: block; }
.map-link img { display: block; width: 100%; height: auto; }
.map-link a:hover img { opacity: .92; }
.wp-block-button.map-cta > .wp-block-button__link {
  position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px; width: auto; height: auto;
  padding: 10px 16px; border: 0; border-radius: 999px; background: var(--orange); color: var(--bx);
  font: 800 14px/1 var(--font); letter-spacing: normal; text-align: start; text-decoration: none; word-break: normal; box-shadow: 0 6px 16px rgba(76, 21, 27, .25);
}
.wp-block-button.map-cta > .wp-block-button__link::before { width: 16px; height: 16px; -webkit-mask-image: url(assets/svg/icone-carte.svg); mask-image: url(assets/svg/icone-carte.svg); }

/* ---------------------------------------------------------------- qui sommes-nous, FAQ, pied */
.about-copy .next .next-link { font-size: inherit; font-weight: inherit; color: inherit; }
.about-copy .next .next-link a { color: inherit; font-weight: 900; }
.faq-grid > .sec-head-top { align-content: start; }
/* le logo étant un pseudo-élément, .foot-tag devient le premier enfant : la règle :first-child de WordPress (0,2,0) annulerait sa marge */
.foot-brand > .foot-tag { margin-top: 18px; }
.foot-brand::before { content: ""; display: block; width: min(260px, 100%); aspect-ratio: 453.5 / 236.5; background: url(assets/svg/logo.svg) 0 0 / 100% 100% no-repeat; }
.site-foot .foot-address { font-style: normal; font-size: 15px; color: var(--cream-mute); display: grid; gap: 6px; }

/* ---------------------------------------------------------------- boutons flottants : haut de page (partout), WhatsApp (mobile)
   Partie de modèle « Boutons flottants » (une par langue) : deux boutons natifs, icônes en masque CSS.
   Le texte des boutons reste lu par les lecteurs d'écran, masqué à l'écran comme celui du logo. */
.zone-flottants { position: fixed; z-index: 45; right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); pointer-events: none; }
.wp-block-buttons.flottants { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 12px; }
.flottants > .wp-block-button { pointer-events: auto; }
.flottants .wp-block-button__link {
  display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
  font-size: 0; line-height: 0; color: transparent; text-decoration: none; word-break: normal;
  box-shadow: 0 6px 16px rgba(46, 10, 15, .35); transition: transform .15s ease;
}
.flottants .wp-block-button__link:hover { transform: translateY(-2px); }
.flottants .wp-block-button__link::before { content: ""; width: 22px; height: 22px; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.flottants .retour-haut .wp-block-button__link { background: var(--bx); box-shadow: inset 0 0 0 1.5px rgba(215, 219, 192, .45), 0 6px 16px rgba(46, 10, 15, .35); }
.flottants .retour-haut .wp-block-button__link::before { background: var(--cream-hi); -webkit-mask-image: url(assets/svg/icone-fleche-haut.svg); mask-image: url(assets/svg/icone-fleche-haut.svg); }
.flottants .whatsapp-flottant { display: none; }
.flottants .whatsapp-flottant .wp-block-button__link { width: 56px; height: 56px; background: var(--orange); }
.flottants .whatsapp-flottant .wp-block-button__link::before { width: 28px; height: 28px; background: var(--bx); -webkit-mask-image: url(assets/svg/icone-whatsapp-logo.svg); mask-image: url(assets/svg/icone-whatsapp-logo.svg); }
/* « Haut de page » n'apparaît qu'après un écran de défilement (classe posée par le script) */
.flottants .retour-haut { opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s; }
.flottants .retour-haut.est-visible { opacity: 1; visibility: visible; transform: none; transition: opacity .25s ease, transform .25s ease, visibility 0s; }
@media (max-width: 760px) { .flottants .whatsapp-flottant { display: block; } }
@media (min-width: 761px) { .zone-flottants { right: 24px; bottom: 24px; } }
@media (prefers-reduced-motion: reduce) { .flottants .retour-haut, .flottants .wp-block-button__link { transition: none; } .flottants .wp-block-button__link:hover { transform: none; } }