:root{--red:#23483A;--ink:#101210;--cream:#E6DFD0;--paper:#F1EEE5;--white:#fff;--muted:#766f65;--line:rgba(17,16,14,.14);--radius:24px;--shadow:0 24px 70px rgba(17,16,14,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:76px;padding:0 clamp(18px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;position:sticky;top:0;z-index:80;background:rgba(247,243,235,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:inline-flex;flex-direction:column;line-height:.72;width:max-content}.brand span{font-size:24px;font-weight:1000;letter-spacing:-.07em}.brand small{font-size:8px;font-weight:1000;letter-spacing:.42em;color:var(--red);margin-top:9px}.header-nav{display:flex;gap:26px;font-size:13px;font-weight:750}.header-nav a{position:relative}.header-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--red);transition:.2s}.header-nav a:hover:after{right:0}.cart-button{justify-self:end;border:0;background:var(--ink);color:white;height:44px;padding:0 14px;border-radius:999px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.cart-button svg,.sticky-icon svg,.menu-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart-button b{background:var(--red);min-width:20px;height:20px;display:grid;place-items:center;border-radius:20px;font-size:10px}.hero{min-height:calc(100svh - 76px);padding:clamp(38px,6vw,90px) clamp(18px,6vw,92px) 74px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(380px,1.06fr);align-items:center;position:relative;overflow:hidden;background:var(--cream);border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;left:-6%;top:12%;width:40vw;height:40vw;max-width:620px;max-height:620px;border:1px solid rgba(17,16,14,.08);border-radius:50%}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.22em;color:var(--red);text-transform:uppercase}.hero h1,.section-heading h2,.menu-head h2,.story-copy h2,.location h2{font-size:clamp(52px,7.6vw,118px);line-height:.82;letter-spacing:-.07em;margin:18px 0 28px;font-weight:1000}.hero h1 em,.section-heading h2 em,.menu-head h2 em,.story-copy h2 em,.location h2 em{font-style:normal;color:var(--red)}.hero-copy{position:relative;z-index:3;max-width:760px}.hero-copy>p{max-width:560px;font-size:clamp(16px,1.45vw,21px);line-height:1.6;color:#5d574f}.hero-actions,.location-actions{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap}.primary-btn{height:54px;padding:0 22px;border-radius:999px;background:var(--red);color:#fff;display:inline-flex;align-items:center;gap:28px;font-weight:850;font-size:13px}.primary-btn span{font-size:20px}.primary-btn.dark{background:var(--ink)}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.hero-red-disc{position:absolute;width:min(42vw,630px);height:min(42vw,630px);border-radius:50%;background:var(--red);right:-1vw;top:50%;transform:translateY(-50%)}.hero-visual img{position:relative;z-index:2;width:min(54vw,820px);filter:drop-shadow(0 34px 36px rgba(8,12,9,.28));transform:rotate(-7deg) translateX(-1vw)}.stamp{position:absolute;z-index:4;right:4%;bottom:10%;width:110px;height:110px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:950;line-height:1.05;letter-spacing:.08em;transform:rotate(8deg);border:6px solid var(--cream)}.hero-ticker{position:absolute;bottom:0;left:0;right:0;height:44px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-around;font-size:12px;font-weight:900;letter-spacing:.18em}.hero-ticker i{color:var(--red);font-style:normal}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);max-width:1300px;margin:0 auto;padding:42px clamp(18px,4vw,60px);gap:0}.quick-info>div{padding:12px 30px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:16px}.quick-info>div:last-child{border:0}.quick-info span{grid-row:1/3;color:var(--red);font-size:11px;font-weight:950}.quick-info strong{font-size:15px}.quick-info small{color:var(--muted);margin-top:5px}.categories-block,.menu,.how{padding:clamp(70px,9vw,140px) clamp(18px,6vw,92px)}.categories-block{background:var(--ink);color:white;position:relative;overflow:hidden}.categories-block:before{content:"O’DALIL";position:absolute;right:-2vw;top:2vw;font-size:20vw;font-weight:1000;letter-spacing:-.09em;color:rgba(255,255,255,.022);line-height:1}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;position:relative;z-index:2}.section-heading h2{font-size:clamp(48px,6.7vw,92px);margin-bottom:0}.section-heading>p{max-width:390px;color:#a59e94;line-height:1.65;font-size:14px;margin-bottom:8px}.category-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:58px;position:relative;z-index:2}.cat-card{min-height:150px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);border-radius:20px;color:white;text-align:left;padding:20px;display:flex;flex-direction:column;align-items:flex-start;transition:.22s ease;position:relative;overflow:hidden}.cat-card:after{content:"↘";position:absolute;right:18px;bottom:16px;font-size:18px;color:var(--red)}.cat-card:hover{transform:translateY(-5px);background:var(--red);border-color:var(--red)}.cat-card:hover:after,.cat-card:hover .kicker{color:white}.cat-card .kicker{font-size:10px;color:var(--red);letter-spacing:.15em;font-weight:900}.cat-card b{margin-top:auto;font-size:18px;letter-spacing:-.03em}.cat-card small{color:#a9a39a;margin-top:5px;max-width:85%;font-size:11px}.cat-card:hover small{color:rgba(255,255,255,.75)}.menu{background:var(--paper);scroll-margin-top:76px}.menu-head{display:flex;align-items:end;justify-content:space-between;gap:40px}.menu-head h2{font-size:clamp(50px,6.7vw,92px);margin-bottom:0}.menu-search{width:min(420px,100%);height:54px;border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:10px}.menu-search input{width:100%;border:0;background:transparent;outline:none;color:var(--ink);font-weight:700}.category-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:36px 0 22px;position:sticky;top:76px;z-index:45;background:linear-gradient(var(--paper) 80%,rgba(247,243,235,0));}.category-pills::-webkit-scrollbar{display:none}.pill{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 15px;font-size:11px;font-weight:850;color:var(--ink)}.pill.active{background:var(--ink);color:white;border-color:var(--ink)}.group-section{padding:36px 0 58px;border-top:1px solid var(--line)}.group-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.group-head h3{font-size:clamp(30px,4vw,54px);letter-spacing:-.055em;margin:0}.group-head p{color:var(--muted);margin:6px 0 0}.group-head>span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-card{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:.24s ease;box-shadow:0 1px 0 rgba(17,16,14,.02)}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-image{height:250px;width:100%;border:0;background:linear-gradient(145deg,#DED5C4,#F4F0E7);position:relative;overflow:hidden;padding:0}.product-image:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(35,72,58,.11);left:50%;top:50%;transform:translate(-50%,-50%)}.product-image img{width:100%;height:100%;object-fit:contain;padding:22px;position:relative;z-index:1;transition:.25s}.product-card:hover .product-image img{transform:scale(1.035)}.product-badge{position:absolute;z-index:2;left:14px;top:14px;background:var(--red);color:white;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900}.product-body{padding:20px}.product-cat{font-size:9px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}.product-body h4{font-size:22px;letter-spacing:-.045em;margin:8px 0 7px}.product-desc{font-size:12px;color:var(--muted);line-height:1.5;min-height:36px;margin:0}.product-foot{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.price{font-size:18px;font-weight:950}.add{border:0;background:var(--ink);color:white;border-radius:999px;padding:10px 14px;font-size:10px;font-weight:900;transition:.18s}.add:hover,.add.added{background:var(--red)}.no-results{padding:80px 20px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}.story-band{min-height:600px;background:var(--red);color:white;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:70px clamp(18px,6vw,92px);position:relative;overflow:hidden}.story-word{position:absolute;left:-5vw;bottom:-7vw;font-size:23vw;line-height:.72;font-weight:1000;letter-spacing:-.1em;color:rgba(17,16,14,.11)}.story-copy{grid-column:2;position:relative;z-index:2}.story-copy .eyebrow{color:var(--ink)}.story-copy h2{font-size:clamp(52px,7vw,100px);margin:18px 0 25px}.story-copy h2 em{color:var(--ink)}.story-copy p{max-width:480px;line-height:1.7;font-size:15px;color:rgba(255,255,255,.86)}.how{background:var(--cream)}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid var(--line)}.steps article{padding:30px 24px 10px 0;border-right:1px solid var(--line);min-height:190px}.steps article+article{padding-left:24px}.steps article:last-child{border:0}.steps b{font-size:11px;color:var(--red)}.steps h3{font-size:26px;letter-spacing:-.04em;margin:45px 0 8px}.steps p{color:var(--muted);font-size:12px;line-height:1.55}.location{display:grid;grid-template-columns:.82fr 1.18fr;min-height:620px;background:var(--ink);color:white}.location-copy{padding:clamp(60px,8vw,120px) clamp(18px,6vw,92px);align-self:center}.location h2{font-size:clamp(50px,6.4vw,88px)}.location-copy>p{color:#aaa299;line-height:1.6}.dark-link{color:white}.map-wrap{min-height:540px;padding:26px}.map-wrap iframe{width:100%;height:100%;min-height:540px;border:0;border-radius:28px;filter:grayscale(1) contrast(1.05)}.install-strip{padding:34px clamp(18px,6vw,92px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream);border-bottom:1px solid var(--line)}.install-strip h3{font-size:22px;letter-spacing:-.04em;margin:7px 0 0}.install-strip button{border:1px solid var(--ink);background:transparent;border-radius:999px;height:44px;padding:0 18px;font-size:11px;font-weight:900}.footer{padding:50px clamp(18px,6vw,92px);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.footer p{grid-column:1;color:var(--muted)}.footer>div{grid-column:2;grid-row:1/3;display:flex;gap:20px;font-size:12px;font-weight:800}.footer>small{color:var(--muted);font-size:10px}.sticky-cart{position:fixed;z-index:75;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100% - 28px));height:58px;border:0;border-radius:999px;background:var(--red);color:white;padding:0 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;box-shadow:0 18px 45px rgba(8,12,9,.30);font-size:12px;font-weight:900}.sticky-cart[hidden]{display:none}.sticky-icon{position:relative;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.12);display:grid;place-items:center}.sticky-icon b{position:absolute;right:-7px;top:-6px;background:var(--ink);font-size:9px;min-width:18px;height:18px;border-radius:20px;display:grid;place-items:center}.overlay{position:fixed;inset:0;z-index:100;background:rgba(17,16,14,.68);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;align-items:stretch}.sheet{width:min(580px,100%);height:100%;background:var(--paper);position:relative;display:flex;flex-direction:column;box-shadow:-30px 0 80px rgba(0,0,0,.24);animation:sheetIn .25s ease both}.product-sheet{width:min(980px,100%);display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:1fr}.sheet-close{position:absolute;right:16px;top:16px;z-index:8;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(247,243,235,.92);font-size:24px}.sheet-image{background:var(--cream);display:grid;place-items:center;min-height:0;overflow:hidden}.sheet-image img{width:100%;height:100%;object-fit:contain;padding:38px}.sheet-scroll{overflow:auto;min-height:0;display:flex;flex-direction:column}.sheet-content{padding:60px 34px 20px}.sheet-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:950}.sheet-content h2,.drawer-head h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.055em;margin:10px 0}.sheet-description{color:var(--muted);line-height:1.55;font-size:14px}.sheet-baseprice{display:block;margin:18px 0 28px;font-size:15px}.option-list{display:grid;gap:22px}.option-group{border:0;padding:0;margin:0}.option-group legend,.drink-field label,.remove-group>div:first-child{font-size:12px;font-weight:900;margin-bottom:10px}.option-group legend small{color:var(--red)}.choice-grid,.removal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice,.remove-choice{min-height:50px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:9px 11px;text-align:left;display:flex;align-items:center;gap:10px}.choice.selected,.remove-choice.selected{border-color:var(--red);background:#F1EEE6}.choice-dot{width:19px;height:19px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;flex:none}.choice.selected .choice-dot{background:var(--red);border-color:var(--red);color:white}.choice span:last-child{display:grid;gap:2px}.choice b{font-size:11px}.choice small{font-size:9px;color:var(--red)}.drink-field input,.product-note textarea,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;outline:none;color:var(--ink)}.remove-group{padding-top:4px}.remove-hint{color:var(--muted);font-size:11px;margin:-4px 0 10px}.remove-choice{font-size:10px;font-weight:800}.remove-choice.selected{color:var(--red)}.product-note textarea{resize:vertical}.sheet-footer{position:sticky;bottom:0;background:rgba(247,243,235,.95);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:14px 20px calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center;margin-top:auto}.qty{display:flex;align-items:center;border:1px solid var(--line);background:white;border-radius:999px;overflow:hidden;height:48px}.qty button{width:42px;height:100%;border:0;background:transparent}.qty b{min-width:24px;text-align:center}.sheet-add,.wide-button,.wa-button{border:0;border-radius:999px;min-height:48px;padding:0 20px;font-size:11px;font-weight:900}.sheet-add{background:var(--red);color:white;flex:1}.drawer-head{padding:30px 26px 16px;border-bottom:1px solid var(--line)}.cart-sheet .sheet-scroll,.checkout-sheet .sheet-scroll{padding:20px 26px 30px}.cart-list{display:grid;gap:10px}.cart-item{background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.cart-item-top{display:flex;justify-content:space-between;gap:20px}.cart-item h3{margin:0;font-size:16px}.cart-options{color:var(--muted);font-size:10px;line-height:1.5}.cart-item-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.cart-tools{display:flex;gap:6px}.mini{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:850}.mini.danger{color:#19382E}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:16px}.cart-total strong{font-size:24px}.wide-button{width:100%;background:var(--ink);color:white}.wide-button:disabled{opacity:.4}.checkout{gap:20px}.form-grid{display:grid;gap:12px}.field{display:grid;gap:6px}.field label{font-size:10px;font-weight:900}.checkout-summary{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;margin:18px 0;display:grid;gap:12px}.checkout-summary>div{display:flex;justify-content:space-between;gap:10px}.wa-button{width:100%;background:#1ea856;color:white}.error{padding:11px 13px;border-radius:12px;background:#E7E4D8;color:#163229;font-size:11px;font-weight:800;margin-top:10px}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.confirmation{text-align:center;padding:70px 30px}.confirmation .check{width:64px;height:64px;border-radius:50%;background:#1ea856;color:white;display:grid;place-items:center;margin:0 auto;font-size:26px}.confirmation h2{font-size:40px;letter-spacing:-.05em}.order-id{font-size:28px;font-weight:1000;color:var(--red)}.toast{position:fixed;left:50%;bottom:88px;z-index:130;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:white;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:800;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(20px);transition:.55s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}@keyframes sheetIn{from{transform:translateX(35px);opacity:.5}to{transform:none;opacity:1}}@media(max-width:1050px){.category-cards{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr 1fr}.hero-visual{min-height:430px}.steps{grid-template-columns:repeat(2,1fr)}.steps article:nth-child(2){border-right:0}.steps article:nth-child(n+3){border-top:1px solid var(--line)}}@media(max-width:760px){.site-header{height:64px;padding:0 14px;grid-template-columns:1fr auto}.header-nav{display:none}.brand span{font-size:20px}.cart-button{height:40px;padding:0 12px}.cart-button>span{display:none}.hero{min-height:auto;padding:56px 18px 72px;grid-template-columns:1fr;gap:14px}.hero h1{font-size:clamp(54px,17vw,82px)}.hero-copy>p{font-size:15px}.hero-visual{min-height:330px;margin:4px -40px 0}.hero-red-disc{width:320px;height:320px;right:3%}.hero-visual img{width:min(125vw,660px);transform:rotate(-6deg)}.stamp{width:82px;height:82px;font-size:9px;right:12%;bottom:9%}.hero-ticker{height:38px;font-size:9px;overflow:hidden;gap:18px;justify-content:flex-start;padding:0 16px}.quick-info{grid-template-columns:1fr;padding:22px 18px}.quick-info>div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.quick-info>div:last-child{border-bottom:0}.categories-block,.menu,.how{padding:76px 18px}.section-heading,.menu-head{display:block}.section-heading h2,.menu-head h2{font-size:54px}.section-heading>p{margin-top:24px}.category-cards{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:35px}.cat-card{min-height:126px;padding:15px}.cat-card b{font-size:15px}.menu-search{margin-top:28px}.category-pills{top:64px;margin:0 -18px;padding:20px 18px;background:linear-gradient(var(--paper) 82%,rgba(247,243,235,0))}.product-grid{grid-template-columns:1fr 1fr;gap:8px}.product-card{border-radius:18px}.product-image{height:155px}.product-image img{padding:12px}.product-body{padding:14px}.product-body h4{font-size:16px}.product-desc{font-size:10px;min-height:44px}.product-foot{margin-top:12px;padding-top:11px;display:block}.price{font-size:15px}.add{width:100%;margin-top:10px;padding:9px}.story-band{min-height:570px;display:block;padding:80px 18px}.story-copy{max-width:520px}.story-copy h2{font-size:58px}.story-word{font-size:42vw;bottom:1vw}.steps{grid-template-columns:1fr}.steps article,.steps article+article{padding:24px 0;border-right:0;border-top:1px solid var(--line);min-height:150px}.steps article:first-child{border-top:0}.steps h3{margin-top:28px}.location{grid-template-columns:1fr}.location-copy{padding:76px 18px}.map-wrap{padding:12px;min-height:380px}.map-wrap iframe{min-height:380px}.install-strip{display:block;padding:28px 18px}.install-strip button{margin-top:18px;width:100%}.footer{display:block;padding:42px 18px 110px}.footer>div{display:flex;flex-wrap:wrap;margin:28px 0}.product-sheet{display:flex;width:100%;height:min(94svh,850px);margin-top:auto;border-radius:28px 28px 0 0;overflow:hidden}.overlay{align-items:flex-end}.sheet-image{height:230px;min-height:230px}.sheet-image img{padding:18px}.sheet-content{padding:24px 16px 16px}.sheet-content h2{font-size:34px}.choice-grid,.removal-grid{grid-template-columns:1fr 1fr}.sheet-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}.cart-sheet,.checkout-sheet{height:min(94svh,850px);border-radius:28px 28px 0 0}.drawer-head{padding:26px 18px 14px}.cart-sheet .sheet-scroll,.checkout-sheet .sheet-scroll{padding:16px 18px 26px}}@media(max-width:390px){.product-grid{grid-template-columns:1fr}.product-image{height:210px}.product-desc{min-height:0}.category-cards{grid-template-columns:1fr 1fr}.choice-grid,.removal-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.product-card,.cat-card,.product-image img{transition:none}}

/* ===== V10 — carte officielle éditoriale ===== */
.brand-image{display:flex;align-items:center;height:58px;overflow:hidden}
.brand-image img{height:72px;width:auto;mix-blend-mode:multiply;object-fit:contain;object-position:center}
.site-header .brand-image img{height:66px}
.footer-brand img{height:92px}

.official-menu{
  padding:clamp(78px,9vw,140px) clamp(18px,6vw,92px);
  background:#D9CFBC;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  scroll-margin-top:76px;
}
.official-menu-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:50px;
}
.official-menu-head h2{
  font-size:clamp(48px,6.6vw,94px);
  line-height:.84;
  letter-spacing:-.07em;
  margin:18px 0 0;
  font-weight:1000;
}
.official-menu-head h2 em{font-style:normal;color:var(--red)}
.official-menu-head>p{
  max-width:430px;
  margin:0 0 8px;
  color:var(--muted);
  line-height:1.65;
  font-size:14px;
}
.menu-poster-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.menu-poster{
  position:relative;
  border:1px solid rgba(17,16,14,.16);
  padding:0;
  background:#101210;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(8,12,9,.10);
  text-align:left;
  transition:transform .24s ease, box-shadow .24s ease;
}
.menu-poster--wide{grid-column:1/-1}
.menu-poster:hover{transform:translateY(-5px);box-shadow:0 28px 75px rgba(8,12,9,.16)}
.menu-poster img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .35s ease;
}
.menu-poster:hover img{transform:scale(1.012)}
.poster-label{
  min-height:58px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:13px;
  padding:0 18px;
  background:#EEE8DB;
  border-bottom:1px solid rgba(17,16,14,.12);
  color:var(--ink);
}
.poster-label span{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--red);color:#fff;
  font-size:9px;font-weight:950;
}
.poster-label strong{font-size:13px;letter-spacing:-.02em}
.poster-label i{font-style:normal;font-size:18px;color:var(--red)}
.official-menu-cta{
  margin-top:28px;
  padding:22px 24px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.official-menu-cta p{margin:0;color:var(--muted);font-size:13px}

.menu-lightbox{
  position:fixed;
  inset:0;
  z-index:300;
  background:rgba(17,16,14,.93);
  backdrop-filter:blur(14px);
  padding:70px 24px 30px;
  overflow:auto;
}
.menu-lightbox[hidden]{display:none}
.menu-lightbox img{
  display:block;
  max-width:min(1500px,100%);
  height:auto;
  margin:0 auto;
  border-radius:22px;
  box-shadow:0 40px 120px rgba(0,0,0,.42);
}
.menu-lightbox-close{
  position:fixed;
  z-index:301;
  top:18px;
  right:18px;
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:#fff;
  color:#101210;
  font-size:27px;
  line-height:1;
}

@media(max-width:760px){
  .brand-image{height:50px}
  .site-header .brand-image img{height:56px}
  .official-menu{padding:76px 18px}
  .official-menu-head{display:block;margin-bottom:30px}
  .official-menu-head h2{font-size:53px}
  .official-menu-head>p{margin-top:24px}
  .menu-poster-grid{grid-template-columns:1fr;gap:12px}
  .menu-poster--wide{grid-column:auto}
  .menu-poster{border-radius:20px}
  .poster-label{min-height:52px;padding:0 13px}
  .poster-label strong{font-size:11px}
  .official-menu-cta{display:block;padding:20px 0 0}
  .official-menu-cta .primary-btn{margin-top:16px;width:100%;justify-content:space-between}
  .menu-lightbox{padding:66px 8px 20px}
  .menu-lightbox img{border-radius:14px}
}

@media(prefers-reduced-motion:reduce){
  .menu-poster,.menu-poster img{transition:none}
}


/* V15 — Tacos visuals: transparent assets, no white/checkerboard rectangle */
.product-image img[src$="tacos.webp"],
.product-image img[src$="tacos-gratine.webp"]{padding:10px;filter:drop-shadow(0 18px 20px rgba(8,12,9,.13));}
.sheet-image img[src$="tacos.webp"],
.sheet-image img[src$="tacos-gratine.webp"]{padding:22px;filter:drop-shadow(0 22px 26px rgba(8,12,9,.15));}
@media(max-width:760px){
 .product-image img[src$="tacos.webp"],.product-image img[src$="tacos-gratine.webp"]{padding:5px}
 .sheet-image img[src$="tacos.webp"],.sheet-image img[src$="tacos-gratine.webp"]{padding:10px}
}


/* =========================================================
   V32 — MICRO-ANIMATIONS MOBILE-FIRST
   Objectif : sensation premium sans ralentir la commande.
   Transform + opacity uniquement sur les mouvements principaux.
   ========================================================= */

:root{
  --motion-fast:160ms;
  --motion-med:280ms;
  --motion-slow:520ms;
  --motion-ease:cubic-bezier(.22,.75,.2,1);
}

/* Arrivée */
@keyframes v32FadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes v32Rise{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes v32HeroZoom{
  from{opacity:.75;transform:scale(.975) rotate(-7deg) translateX(-1vw)}
  to{opacity:1;transform:scale(1) rotate(-7deg) translateX(-1vw)}
}
@keyframes v32CartPop{
  0%{transform:scale(1)}
  45%{transform:scale(1.13)}
  100%{transform:scale(1)}
}
@keyframes v32StickyBump{
  0%{transform:translateX(-50%) scale(1)}
  45%{transform:translateX(-50%) scale(1.025)}
  100%{transform:translateX(-50%) scale(1)}
}
@keyframes v32SheetUp{
  from{opacity:.4;transform:translate3d(0,24px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes v32SheetDesktop{
  from{opacity:.45;transform:translate3d(16px,0,0) scale(.992)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

/* Hero : léger décalage entre les éléments */
.hero-copy .eyebrow{animation:v32FadeIn var(--motion-slow) var(--motion-ease) both}
.hero-copy h1{animation:v32Rise var(--motion-slow) var(--motion-ease) 70ms both}
.hero-copy>p{animation:v32Rise var(--motion-slow) var(--motion-ease) 130ms both}
.hero-actions{animation:v32Rise var(--motion-slow) var(--motion-ease) 190ms both}
.hero-visual img{animation:v32HeroZoom 620ms var(--motion-ease) 90ms both}
.stamp{animation:v32Rise 480ms var(--motion-ease) 220ms both}

/* Scroll reveal plus doux, joué une seule fois par le JS existant */
.reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity var(--motion-slow) var(--motion-ease),
    transform var(--motion-slow) var(--motion-ease);
  will-change:opacity,transform;
}
.reveal.visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* Touch feedback : tous les contrôles importants */
.primary-btn,
.cart-button,
.add,
.pill,
.menu-poster,
.cat-card,
.sticky-cart,
.choice,
.remove-choice,
.wide-button,
.wa-button,
.install-strip button{
  touch-action:manipulation;
}

@media (pointer:coarse){
  .primary-btn:active,
  .cart-button:active,
  .add:active,
  .pill:active,
  .menu-poster:active,
  .cat-card:active,
  .choice:active,
  .remove-choice:active,
  .wide-button:active,
  .wa-button:active,
  .install-strip button:active{
    transform:scale(.975);
  }

  .product-card:active{
    transform:scale(.992);
  }

  .sticky-cart:active{
    transform:translateX(-50%) scale(.985);
  }
}

/* Desktop uniquement : hover subtil, jamais requis pour utiliser le site */
@media (hover:hover) and (pointer:fine){
  .product-card{
    transition:
      transform var(--motion-med) var(--motion-ease),
      box-shadow var(--motion-med) var(--motion-ease);
  }
  .product-card:hover{
    transform:translate3d(0,-5px,0) scale(1.006);
  }
  .product-card .product-image img{
    transition:transform var(--motion-med) var(--motion-ease);
  }
  .product-card:hover .product-image img{
    transform:scale(1.035);
  }

  .primary-btn,
  .cart-button,
  .add,
  .pill,
  .wide-button,
  .wa-button,
  .install-strip button{
    transition:
      transform var(--motion-fast) ease,
      background-color var(--motion-fast) ease,
      border-color var(--motion-fast) ease,
      opacity var(--motion-fast) ease;
  }
  .primary-btn:hover,
  .cart-button:hover,
  .add:hover,
  .wide-button:hover,
  .wa-button:hover{
    transform:translate3d(0,-2px,0) scale(1.015);
  }
  .pill:hover{
    transform:translateY(-1px);
    border-color:rgba(35,72,58,.42);
  }
}

/* Ajout panier */
#headerCount.cart-pop,
.sticky-icon b.cart-pop{
  animation:v32CartPop 360ms var(--motion-ease);
}
.sticky-cart.pulse{
  animation:v32StickyBump 420ms var(--motion-ease);
}

/* Modales / bottom sheets */
.overlay{
  animation:v32FadeIn 180ms ease both;
}
@media(max-width:760px){
  .sheet{
    animation:v32SheetUp 260ms var(--motion-ease) both;
  }
}
@media(min-width:761px){
  .sheet{
    animation:v32SheetDesktop 250ms var(--motion-ease) both;
  }
}

/* Limiter le travail graphique sur mobile */
@media(max-width:760px){
  .product-card,
  .menu-poster,
  .sheet{
    will-change:auto;
  }

  .hero-visual img{
    animation-duration:500ms;
  }

  .reveal{
    transition-duration:430ms;
  }
}

/* Accessibilité + économie d'énergie */
@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }

  .reveal{
    opacity:1!important;
    transform:none!important;
  }

  .hero-visual img,
  .sticky-cart,
  .product-card,
  .primary-btn,
  .cart-button,
  .add,
  .pill,
  .choice,
  .remove-choice{
    transform:none!important;
  }
}


/* V35 — pages légales */
.legal-footer-links{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;
  padding:16px 18px 22px;font-size:.78rem;opacity:.72
}
.legal-footer-links a{color:inherit;text-decoration:none}
.legal-footer-links a:hover{text-decoration:underline}
.legal-page{min-height:100vh;background:#ECE6D9;color:#151815;padding:24px 16px 64px}
.legal-shell{width:min(860px,100%);margin:auto}
.legal-back{display:inline-flex;margin-bottom:28px;color:#151815;text-decoration:none;font-weight:800}
.legal-card{background:#fffaf0;border:1px solid rgba(23,21,18,.12);border-radius:24px;padding:clamp(22px,5vw,48px);box-shadow:0 18px 50px rgba(30,22,12,.08)}
.legal-card h1{font-size:clamp(2rem,8vw,4rem);line-height:.95;margin:0 0 12px}
.legal-card h2{font-size:1.15rem;margin:30px 0 8px}
.legal-card p,.legal-card li{line-height:1.65}
.legal-card ul{padding-left:20px}
.legal-note{border-left:4px solid #d9aa45;padding:12px 16px;background:rgba(217,170,69,.09);border-radius:0 12px 12px 0}
.legal-placeholder{font-weight:800;background:rgba(35,72,58,.08);padding:2px 5px;border-radius:5px}

/* V37 — sélecteurs visuels boissons & sauces */
.visual-option-group{min-width:0}
.visual-choice-grid{
  grid-template-columns:repeat(auto-fit,minmax(82px,1fr));
  gap:8px;
}
.choice.visual-choice{
  position:relative;
  min-width:0;
  min-height:100px;
  padding:8px 6px 9px;
  display:grid;
  grid-template-rows:58px auto;
  align-content:center;
  justify-items:center;
  gap:5px;
  text-align:center;
  overflow:hidden;
  transition:transform 120ms ease,border-color 120ms ease,background-color 120ms ease,box-shadow 120ms ease;
}
.choice.visual-choice.selected{
  border-color:var(--red);
  background:#F1EEE6;
  box-shadow:inset 0 0 0 1px var(--red),0 5px 14px rgba(35,72,58,.1);
}
.choice.visual-choice .choice-dot{
  position:absolute;
  z-index:2;
  top:7px;
  right:7px;
  width:18px;
  height:18px;
  background:rgba(255,255,255,.9);
}
.choice.visual-choice.selected .choice-dot{background:var(--red)}
.choice-visual{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.choice-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 6px rgba(17,16,14,.13));
}
.choice-visual--drink img.external-packshot{mix-blend-mode:multiply}
.choice-visual--sauce{width:62px;height:58px}
.choice-visual--drink{width:52px;height:64px}
.choice.drink-choice{
  min-height:112px;
  grid-template-rows:66px auto;
}
.choice.visual-choice .choice-copy{
  width:100%;
  min-width:0;
  display:grid;
  justify-items:center;
  gap:2px;
  line-height:1.12;
}
.choice.visual-choice .choice-copy b{
  max-width:100%;
  font-size:10px;
  overflow-wrap:anywhere;
}
.choice.visual-choice .choice-copy small{font-size:9px}

@media(max-width:760px){
  .visual-product-sheet .sheet-image{height:154px;min-height:154px}
  .visual-product-sheet .sheet-image img{padding:12px 18px}
  .visual-product-sheet .sheet-content{padding-top:20px}
  .visual-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .choice.visual-choice{min-height:94px;grid-template-rows:54px auto;padding:7px 5px 8px}
  .choice-visual{width:54px;height:54px}
  .choice-visual--sauce{width:58px;height:54px}
  .choice-visual--drink{width:46px;height:60px}
  .choice.drink-choice{min-height:106px;grid-template-rows:62px auto}
}

@media(max-width:350px){
  .visual-choice-grid{gap:6px}
  .choice.visual-choice .choice-copy b{font-size:9px}
  .choice.visual-choice .choice-dot{top:5px;right:5px}
  .visual-product-sheet .sheet-image{height:138px;min-height:138px}
}

@media(hover:hover) and (pointer:fine){
  .choice.visual-choice:hover{transform:translateY(-2px);border-color:rgba(35,72,58,.5)}
}

/* V38 — performance mobile */
.group-section{content-visibility:auto;contain-intrinsic-size:900px}

/* Bouton WhatsApp confirmation : rendu identique sur button et lien */
.wa-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
  line-height:1;
}

/* V47 — téléphone, livraison et crudités détaillées */
.hero-phone-cta{min-width:220px;padding:11px 16px 12px;border:1px solid rgba(17,16,14,.16);border-radius:18px;background:rgba(255,255,255,.58);display:grid;gap:2px;box-shadow:0 10px 28px rgba(17,16,14,.06);transition:.2s ease}.hero-phone-cta:hover{transform:translateY(-2px);background:#fff}.hero-phone-cta span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-phone-cta strong{font-size:18px;letter-spacing:-.03em}.hero-phone-cta i{font-style:normal;font-size:10px;font-weight:850;color:var(--red)}
.quick-info>.quick-phone{padding:28px 30px;display:grid;gap:7px;border-right:0;transition:.2s ease}.quick-info>.quick-phone:hover{background:rgba(255,255,255,.4)}.quick-info>.quick-phone span{font-size:10px;font-weight:950;color:var(--red)}.quick-info>.quick-phone strong{font-size:16px}.quick-info>.quick-phone small{font-size:10px;color:var(--muted)}
.crudites-head{margin-top:4px;display:flex;justify-content:space-between;gap:14px;align-items:end}.crudites-head>div{display:grid;gap:4px}.crudites-head strong{font-size:13px}.crudites-head small{font-size:10px;color:var(--muted)}.crudites-head>span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--red)}
.crudites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.remove-choice.visual-removal{min-height:138px;padding:9px;display:grid;grid-template-columns:1fr;grid-template-rows:76px auto auto;justify-items:center;text-align:center;gap:5px;position:relative;overflow:hidden}.remove-choice.visual-removal .ingredient-picture{width:100%;height:76px;border-radius:12px;overflow:hidden;background:var(--cream);display:grid;place-items:center}.remove-choice.visual-removal .ingredient-picture img{width:100%;height:100%;object-fit:cover}.remove-choice.visual-removal .ingredient-state{font-size:8px;font-weight:1000;letter-spacing:.12em;color:#38833e}.remove-choice.visual-removal.selected .ingredient-state{color:var(--red)}.remove-choice.visual-removal b{font-size:11px}.remove-choice.visual-removal.selected .ingredient-picture{opacity:.48;filter:grayscale(.15)}.remove-choice.visual-removal.selected:after{content:'×';position:absolute;top:12px;right:12px;width:23px;height:23px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:16px;font-weight:900;box-shadow:0 4px 12px rgba(35,72,58,.25)}.other-removals{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.other-removals>span{display:block;font-size:10px;font-weight:900;margin-bottom:9px;color:var(--muted)}
.checkout-block{border:0;padding:0;margin:4px 0 0}.checkout-block legend{font-size:10px;font-weight:900;margin-bottom:8px}.fulfilment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fulfilment-choice{min-height:94px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;transition:.18s ease}.fulfilment-choice.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;background:#F2EFE7}.fulfilment-icon{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;grid-row:1/3;font-size:15px}.fulfilment-choice.selected .fulfilment-icon{background:var(--red)}.fulfilment-choice b{font-size:13px}.fulfilment-choice small{font-size:9px;color:var(--muted)}
.delivery-address{padding:15px;border:1px solid rgba(35,72,58,.22);background:#F4F1E9;border-radius:18px}.delivery-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.delivery-title strong{font-size:12px}.delivery-title small{font-size:9px;color:var(--muted)}.address-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}.delivery-note{margin:10px 0 0;font-size:9px;line-height:1.45;color:var(--muted)}.checkout-help{text-align:center;margin:11px 0 0;font-size:10px;color:var(--muted)}.checkout-help a,.phone-fallback{font-weight:900;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.phone-fallback{display:block;margin:18px auto 7px;width:max-content;max-width:100%;font-size:11px}.wa-button{display:flex;align-items:center;justify-content:center;text-align:center}
@media(max-width:760px){.hero-actions{align-items:stretch}.hero-phone-cta{width:100%;order:2}.hero-actions>.text-link{order:3;width:max-content}.quick-info>.quick-phone{border-bottom:0;padding:18px 0}.crudites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.remove-choice.visual-removal{min-height:126px;grid-template-rows:68px auto auto;padding:7px}.remove-choice.visual-removal .ingredient-picture{height:68px}.fulfilment-grid{grid-template-columns:1fr 1fr}.address-row{grid-template-columns:1fr}.delivery-title{display:grid}.delivery-address{padding:13px}}
@media(max-width:390px){.crudites-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.remove-choice.visual-removal{min-height:118px}.remove-choice.visual-removal .ingredient-picture{height:62px}.fulfilment-grid{grid-template-columns:1fr}}


/* V48 — Tarification sauces */
.sauce-price-hint{margin:9px 2px 0;font-size:9px;font-weight:850;color:var(--muted)}
.sauce-price-hint.is-extra{color:var(--red)}


/* V49 — crudités en boutons cliquables, cohérents avec Seul / Menu */
.crudites-selector{padding-top:2px}
.crudites-help{margin:-4px 0 10px;color:var(--muted);font-size:10px;line-height:1.45}
.crudites-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choice.crudite-choice{min-height:106px;grid-template-rows:54px auto;padding:8px 7px 9px}
.choice.crudite-choice .choice-visual--ingredient{width:54px;height:54px}
.choice.crudite-choice .choice-visual--ingredient img{object-fit:contain;filter:drop-shadow(0 4px 6px rgba(17,16,14,.12))}
.choice.crudite-choice .choice-copy{gap:1px}
.choice.crudite-choice .choice-copy b{font-size:11px}
.choice.crudite-choice .choice-copy small{font-size:8px;font-weight:900;color:var(--red)}
.choice.crudite-choice.selected .choice-copy small{color:#2f7c3b}
.choice.crudite-choice:not(.selected) .choice-dot{border-color:rgba(35,72,58,.45);color:var(--red);background:#fff}
.choice.crudite-choice:not(.selected){background:#fff;border-color:var(--line);opacity:.78}
.choice.crudite-choice:not(.selected) .choice-visual{opacity:.48;filter:grayscale(.18)}
.compact-other-removals{margin-top:0;padding-top:0;border-top:0}
@media(max-width:760px){.crudites-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.choice.crudite-choice{min-height:100px;grid-template-rows:50px auto}.choice.crudite-choice .choice-visual--ingredient{width:50px;height:50px}}
@media(max-width:390px){.crudites-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.choice.crudite-choice{padding:7px 5px 8px}.choice.crudite-choice .choice-copy b{font-size:10px}.choice.crudite-choice .choice-copy small{font-size:7px}}

/* V50 — crudités = vrais boutons façon Seul / Menu */
.crudites-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.choice.crudite-choice{min-height:58px!important;display:grid!important;grid-template-columns:28px 1fr 22px!important;grid-template-rows:1fr!important;align-items:center!important;gap:7px!important;padding:9px 10px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;text-align:left!important;opacity:1!important}
.choice.crudite-choice.selected{border-color:var(--red)!important;background:rgba(35,72,58,.06)!important;box-shadow:0 0 0 1px rgba(35,72,58,.10)!important}
.crudite-mini-icon{width:28px;height:28px;display:grid;place-items:center}
.crudite-mini-icon img{width:100%;height:100%;object-fit:contain}
.crudite-btn-label{font-size:11px;font-weight:1000;color:var(--ink);white-space:nowrap}
.crudite-btn-state{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:1000;background:#EAE6DD;color:#888}
.choice.crudite-choice.selected .crudite-btn-state{background:var(--red);color:#fff}
@media(max-width:390px){.crudites-choice-grid{gap:6px}.choice.crudite-choice{grid-template-columns:22px 1fr 18px!important;padding:8px 6px!important;gap:4px!important}.crudite-mini-icon{width:22px;height:22px}.crudite-btn-label{font-size:9px}.crudite-btn-state{width:18px;height:18px;font-size:10px}}


/* V51 — sélecteur de crudités explicite, sans champ texte */
.crudites-selector .crudites-instruction{margin:2px 0 11px;font-size:12px;line-height:1.45;color:var(--muted);font-weight:700}
.choice.crudite-choice{cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .12s ease,opacity .18s ease!important}
.choice.crudite-choice:active{transform:scale(.98)}
.choice.crudite-choice.selected{border-color:var(--red)!important;background:rgba(35,72,58,.07)!important;opacity:1!important}
.choice.crudite-choice.removed{border-color:#d8d3c8!important;background:#F1EEE7!important;opacity:.78!important}
.choice.crudite-choice.removed .crudite-mini-icon{opacity:.42;filter:grayscale(.45)}
.choice.crudite-choice.removed .crudite-btn-label{color:#6f6a61}
.choice.crudite-choice.removed .crudite-btn-state{background:#171717!important;color:#fff!important}
@media(max-width:760px){.crudites-selector .crudites-instruction{font-size:11px;margin-bottom:9px}.crudite-btn-label{white-space:normal!important;line-height:1.1}}


/* ===== V52 — passe finale pré-publication (finitions uniquement) ===== */
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(35,72,58,.28);outline-offset:3px}
.product-grid{align-items:stretch}
.product-card{height:100%;display:flex;flex-direction:column}
.product-body{display:flex;flex-direction:column;flex:1;min-width:0}
.product-desc{min-height:54px}
.product-foot{margin-top:auto}
.product-image img{object-position:center center}
.product-sheet .sheet-image img{max-width:90%;max-height:90%;margin:auto;object-position:center center}
.sheet-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sheet-close{display:grid;place-items:center;line-height:1;transition:background .18s ease,transform .18s ease}
.sheet-close:active{transform:scale(.96)}
.choice,.remove-choice,.fulfilment-choice,.add,.sheet-add,.wide-button,.wa-button,.mini,.qty button{touch-action:manipulation}
.choice,.remove-choice{min-width:0}
.choice b,.remove-choice b,.cart-options,.product-desc{overflow-wrap:anywhere}
.crudites-choice-grid{align-items:stretch}
.choice.crudite-choice{min-height:64px!important;height:100%;grid-template-columns:28px minmax(0,1fr) 22px!important}
.crudite-btn-label{min-width:0;min-height:2.2em;display:flex;align-items:center;line-height:1.08;font-size:10px;font-weight:900;overflow-wrap:anywhere}
.crudite-btn-state{flex:none}
.cart-item-top>div{min-width:0}
.cart-item-top>strong{white-space:nowrap}
.cart-options{margin:6px 0 0}
.field input,.field select,.field textarea,.product-note textarea,.drink-field input{min-height:48px;transition:border-color .18s ease,box-shadow .18s ease}
.field textarea,.product-note textarea{min-height:92px}
.field input:focus,.field select:focus,.field textarea:focus,.product-note textarea:focus,.drink-field input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(35,72,58,.08)}
.wa-button,.wide-button,.sheet-add{min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center}
.checkout-help{line-height:1.45}
.delivery-address,.checkout-summary,.cart-item{min-width:0}
@media(max-width:760px){
  .product-desc{min-height:44px}
  .product-sheet .sheet-image img{max-width:92%;max-height:92%}
  .sheet-close{width:44px;height:44px;right:12px;top:12px}
  .cart-item-top{gap:10px}
  .cart-item-actions{gap:10px;align-items:flex-end}
  .cart-tools{flex-wrap:wrap;justify-content:flex-end}
  .choice.crudite-choice{min-height:62px!important}
  .crudite-btn-label{font-size:9.5px}
}
@media(max-width:390px){
  .product-desc{min-height:0}
  .product-card{height:auto}
  .choice.crudite-choice{min-height:60px!important;grid-template-columns:22px minmax(0,1fr) 18px!important}
  .crudite-btn-label{font-size:9px;min-height:2.2em}
  .cart-item-actions{align-items:stretch;flex-direction:column}
  .cart-tools{justify-content:flex-start}
  .mini{min-height:38px}
}
@media(hover:hover) and (pointer:fine){
  .sheet-close:hover{background:#fff}
}


/* V53 — centrage mobile précis des images Burgers / Bowls dans la fiche produit */
@media(max-width:760px){
  .product-sheet.category-burgers .sheet-image,
  .product-sheet.category-bowls .sheet-image{
    position:relative;
    display:block;
    height:220px!important;
    min-height:220px!important;
    overflow:hidden;
  }
  .product-sheet.category-burgers .sheet-image img,
  .product-sheet.category-bowls .sheet-image img{
    position:absolute;
    left:50%;
    top:50%;
    width:auto!important;
    height:auto!important;
    max-width:94%!important;
    max-height:90%!important;
    padding:0!important;
    margin:0!important;
    object-fit:contain;
    object-position:center center;
    transform:translate(-50%,-50%);
  }
  .product-sheet.category-burgers .sheet-image img{
    max-width:88%!important;
    max-height:88%!important;
  }
  .product-sheet.category-bowls .sheet-image img{
    max-width:96%!important;
    max-height:86%!important;
  }
}
@media(max-width:390px){
  .product-sheet.category-burgers .sheet-image,
  .product-sheet.category-bowls .sheet-image{
    height:205px!important;
    min-height:205px!important;
  }
  .product-sheet.category-burgers .sheet-image img{max-width:90%!important;max-height:86%!important}
  .product-sheet.category-bowls .sheet-image img{max-width:96%!important;max-height:84%!important}
}

/* V54 — centrage mobile universel des images dans toutes les fiches produit */
@media(max-width:760px){
  .product-sheet .sheet-image{
    position:relative;
    display:block;
    height:220px!important;
    min-height:220px!important;
    overflow:hidden;
    flex:0 0 220px;
  }
  .product-sheet .sheet-image img{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:auto!important;
    height:auto!important;
    max-width:92%!important;
    max-height:88%!important;
    padding:0!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;
  }

  /* Ajustements de taille uniquement, le centrage reste identique partout */
  .product-sheet.category-tacos .sheet-image img{max-width:94%!important;max-height:88%!important}
  .product-sheet.category-roules .sheet-image img{max-width:92%!important;max-height:88%!important}
  .product-sheet.category-burgers .sheet-image img{max-width:88%!important;max-height:88%!important}
  .product-sheet.category-sandwichs .sheet-image img,
  .product-sheet.category-sandwichs-naan .sheet-image img{max-width:92%!important;max-height:88%!important}
  .product-sheet.category-baguettes .sheet-image img{max-width:94%!important;max-height:86%!important}
  .product-sheet.category-crousty .sheet-image img{max-width:90%!important;max-height:86%!important}
  .product-sheet.category-bowls .sheet-image img{max-width:96%!important;max-height:86%!important}
  .product-sheet.category-pizzas .sheet-image img{max-width:94%!important;max-height:90%!important}
  .product-sheet.category-tex-mex .sheet-image img{max-width:92%!important;max-height:86%!important}
  .product-sheet.category-salades .sheet-image img{max-width:90%!important;max-height:86%!important}
  .product-sheet.category-enfants .sheet-image img{max-width:90%!important;max-height:86%!important}
  .product-sheet.category-naan .sheet-image img{max-width:92%!important;max-height:88%!important}
  .product-sheet.category-lassi .sheet-image img{max-width:74%!important;max-height:90%!important}
}
@media(max-width:390px){
  .product-sheet .sheet-image{
    height:205px!important;
    min-height:205px!important;
    flex-basis:205px;
  }
  .product-sheet .sheet-image img{max-width:92%!important;max-height:86%!important}
  .product-sheet.category-burgers .sheet-image img{max-width:90%!important;max-height:86%!important}
  .product-sheet.category-bowls .sheet-image img{max-width:96%!important;max-height:84%!important}
  .product-sheet.category-pizzas .sheet-image img{max-width:94%!important;max-height:88%!important}
  .product-sheet.category-lassi .sheet-image img{max-width:72%!important;max-height:88%!important}
}
\n/* V55 — choix du moyen de paiement */
.payment-block{margin-top:4px}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.payment-choice{min-height:96px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;transition:.18s ease}.payment-choice.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;background:#F2EFE7}.payment-icon{width:34px;height:34px;border-radius:50%;background:var(--ink);display:grid;place-items:center;grid-row:1/3;font-size:16px}.payment-choice.selected .payment-icon{background:var(--red)}.payment-choice b{font-size:13px}.payment-choice small{font-size:9px;color:var(--muted)}.checkout-submit:disabled{opacity:.58;cursor:wait}.checkout-submit.cash-submit{background:#1a1a1a}@media(max-width:390px){.payment-grid{grid-template-columns:1fr}}\n
/* V56 — dernière passe visuelle / UX */
.brand-image img,.site-header .brand-image img,.footer-brand img{mix-blend-mode:normal!important;background:transparent!important}
@media(max-width:760px){.hero-visual{margin:4px 0 0!important;min-height:330px;display:grid;place-items:center;overflow:visible}.hero-red-disc{left:50%!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%)!important}.hero-visual>img{position:absolute!important;left:50%!important;top:50%!important;width:min(118vw,650px)!important;max-width:none!important;margin:0!important;transform:translate(-50%,-50%) rotate(-6deg)!important;transform-origin:center center!important}}
@media(max-width:390px){.hero-visual>img{width:min(126vw,610px)!important}}
.choice-visual--drink{width:68px!important;height:68px!important;display:grid!important;place-items:center!important;overflow:visible!important;background:transparent!important}.choice-visual--drink img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;padding:2px!important;margin:0 auto!important;filter:drop-shadow(0 5px 6px rgba(17,16,14,.12))}.drink-choice{overflow:visible!important}
.choice.extra-sauce{border-color:var(--red)!important;background:#EEEADF!important}.choice-extra-price{display:inline-flex!important;justify-content:center;align-items:center;min-height:20px;padding:4px 7px;border-radius:999px;background:var(--red);color:#fff!important;font-size:8px!important;line-height:1.1;font-weight:950!important;white-space:nowrap}.choice-remove-hint{color:var(--muted)!important;font-size:7px!important;font-weight:800!important}.choice.selected{cursor:pointer}.choice.selected:active{transform:scale(.97)}
.whatsapp-required-confirmation .check{background:var(--red)!important}.required-warning{margin:18px 0;padding:14px 16px;border:1px solid rgba(35,72,58,.28);border-radius:14px;background:#F0ECE2;color:#112820;font-size:12px;font-weight:850;line-height:1.5}.required-footnote{margin:12px 0 0;color:var(--muted);font-size:10px;font-weight:750}.whatsapp-required-confirmation .wa-button{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:11px;letter-spacing:.02em}


/* V57 — navigation catégories plus fluide et premium */
.category-pills{
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(
    90deg,
    transparent 0,
    #000 28px,
    #000 calc(100% - 28px),
    transparent 100%
  );
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0,
    #000 28px,
    #000 calc(100% - 28px),
    transparent 100%
  );
}
.category-pills .pill{
  scroll-snap-align:center;
  flex:0 0 auto;
  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease;
}
.category-pills .pill:active{
  transform:scale(.96);
}
.category-pills .pill.active{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(17,16,14,.14);
}
@media(max-width:760px){
  .category-pills{
    gap:9px;
    padding-left:14px;
    padding-right:14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .category-pills{scroll-behavior:auto}
  .category-pills .pill{transition:none}
}


/* V58 — DA O'Dalil inspirée de l'intérieur du restaurant
   charbon + vert forêt carrelage + pierre chaude */
:root{
  --odalil-charcoal:#101210;
  --odalil-forest:#23483A;
  --odalil-forest-deep:#163229;
  --odalil-olive:#59604D;
  --odalil-stone:#B2A17E;
  --odalil-cream:#F1EEE5;
}

/* détails premium cohérents avec les matériaux du restaurant */
.primary-btn{
  box-shadow:0 10px 28px rgba(35,72,58,.22);
}
.primary-btn:hover{
  filter:brightness(1.07);
}
::selection{
  background:rgba(35,72,58,.28);
  color:#101210;
}
