/* Storefront, 45 KB: mobile first, one rule per line, colours: ShopTheme. Order pages: partials/done-styles. */
:root{
  --sans:"Bricolage Grotesque",system-ui,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --s0: 8px;--s1: 16px;--s2: 24px;--s3: 32px;--s4: 48px;--s5: 64px;--s6: 96px;--gutter:16px;
  --t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.125rem;
  --t-xl:clamp(1.375rem,1.1rem + 1vw,1.75rem);
  --t-2xl:clamp(2rem,1.3rem + 3vw,3.5rem);
  --t-3xl:clamp(2.5rem,1.2rem + 6vw,6rem);
  --t-hero:clamp(3.6rem,.4rem + 17vw,12.5rem);
  --r-sm:12px;--r-md:18px;--r-lg:26px;--r-xl:36px;--pill:999px;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --q:160ms var(--ease);--m:320ms var(--ease);--l:640ms var(--ease);
  --sh1: 0 1px 2px rgb(0 0 0 / .06),0 2px 8px rgb(0 0 0 / .05);
  --sh2: 0 2px 6px rgb(0 0 0 / .08),0 16px 40px -12px rgb(0 0 0 / .22);
  --wa:#118240;
  --focus:0 0 0 3px var(--paper),0 0 0 6px var(--brand-text);
  --edge:calc(var(--gutter) * -1);
}
@media (max-width:699px){:root:root{--s3:16px;--s4:20px;--s5:20px;--s6:32px}}
@media (min-width:700px){:root{--gutter:32px}}
@media (min-width:1100px){:root{--gutter:48px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-md)/1.55 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.socials,.zones,.lines,.picks,.steps,.badges,.card__badges,.showcase,.pack__list,.recap__lines,.timeline{margin:0;padding:0;list-style:none}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}
[hidden]{display:none !important}
.sr-only{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s1);top:-60px;z-index:100;padding:var(--s0) var(--s1);border-radius:var(--r-sm);background:var(--ink);color:var(--paper);transition:top var(--q)}
.skip:focus{top:var(--s1)}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 var(--gutter)}
.ico{width:1.25em;height:1.25em;flex:none}
.preview-bar{position:relative;z-index:60;padding:var(--s0) var(--s1);background:var(--accent);color:var(--accent-ink);text-align:center;font-size:var(--t-sm);font-weight:600}
.eyebrow{display:inline-flex;align-items:center;gap:var(--s0);margin:0 0 var(--s1);font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text)}
.eyebrow--on-ink{color:var(--on-ink-muted)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}
.filters::-webkit-scrollbar,.chips::-webkit-scrollbar,.showcase::-webkit-scrollbar,.gallery::-webkit-scrollbar{display:none}
/* Buttons */
.btn{--bg:var(--surface);--fg:var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:0 var(--s2);border:0;border-radius:var(--pill);background:var(--bg);color:var(--fg);font-weight:700;font-size:var(--t-md);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;transition:transform var(--q),box-shadow var(--m),background-color var(--m)}
.btn:hover{box-shadow:var(--sh2)}
.btn:active{transform:scale(.97)}
.btn .ico{transition:transform var(--m)}
.btn:hover .ico{transform:translateX(3px)}
.btn--brand{--bg:var(--brand);--fg:var(--brand-ink)}
.btn--ink{--bg:var(--ink);--fg:var(--paper)}
.btn--wa{--bg:var(--wa);--fg:#fff}
.btn--ghost{--bg:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--xl{min-height:60px;padding:0 var(--s3);font-size:var(--t-lg)}
.btn--block{width:100%;padding-block:10px;white-space:normal;text-align:center;line-height:1.2}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.btn--pulse::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulse 2.2s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--wa) 55%,transparent)} 70%,100%{box-shadow:0 0 0 16px transparent}}
.btn.is-done{--fg:var(--brand-text);box-shadow:inset 0 0 0 1.5px var(--brand-text)}
.icon-btn,.bar__icon,.bar__cart,.stepper__btn,.mini-stepper button,.line__remove,.showcase__add,.pick__add{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:inherit;transition:background-color var(--q),transform var(--q)}
.icon-btn:active,.bar__icon:active,.bar__cart:active,.stepper__btn:active,.mini-stepper button:active,.line__remove:active,.showcase__add:active,.pick__add:active{transform:scale(.88)}
.icon-btn{background:color-mix(in srgb,var(--ink) 6%,transparent)}
.icon-btn:hover,.stepper__btn:hover,.line__remove:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.link{color:var(--brand-text);font-weight:700;text-underline-offset:4px}
.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--pill);background:var(--surface);color:var(--ink);font-size:var(--t-xs);font-weight:700;line-height:1.3;box-shadow:var(--sh1)}
.chip--save{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.chip--ink{background:var(--ink);color:var(--paper);box-shadow:none;letter-spacing:.08em;text-transform:uppercase}
.chip--outline{background:none;box-shadow:inset 0 0 0 1.5px var(--line)}
.chip--tiny{margin-left:6px;padding:1px 8px;font-size:10px;background:var(--brand-soft);color:var(--soft-text);box-shadow:none;text-transform:uppercase;letter-spacing:.08em}
/* Top bar */
.bar{position:fixed;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s1);height:64px;padding:0 var(--gutter);color:var(--paper);transition:background-color var(--m),color var(--m),box-shadow var(--m)}
.bar.is-stuck,.bar--solid{background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);color:var(--ink);box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 8%,transparent)}
.bar--solid{position:sticky}
.bar__brand{display:inline-flex;align-items:center;gap:10px;min-width:0;min-height:44px;text-decoration:none}
/* Logo: own ratio, light plate */
.bar__logo{width:auto;height:36px;max-width:44px;padding:3px;border-radius:var(--r-sm);object-fit:contain;background:#fff}
.bar__logo--wide{max-width:min(150px,38vw);padding:4px 8px}
@media (min-width:1000px){.bar__logo{height:44px;max-width:56px} .bar__logo--wide{max-width:220px}}
.mono{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:800;font-size:15px}
.bar__name{font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;transition:opacity var(--m),transform var(--m)}
@media (max-width:519px){.bar__name{max-height:2.3em;white-space:normal;font-size:min(1em,15px);line-height:1.12;text-wrap:balance}}
.page-home .bar:not(.is-stuck) .bar__name{opacity:0;transform:translateY(6px)}
.bar__nav{display:flex;align-items:center;gap:4px}
.bar__link{display:none;padding:10px 14px;border-radius:var(--pill);font-weight:600;font-size:var(--t-sm);text-decoration:none}
.bar__link:hover,.bar__icon:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.bar__cart{position:relative;background:color-mix(in srgb,currentColor 12%,transparent)}
.bar__count,.pill__count{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:800;line-height:20px;text-align:center;transform:scale(0);transition:transform 320ms var(--spring)}
.has-items .bar__count{transform:none}
@media (min-width:700px){.bar__link{display:inline-flex}}
/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:72px 0 8px;background:var(--ink);color:var(--paper)}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.85;animation:drift 24s var(--ease) infinite alternate}
.hero.is-away .blob{animation-play-state:paused}
.blob--1{width:75vmax;height:75vmax;left:-30vmax;top:-38vmax;background:radial-gradient(var(--brand),transparent 62%)}
.blob--2{width:60vmax;height:60vmax;right:-28vmax;top:10%;background:radial-gradient(var(--accent),transparent 60%);opacity:.65;animation-duration:28s;animation-direction:alternate-reverse}
@keyframes drift{to{transform:translate(12vmax,8vmax) scale(1.1)}}
.hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);align-items:end}
.hero__eyebrow{margin-bottom:var(--s1)}
.hero__title{margin:0 0 var(--s1);font-size:var(--t-hero);font-weight:800;line-height:.84;letter-spacing:-.06em;font-variation-settings:"opsz" 96;text-wrap:balance}
.hero__word{display:inline-block;margin-right:.18em;animation:rise var(--l) both;animation-delay:calc(var(--w) * 70ms)}
.hero__word:last-child{margin-right:0}
/* Title (LCP): no opacity */
@keyframes rise{from{transform:translateY(.25em) rotate(2deg);filter:blur(10px)}}
.hero__tagline{max-width:30ch;margin:0 0 var(--s2);font-size:var(--t-xl);line-height:1.2;letter-spacing:-.01em;color:color-mix(in srgb,var(--paper) 88%,transparent);animation:fade var(--l) .35s both}
.hero__tagline em{color:var(--paper);font-size:1.12em}
.hero__promise{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--t-sm);font-weight:700;color:var(--accent);animation:fade var(--l) .3s both}
.hero__cta{display:flex;min-width:0;animation:fade var(--l) .45s both}
.hero__cta .chips{flex:1}
@keyframes fade{from{opacity:0;transform:translateY(12px)}}
@media (max-width:1099px){.hero__cta{order:3}}
/* Hero chips */
.chips{display:flex;gap:8px;min-width:0;contain:inline-size;margin:0 var(--edge);padding:4px var(--gutter) 8px;overflow-x:auto;scrollbar-width:none;scroll-padding:0 var(--gutter)}
.chips__chip{display:inline-flex;flex:none;align-items:center;min-height:44px;padding:0 18px;border-radius:var(--pill);background:color-mix(in srgb,currentColor 13%,transparent);font-weight:700;font-size:var(--t-sm);white-space:nowrap;text-decoration:none;transition:background-color var(--q),color var(--q),transform var(--q)}
.chips__chip:active{transform:scale(.95)}
.chips__chip.is-on{background:var(--brand);color:var(--brand-ink)}
.chips__more{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;font-size:var(--t-sm)}
@media (min-width:700px){.chips{flex-wrap:wrap;margin:0;padding:0 0 4px;overflow:visible}}
/* Showcase */
.showcase{display:flex;gap:12px;margin:0 var(--edge);padding:0 var(--gutter) 4px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter)}
.showcase__item{position:relative;flex:0 0 44%;min-width:0;scroll-snap-align:start;animation:card-in var(--l) both;animation-delay:calc(var(--s) * 90ms + 200ms)}
@keyframes card-in{from{opacity:0;transform:translateY(40px) rotate(-2deg)}}
.showcase__media{display:block;aspect-ratio:4 / 5;border-radius:var(--r-md);box-shadow:0 20px 50px -20px rgb(0 0 0 / .6);transition:transform var(--m)}
.showcase__item:active .showcase__media{transform:scale(.97)}
.showcase .poster{padding-bottom:64px}
.showcase .poster__cat,.card .poster__cat,.line .poster__cat{display:none}
.showcase__price{position:absolute;z-index:1;left:var(--s0);bottom:var(--s0);padding:4px 10px;border-radius:var(--pill);background:var(--paper);color:var(--ink);font-size:var(--t-sm);font-weight:800;white-space:nowrap;box-shadow:var(--sh1)}
.showcase__link{display:block;margin-top:var(--s0);font-size:var(--t-sm);font-weight:700;line-height:1.2;text-decoration:none;text-wrap:balance}
.showcase__add{position:absolute;z-index:3;right:var(--s0);bottom:var(--s0);background:var(--brand);color:var(--brand-ink);box-shadow:0 6px 16px -6px rgb(0 0 0 / .5)}
.showcase__add.is-added{background:var(--accent);color:var(--accent-ink)}
.showcase__link::after,.card__link::after{content:"";position:absolute;inset:0;z-index:2;border-radius:var(--r-md)}
.showcase__link:focus-visible,.card__link:focus-visible{box-shadow:none}
.showcase__link:focus-visible::after,.card__link:focus-visible::after{box-shadow:var(--focus)}
@media (min-width:700px){.hero{padding-bottom:var(--s4)} .showcase__item{flex-basis:30%}}
@media (min-width:1100px){
.hero{min-height:min(100svh,980px);align-items:center;padding-top:120px}
.hero__inner{grid-template-columns:1.15fr .85fr;column-gap:var(--s5)}
.hero__copy{grid-area:1 / 1}
.hero__cta{grid-area:2 / 1;align-self:start}
.showcase{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin:0;padding:0;overflow:visible}
.showcase__item{transition:translate var(--m),rotate var(--m)}
.showcase__item:nth-child(1){grid-column:1 / -1;width:72%;justify-self:end;rotate:2.5deg}
.showcase__item:nth-child(1) .showcase__media{aspect-ratio:5 / 4}
.showcase__item:nth-child(2){rotate:-3deg;translate:0 -20px}
.showcase__item:nth-child(3){rotate:2deg;translate:0 16px}
.showcase__item:hover{translate:0 -8px;rotate:-1deg}
}
/* Marquee */
.marquee{overflow:hidden;padding:var(--s1) 0;background:var(--brand);color:var(--brand-ink);border-block:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.marquee__group{display:flex;align-items:center;flex:none}
.marquee__word{padding:0 var(--s2);font-size:clamp(1.75rem,1rem + 4vw,4rem);font-weight:800;letter-spacing:-.04em;line-height:1.1;white-space:nowrap}
.marquee__word:nth-child(4n+3){font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}
.marquee__star{font-size:clamp(1rem,.8rem + 1.5vw,2rem);opacity:.7}
@keyframes marquee{to{transform:translateX(-50%)}}
/* Sections */
.section{padding:8px 0}
.section__head{margin-bottom:12px}
.section__head--line{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px}
.section__head--line .eyebrow{margin:0;white-space:nowrap}
.section__title{margin:0;font-size:var(--t-2xl);font-weight:800;line-height:1;letter-spacing:-.045em;text-wrap:balance}
.section__title em{color:var(--brand-text);font-size:1.08em}
.section__title--sm{font-size:var(--t-xl);letter-spacing:-.03em}
@media (min-width:700px){.section{padding:var(--s5) 0} .section__head{margin-bottom:var(--s3)}}
@media (max-width:699px){#produits .section__head--line .section__title{font-size:min(var(--t-xl),5.6vw)}}
@media (min-width:1100px){.section{padding:var(--s6) 0} .section__head{display:flex;align-items:end;justify-content:space-between;gap:var(--s3)} .section__head .eyebrow{order:2;margin:0}}
.filters{position:sticky;z-index:30;top:64px;display:flex;gap:var(--s0);margin:0 var(--edge) var(--s3);padding:var(--s0) var(--gutter);overflow-x:auto;scrollbar-width:none;scroll-padding:0 var(--gutter);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);mask-image:linear-gradient(90deg,transparent,#000 var(--gutter),#000 calc(100% - var(--gutter)),transparent)}
.filter{flex:none;min-height:44px;padding:0 var(--s2);border:0;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:var(--t-sm);transition:background-color var(--m),color var(--m),box-shadow var(--m),transform var(--q)}
.filter:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.filter:active{transform:scale(.95)}
.filter.is-on{background:var(--ink);color:var(--paper);box-shadow:0 6px 16px -8px color-mix(in srgb,var(--ink) 70%,transparent)}
/* Grid */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
@media (min-width:700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4) var(--s2)} .grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.grid,.grid--related{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Media */
.media{position:relative;overflow:hidden;background:linear-gradient(110deg,var(--brand-soft) 30%,color-mix(in srgb,var(--brand-soft) 60%,var(--surface)) 50%,var(--brand-soft) 70%) 0 0 / 250% 100%;animation:shimmer 1.4s linear infinite}
.media.is-loaded,.media:has(.poster){animation:none;background:var(--brand-soft)}
@keyframes shimmer{to{background-position:-150% 0}}
.media__img{width:100%;height:100%;object-fit:cover;opacity:0;filter:blur(14px);transform:scale(1.06);transition:opacity var(--l),filter var(--l),transform var(--l)}
.media.is-loaded .media__img,.no-js .media__img,.media__img[fetchpriority]{opacity:1;filter:none;transform:none}
.media:has(>.media__img)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgb(0 0 0 / .16),transparent 28% 62%,rgb(0 0 0 / .22))}
.card__media:has(>.media__img)::after{background:linear-gradient(rgb(0 0 0 / .14),transparent 30%)}
.poster{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:10% 9%;overflow:hidden;container-type:inline-size;--sun:var(--brand)}
.poster--v0{background:var(--brand);color:var(--brand-ink);--sun:var(--accent)}
.poster--v1{background:var(--accent);color:var(--accent-ink)}
.poster--v2{background:var(--ink);color:var(--paper)}
.poster--v3{background:var(--brand-soft);color:var(--soft-text)}
.poster__sun{position:absolute;width:78%;aspect-ratio:1;right:-18%;top:-14%;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--sun),color-mix(in srgb,var(--sun) 25%,transparent) 70%);transition:transform var(--l)}
.poster__name{position:relative;font-size:clamp(1.25rem,15cqi,3.75rem);font-weight:800;line-height:.92;letter-spacing:-.05em;text-wrap:balance;hyphens:manual}
.poster__cat{position:relative;order:-1;margin-bottom:auto;font-family:var(--serif);font-style:italic;font-size:clamp(.9rem,8cqi,1.6rem);opacity:.85}
/* Cards */
.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card[hidden]{display:none}
.card__media{aspect-ratio:4 / 5;border-radius:var(--r-lg);transform:translateZ(0);transition:border-radius var(--m),box-shadow var(--m),transform var(--q)}
.card:active .card__media{transform:scale(.985)}
.card__badges{position:absolute;z-index:1;inset:var(--s0) var(--s0) auto;display:flex;flex-wrap:wrap;gap:4px}
.card__body{display:flex;flex-direction:column;flex:1;padding:8px 2px 0;container-type:inline-size}
/* Names: family label, whole words, fitted (--tw, --cw) */
.cn__fam{display:block;font-size:max(9px,.62em);font-weight:700;letter-spacing:.1em;line-height:1.3;text-transform:uppercase;opacity:.75}
.cn__name{display:block}
.card__title{--ct:var(--t-md);margin:0 0 4px;font-size:max(12px,min(var(--ct),100cqi / var(--tw,14) / var(--cw,.56)));font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:manual}
.card__title--meta{margin:0;font-size:var(--t-xs);font-weight:600;color:var(--muted)}
.card__link{text-decoration:none}
.card__pitch{display:none;margin:0 0 var(--s1);color:var(--muted);font-size:var(--t-sm);line-height:1.4}
.card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s0);margin-top:auto;padding-top:6px}
.card__foot .price{flex-direction:column;gap:0}
.card__sold{position:absolute;z-index:1;left:50%;top:50%;padding:6px 14px;border-radius:var(--pill);background:var(--ink);color:var(--paper);font-size:var(--t-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-6deg)}
.card--sold .card__media>:first-child{filter:grayscale(1) contrast(.85);opacity:.55}
.card--sold .price__now{color:var(--muted)}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0}
.price__now{font-size:var(--t-lg);font-weight:800;line-height:1.2;letter-spacing:-.03em;white-space:nowrap}
.price__was{color:var(--muted);font-size:var(--t-xs);white-space:nowrap}
.price--lg{margin:8px 0 12px;align-items:center}
.price--lg .price__now{font-size:clamp(1.75rem,1.3rem + 2vw,3rem);letter-spacing:-.04em}
.price--lg .price__was{font-size:var(--t-md)}
.btn--add{--bg:var(--ink);--fg:var(--paper);z-index:3;flex:none;width:44px;min-height:44px;padding:0;font-size:var(--t-sm)}
.btn--add__label{display:none}
.btn--add:hover .ico{transform:rotate(90deg)}
.btn--add.is-added{--bg:var(--brand);--fg:var(--brand-ink);animation:added 480ms var(--spring)}
@keyframes added{40%{transform:scale(1.15)}}
@media (hover:hover) and (pointer:fine){
.card:hover .card__media{box-shadow:var(--sh2);border-radius:var(--r-xl)}
.card:hover .media__img{transform:scale(1.05)}
.card:hover .poster__sun{transform:scale(1.15) translate(-6%,6%)}
}
@media (min-width:700px){
.card__title{--ct:var(--t-lg)}
.card__pitch{display:block}
.btn--add{width:auto;padding:0 var(--s2)}
.btn--add__label{display:inline}
.card--featured{grid-column:span 2}
.card--featured .card__media{aspect-ratio:8 / 5}
.card--featured .card__title{--ct:var(--t-xl)}
.card--featured .poster__name{font-size:clamp(2rem,9cqi,5rem)}
}
/* How it works */
.section--how{background:var(--surface);border-block:1px solid var(--line)}
.steps{display:grid;gap:var(--s3)}
.step{display:grid;grid-template-columns:auto 1fr;column-gap:var(--s2);align-items:baseline;padding:var(--s2);border-radius:var(--r-lg);background:var(--paper)}
.step__num{grid-row:span 2;font-family:var(--serif);font-style:italic;font-size:clamp(4rem,3rem + 4vw,7rem);line-height:.8;color:var(--brand-text)}
.step:nth-child(2) .step__num{color:var(--accent-text)}
.step__title{margin:0 0 var(--s0);font-size:var(--t-xl);font-weight:800;letter-spacing:-.03em}
.step__text{margin:0;color:var(--muted)}
@media (min-width:700px){.steps{grid-template-columns:repeat(3,1fr);gap:var(--s2)} .step{display:block;padding:var(--s3) var(--s2) var(--s2)} .step__num{display:block;margin-bottom:var(--s2)}}
/* About */
.about{display:grid;gap:var(--s3)}
.about__photo{margin:0;aspect-ratio:4 / 3;border-radius:var(--r-xl)}
.about__initial{position:relative;font-size:clamp(7rem,40cqi,16rem);font-weight:800;line-height:.8;letter-spacing:-.06em}
.about__tag{order:0;margin:var(--s1) 0 0;font-size:clamp(1.1rem,5cqi,1.75rem);line-height:1.2}
@media (min-width:1000px){.about{grid-template-columns:1fr 1fr;column-gap:var(--s5);align-items:start} .about__photo{position:sticky;top:96px;grid-row:span 2;aspect-ratio:4 / 5}}
.prose{font-size:var(--t-lg);line-height:1.6}
.prose p,.prose ul{margin:0 0 1em}
.prose ul{padding-left:1.2em}
.about__text .section__title{margin-bottom:var(--s3);font-size:var(--t-3xl)}
.about__text .prose{max-width:60ch;font-size:var(--t-xl);line-height:1.45;letter-spacing:-.01em}
.delivery{padding:var(--s3);border-radius:var(--r-lg);background:var(--ink);color:var(--paper)}
.delivery__title{display:flex;align-items:center;gap:10px;margin:0 0 var(--s2);font-size:var(--t-xl);letter-spacing:-.02em}
.delivery .zones li{border-color:color-mix(in srgb,var(--paper) 14%,transparent)}
.delivery__note{margin:var(--s1) 0 0;color:var(--on-ink-muted);font-size:var(--t-sm)}
.delivery .btn{margin-top:var(--s3)}
.zones li{display:flex;justify-content:space-between;gap:var(--s1);padding:12px 0;border-bottom:1px solid var(--line)}
.zones__fee{font-weight:700;white-space:nowrap}
/* Steps count, FAQ, banner, video, contact */
@media (min-width:700px){.steps--1{grid-template-columns:1fr} .steps--2{grid-template-columns:1fr 1fr} .steps--4{grid-template-columns:repeat(4,1fr)}}
.faq{max-width:880px}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{display:flex;justify-content:space-between;gap:var(--s1);min-height:56px;padding:var(--s1) 0;cursor:pointer;list-style:none;font-size:var(--t-lg);font-weight:700}
.faq__item summary::after{content:"+";flex:none;color:var(--brand-text);font-size:1.4em;line-height:1}
.faq__item[open] summary::after{content:"−"}
.faq__item .prose{padding-bottom:var(--s1);color:var(--muted)}
.banner{background:var(--bn,var(--brand));color:var(--bn-ink,var(--brand-ink))}
.banner__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s1) var(--s2);padding-block:var(--s2);text-align:center}
.banner__text{margin:0;font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.banner__text em{font-family:var(--serif);font-weight:400}
.banner__link{--bg:var(--bn-ink,var(--brand-ink));--fg:var(--bn,var(--brand))}
.video{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-radius:var(--r-lg);background:var(--ink)}
.video__el{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.video__text{max-width:60ch;margin-top:var(--s2)}
.section--contact{background:var(--surface);border-top:1px solid var(--line)}
.contact{display:grid;gap:var(--s3);align-items:center}
.contact__text{margin:var(--s1) 0 0;max-width:46ch;color:var(--muted);font-size:var(--t-lg)}
.contact__actions{display:flex;flex-wrap:wrap;gap:var(--s1)}
@media (min-width:1000px){.contact{grid-template-columns:1.2fr 1fr} .contact__actions{justify-content:flex-end}}
.btn--call span{display:grid;text-align:left;line-height:1.15}
.btn--call small{font-size:var(--t-xs);opacity:.75}
.ask{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s0);margin-top:12px}
.ask__q{flex:1 1 100%;color:var(--muted);font-size:var(--t-sm);font-weight:600}
.ask__btn{min-height:44px;font-size:var(--t-sm)}
.bar__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (min-width:1000px){.bar__icon:has(.bar__label){display:flex;width:auto;gap:6px;text-decoration:none;padding:0 14px;border-radius:var(--pill);font-size:var(--t-sm);font-weight:700} .bar__label{position:static;width:auto;height:auto}}
/* Footer */
.foot{overflow:hidden;padding:var(--s3) 0 var(--s4);background:var(--ink);color:var(--paper)}
.has-cart .foot{padding-bottom:calc(var(--s5) + 72px)}
.foot .wrap{container-type:inline-size}
.foot__big{margin:0 0 var(--s4);font-size:clamp(3rem,1rem + 12vw,11rem);font-size:min(clamp(3rem,1rem + 12vw,11rem),100cqi / (var(--fw,8) * var(--fk,.62)));font-weight:800;line-height:.88;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--paper) 35%,transparent);overflow-wrap:break-word;text-wrap:balance}
.foot__row{display:grid;gap:var(--s3)}
@media (min-width:700px){.foot__row{grid-template-columns:1fr auto;align-items:end}}
.foot__name{margin:0;font-size:var(--t-xl);font-weight:800;letter-spacing:-.02em}
.foot__tag{margin:4px 0 0;color:var(--on-ink-muted)}
.socials{display:flex;flex-wrap:wrap;gap:var(--s0)}
.social{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 var(--s1);border-radius:var(--pill);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--paper) 22%,transparent);font-weight:600;font-size:var(--t-sm);text-decoration:none;transition:background-color var(--m),color var(--m)}
.social:hover{background:var(--paper);color:var(--ink)}
.foot__fine{margin:var(--s4) 0 0;color:var(--on-ink-muted);font-size:var(--t-xs)}
.foot__fine a{display:inline-block;padding:13px 0;color:var(--paper);font-weight:700;text-underline-offset:3px}
/* Cart pill, flight, toast */
.pill{position:fixed;z-index:45;left:50%;bottom:max(16px,env(safe-area-inset-bottom));display:flex !important;align-items:center;gap:12px;width:min(calc(100% - 32px),420px);min-height:60px;padding:6px 8px 6px 10px;border:0;border-radius:var(--pill);background:var(--ink);color:var(--paper);box-shadow:0 10px 30px -8px rgb(0 0 0 / .45);transform:translate(-50%,0);transition:transform 320ms var(--spring),opacity var(--m)}
.pill[hidden]{transform:translate(-50%,140%);opacity:0;pointer-events:none}
.pill.is-bump{animation:bump 520ms var(--spring)}
@keyframes bump{30%{transform:translate(-50%,0) scale(1.07)} 60%{transform:translate(-50%,0) scale(.97)}}
.pill__icon,.pill__go{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--brand);color:var(--brand-ink)}
.pill__go{background:color-mix(in srgb,var(--paper) 12%,transparent);color:inherit}
.pill__count{top:-4px;right:-4px;transform:none}
.pill__label{font-weight:700}
.pill__total{margin-left:auto;font-weight:800}
@media (min-width:1100px){.pill{left:auto;right:var(--gutter);width:360px;transform:none} .pill[hidden]{transform:translateY(140%)} .pill.is-bump{animation-name:bump-d}}
@keyframes bump-d{30%{transform:scale(1.06)} 60%{transform:scale(.98)}}
.fly{position:fixed;z-index:70;overflow:hidden;border-radius:18px;box-shadow:var(--sh2);pointer-events:none}
.fly>*{width:100%;height:100%}
.fly .poster__name{font-size:18px}
.toast{position:fixed;z-index:80;left:50%;top:76px;max-width:calc(100% - 32px);padding:10px 18px;border-radius:var(--pill);background:var(--ink);color:var(--paper);font-weight:600;font-size:var(--t-sm);text-align:center;box-shadow:var(--sh2);opacity:0;pointer-events:none;transform:translate(-50%,-20px);transition:opacity var(--m),transform var(--m)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
/* Sheets */
.sheet{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;background:none;color:var(--ink);overflow:hidden}
.sheet::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--m)}
.sheet[open]{display:flex;align-items:flex-end}
.sheet__panel{display:flex;flex-direction:column;width:100%;max-height:92svh;margin-top:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--paper);box-shadow:0 -20px 60px -20px rgb(0 0 0 / .4),0 60px 0 var(--surface);animation:sheet-up 420ms cubic-bezier(.3,1.3,.5,1)}
.sheet.is-closing .sheet__panel{animation:sheet-down 220ms var(--ease) forwards}
.sheet.is-closing::backdrop{opacity:0;transition:opacity 220ms}
@keyframes sheet-up{from{transform:translateY(100%)}}
@keyframes sheet-down{to{transform:translateY(100%)}}
@keyframes fade-in{from{opacity:0}}
.sheet__grip{width:44px;height:5px;margin:10px auto 0;border-radius:3px;background:var(--line)}
.sheet__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s1);padding:var(--s1) var(--s2)}
.sheet__head .eyebrow{margin-bottom:4px}
.sheet__title{margin:0;font-size:var(--t-xl);font-weight:800;letter-spacing:-.03em}
.sheet__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--s2) var(--s1)}
.sheet__foot{padding:12px var(--s2) max(var(--s1),env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.sheet--form .sum>div:not(.sum__total){padding:0;font-size:var(--t-sm)}
.sheet--form .sum__total{margin-top:4px;padding-top:6px !important}
@media (min-width:900px){
.sheet[open]{justify-content:flex-end;align-items:stretch}
.sheet__panel{width:460px;height:100%;max-height:none;margin:0;border-radius:var(--r-xl) 0 0 var(--r-xl);animation-name:sheet-in}
.sheet.is-closing .sheet__panel{animation-name:sheet-out}
.sheet__grip{display:none}
.sheet__head{padding-top:var(--s3)}
}
@keyframes sheet-in{from{transform:translateX(100%)}}
@keyframes sheet-out{to{transform:translateX(100%)}}
/* Cart lines */
.line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);animation:fade var(--m)}
.line__media{position:relative;width:64px;height:76px;overflow:hidden;border-radius:14px;background:var(--brand-soft)}
.line__media img{width:100%;height:100%;object-fit:cover}
.line__media .poster{padding:8px}
.line__media .poster__name{font-size:12px}
.line__name{display:block;margin:0 0 6px;font-weight:700;line-height:1.2}
.line__side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.line__price{font-weight:800;white-space:nowrap}
.line__remove{margin-right:-10px;color:var(--muted)}
.line__remove:hover{color:var(--ink)}
.line__remove .ico,.mini-stepper .ico{width:16px;height:16px}
.mini-stepper{display:inline-flex;align-items:center;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.mini-stepper button[disabled]{opacity:.35}
.mini-stepper span{min-width:24px;text-align:center;font-weight:700}
/* Empty cart + three products to add */
.empty{padding:var(--s3) 0;text-align:center}
.empty--page{padding:var(--s5) var(--s2);border-radius:var(--r-lg);background:var(--surface)}
.empty__icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto var(--s2);border-radius:50%;background:var(--brand-soft);color:var(--soft-text)}
.empty__icon .ico{width:32px;height:32px}
.empty__title{margin:0 0 var(--s2);font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em}
.empty__text{margin:-20px 0 var(--s2);color:var(--muted)}
.picks{margin-bottom:var(--s3);text-align:left}
.pick__add{background:var(--ink);color:var(--paper)}
.progress{margin:0 0 var(--s1)}
.progress__text{margin:0 0 var(--s0);font-size:var(--t-sm);font-weight:600}
.progress__bar{display:block;height:8px;overflow:hidden;border-radius:4px;background:var(--brand-soft)}
.progress__bar>span{display:block;height:100%;border-radius:inherit;background:var(--brand);transform-origin:left;transition:transform var(--l)}
/* Sums */
.sum{margin:0 0 var(--s1)}
.sum>div{display:flex;justify-content:space-between;gap:var(--s1);padding:4px 0}
.sum dt{color:var(--muted)}
.sum dd{margin:0;font-weight:700}
.sum__muted dd{color:var(--muted);font-weight:500}
.sum__total{margin-top:6px;padding-top:10px !important;border-top:1px dashed var(--line);font-size:var(--t-lg)}
.sum__total dt{color:var(--ink);font-weight:700}
.sum__total dd{font-weight:800}
.notice{margin:0 0 var(--s1);padding:10px 14px;border-radius:var(--r-sm);background:var(--brand-soft);font-size:var(--t-sm);font-weight:600}
.fine{margin:10px 0 0;color:var(--muted);font-size:var(--t-xs);text-align:center}
.fine--left{text-align:left}
/* Form */
.form .field{margin-bottom:var(--s2)}
.form label,.zones-pick legend{display:block;margin-bottom:6px;padding:0;font-weight:700;font-size:var(--t-sm)}
.field__hint{font-weight:400;color:var(--muted)}
.form input:is([type="text"],[type="tel"],[type="email"],[type="date"],[type="time"]),.form textarea{width:100%;min-height:54px;padding:12px 16px;border:0;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-size:16px;transition:box-shadow var(--q);-webkit-appearance:none;appearance:none}
.form textarea{min-height:80px;resize:vertical}
.form input:hover,.form textarea:hover{box-shadow:inset 0 0 0 1.5px var(--muted)}
.form input:focus,.form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink),0 0 0 4px color-mix(in srgb,var(--brand) 25%,transparent)}
.form [aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--danger) !important}
.field.is-ok input{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--brand-text) 55%,var(--line))}
.field.is-ok>label::after{content:"✓";margin-left:6px;color:var(--brand-text);font-weight:800}
.zones-pick{margin:0 0 var(--s2);padding:0;border:0}
.form .zone-opt{display:flex;align-items:center;gap:12px;min-height:56px;margin:0 0 var(--s0);padding:10px 16px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:var(--t-md);line-height:1.25;cursor:pointer;transition:box-shadow var(--q),background-color var(--q)}
.zone-opt input,.consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--brand-text)}
.form .zone-opt:has(:checked){background:var(--brand-soft);box-shadow:inset 0 0 0 2px var(--soft-text)}
.zone-opt__name{flex:1;min-width:0}
.zone-opt__fee{font-weight:800;white-space:nowrap}
.zones-pick[aria-invalid="true"]{box-shadow:none !important}
.zones-pick[aria-invalid="true"] .zone-opt{box-shadow:inset 0 0 0 1.5px var(--danger)}
.field__err{margin:6px 0 0;color:var(--danger);font-size:var(--t-sm);font-weight:600;line-height:1.35;animation:fade var(--m)}
.field__err:empty{display:none}
.field__err--block{padding:10px 14px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 9%,var(--paper))}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.more{margin:0 0 var(--s2)}
.more summary,.legal summary{cursor:pointer;color:var(--brand-text);font-weight:700;font-size:var(--t-sm);list-style:none}
.more summary::-webkit-details-marker,.faq__item summary::-webkit-details-marker{display:none}
.more summary::before{content:"+ "}
.more[open] summary::before{content:"− "}
.more[open] summary{margin-bottom:var(--s1)}
/* « Préciser la livraison » */
.more--fold summary{color:var(--muted);font-weight:600}
.more--fold summary::before,.more--fold[open] summary::before{content:none}
.more--fold summary::after{content:"▸";margin-left:6px;transition:transform var(--q)}
.more--fold[open] summary::after{transform:rotate(90deg)}
.precise{display:grid;gap:var(--s2);padding:var(--s1);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.precise__row{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.form .precise__label{margin:0;padding:0;font-weight:700;font-size:var(--t-sm)}
.precise__ok{margin:0;color:var(--wa);font-weight:700;font-size:var(--t-sm)}
.precise__ok .link{padding:0 4px;border:0;background:none}
.precise__fine{margin:0;color:var(--muted);font-size:var(--t-xs)}
.precise__pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.precise__pair input{min-width:0}
.form .precise :is(input,textarea){background:var(--paper)}
.form .precise__check{display:flex;gap:10px;align-items:center;margin:0;font-weight:600}
.precise__check input{width:22px;height:22px;flex:none;accent-color:var(--ink)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.form .seg label{position:relative;margin:0;font-weight:600}
.seg input{position:absolute;opacity:0}
.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--pill);background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line)}
.seg input:checked+span{background:var(--ink);color:var(--paper);box-shadow:none}
.seg input:focus-visible+span{box-shadow:var(--focus)}
.form .consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.45}
.legal{margin-top:4px;color:var(--muted);font-size:var(--t-xs)}
.legal summary{display:inline-block;padding:12px 0;font-size:inherit}
.more summary{display:flex;align-items:center;min-height:44px}
/* Product page */
.crumbs{display:flex;gap:8px;padding-block:8px;color:var(--muted);font-size:var(--t-sm)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;margin-block:-11px;color:var(--brand-text);font-weight:700;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pdp{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding-bottom:var(--s5)}
.pdp>*{min-width:0}
@media (min-width:1000px){.pdp{grid-template-columns:1.1fr .9fr;gap:var(--s5);align-items:start} .pdp__info{position:sticky;top:88px}}
.pdp__gallery{position:relative;margin:0 var(--edge);overflow:hidden}
.gallery{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.gallery__slide{flex:0 0 100%;margin:0;aspect-ratio:1;scroll-snap-align:center}
@media (min-width:700px){.pdp__gallery{margin:0;border-radius:var(--r-xl)} .gallery__slide{aspect-ratio:4 / 5}}
@media (min-width:1000px){.gallery__slide{aspect-ratio:1 / 1.05}}
.pdp__tag{position:absolute;z-index:1;left:var(--s1);top:var(--s1)}
.gallery .poster__name{font-size:clamp(2.5rem,13cqi,7rem)}
.gallery .poster--has-cat .poster__name{display:none}
.gallery .poster--has-cat .poster__cat{order:0;margin:auto 0 0;font-size:clamp(4rem,22cqi,11rem);line-height:.9;opacity:1}
.dots{position:absolute;inset:auto 0 14px;display:flex;justify-content:center;gap:6px}
.dots__dot{width:8px;height:8px;border-radius:4px;background:color-mix(in srgb,var(--paper) 60%,transparent);box-shadow:0 0 0 1px rgb(0 0 0 / .15);transition:width var(--m),background-color var(--m)}
.dots__dot.is-on{width:24px;background:var(--paper)}
.pdp .eyebrow{margin-bottom:var(--s0)}
.pdp__title{margin:0;font-size:clamp(2.25rem,1.4rem + 4.4vw,5rem);font-weight:800;line-height:.9;letter-spacing:-.05em;text-wrap:balance}
.pdp__pitch{margin:0 0 12px;font-family:var(--serif);font-style:italic;font-size:var(--t-xl);line-height:1.25;color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.section--related{padding-top:0}
/* Product page sections (details) */
.acc{margin-top:var(--s3);border-top:1px solid var(--line);interpolate-size:allow-keywords}
.acc__item{border-bottom:1px solid var(--line)}
.acc__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s1);min-height:56px;cursor:pointer;list-style:none}
.acc__head::-webkit-details-marker{display:none}
.acc__title{margin:0;font-size:var(--t-lg);font-weight:700;letter-spacing:-.01em}
.acc__head .ico{transition:transform var(--m)}
.acc__item[open] .acc__head .ico{transform:rotate(180deg)}
.acc__item::details-content{block-size:0;overflow:clip;transition:block-size var(--m),content-visibility var(--m) allow-discrete}
.acc__item[open]::details-content{block-size:auto}
.acc__body{padding:0 0 var(--s2);color:color-mix(in srgb,var(--ink) 88%,transparent)}
.acc__body .prose,.acc__body.prose{font-size:var(--t-md)}
.acc__note{margin:var(--s1) 0 0;color:var(--muted);font-size:var(--t-sm)}
/* Pack composition */
.pack{margin:0 0 var(--s3);padding:var(--s2);border-radius:var(--r-lg);background:var(--brand-soft)}
.pack__title{display:flex;justify-content:space-between;gap:var(--s1);margin:0 0 var(--s1);font-size:var(--t-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--soft-text)}
.pack__count{color:var(--soft-muted);letter-spacing:.04em}
.pack__list{display:grid;gap:var(--s0)}
.pack__list li{display:flex;align-items:center;gap:12px;min-height:56px;padding:var(--s0) var(--s1) var(--s0) var(--s0);border-radius:var(--r-md);background:var(--surface);font-weight:600;line-height:1.25}
.pack__qty{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--brand);color:var(--brand-ink);font-weight:800}
.pack__deal{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s1);margin:var(--s1) 0 0;color:var(--soft-muted);font-size:var(--t-sm)}
.pack__deal strong{color:var(--ink);font-size:var(--t-lg);letter-spacing:-.02em}
/* Buy bar (under 1000 px) */
.buy{display:flex;align-items:center;gap:var(--s0);margin-bottom:var(--s0)}
.buy__add{flex:1;min-width:0;padding:0 var(--s2)}
.buy__price,.buy__short{display:none}
.buy__end{display:block;height:1px}
@media (max-width:999px){
.buy{position:sticky;z-index:35;bottom:0;margin:0 var(--edge) var(--s0);padding:var(--s0) var(--gutter);transition:background-color var(--m),box-shadow var(--m)}
.buy.is-stuck{padding-bottom:max(var(--s0),env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -1px 0 var(--line),0 -16px 40px -24px rgb(0 0 0 / .35)}
.buy.is-stuck .buy__price{display:block;flex:none;margin:0 4px 0 0;font-size:var(--t-lg);font-weight:800;letter-spacing:-.03em;white-space:nowrap;animation:fade var(--m)}
.buy.is-stuck .stepper,.buy.is-stuck .buy__add{min-height:52px}
.buy.is-stuck .stepper__input{width:28px}
.buy.is-stuck .buy__add{padding:0 var(--s1)}
.buy.is-stuck .buy__long{display:none}
.buy.is-stuck .buy__short{display:inline}
.page-product.has-buybar .pill{display:none !important}
}
.stepper{display:inline-flex;align-items:center;flex:none;min-height:60px;padding:0 4px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.stepper__input{width:36px;border:0;background:none;text-align:center;font-weight:800;font-size:var(--t-lg);-moz-appearance:textfield}
.stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Reveal (JS), reduced motion */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity var(--l),transform var(--l);transition-delay:calc(var(--i,0) * 60ms)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; animation-delay: 0ms !important; transition-duration: 1ms !important; transition-delay: 0ms !important; }
.js .reveal{opacity:1;transform:none}
.marquee__track,.blob{animation:none}
.marquee{overflow-x:auto}
}
.bar__link--pro{display:inline-flex;padding:10px}
@media (min-width:1000px){.bar__short{display:none}}
