:root{
    --navy:#1E2A3B;
    --navy-deep:#141d29;
    --cream:#F1E6CC;
    --paper:#FBF8F0;
    --gold:#B8863A;
    --gold-soft:#DDB570;
    --gold-text:#805B23;
    --burgundy:#8F2439;
    --ink:#20293A;
    --ink-soft:#5B6270;
    --cream-ink:#F5EEDC;
    --rule:rgba(184,134,58,.35);
    --footer-link:#9C9581;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Work Sans",Arial,sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  h1,h2,h3{
    font-family:"Bitter",Georgia,"Times New Roman",serif;
    font-weight:600;
    text-wrap:balance;
    margin:0;
    color:var(--navy);
  }
  p{margin:0;line-height:1.75;font-weight:300;}
  a{color:inherit;}
  .eyebrow{
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:.68rem;
    color:var(--gold-text);
  }
  .wrap{
    max-width:1080px;
    margin:0 auto;
    padding-inline:32px;
  }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(30,42,59,.97);
    backdrop-filter:blur(6px);
  }
  .nav-inner{
    max-width:1080px;
    margin:0 auto;
    padding:16px 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    gap:16px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:11px;
    font-family:"Bitter",serif;
    font-weight:600;
    font-size:1.05rem;
    letter-spacing:.02em;
    color:var(--cream-ink);
    text-decoration:none;
  }
  .brand img{width:30px;height:30px;border-radius:50%;}
  .nav-links{
    display:flex;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--navy-deep);
    flex-direction:column;
    align-items:stretch;
    padding:0 28px;
    box-shadow:0 12px 24px rgba(0,0,0,.25);
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .28s ease, opacity .2s ease, padding .28s ease;
  }
  .nav-links.nav-open{
    max-height:640px;
    opacity:1;
    visibility:visible;
    padding:14px 28px 18px;
  }
  .nav-links .nav-group{
    display:block;
    font-family:"Work Sans",sans-serif;
    font-size:.62rem;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gold-soft);
    opacity:.8;
    margin:18px 0 4px;
  }
  .nav-links .nav-group:first-child{margin-top:4px;}
  .nav-links a{
    display:block;
    color:#DCD6C4;
    text-decoration:none;
    font-size:.86rem;
    letter-spacing:.015em;
    font-weight:300;
    padding:12px 2px;
    border-bottom:1px solid rgba(245,238,220,.1);
    transition:color .15s, padding-left .15s;
  }
  .nav-links a:last-child{border-bottom:none;}
  .nav-links a:hover,
  .nav-links a:focus-visible{color:var(--gold-soft);padding-left:7px;}
  .nav-links a.nav-cta{
    display:block;
    color:var(--navy-deep);
    background:var(--gold);
    border:none;
    border-radius:3px;
    padding:12px 14px;
    text-align:center;
    font-weight:500;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.78rem;
    margin:2px 0 6px;
  }
  .nav-links a.nav-cta:hover,
  .nav-links a.nav-cta:focus-visible{color:var(--navy-deep);background:var(--gold-soft);padding-left:14px;}
  .nav-toggle{
    display:flex;
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:34px;
    height:34px;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
  }
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--cream-ink);border-radius:1px;transition:transform .22s ease, opacity .18s ease;}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media (prefers-reduced-motion:reduce){
    .nav-links{transition:none;}
    .nav-toggle span{transition:none;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:var(--navy);
    color:var(--cream-ink);
    overflow:hidden;
    min-height:92vh;
    display:flex;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background-size:cover;
    background-position:center 30%;
    opacity:0;
    animation:heroFade 24s infinite both;
  }
  .hero-bg-1{background-image:url("images/campaign-blonde-landscape.jpg");animation-delay:0s;}
  .hero-bg-2{background-image:url("images/campaign-triple-landscape.jpg");animation-delay:6s;}
  .hero-bg-3{background-image:url("images/campaign-sour-landscape.jpg");animation-delay:12s;}
  .hero-bg-4{background-image:url("images/campaign-trio-landscape.jpg");animation-delay:18s;}
  @supports (background-image:image-set(url("images/campaign-blonde-landscape.webp") type("image/webp"))){
    .hero-bg-1{background-image:image-set(url("images/campaign-blonde-landscape.webp") type("image/webp"), url("images/campaign-blonde-landscape.jpg") type("image/jpeg"));}
    .hero-bg-2{background-image:image-set(url("images/campaign-triple-landscape.webp") type("image/webp"), url("images/campaign-triple-landscape.jpg") type("image/jpeg"));}
    .hero-bg-3{background-image:image-set(url("images/campaign-sour-landscape.webp") type("image/webp"), url("images/campaign-sour-landscape.jpg") type("image/jpeg"));}
    .hero-bg-4{background-image:image-set(url("images/campaign-trio-landscape.webp") type("image/webp"), url("images/campaign-trio-landscape.jpg") type("image/jpeg"));}
  }
  @keyframes heroFade{
    0%{opacity:0;}
    8%{opacity:1;}
    33%{opacity:1;}
    41%{opacity:0;}
    100%{opacity:0;}
  }
  @media (prefers-reduced-motion:reduce){
    .hero-bg{animation:none;opacity:0;}
    .hero-bg-1{opacity:1;}
  }
  @media (max-width:700px){
    .hero-bg-1{background-image:url("images/campaign-blonde-portrait.jpg");}
    .hero-bg-2{background-image:url("images/campaign-triple-portrait.jpg");}
    .hero-bg-3{background-image:url("images/campaign-sour-portrait.jpg");}
    .hero-bg-4{background-image:url("images/campaign-trio-portrait.jpg");}
    @supports (background-image:image-set(url("images/campaign-blonde-portrait.webp") type("image/webp"))){
      .hero-bg-1{background-image:image-set(url("images/campaign-blonde-portrait.webp") type("image/webp"), url("images/campaign-blonde-portrait.jpg") type("image/jpeg"));}
      .hero-bg-2{background-image:image-set(url("images/campaign-triple-portrait.webp") type("image/webp"), url("images/campaign-triple-portrait.jpg") type("image/jpeg"));}
      .hero-bg-3{background-image:image-set(url("images/campaign-sour-portrait.webp") type("image/webp"), url("images/campaign-sour-portrait.jpg") type("image/jpeg"));}
      .hero-bg-4{background-image:image-set(url("images/campaign-trio-portrait.webp") type("image/webp"), url("images/campaign-trio-portrait.jpg") type("image/jpeg"));}
    }
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg, rgba(20,29,41,.45) 0%, rgba(20,29,41,.6) 50%, rgba(20,29,41,.96) 100%);
  }
  .hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    align-self:flex-end;
    padding:120px 32px 76px;
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .hero .eyebrow{color:var(--gold-soft);}
  .hero h1{
    margin-top:16px;
    font-size:clamp(2rem,4.4vw,3.1rem);
    line-height:1.02;
    letter-spacing:-.01em;
    color:#fff;
    font-weight:600;
  }
  .hero p.lede{
    margin:18px auto 0;
    max-width:42ch;
    color:#DDD6C2;
    font-size:1.02rem;
    font-weight:300;
  }
  .cta-row{
    margin-top:34px;
    display:flex;
    gap:28px;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
  }
  .btn{
    display:inline-block;
    padding:14px 30px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.82rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    text-decoration:none;
  }
  .btn-gold{background:var(--gold-soft);color:var(--navy-deep);position:relative;overflow:hidden;}
  .btn-gold:hover{background:#EAC688;}
  .btn-gold::after{
    content:"";
    position:absolute;
    top:0;left:-60%;
    width:40%;height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,.6), transparent);
    transform:skewX(-20deg);
    transition:left .65s ease;
    pointer-events:none;
  }
  .btn-gold:hover::after{left:120%;}
  @media (prefers-reduced-motion:reduce){
    .btn-gold::after{transition:none;display:none;}
  }
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--rule);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-text);}
  .link-arrow{
    color:var(--cream-ink);
    border-bottom:1px solid rgba(245,238,220,.45);
    padding-bottom:3px;
    font-size:.82rem;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .link-arrow:hover{border-color:var(--gold-soft);color:var(--gold-soft);}

  /* ---------- SECTION SHELLS ---------- */
  section{padding:104px 0;}
  .band-navy{background:var(--navy);color:var(--cream-ink);}
  .hr-gold{
    width:56px;
    height:1px;
    background:var(--gold);
    margin:0 auto;
  }

  .section-head{
    max-width:600px;
    margin:0 auto 64px;
    text-align:center;
  }
  .section-head .eyebrow{display:block;margin-bottom:16px;}
  .section-head h1, .section-head h2{font-size:clamp(1.7rem,3.4vw,2.15rem);}
  .section-head p{margin-top:18px;color:var(--ink-soft);font-size:1.02rem;}

  /* ---------- BEER SCROLLER ---------- */
  .beer-scroller-wrap{position:relative;}
  .beer-scroller{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .beer-scroller::-webkit-scrollbar{display:none;}
  .beer-slide{
    flex:0 0 100%;
    scroll-snap-align:center;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:64px;
    min-height:440px;
    padding:20px 60px;
    overflow:hidden;
  }
  .beer-slide .glow{
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse 55% 60% at 34% 50%, var(--slide-accent) 0%, transparent 70%);
    opacity:.16;
    pointer-events:none;
  }
  .beer-slide .shot-wrap{
    position:relative;
    flex:0 0 auto;
    z-index:1;
  }
  .beer-slide .shot-wrap img{
    height:360px;
    width:auto;
    filter:drop-shadow(0 28px 20px rgba(20,29,41,.25));
    transform:rotate(var(--base-tilt, -3deg));
    transform-origin:bottom center;
    will-change:transform;
  }
  .beer-slide .shot-wrap::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-10px;
    width:64%;
    height:20px;
    background:radial-gradient(ellipse, rgba(20,29,41,.32) 0%, transparent 72%);
    transform:translateX(-50%);
    filter:blur(1px);
  }
  .beer-slide .text{
    position:relative;
    z-index:1;
    max-width:300px;
    text-align:left;
  }
  .beer-slide .style{
    font-family:"Bitter",serif;
    font-style:italic;
    font-weight:400;
    color:var(--slide-accent);
    font-size:1.05rem;
  }
  .beer-slide h3{margin-top:6px;font-size:1.7rem;}
  .beer-slide .abv{
    display:inline-block;
    margin-top:12px;
    font-family:"Work Sans",sans-serif;
    letter-spacing:.14em;
    font-size:.72rem;
    color:var(--ink-soft);
    text-transform:uppercase;
  }
  .beer-slide .desc{margin-top:18px;font-size:.95rem;color:var(--ink-soft);}
  .beer-slide .ingr{
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid var(--rule);
    font-size:.68rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#9A9683;
  }
  .slide-blonde{--slide-accent:#A5772B;}
  .slide-triple{--slide-accent:#3C4A63;}
  .slide-sour{--slide-accent:var(--burgundy);}
  @media (max-width:700px){
    .beer-slide{flex-direction:column;gap:28px;padding:8px 32px 20px;text-align:center;}
    .beer-slide .text{text-align:center;max-width:34ch;}
    .beer-slide .shot-wrap img{height:300px;}
  }

  .scroll-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;height:42px;
    border-radius:50%;
    border:1px solid var(--rule);
    background:var(--paper);
    color:var(--navy);
    font-size:1.2rem;
    line-height:1;
    cursor:pointer;
    z-index:2;
  }
  .scroll-btn:hover{border-color:var(--gold);color:var(--gold);}
  .scroll-btn.prev{left:-4px;}
  .scroll-btn.next{right:-4px;}
  @media (max-width:900px){.scroll-btn{display:none;}}

  .dots{
    margin-top:28px;
    display:flex;
    justify-content:center;
    gap:9px;
  }
  .dot{
    width:7px;height:7px;
    border-radius:50%;
    background:var(--rule);
    cursor:pointer;
  }
  .dot.active{background:var(--gold);}

  /* ---------- BREWER ---------- */
  .brewer-text{max-width:640px;margin:0 auto;text-align:center;}
  .brewer-text p{margin-top:18px;color:var(--ink-soft);font-size:1.02rem;}

  /* ---------- PRO SECTION ---------- */
  .pro-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
  }
  @media (max-width:900px){
    .pro-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .pro-grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto;}
  }
  .pro-item{
    padding:40px 34px;
    border-right:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
  }
  @media (min-width:901px){
    .pro-item:nth-child(4n){border-right:none;}
    .pro-item:nth-last-child(-n+4){border-bottom:none;}
  }
  @media (max-width:900px) and (min-width:561px){
    .pro-item:nth-child(2n){border-right:none;}
    .pro-item:nth-last-child(-n+2){border-bottom:none;}
  }
  @media (max-width:560px){
    .pro-item{border-right:none;}
    .pro-item:last-child{border-bottom:none;}
  }
  .pro-item .num{
    font-family:"Bitter",serif;
    font-weight:600;
    font-size:1.4rem;
    color:var(--burgundy);
  }
  .pro-item h3{
    margin-top:10px;
    font-size:1.02rem;
  }
  .pro-item p{margin-top:10px;font-size:.9rem;color:var(--ink-soft);}
  .pro-cta{
    margin-top:52px;
    text-align:center;
  }
  .pro-cta p{color:var(--ink-soft);margin-bottom:22px;font-size:1.02rem;}

  /* ---------- EVENT CALLOUT ---------- */
  .event-callout{
    max-width:640px;
    margin:0 auto 56px;
    text-align:center;
    padding:22px 28px;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
  }
  .event-callout p{color:var(--ink-soft);font-size:.96rem;}
  .event-callout strong{color:var(--ink);font-weight:500;}

  /* ---------- ORDER FORMS ---------- */
  .order-form{max-width:640px;margin:40px auto 0;}
  .order-form h2, .order-form h3{
    font-size:1.02rem;
    margin-bottom:20px;
    text-align:center;
  }
  .qty-list{margin-bottom:28px;}
  .qty-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 0;
    border-bottom:1px solid var(--rule);
  }
  .qty-row .name{
    font-family:"Bitter",serif;
    font-weight:500;
    font-size:1rem;
  }
  .qty-row .price{
    display:block;
    margin-top:2px;
    font-size:.76rem;
    color:var(--ink-soft);
  }
  .qty-row .stepper{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .qty-row input[type=number]{
    width:52px;
    text-align:center;
    border:1px solid var(--rule);
    background:var(--paper);
    padding:8px 4px;
    font-family:"Work Sans",sans-serif;
    font-size:.92rem;
    color:var(--ink);
    -moz-appearance:textfield;
  }
  .order-total{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    padding-top:4px;
    font-family:"Bitter",serif;
    font-size:1.15rem;
    color:var(--navy);
  }
  .order-total span:last-child{color:var(--burgundy);font-weight:600;}
  .field-row{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:20px;
  }
  .field{
    flex:1 1 220px;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .field label{
    font-family:"Work Sans",sans-serif;
    font-size:.7rem;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .field input, .field select{
    border:none;
    border-bottom:1px solid var(--rule);
    background:transparent;
    padding:9px 2px;
    font-family:"Work Sans",sans-serif;
    font-size:.95rem;
    color:var(--ink);
    border-radius:0;
  }
  .field input:focus, .field select:focus{outline:none;border-color:var(--gold);}
  .radio-group{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    padding:6px 0 2px;
  }
  .radio-group label{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:.92rem;
    color:var(--ink);
    cursor:pointer;
  }
  .order-note{
    font-size:.82rem;
    color:var(--ink-soft);
    margin:6px 0 24px;
    line-height:1.6;
  }
  .order-submit{
    display:block;
    width:100%;
    margin-top:8px;
    background:var(--gold);
    color:#fff;
    border:none;
    padding:15px 30px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.82rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    cursor:pointer;
  }
  .order-submit:hover{background:var(--burgundy);}
  .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  @media (max-width:480px){
    .field-row{gap:16px;}
  }

  /* ---------- CHIP GROUP (choix multiples) ---------- */
  .chip-group{display:flex;flex-wrap:wrap;gap:10px;padding:6px 0 2px;}
  .chip{position:relative;display:inline-flex;}
  .chip input{
    position:absolute;
    inset:0;
    opacity:0;
    margin:0;
    cursor:pointer;
  }
  .chip span{
    display:inline-flex;
    align-items:center;
    padding:10px 20px;
    border:1px solid var(--rule);
    border-radius:999px;
    font-family:"Work Sans",sans-serif;
    font-size:.86rem;
    color:var(--ink-soft);
    transition:background .2s ease, border-color .2s ease, color .2s ease;
    cursor:pointer;
  }
  .chip input:checked + span{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
  .chip input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px;}

  /* ---------- FIELD (textarea) ---------- */
  .field textarea{
    border:1px solid var(--rule);
    background:transparent;
    padding:12px;
    font-family:"Work Sans",sans-serif;
    font-size:.95rem;
    color:var(--ink);
    border-radius:0;
    resize:vertical;
    min-height:100px;
  }
  .field textarea:focus{outline:none;border-color:var(--gold);}
  .char-count{
    align-self:flex-end;
    font-size:.72rem;
    color:var(--ink-soft);
  }

  /* ---------- STAR RATING ---------- */
  .star-rating{
    display:flex;
    flex-direction:row-reverse;
    justify-content:center;
    gap:6px;
    padding:4px 0;
  }
  .star-rating input{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
  }
  .star-rating label{
    font-size:2.3rem;
    line-height:1;
    color:var(--rule);
    cursor:pointer;
    transition:color .15s ease;
  }
  .star-rating input:checked ~ label,
  .star-rating label:hover,
  .star-rating label:hover ~ label{color:var(--gold);}
  .star-rating input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px;}

  /* ---------- FORM ERROR ---------- */
  .form-error{
    background:rgba(143,36,57,.08);
    border:1px solid rgba(143,36,57,.3);
    color:var(--burgundy);
    padding:12px 16px;
    font-size:.86rem;
    margin-bottom:20px;
  }
  .form-error[hidden]{display:none;}

  /* ---------- PROCHAIN ÉVÉNEMENT ---------- */
  .event-section{padding:56px 0 8px;}
  .event-card{
    background:var(--navy);
    color:var(--cream-ink);
    border-radius:4px;
    padding:38px 40px;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .event-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(184,134,58,.16), transparent 60%);
    pointer-events:none;
  }
  .event-tag{
    position:relative;
    display:inline-block;
    font-family:"Work Sans",sans-serif;
    font-size:.64rem;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--navy-deep);
    background:var(--gold);
    padding:6px 12px;
    border-radius:2px;
  }
  .event-card h2{position:relative;margin-top:16px;color:#fff;font-size:clamp(1.3rem,3vw,1.7rem);}
  .event-dates{
    position:relative;
    margin-top:10px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    letter-spacing:.03em;
    color:var(--gold-soft);
    font-size:.95rem;
  }
  .event-card p.event-note{position:relative;margin-top:14px;color:#D8D2BE;max-width:52ch;margin-inline:auto;}
  @media (max-width:560px){
    .event-card{padding:28px 22px;}
  }

  /* ---------- OU TROUVER ---------- */
  .find-wrap{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:60px;
    align-items:center;
  }
  @media (max-width:860px){
    .find-wrap{grid-template-columns:1fr;gap:40px;}
  }
  .find-wrap figure{margin:0;}
  .find-wrap img{width:100%;height:auto;filter:saturate(1.02);}
  .stockists{list-style:none;margin:0;padding:0;}
  .stockists li{
    display:flex;
    align-items:baseline;
    gap:8px;
    padding:15px 0;
    border-bottom:1px solid var(--rule);
  }
  .stockists .who{
    font-family:"Bitter",serif;
    font-weight:500;
    font-size:1.02rem;
    white-space:nowrap;
  }
  .stockists .who.featured{
    font-weight:700;
    color:var(--burgundy);
  }
  .stockists .leader{
    flex:1;
    border-bottom:1px dotted rgba(32,41,58,.28);
    height:0;
    transform:translateY(-5px);
  }
  .stockists .where{
    font-size:.82rem;
    letter-spacing:.03em;
    color:var(--ink-soft);
    white-space:nowrap;
  }

  /* ---------- FOOTER ---------- */
  .footer{padding:96px 0 40px;}
  .footer-inner{
    max-width:560px;
    margin:0 auto;
    text-align:center;
  }
  .footer h2{color:#fff;font-size:clamp(1.5rem,3.2vw,2rem);}
  .footer p.sub{color:#C9C2AC;margin-top:16px;}
  .contact-list{
    margin-top:36px;
    display:flex;
    flex-direction:column;
    gap:16px;
    align-items:center;
  }
  .contact-field{
    display:inline-flex;
    align-items:baseline;
    gap:10px;
    font-family:"Bitter",serif;
    font-style:italic;
    color:var(--gold-soft);
    font-size:1.05rem;
    border-bottom:1px solid rgba(221,181,112,.35);
    padding-bottom:6px;
  }
  .contact-field .tag{
    font-family:"Work Sans",sans-serif;
    font-style:normal;
    font-size:.6rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#8D8770;
  }
  .social-links{
    margin-top:30px;
    display:flex;
    gap:14px;
    justify-content:center;
  }
  .social-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid rgba(221,181,112,.35);
    color:var(--gold-soft);
    transition:background .25s ease, border-color .25s ease, transform .2s ease;
  }
  .social-links a:hover{
    background:rgba(221,181,112,.12);
    border-color:rgba(221,181,112,.7);
    transform:translateY(-2px);
  }
  .social-links svg{width:18px;height:18px;fill:currentColor;display:block;}
  .footer-bottom{
    margin-top:80px;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex;
    justify-content:center;
    gap:24px;
    flex-wrap:wrap;
    font-size:.72rem;
    letter-spacing:.04em;
    color:#7D7864;
  }
  .footer-bottom a{color:var(--footer-link);text-decoration:none;}
  .footer-bottom a:hover{color:var(--gold-soft);}

  /* ---------- REVEAL ON SCROLL ---------- */
  .reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
  }
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .stagger .reveal:nth-child(1){transition-delay:0s;}
  .stagger .reveal:nth-child(2){transition-delay:.05s;}
  .stagger .reveal:nth-child(3){transition-delay:.1s;}
  .stagger .reveal:nth-child(4){transition-delay:.15s;}
  .stagger .reveal:nth-child(5){transition-delay:.2s;}
  .stagger .reveal:nth-child(6){transition-delay:.25s;}
  .stagger .reveal:nth-child(7){transition-delay:.3s;}
  .stagger .reveal:nth-child(8){transition-delay:.35s;}
  .stagger .reveal:nth-child(9){transition-delay:.4s;}
  .stagger .reveal:nth-child(10){transition-delay:.45s;}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none;}
  }

  /* ---------- PAGE HERO (pages secondaires) ---------- */
  .page-hero{
    position:relative;
    background-size:cover;
    background-position:center 30%;
    color:#fff;
    overflow:hidden;
    min-height:62vh;
    display:flex;
  }
  .page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg, rgba(20,29,41,.4) 0%, rgba(20,29,41,.55) 45%, rgba(20,29,41,.94) 100%);
  }
  .page-hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    align-self:flex-end;
    padding:96px 32px 56px;
    max-width:720px;
    margin:0 auto;
    text-align:center;
  }
  .page-hero .eyebrow{color:var(--gold-soft);}
  .page-hero h1{margin-top:14px;color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);}
  .page-hero p{margin-top:14px;color:#DDD6C2;max-width:48ch;margin-inline:auto;font-size:1.02rem;}
  .page-hero-pro{background-image:url("images/campaign-triple-landscape.jpg");}
  .page-hero-trouver{background-image:url("images/campaign-blonde-landscape.jpg");}
  .page-hero-particuliers{background-image:url("images/campaign-sour-landscape.jpg");}
  .page-hero-histoire{background-image:url("images/campaign-trio-landscape.jpg");}
  .page-hero-avis{background-image:url("images/campaign-trio-landscape.jpg");}
  .page-hero-boutique{background-image:url("images/campaign-trio-landscape.jpg");}
  @supports (background-image:image-set(url("images/campaign-triple-landscape.webp") type("image/webp"))){
    .page-hero-pro{background-image:image-set(url("images/campaign-triple-landscape.webp") type("image/webp"), url("images/campaign-triple-landscape.jpg") type("image/jpeg"));}
    .page-hero-trouver{background-image:image-set(url("images/campaign-blonde-landscape.webp") type("image/webp"), url("images/campaign-blonde-landscape.jpg") type("image/jpeg"));}
    .page-hero-particuliers{background-image:image-set(url("images/campaign-sour-landscape.webp") type("image/webp"), url("images/campaign-sour-landscape.jpg") type("image/jpeg"));}
    .page-hero-histoire{background-image:image-set(url("images/campaign-trio-landscape.webp") type("image/webp"), url("images/campaign-trio-landscape.jpg") type("image/jpeg"));}
    .page-hero-avis{background-image:image-set(url("images/campaign-trio-landscape.webp") type("image/webp"), url("images/campaign-trio-landscape.jpg") type("image/jpeg"));}
    .page-hero-boutique{background-image:image-set(url("images/campaign-trio-landscape.webp") type("image/webp"), url("images/campaign-trio-landscape.jpg") type("image/jpeg"));}
  }
  @media (max-width:480px){
    .page-hero-inner{padding:140px 24px 64px;}
  }
  @media (max-width:700px){
    .page-hero-pro{background-image:url("images/campaign-triple-portrait.jpg");}
    .page-hero-trouver{background-image:url("images/campaign-blonde-portrait.jpg");}
    .page-hero-particuliers{background-image:url("images/campaign-sour-portrait.jpg");}
    .page-hero-histoire{background-image:url("images/campaign-trio-portrait.jpg");}
    .page-hero-avis{background-image:url("images/campaign-trio-portrait.jpg");}
    .page-hero-boutique{background-image:url("images/campaign-trio-portrait.jpg");}
    @supports (background-image:image-set(url("images/campaign-triple-portrait.webp") type("image/webp"))){
      .page-hero-pro{background-image:image-set(url("images/campaign-triple-portrait.webp") type("image/webp"), url("images/campaign-triple-portrait.jpg") type("image/jpeg"));}
      .page-hero-trouver{background-image:image-set(url("images/campaign-blonde-portrait.webp") type("image/webp"), url("images/campaign-blonde-portrait.jpg") type("image/jpeg"));}
      .page-hero-particuliers{background-image:image-set(url("images/campaign-sour-portrait.webp") type("image/webp"), url("images/campaign-sour-portrait.jpg") type("image/jpeg"));}
      .page-hero-histoire{background-image:image-set(url("images/campaign-trio-portrait.webp") type("image/webp"), url("images/campaign-trio-portrait.jpg") type("image/jpeg"));}
      .page-hero-avis{background-image:image-set(url("images/campaign-trio-portrait.webp") type("image/webp"), url("images/campaign-trio-portrait.jpg") type("image/jpeg"));}
      .page-hero-boutique{background-image:image-set(url("images/campaign-trio-portrait.webp") type("image/webp"), url("images/campaign-trio-portrait.jpg") type("image/jpeg"));}
    }
  }

  /* ---------- UNTAPPD BADGE ---------- */
  .untappd-badge-wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:40px;}
  .untappd-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:11px 22px;
    border:1px solid var(--rule);
    border-radius:999px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.74rem;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--gold-text);
    text-decoration:none;
    transition:background .25s ease, border-color .25s ease;
  }
  .untappd-badge:hover{background:rgba(184,134,58,.08);border-color:var(--gold);}
  .untappd-badge svg{width:16px;height:16px;fill:currentColor;flex-shrink:0;}

  /* ---------- NOTRE HISTOIRE ---------- */
  .story-lede{
    max-width:660px;
    margin:0 auto 8px;
    text-align:center;
  }
  .story-lede p{
    font-family:"Bitter",Georgia,serif;
    font-weight:500;
    font-size:clamp(1.25rem,2.6vw,1.6rem);
    line-height:1.5;
    color:var(--navy);
  }
  .story-block{
    max-width:680px;
    margin:72px auto 0;
  }
  .story-block .eyebrow{display:block;margin-bottom:14px;}
  .story-block h2{font-size:clamp(1.5rem,3vw,1.9rem);}
  .story-block p{margin-top:20px;color:var(--ink-soft);font-size:1.02rem;}
  .story-block p + p{margin-top:18px;}
  .story-block p strong{color:var(--ink);font-weight:500;}

  .timeline{
    display:flex;
    gap:20px;
    margin:56px auto 0;
    max-width:900px;
    position:relative;
  }
  .timeline::before{
    content:"";
    position:absolute;
    top:7px;
    left:8%;
    right:8%;
    height:1px;
    background:var(--rule);
  }
  .timeline-item{
    flex:1;
    position:relative;
    text-align:center;
    padding-top:30px;
  }
  .timeline-item::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:15px;
    height:15px;
    border-radius:50%;
    background:var(--paper);
    border:2px solid var(--gold);
  }
  .timeline-date{
    display:block;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-size:.68rem;
    color:var(--gold-text);
  }
  .timeline-item h3{margin-top:10px;font-size:1.1rem;}
  .timeline-item p{margin-top:8px;font-size:.88rem;color:var(--ink-soft);}
  @media (max-width:700px){
    .timeline{flex-direction:column;gap:36px;max-width:360px;}
    .timeline::before{top:8%;bottom:8%;left:7px;right:auto;width:1px;height:auto;}
    .timeline-item{padding-top:0;padding-left:34px;text-align:left;}
    .timeline-item::before{top:4px;left:0;transform:none;}
  }

  /* ---------- BREWER (visuel) ---------- */
  .brewer-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:64px;
    align-items:center;
  }
  .brewer-grid figure{margin:0;border-radius:2px;overflow:hidden;}
  .brewer-grid img{width:100%;height:auto;filter:saturate(1.03);}
  .brewer-grid .brewer-text{text-align:left;max-width:none;margin:0;}
  @media (max-width:760px){
    .brewer-grid{grid-template-columns:1fr;gap:32px;text-align:center;}
    .brewer-grid .brewer-text{text-align:center;}
  }

  /* ---------- AGE GATE ---------- */
  .age-gate{
    position:fixed;
    inset:0;
    z-index:100;
    background:rgba(20,29,41,.86);
    backdrop-filter:blur(3px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .age-gate[hidden]{display:none;}
  .age-gate-card{
    background:var(--paper);
    max-width:380px;
    width:100%;
    padding:44px 34px;
    text-align:center;
    box-shadow:0 30px 70px rgba(0,0,0,.35);
  }
  .age-gate-card img{width:44px;height:44px;border-radius:50%;margin:0 auto 18px;}
  .age-gate-card h2{font-size:1.4rem;margin-top:10px;}
  .age-gate-card p.question{color:var(--ink-soft);margin-top:14px;font-size:1rem;}
  .age-gate-actions{
    margin-top:28px;
    display:flex;
    gap:14px;
    justify-content:center;
  }
  .age-gate-actions .btn{flex:1;border:none;cursor:pointer;font:inherit;letter-spacing:.1em;}
  .age-gate-note{
    margin-top:22px;
    font-size:.68rem;
    line-height:1.6;
    color:var(--ink-soft);
    opacity:.85;
  }

  /* ---------- COOKIE BANNER ---------- */
  #cookieBanner{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:50;
    background:var(--navy-deep);
    color:var(--cream-ink);
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    flex-wrap:wrap;
    box-shadow:0 -6px 20px rgba(0,0,0,.18);
  }
  #cookieBanner p{
    margin:0;
    font-size:.85rem;
    color:#D8D2BE;
    max-width:640px;
    line-height:1.6;
  }
  #cookieBanner a{color:var(--gold-soft);text-decoration:underline;}
  #cookieBanner button{
    flex:0 0 auto;
    background:var(--gold-soft);
    color:var(--navy-deep);
    border:none;
    padding:10px 22px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
  }
  #cookieBanner button:hover{background:#EAC688;}
  #cookieBanner[hidden]{display:none;}
  @media (max-width:600px){
    #cookieBanner{padding:16px 18px;text-align:center;justify-content:center;}
  }

  @media (max-width:480px){
    section{padding:72px 0;}
    .hero-inner{padding:88px 24px 64px;}
  }

  /* ---------- NAV CART ICON ---------- */
  .cart-link{
    position:absolute;
    right:66px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    color:var(--cream-ink);
    text-decoration:none;
  }
  .cart-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;}
  .cart-badge{
    position:absolute;
    top:-2px;
    right:-2px;
    min-width:16px;
    height:16px;
    padding:0 3px;
    border-radius:999px;
    background:var(--gold-soft);
    color:var(--navy-deep);
    font-family:"Work Sans",sans-serif;
    font-weight:600;
    font-size:.62rem;
    line-height:16px;
    text-align:center;
  }
  .cart-badge[hidden]{display:none;}

  /* ---------- BOUTIQUE ---------- */
  .shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:36px;
    margin-top:48px;
  }
  .shop-card{
    display:flex;
    flex-direction:column;
    background:var(--cream-ink);
    border:1px solid var(--rule);
  }
  .shop-card .shot{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#EFE7D4;
    position:relative;
  }
  .shop-card .shot img{width:100%;height:100%;object-fit:cover;display:block;}
  .badge-tag{
    position:absolute;
    top:12px;
    left:12px;
    background:var(--burgundy);
    color:#fff;
    font-family:"Work Sans",sans-serif;
    font-size:.68rem;
    font-weight:500;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:6px 10px;
    pointer-events:none;
  }
  .product-gallery .shot-main{position:relative;}
  .product-gallery .shot-main .badge-tag{top:14px;left:14px;font-size:.72rem;}
  .shop-card .thumb-row{display:flex;flex-wrap:wrap;gap:6px;}
  .shop-card .thumb-row img{
    width:44px;height:44px;object-fit:cover;object-position:top;
    border-radius:3px;cursor:pointer;opacity:.6;
    border:2px solid transparent;background:#EFE7D4;
    transition:opacity .15s ease, border-color .15s ease;
  }
  .shop-card .thumb-row img:hover{opacity:.9;}
  .shop-card .thumb-row img.active{opacity:1;border-color:var(--burgundy);}
  .shop-card .body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:12px;flex:1;}
  .shop-card h3{font-size:1.05rem;}
  .shop-card h3 a{color:inherit;text-decoration:none;}
  .shop-card h3 a:hover{color:var(--gold-text);}
  .shop-card .price{
    font-family:"Bitter",serif;
    font-weight:600;
    color:var(--burgundy);
    font-size:1.05rem;
  }
  .shop-card .variant-select{
    border:none;
    border-bottom:1px solid var(--rule);
    background:transparent;
    padding:8px 2px;
    font-family:"Work Sans",sans-serif;
    font-size:.88rem;
    color:var(--ink);
  }
  .shop-card .add-btn{
    margin-top:auto;
    background:var(--navy);
    color:#fff;
    border:none;
    padding:12px 18px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease;
  }
  .shop-card .add-btn:hover{background:var(--gold-text);}
  .shop-card .add-btn.added{background:var(--burgundy);}
  .shop-card .add-btn.disabled,
  .shop-card .add-btn:disabled{
    background:var(--rule);
    color:var(--ink-soft);
    cursor:not-allowed;
  }
  .shop-card .add-btn.disabled:hover,
  .shop-card .add-btn:disabled:hover{background:var(--rule);}
  .shop-card .stock-note{
    font-family:"Work Sans",sans-serif;
    font-size:.82rem;
    color:var(--burgundy);
  }
  .shop-empty{
    text-align:center;
    max-width:440px;
    margin:48px auto 0;
    color:var(--ink-soft);
  }
  .shop-card .shot-link{display:block;}

  /* ---------- FICHE PRODUIT ---------- */
  .product-breadcrumb{
    font-family:"Work Sans",sans-serif;
    font-size:.82rem;
    color:var(--ink-soft);
  }
  .product-breadcrumb a{color:var(--gold-text);text-decoration:none;}
  .product-breadcrumb a:hover{text-decoration:underline;}
  .product-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:start;
    margin-top:28px;
  }
  .product-layout[hidden]{display:none;}
  @media (max-width:760px){
    .product-layout{grid-template-columns:1fr;gap:32px;}
  }
  .product-gallery .shot-main{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#EFE7D4;
    cursor:zoom-in;
    position:relative;
  }
  .product-gallery .shot-main img{width:100%;height:100%;object-fit:cover;display:block;}
  .product-gallery .zoom-hint{
    position:absolute;
    right:12px;
    bottom:12px;
    background:rgba(32,41,58,.72);
    color:#fff;
    font-family:"Work Sans",sans-serif;
    font-size:.7rem;
    letter-spacing:.05em;
    padding:6px 10px;
    pointer-events:none;
  }
  .product-gallery .thumb-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
  .product-gallery .thumb-row img{
    width:64px;height:64px;object-fit:cover;object-position:top;
    border-radius:3px;cursor:pointer;opacity:.6;
    border:2px solid transparent;background:#EFE7D4;
    transition:opacity .15s ease, border-color .15s ease;
  }
  .product-gallery .thumb-row img:hover{opacity:.9;}
  .product-gallery .thumb-row img.active{opacity:1;border-color:var(--burgundy);}
  .product-info .eyebrow{display:block;margin-bottom:10px;}
  .product-info h1{font-size:clamp(1.6rem,3.4vw,2.1rem);}
  .product-info .price{
    font-family:"Bitter",serif;
    font-weight:600;
    color:var(--burgundy);
    font-size:1.3rem;
    margin-top:14px;
  }
  .product-info .description{
    color:var(--ink-soft);
    line-height:1.65;
    margin:18px 0 26px;
    max-width:46ch;
  }
  .product-info .variant-select{
    display:block;
    width:100%;
    max-width:280px;
    border:1px solid var(--rule);
    background:var(--paper);
    padding:12px 14px;
    font-family:"Work Sans",sans-serif;
    font-size:.92rem;
    color:var(--ink);
    margin-bottom:18px;
  }
  .product-info .variant-select[hidden]{display:none;}
  .product-info .stock-note{
    font-family:"Work Sans",sans-serif;
    font-size:.86rem;
    color:var(--burgundy);
    margin-bottom:14px;
  }
  .product-info .add-btn{
    background:var(--navy);
    color:#fff;
    border:none;
    padding:14px 28px;
    font-family:"Work Sans",sans-serif;
    font-weight:500;
    font-size:.8rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease;
  }
  .product-info .add-btn:hover{background:var(--gold-text);}
  .product-info .add-btn.added{background:var(--burgundy);}
  .product-info .add-btn.disabled,
  .product-info .add-btn:disabled{background:var(--rule);color:var(--ink-soft);cursor:not-allowed;}
  .product-info .add-btn.disabled:hover,
  .product-info .add-btn:disabled:hover{background:var(--rule);}
  .product-info .back-link{
    display:inline-block;
    margin-top:28px;
    font-family:"Work Sans",sans-serif;
    font-size:.86rem;
    color:var(--gold-text);
    text-decoration:none;
    border-bottom:1px solid var(--rule);
  }
  .product-info .back-link:hover{border-color:var(--gold-text);}

  .related-products{margin-top:88px;}
  .related-products h2{font-size:1.3rem;margin-bottom:24px;}
  .related-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
    gap:24px;
  }
  .related-grid a{text-decoration:none;color:inherit;display:block;}
  .related-grid .shot{aspect-ratio:1/1;overflow:hidden;background:#EFE7D4;position:relative;}
  .related-grid .shot .badge-tag{font-size:.6rem;padding:5px 8px;top:8px;left:8px;}
  .related-grid .shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
  .related-grid a:hover .shot img{transform:scale(1.04);}
  .related-grid h3{font-size:.92rem;margin-top:10px;}
  .related-grid .price{
    font-family:"Bitter",serif;
    color:var(--burgundy);
    font-weight:600;
    font-size:.92rem;
    margin-top:4px;
  }

  /* ---------- LIGHTBOX (zoom galerie produit) ---------- */
  .lightbox{
    position:fixed;
    inset:0;
    background:rgba(18,22,30,.94);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    z-index:400;
    padding:24px;
  }
  .lightbox[hidden]{display:none;}
  .lightbox-stage{
    position:relative;
    width:100%;
    max-width:900px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lightbox img{
    max-width:100%;
    max-height:74vh;
    object-fit:contain;
    cursor:zoom-out;
  }
  .lightbox-close{
    position:absolute;
    top:18px;
    right:18px;
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:1.3rem;
    line-height:1;
    cursor:pointer;
  }
  .lightbox-close:hover{background:rgba(255,255,255,.18);}
  .lightbox-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.3);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:1.3rem;
    line-height:1;
    cursor:pointer;
  }
  .lightbox-arrow:hover{background:rgba(255,255,255,.18);}
  .lightbox-prev{left:-4px;}
  .lightbox-next{right:-4px;}
  @media (max-width:640px){
    .lightbox-prev{left:4px;}
    .lightbox-next{right:4px;}
  }
  .lightbox-thumbs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px;max-width:900px;}
  .lightbox-thumbs img{
    width:52px;height:52px;object-fit:cover;object-position:top;
    border-radius:3px;cursor:pointer;opacity:.55;
    border:2px solid transparent;
    transition:opacity .15s ease, border-color .15s ease;
  }
  .lightbox-thumbs img:hover{opacity:.85;}
  .lightbox-thumbs img.active{opacity:1;border-color:var(--gold-soft);}

  /* ---------- PANIER ---------- */
  .cart-list{max-width:760px;margin:40px auto 0;}
  .cart-row{
    display:grid;
    grid-template-columns:72px 1fr auto auto;
    gap:18px;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid var(--rule);
  }
  .cart-row img{width:72px;height:72px;object-fit:cover;background:#EFE7D4;}
  .cart-row .info .name{font-family:"Bitter",serif;font-weight:500;font-size:.98rem;}
  .cart-row .info .variant{margin-top:3px;font-size:.78rem;color:var(--ink-soft);}
  .cart-row .qty-stepper{display:flex;align-items:center;gap:8px;}
  .cart-row .qty-stepper button{
    width:26px;height:26px;
    border:1px solid var(--rule);
    background:var(--paper);
    cursor:pointer;
    font-size:.9rem;
    line-height:1;
  }
  .cart-row .qty-stepper span{min-width:18px;text-align:center;font-size:.9rem;}
  .cart-row .line-total{font-family:"Bitter",serif;font-weight:600;color:var(--navy);white-space:nowrap;}
  .cart-row .remove-btn{
    grid-column:1 / -1;
    justify-self:start;
    background:none;
    border:none;
    padding:0;
    color:var(--ink-soft);
    font-size:.74rem;
    text-decoration:underline;
    cursor:pointer;
  }
  .cart-summary{
    max-width:760px;
    margin:32px auto 0;
    padding-top:20px;
    border-top:2px solid var(--navy);
  }
  .cart-summary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:.92rem;color:var(--ink-soft);}
  .cart-summary .row.total{
    font-family:"Bitter",serif;
    font-size:1.2rem;
    color:var(--navy);
    font-weight:600;
    padding-top:12px;
    border-top:1px solid var(--rule);
    margin-top:8px;
  }
  .cart-summary .row.total span:last-child{color:var(--burgundy);}
  .cart-empty{
    text-align:center;
    max-width:440px;
    margin:48px auto 0;
    color:var(--ink-soft);
  }
  .cart-empty a{color:var(--gold-text);}
  @media (max-width:560px){
    .cart-row{grid-template-columns:56px 1fr auto;}
    .cart-row img{width:56px;height:56px;}
    .cart-row .line-total{display:none;}
  }
