/* MOUKI V2 — expressive discovery, quiet ordering. */
:root{--radius:2rem;--large-radius:3rem;--content:78rem;--page-pad:2rem;--gap:4rem;--ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-padding-top:8rem;overflow-anchor:none}
body{overflow-wrap:break-word}
[hidden]{display:none!important}
h1,h2,h3{letter-spacing:-.045em;text-wrap:balance}
h1,h2{font-variation-settings:'opsz' 14,'wdth' 100;line-height:1.02}
h2{font-size:clamp(2.5rem,4.6vw,4.5rem)}
p{max-width:38rem}
main:focus{outline:none}
.section{padding-block:6rem}
.caption{letter-spacing:.015em}
.section-kicker{letter-spacing:.12em;font-size:.75rem;margin-bottom:.75rem}
.button{min-height:3.5rem;gap:1.2rem;padding:.875rem 1.6rem;border:2px solid var(--plum);font-weight:700}
.button span[aria-hidden]{font-size:1.3rem;line-height:1}
.button:hover:not(:disabled){filter:none}
.button:active:not(:disabled){transform:translateY(2px)}
.button:hover:not(:disabled){color:var(--ivory);background:var(--plum)}
.button.secondary:hover{color:var(--plum);background:var(--ivory)}
#header{position:sticky;top:0;z-index:20;background:rgba(246,237,217,.96);border-bottom:1px solid rgba(77,38,58,.13)}
.nav{position:relative;min-height:6.5rem;padding-block:1rem;gap:2rem}
.brand{width:9rem;height:auto;flex-shrink:0}
.brand img{width:100%;height:auto}
.nav-links{gap:.25rem;padding:.3rem;border:1px solid rgba(77,38,58,.2);border-radius:999px}
.nav-text{padding:.65rem 1.5rem;border-radius:999px}
.nav-text.active,.nav-text:hover{background:var(--plum);color:var(--ivory)}
.nav-actions{display:flex;gap:.75rem;align-items:center}
.basket-button{padding:.7rem 1.1rem;gap:.8rem}
.basket-count{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--ivory);color:var(--plum);font-size:.85rem}
.menu-toggle{display:none}
.mobile-links{display:none}
.hero{padding-block:4rem 5.5rem}
.hero .grid-two{grid-template-columns:1.08fr 1fr;gap:3rem;min-height:34rem}
.hero-copy{gap:2rem;position:relative;z-index:1}
.eyebrow{border:1px solid var(--plum);padding:.55rem .9rem;border-radius:999px;font-size:.7rem;letter-spacing:.1em}
.hero h1{font-size:clamp(4.5rem,7.7vw,7.3rem);line-height:.99;letter-spacing:-.065em}
.hero-highlight{position:relative;display:inline-block;z-index:0;white-space:nowrap}
.hero-highlight:before{content:'';position:absolute;inset:4% -.065em -12%;background:url('assets/surlignage-feutre-paprika.svg') center/100% 100% no-repeat;transform:rotate(-2deg);z-index:-1;pointer-events:none}
.hero .lead{font-size:1.125rem;line-height:1.5}
.hero-visual{position:relative;padding:1.75rem 0 3.75rem 1rem;isolation:isolate;min-width:0}
.hero-photo{padding:.65rem;background:var(--plum);border-radius:46% 44% 37% 42% / 36% 35% 46% 45%;transform:rotate(3deg)}
.hero-photo .photo{aspect-ratio:1.15;object-fit:cover;border-radius:inherit;width:100%}
.hero-mascot{position:absolute;width:35%;height:auto;left:-7%;bottom:-1%;transform:rotate(-8deg);filter:drop-shadow(0 5px 0 rgba(77,38,58,.12));z-index:2}
.hero-badge{position:absolute;right:0;bottom:0;background:var(--ivory);border:2px solid var(--plum);border-radius:1.6rem;padding:1rem 1.5rem;transform:rotate(-5deg);box-shadow:5px 5px 0 var(--plum);display:flex;flex-direction:column;gap:.25rem}
.hero-badge strong{font:700 1.7rem/1 Bricolage,sans-serif;letter-spacing:-.04em}
.hero-badge span{font-size:.85rem}
.hero-star{position:absolute;right:-1%;top:-2%;width:3.75rem;height:auto;transform:rotate(12deg)}
.offer-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:1.25rem;background:var(--plum);color:var(--ivory);max-width:calc(var(--content) - 1rem);border-radius:2rem;}
.offer-strip a{display:flex;align-items:center;justify-content:center;gap:1rem;font:700 1.5rem/1.1 Bricolage,sans-serif;min-height:3.5rem;padding:.4rem 1rem}
.offer-strip a+a{border-left:1px solid rgba(246,237,217,.3)}
.strip-icon{width:2.5rem;height:2.5rem;object-fit:contain;flex-shrink:0}
.offer-strip a span[aria-hidden]{font:400 1.2rem/1 DM,sans-serif}
.offer-strip a:focus-visible{outline-color:var(--ivory)}
.section-heading{align-items:flex-end;margin-bottom:2rem}
.text-link{min-height:2.75rem;display:inline-flex;align-items:center;gap:.75rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.categories{gap:.6rem;margin-bottom:2.5rem}
.chip{background:transparent;border:1.5px solid var(--plum);padding:.6rem 1.2rem;gap:.5rem;min-height:3.1rem}
.chip:not(.active):hover{box-shadow:0 3px 0 var(--plum)}
.products{gap:1.5rem;align-items:stretch}
.card{position:relative;display:flex;flex-direction:column;border:1.5px solid var(--plum);border-radius:2.25rem;background:var(--ivory);box-shadow:0 5px 0 rgba(77,38,58,.09);overflow:hidden}
.card-photo{height:auto;aspect-ratio:1.5;border-radius:2rem;margin:.65rem .65rem 0;overflow:hidden;background:rgba(216,98,54,.1)}
.card-photo .food{width:100%;height:100%;object-fit:cover}
.card-photo .drawing{width:8rem;height:auto}
.card-body{padding:1.6rem;gap:1rem;flex:1;position:relative}
.card-body p:not(.caption){font-size:.95rem;line-height:1.6}
.card-body>.button{margin-top:auto;justify-content:space-between}
.recipe-label{font-size:.65rem;letter-spacing:.11em;font-weight:700}
.name-price{align-items:center;gap:.5rem;flex-wrap:wrap}
.name-price h3{font-size:1.85rem}
.name-price .price{font-size:1rem;border:1px solid rgba(77,38,58,.3);padding:.2rem .55rem;border-radius:999px}
.featured .card:nth-child(2){margin-top:1.4rem;margin-bottom:-1.4rem}
.inspiration,.place-section{margin-inline:1rem;border-radius:3.5rem;padding-block:5rem}
.inspiration>.container{padding-inline:3rem}
.inspiration .stack{background:var(--ivory);padding:2.5rem;border-radius:2.5rem;gap:1.5rem}
.inspiration h2{font-size:clamp(2.5rem,4.8vw,4.6rem)}
.inspiration .wave{width:5rem}
.recipe-visual{position:relative;transform:rotate(3deg)}
.recipe-visual .photo{border:2px solid var(--plum);aspect-ratio:1.1;object-fit:cover;border-radius:45% 45% 1.5rem 1.5rem}
.inspiration-caption{display:flex;flex-direction:column;gap:.5rem;border:2px solid var(--plum);padding:1.25rem 1.5rem;margin-top:1rem;box-shadow:4px 4px 0 var(--plum)}
.inspiration-caption strong{font:700 2rem/1 Bricolage,sans-serif}
.inspiration-caption span{font-size:.9rem}
.recipe-pickle{position:absolute;width:4rem;height:auto;right:-1rem;top:0;background:var(--ivory);padding:.6rem;border:2px solid var(--plum);border-radius:1.25rem;transform:rotate(10deg)}
.coffee-section{padding-bottom:8rem}
.coffee-visual{position:relative;padding-bottom:2rem}
.coffee-visual>.photo{aspect-ratio:1.15;object-fit:cover;border-radius:2rem 8rem 2rem 2rem;transform:rotate(-2deg)}
.coffee-mascot{position:absolute;width:31%;height:auto;right:-1rem;bottom:-1rem;transform:rotate(8deg)}
.drink-prices{display:flex;gap:1rem;flex-wrap:wrap;width:100%}
.drink-prices p{border:1px solid var(--plum);border-radius:1.25rem;padding:1rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.drink-prices strong{font:700 1.6rem/1.1 Bricolage,sans-serif;white-space:nowrap}
.place-section .photo{aspect-ratio:1.15;object-fit:cover;border-radius:7rem 2rem 2rem 2rem;border:1px solid var(--ivory)}
.place-section .stack{gap:1.75rem}
.pickup-section{padding-block:6rem}
.pickup-grid{grid-template-columns:minmax(0,1fr) 25rem;gap:6rem;align-items:center}
.steps-home{gap:1.5rem}
.number{width:3.25rem;height:3.25rem;font-size:1.5rem;border-radius:1rem;transform:rotate(-4deg)}
.step-home:nth-child(2) .number{transform:rotate(5deg)}
.bag-visual{transform:rotate(3deg)}
.bag{border-radius:8rem 2rem 2rem 2rem;border:1px solid var(--plum)}
.site-footer{background:var(--plum);color:var(--ivory);border-radius:3rem 3rem 0 0}
.footer{padding-block:3.5rem 2rem;gap:3rem}
.footer-title{font:700 clamp(3rem,7vw,6.5rem)/.98 Bricolage,sans-serif;letter-spacing:-.055em;max-width:none}
.footer-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(246,237,217,.25);padding-top:1.5rem;gap:1rem}
.footer nav a{display:flex;align-items:center;min-height:2.75rem}
.site-footer a:focus-visible{outline-color:var(--ivory)}
.page{padding-block:3rem 5rem;gap:2rem}
.page-intro{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;width:100%}
.page-intro .back{margin-bottom:.5rem}
.page-intro h1{font-size:clamp(2.75rem,5.5vw,5.25rem);max-width:58rem}
.page-intro>p{max-width:42rem;font-size:1.1rem;line-height:1.6}
.catalogue-heading{display:flex;gap:2rem;align-items:center;justify-content:space-between}
.catalogue-heading h1{font-size:clamp(4rem,8vw,7rem)}
.category-drawing{width:8rem;height:8rem;object-fit:contain;transform:rotate(9deg);flex-shrink:0}
.category-switch .categories{margin:0}
.compact .card-body{padding:1.75rem;gap:1.25rem}
.card-icon{width:3rem;height:3rem;object-fit:contain}
.product-layout{gap:3rem;margin-top:1rem;align-items:start}
.product-layout>.photo,.product-layout>.illustration-panel{position:sticky;top:8rem;aspect-ratio:1.1;object-fit:cover;border-radius:2rem 6rem 2rem 2rem;box-shadow:6px 6px 0 rgba(77,38,58,.12)}
.product-form{border:1px solid var(--plum);border-radius:2.5rem;padding:2rem;background:var(--ivory);gap:1.75rem}
.product-form>.price{font:700 2rem/1 Bricolage,sans-serif}
.product-form fieldset{gap:.75rem}
.product-form legend{font-size:1.7rem;letter-spacing:-.035em;margin-bottom:1rem}
.option{border:1.5px solid var(--plum);border-radius:1.4rem;min-height:5.25rem;padding:1.1rem;gap:1rem}
.option.selected{box-shadow:3px 3px 0 var(--paprika)}
.option small{margin-top:.35rem;font-size:.875rem;line-height:1.45}
.quantity{gap:.7rem}
.round{width:3rem;min-height:3rem;border-width:1.5px;font-size:1.2rem}
.progress{gap:.75rem;max-width:50rem}
.progress li{border-radius:1.25rem;padding:1rem;border-width:1.5px;gap:.25rem}
.progress li.current{box-shadow:3px 3px 0 var(--paprika)}
.checkout-layout{gap:3rem;margin-top:.5rem}
.summary{position:sticky;top:8rem;border-width:1.5px;border-radius:2rem;padding:1.75rem;background:var(--ivory);box-shadow:5px 5px 0 rgba(77,38,58,.12);border-top:8px solid var(--paprika)}
.summary-line{gap:.7rem;padding-bottom:.75rem;border-bottom:1px dashed rgba(77,38,58,.25)}
.summary-line p{font-size:.875rem}
.amount{font-size:.95rem}
.total{border:0;font-size:1.35rem}
.basket-line{border:1.5px solid var(--plum);padding:1.5rem;border-radius:2rem;gap:1rem;width:100%}
.basket-photo{width:100%;height:auto;aspect-ratio:2.2;object-fit:cover;border-radius:1.3rem}
.field input,.field select{border-radius:1rem;border-width:1.5px;min-height:3.75rem}
.notice{border-radius:1.25rem;border-left:6px solid var(--paprika)}
.illustration-panel{border-radius:2rem;background:rgba(216,98,54,.07)}
.empty-grid{width:42rem}
.confirmation-art{border:0}
.place-grid{margin-block:1rem 3rem;align-items:center}
.place-photo{border-radius:2rem 7rem 2rem 2rem}
.faq{width:100%;border-top:1px solid rgba(77,38,58,.35);padding-block:1.35rem}
.faq:last-child{border-bottom:1px solid rgba(77,38,58,.35)}
.faq summary{list-style:none;cursor:pointer;font:700 1.5rem/1.3 Bricolage,sans-serif;display:flex;justify-content:space-between;gap:1rem;min-height:2.75rem;align-items:center;letter-spacing:-.03em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:focus-visible{outline:3px solid var(--plum);outline-offset:5px}
.faq summary span{font:400 1.8rem/1 DM,sans-serif}
.faq[open] summary span{transform:rotate(45deg)}
.faq>p{margin-top:1rem;max-width:50rem}
.cart-feedback{position:fixed;bottom:1.5rem;right:1.5rem;z-index:30;display:flex;align-items:center;gap:1.5rem;background:var(--ivory);color:var(--plum);border:2px solid var(--plum);border-radius:1.75rem;padding:1.25rem 3.5rem 1.25rem 1.5rem;box-shadow:6px 6px 0 var(--plum);max-width:min(45rem,calc(100% - 3rem))}
.cart-feedback>div{display:flex;flex-direction:column;gap:.35rem}
.cart-feedback>div>span{font-size:.875rem}
.cart-feedback strong{font-size:.95rem}
.toast-close{position:absolute;right:.5rem;top:.5rem;background:none;border:0;min-width:2.75rem;min-height:2.75rem;font-size:1.5rem}
@keyframes rise{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes hello{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-12px)}}
@keyframes settle{from{opacity:.4;transform:translateY(12px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:no-preference){
  .button,.chip,.nav-text,.card,.option,.offer-strip a{transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .2s var(--ease)}
  .button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 5px 0 rgba(77,38,58,.18)}
  .card:hover{transform:translateY(-7px);box-shadow:0 10px 0 rgba(77,38,58,.12)}
  .option:active{transform:scale(.985)}
  .hero-copy{animation:rise .7s var(--ease) both}
  .hero-mascot{animation:hello 3s var(--ease) .7s 2}
  .reveal.arrived{animation:rise .7s var(--ease) var(--entry-delay,0ms) both}
  .cart-feedback{animation:settle .35s var(--ease)}
  .offer-strip a:hover .strip-icon{transform:rotate(-8deg) translateY(-3px);transition:transform .3s var(--ease)}
  .faq summary span{transition:transform .25s var(--ease)}
}
@media(min-width:1440px){:root{--page-pad:3.5rem}.container{max-width:85rem}}
@media(max-width:1100px){.hero h1{font-size:clamp(3.5rem,7vw,6rem)}.hero .grid-two{gap:2rem}.pickup-grid{gap:3rem;grid-template-columns:1fr 20rem}.inspiration>.container{padding-inline:2rem}.inspiration .stack{padding:2rem}.offer-strip{margin-inline:2rem}.name-price h3{font-size:1.6rem}.hero-badge{right:-.3rem;padding:.85rem 1rem}.hero-mascot{left:-2%}}
@media(max-width:900px) and (min-width:701px){:root{--gap:2rem;--page-pad:1.5rem}.hero .grid-two{min-height:28rem}.hero h1{font-size:4rem}.hero-badge strong{font-size:1.3rem}.hero-badge span{font-size:.75rem}.hero-star{width:2.5rem}.offer-strip a{font-size:1.15rem;gap:.6rem;padding-inline:.5rem}.product-form{padding:1.5rem}.checkout-layout{gap:1.5rem}.inspiration .stack{padding:1.5rem}.inspiration h2{font-size:2.75rem}.pickup-grid{grid-template-columns:1fr 16rem}}
@media(max-width:700px){
  :root{--page-pad:1.25rem;--gap:2.5rem}
  html{scroll-padding-top:6rem}
  .section{padding-block:3.5rem}
  .nav{min-height:5.25rem;padding-block:1rem;gap:.5rem}
  .brand{width:6.4rem;height:auto}
  .nav-links{display:none}
  .nav-actions{gap:.5rem}
  .basket-button{min-height:2.8rem;padding:.45rem .7rem;font-size:.8rem;gap:.5rem}
  .basket-count{width:1.35rem;height:1.35rem;font-size:.75rem}
  .menu-toggle{display:inline-flex;align-items:center;gap:.2rem;background:none;border:1px solid var(--plum);border-radius:999px;min-height:2.8rem;padding:.4rem .6rem;font-size:.8rem;font-weight:600}
  .menu-toggle span{font-size:1.1rem}
  .mobile-links:not([hidden]){display:flex;position:absolute;top:calc(100% + .5rem);left:1.25rem;right:1.25rem;background:var(--plum);color:var(--ivory);padding:.75rem;border-radius:1.5rem;box-shadow:0 6px 0 rgba(77,38,58,.15);flex-direction:column;gap:.25rem}
  .mobile-links a{display:flex;align-items:center;justify-content:space-between;padding:.75rem;font-weight:700;min-height:3.1rem;border-radius:.75rem}
  .mobile-links a:focus-visible{outline-color:var(--ivory)}
  .mobile-links a+a{border-top:1px solid rgba(246,237,217,.2)}
  .hero{padding-block:2.5rem 3rem}
  .hero .grid-two{grid-template-columns:1fr;min-height:0;gap:1.75rem}
  .hero-copy{gap:1.5rem}
  .eyebrow{font-size:.6rem;padding:.5rem .7rem}
  .hero h1{font-size:clamp(3.1rem,12.6vw,5.2rem);line-height:1.03}
  .hero .lead{font-size:1rem}
  .hero .button{width:auto;padding-inline:1.35rem}
  .hero-visual{width:100%;max-width:30rem;margin-inline:auto;padding:1rem .5rem 3.25rem 1.75rem}
  .hero-photo .photo{aspect-ratio:1.25}
  .hero-mascot{width:29%;left:-1%;bottom:0}
  .hero-badge{right:.5rem;bottom:.3rem;max-width:67%;padding:.8rem 1rem;border-radius:1.2rem;box-shadow:3px 3px 0 var(--plum)}
  .hero-badge strong{font-size:1.3rem}.hero-badge span{font-size:.75rem}
  .hero-star{right:0;top:0;width:2.2rem}
  .offer-strip{margin-inline:1.25rem;max-width:none;padding:.65rem 1rem;border-radius:1.5rem;grid-template-columns:1fr}
  .offer-strip a{font-size:1.3rem;justify-content:flex-start;gap:1rem;min-height:3.75rem;padding:.4rem .2rem}
  .offer-strip a span[aria-hidden]{margin-left:auto}
  .offer-strip a+a{border-left:0;border-top:1px solid rgba(246,237,217,.25)}
  .strip-icon{width:2rem;height:2rem}
  h2{font-size:2.7rem}
  .section-heading{align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}
  .section-heading h2{font-size:2.6rem}
  
  .categories{max-width:none;gap:.5rem;margin-bottom:1.5rem}
  .chip{padding:.5rem .8rem;font-size:.85rem;min-height:2.8rem}
  .products{gap:1.25rem}
  .card{border-radius:1.8rem}
  .card-body,.compact .card-body{padding:1.4rem}
  .card-photo{height:auto;aspect-ratio:1.5;border-radius:1.4rem}
  .name-price h3{font-size:1.8rem}
  .featured .card:nth-child(2){margin:0}
  .inspiration,.place-section{margin-inline:.6rem;border-radius:2.5rem;padding-block:2rem}
  .inspiration>.container{padding-inline:1rem}
  .inspiration .stack{padding:1.5rem;border-radius:1.75rem}
  .inspiration h2{font-size:2.65rem}
  .recipe-visual{margin:1rem .65rem .75rem;transform:rotate(2deg)}
  .recipe-visual .photo{aspect-ratio:1.2}
  .recipe-pickle{width:3.3rem;right:-.5rem}
  .inspiration-caption{padding:1rem}
  .coffee-section{padding-bottom:5rem}
  .coffee-visual{margin-inline:.5rem;padding-bottom:1.5rem}
  .coffee-visual>.photo{aspect-ratio:1.3;border-radius:1.5rem 5rem 1.5rem 1.5rem}
  .coffee-mascot{right:-.4rem;bottom:0;width:28%}
  .drink-prices{gap:.75rem}.drink-prices p{padding:.8rem;font-size:.85rem}.drink-prices strong{font-size:1.4rem}
  .place-section .photo{border-radius:5rem 1.5rem 1.5rem 1.5rem;aspect-ratio:1.3}
  .place-section .grid-two{gap:2rem}
  .pickup-grid{grid-template-columns:1fr;gap:3rem}
  .bag-visual{max-width:23rem;margin-inline:1rem;transform:rotate(2deg)}
  .bag{border-radius:5rem 1.5rem 1.5rem 1.5rem}
  .number{width:2.7rem;height:2.7rem;font-size:1.25rem;border-radius:.8rem}
  .steps-home{gap:1.5rem}.step-home{gap:1rem}.step-home p{font-size:.95rem}
  .site-footer{border-radius:2rem 2rem 0 0}
  .footer{padding-block:2.5rem 1.5rem;gap:2rem}
  .footer-title{font-size:3.5rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}
  .page{padding-block:2rem 3.5rem;gap:1.75rem}
  .page-intro h1{font-size:2.9rem}
  .page-intro>p{font-size:1rem}
  .catalogue-heading{gap:1rem;align-items:flex-start}
  .catalogue-heading h1{font-size:3.4rem}
  .category-drawing{width:3.5rem;height:3.5rem;align-self:center}
  .catalogue-heading .page-intro{width:auto;min-width:0}
  .category-switch .categories{margin:0}
  .product-layout,.checkout-layout{gap:1.75rem}
  .product-layout>.photo,.product-layout>.illustration-panel{position:static;aspect-ratio:1.5;border-radius:1.5rem 4rem 1.5rem 1.5rem;box-shadow:3px 3px 0 rgba(77,38,58,.12)}
  .product-form{padding:1.25rem;border-radius:1.75rem;gap:1.5rem}
  .product-form legend{font-size:1.5rem}
  .product-form .option{padding:.9rem;border-radius:1.15rem;gap:.75rem}
  .progress{gap:.5rem}.progress li{padding:.65rem .5rem;border-radius:.8rem;font-size:.75rem;overflow-wrap:normal}.progress li strong{font-size:.8rem}
  .summary{position:static;padding:1.4rem;border-radius:1.5rem;box-shadow:3px 3px 0 rgba(77,38,58,.12)}
  .basket-line{padding:1.25rem;border-radius:1.5rem}
  .basket-photo{aspect-ratio:1.75}
  .place-grid{margin-block:.5rem 1.5rem;gap:2rem}
  .place-grid h2{font-size:2.4rem}
  .faq{padding-block:1rem}.faq summary{font-size:1.3rem}
  .cart-feedback{left:.75rem;right:.75rem;bottom:.75rem;max-width:none;padding:1.1rem 2.75rem 1.1rem 1.1rem;flex-direction:column;align-items:flex-start;gap:.8rem;border-radius:1.4rem;box-shadow:3px 3px 0 var(--plum)}
  .cart-feedback .button{font-size:.85rem;min-height:2.75rem;padding:.55rem 1rem;width:100%;justify-content:space-between}
}
@media(max-width:359px){.brand{width:5.3rem}.nav-actions{gap:.35rem}.basket-button{padding-inline:.55rem}.menu-toggle{padding-inline:.45rem}.hero h1{font-size:2.95rem}.hero-badge{padding:.65rem .75rem}.hero-badge span{font-size:.65rem}.catalogue-heading h1{font-size:2.9rem}.category-drawing{width:2.5rem;height:2.5rem}.footer-title{font-size:3rem}.product-form{padding:1rem}.progress li strong{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Photos intégrales : garder visibles produits et emballages. */
.card-photo .food{object-fit:contain}
.product-visual{position:sticky;top:8rem;min-width:0;display:flex;flex-direction:column;gap:1rem}
.product-visual>.photo{width:100%;aspect-ratio:1.5;object-fit:contain;border-radius:2rem 4rem 2rem 2rem;box-shadow:6px 6px 0 rgba(77,38,58,.12)}
.product-visual figcaption{line-height:1.5;max-width:none}
.basket-photo{aspect-ratio:1.5;object-fit:contain}
.footer-heading{width:100%;display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.footer-practical{display:flex;flex-direction:column;gap:1.5rem;min-width:0}
.footer-details{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}
.footer-details h2{font-size:1.5rem;line-height:1.2;margin-bottom:.75rem}
.footer-details p,.footer-details address{font-size:.9rem;line-height:1.7;font-style:normal}
.footer-details p+p{margin-top:.65rem}
.footer-contacts{grid-column:1}
.footer-map{grid-column:2;align-self:center;justify-self:start;font-size:.875rem;padding:.8rem 1rem;gap:.7rem;max-width:100%;line-height:1.4}
@media(max-width:900px){.footer-heading{grid-template-columns:1fr;gap:2.5rem}}
@media(max-width:700px){.product-visual{position:static}.product-visual>.photo{border-radius:1.5rem 3rem 1.5rem 1.5rem;box-shadow:3px 3px 0 rgba(77,38,58,.12)}.footer-details{gap:1.5rem 1rem}.footer-details h2{font-size:1.4rem}.footer-contacts,.footer-map{grid-column:1/-1}.footer-map{justify-self:stretch}}
