.collection{--cream:#f4efe4;--line:rgba(211,170,79,.25);background:#14351f;color:var(--cream);position:relative}
.collection button,.collection select{font:inherit}
.collection button:focus-visible,.collection select:focus-visible{outline:2px solid #d3aa4f;outline-offset:6px}
.collection-kicker{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#f4efe499}
.collection-rail{padding:80px 0 70px;border-top:1px solid var(--line);background:#112e1b}
.rail-heading{padding:0 7vw 30px;display:flex;justify-content:space-between;align-items:end;gap:20px}
.rail-heading h3{font:400 clamp(32px,4vw,54px) "Playfair Display",Georgia,serif;margin:15px 0 0}
.rail-heading p{font-size:11px;color:#f4efe488}
.rail-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding:15px 7vw 40px;scrollbar-color:#9c8241 #112e1b;scrollbar-width:thin}
.rail-card{flex:0 0 280px;scroll-snap-align:center;background:linear-gradient(180deg,#24412b55,transparent);border:1px solid #d3aa4f22;color:#f4efe4;text-align:left;padding:20px;cursor:pointer;transition:border-color .3s,transform .3s}
.rail-card:hover{border-color:#d3aa4f88;transform:translateY(-5px)}
.rail-card img{width:100%;height:220px;object-fit:contain}
.rail-card h4{font:26px/1.1 "Playfair Display",Georgia,serif;margin:14px 0;min-height:58px}
.rail-card p{font-size:11px;color:#f4efe499}
.rail-card .rail-category{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#f4efe477}
.rail-mark{font:italic 28px "Playfair Display",Georgia,serif;text-align:center;padding:45px 20px 0;color:#f4efe477}
.product-dialog{border:1px solid #d3aa4f66;padding:36px;background:#14351f;color:#f4efe4;width:min(500px,90vw)}
.product-dialog::backdrop{background:#051009bb;backdrop-filter:blur(6px)}
.product-dialog h3{font:36px "Playfair Display",Georgia,serif;margin:25px 0}
.product-dialog p{font-size:13px;line-height:1.7;color:#f4efe499}
.product-dialog button{float:right;border:0;background:none;cursor:pointer;font-size:24px;color:inherit}
.product-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px}
.product-dialog dd{margin:0;text-align:right}
@media(max-width:960px){.collection-rail{padding-top:50px}.rail-heading{padding-left:24px;display:block}.rail-items{padding-left:24px;gap:14px}.rail-card{flex-basis:230px}.rail-card img{height:180px}}
@media(prefers-reduced-motion:reduce){.rail-card{transition:none}}
.rail-image{position:relative;height:220px}
.rail-image>img{height:100%}
.rail-image .rail-logo{position:absolute;left:38%;top:40%;width:24%;height:25%;object-fit:contain}
@media(max-width:960px){.rail-image{height:180px}}
/* A single featured product, followed by category-led browsing. */
.collection-rail{padding-top:120px}
.category-tabs{display:flex;gap:32px;margin:0 7vw 32px;border-bottom:1px solid #d3aa4f33;overflow-x:auto;scrollbar-width:thin}
.category-tabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:transparent;color:#f4efe480;padding:20px 0;cursor:pointer;font:22px "Playfair Display",Georgia,serif;transition:color .3s,border-color .3s}
.category-tabs button[aria-selected=true]{color:#f4efe4;border-bottom-color:#d3aa4f}
.category-tabs button span{font:9px Manrope,Arial,sans-serif;margin-left:12px;vertical-align:super;color:#f4efe466}
.category-heading{padding:0 7vw 15px;display:flex;align-items:baseline;gap:20px}
.category-heading h4{font:34px "Playfair Display",Georgia,serif;margin:0}
.category-heading p{font-size:11px;color:#f4efe488}
.rail-card[hidden],.category-empty[hidden]{display:none!important}
.category-empty{margin:20px 7vw;padding:50px 0;color:#f4efe488;font-size:14px}
.rail-items{min-height:40px}
@media(max-width:960px){.collection-rail{padding-top:78px}.rail-heading{padding:0 24px 24px}.rail-heading h3{font-size:40px;line-height:1.02}.category-tabs{margin:0 24px 25px;gap:25px;padding-right:24px}.category-tabs button{font-size:20px}.category-heading{padding:0 24px 14px}.category-empty{margin-left:24px}.rail-items{padding:10px 24px 34px;scroll-padding-inline:24px}.rail-card{flex:0 0 min(82vw,330px);padding:20px}.rail-image{height:210px}.rail-card h4{font-size:27px;min-height:0}.rail-mark{font-size:23px;padding:34px 24px 0}}
@media(max-width:420px) and (max-height:740px){.rail-heading h3{font-size:36px}.category-tabs{margin-bottom:18px}.rail-image{height:175px}.rail-card{flex-basis:78vw}.rail-card h4{font-size:24px}}
@media(prefers-reduced-motion:reduce){.category-tabs button{transition:none}}
/* Boutique interactive */
.rail-product{flex:0 0 300px;scroll-snap-align:center;border:1px solid rgba(211,170,79,.2);background:linear-gradient(180deg,rgba(36,65,43,.48),rgba(8,32,18,.35));padding:16px;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s}
.rail-product:hover{transform:translateY(-7px);border-color:rgba(211,170,79,.6);box-shadow:0 24px 50px rgba(2,15,8,.28)}
.rail-product[hidden],.rail-product:has(.rail-card[hidden]){display:none!important}
.rail-product .rail-card{width:100%;padding:0;border:0;background:none;flex:none;transform:none;text-align:left}
.rail-product .rail-card:hover{transform:none;border-color:transparent}
.rail-product .rail-card h4{min-height:58px}
.rail-buy{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}
.rail-buy select{min-width:0;border:1px solid rgba(244,239,228,.2);background:#102d1b;color:#f4efe4;padding:11px 9px;font-size:10px}
.quick-add{border:1px solid #d3aa4f;background:#d3aa4f;color:#102d1b;padding:10px 14px;cursor:pointer;font-size:9px;letter-spacing:.11em;text-transform:uppercase;transition:transform .25s,filter .25s}
.quick-add:hover{filter:brightness(1.08);transform:translateY(-2px)}
.quick-add span{font-size:15px;margin-left:9px}
.rail-details{width:100%;border:0;border-bottom:1px solid rgba(211,170,79,.28);background:none;color:rgba(244,239,228,.65);padding:13px 0 8px;text-align:left;cursor:pointer;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.rail-details:hover{color:#f4efe4;border-color:#d3aa4f}
.product-purchase{clear:both;border-top:1px solid rgba(211,170,79,.25);padding-top:22px;margin-top:24px}
.product-purchase>label{display:block;margin-bottom:8px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,228,.62)}
.product-purchase select{width:100%;border:1px solid rgba(244,239,228,.2);background:#0e2b19;color:#f4efe4;padding:13px}
.product-buy-row{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:12px}
.product-quantity{display:flex;border:1px solid rgba(244,239,228,.2)}
.product-dialog .product-quantity button,.product-dialog .product-add{float:none}
.product-quantity button{width:38px;border:0;background:transparent;color:#f4efe4;cursor:pointer;font-size:18px}
.product-quantity input{width:38px;border:0;background:transparent;color:#f4efe4;text-align:center;-moz-appearance:textfield}
.product-quantity input::-webkit-inner-spin-button{appearance:none}
.product-dialog .product-add{border:1px solid #d3aa4f;background:#d3aa4f;color:#102d1b;padding:12px 18px;cursor:pointer;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.product-add-status{min-height:18px;margin:10px 0 0!important;color:#d3aa4f!important}
.cart-toggle{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:13px;border:1px solid rgba(211,170,79,.75);border-radius:99px;background:rgba(11,36,21,.94);color:#f4efe4;padding:12px 13px 12px 19px;box-shadow:0 14px 36px rgba(2,13,7,.36);backdrop-filter:blur(12px);cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.cart-toggle strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#d3aa4f;color:#102d1b;font-size:11px}
.cart-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(470px,100vw);height:100dvh;max-height:none;border:0;border-left:1px solid rgba(211,170,79,.36);background:#102d1b;color:#f4efe4;padding:0;overflow:hidden}
.cart-dialog[open]{display:grid;grid-template-rows:auto 1fr auto;animation:cartIn .5s cubic-bezier(.2,.75,.2,1)}
.cart-dialog::backdrop{background:rgba(2,12,6,.68);backdrop-filter:blur(5px)}
.cart-head{display:flex;justify-content:space-between;align-items:flex-start;padding:32px 28px 24px;border-bottom:1px solid rgba(211,170,79,.2)}
.cart-head h2{font:42px/1 "Playfair Display",Georgia,serif;margin:10px 0 0}
.cart-close{border:0;background:none;color:#f4efe4;cursor:pointer;font-size:30px;line-height:1}
.cart-items{overflow:auto;padding:8px 28px}
.cart-empty{align-self:center;text-align:center;color:rgba(244,239,228,.55);padding:50px 20px}
.cart-empty[hidden]{display:none}
.cart-item{position:relative;display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:18px 24px 18px 0;border-bottom:1px solid rgba(244,239,228,.1)}
.cart-item>img{width:74px;height:88px;object-fit:contain}
.cart-item-copy h3{font:18px/1.12 "Playfair Display",Georgia,serif;margin:0 0 7px}
.cart-item-copy p{font-size:10px;color:rgba(244,239,228,.58);margin:0}
.cart-item>strong{font:15px "Playfair Display",Georgia,serif;white-space:nowrap}
.cart-qty{display:flex;align-items:center;margin-top:12px}
.cart-qty button{width:27px;height:27px;border:1px solid rgba(244,239,228,.18);background:transparent;color:#f4efe4;cursor:pointer}
.cart-qty span{min-width:31px;text-align:center;font-size:11px}
.cart-remove{position:absolute;right:0;top:12px;border:0;background:none;color:rgba(244,239,228,.45);cursor:pointer;font-size:18px}
.cart-footer{padding:22px 28px 28px;border-top:1px solid rgba(211,170,79,.2);background:#0b2415}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.cart-total span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.cart-total strong{font:25px "Playfair Display",Georgia,serif}
.cart-finalize{width:100%;border:1px solid #d3aa4f;background:#d3aa4f;color:#102d1b;padding:15px;cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.cart-finalize:disabled{opacity:.35;cursor:not-allowed}
.cart-footer small{display:block;margin-top:12px;color:rgba(244,239,228,.42);font-size:9px;line-height:1.5}
.cart-status{min-height:18px;margin:10px 0 0;color:#d3aa4f;font-size:10px}
.rail-image .rail-logo[hidden]{display:none}
@keyframes cartIn{from{transform:translateX(100%);opacity:.4}to{transform:none;opacity:1}}
@media(max-width:960px){.rail-product{flex:0 0 min(82vw,330px)}.rail-product .rail-card{padding:0}.rail-buy{grid-template-columns:1fr}.quick-add{padding:12px}.cart-toggle{right:14px;bottom:14px}.product-dialog{padding:28px 22px}.product-buy-row{grid-template-columns:1fr}.product-quantity{justify-content:center}.cart-head{padding:26px 20px 20px}.cart-items{padding:8px 20px}.cart-footer{padding:20px}.cart-item{grid-template-columns:62px 1fr;gap:12px}.cart-item>img{width:62px;height:76px}.cart-item>strong{grid-column:2}.cart-remove{right:0}}
@media(prefers-reduced-motion:reduce){.rail-product,.quick-add{transition:none}.cart-dialog[open]{animation:none}}
/* Footer */
.site-footer{background:#0f2a18;color:#f4efe4;border-top:1px solid rgba(211,170,79,.25);padding:64px 7vw 96px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:32px 48px;align-items:start}
.footer-brand img{display:block;width:96px;height:auto}
.footer-brand p{margin:16px 0 0;font:italic 18px/1.4 "Playfair Display",Georgia,serif;color:rgba(244,239,228,.76)}
.footer-col{display:grid;gap:16px;align-content:start}
.footer-links{display:flex;flex-direction:column;gap:13px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.footer-links a{color:inherit;text-decoration:none;opacity:.85}
.footer-links a:hover{color:#d3aa4f;opacity:1}
.footer-contact{display:grid;gap:12px;min-width:220px}
.footer-contact[hidden]{display:none}
.footer-col-title,.footer-contact-title{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#d3aa4f}
.footer-contact-line{display:flex;align-items:center;gap:12px;color:#f4efe4;text-decoration:none;font-size:14px;letter-spacing:.02em}
.footer-contact-line small{display:block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,228,.5);margin-bottom:2px}
.footer-contact svg{width:20px;height:20px;flex:none;fill:none;stroke:#d3aa4f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-contact svg .dot{fill:#d3aa4f;stroke:none}
.footer-contact-line:hover span{color:#e3ba61}
.footer-social{display:flex;gap:10px;margin-top:4px}
.footer-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(211,170,79,.35);transition:background .3s,border-color .3s}
.footer-social a:hover{background:rgba(211,170,79,.14);border-color:#d3aa4f}
.footer-service{grid-column:1/-1;margin:8px 0 0;font-size:12.5px;line-height:1.6;letter-spacing:.03em;color:rgba(244,239,228,.72)}
.footer-service[hidden]{display:none}
.footer-legal{grid-column:1/-1;margin:0;padding-top:24px;border-top:1px solid rgba(244,239,228,.12);font-size:11px;letter-spacing:.08em;color:rgba(244,239,228,.55)}
.cart-icon{display:none}
@media(max-width:960px){.site-footer{grid-template-columns:1fr 1fr;padding:48px 24px 40px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-links{gap:4px}/* Mobile: compact cart icon top-right so it never covers the "Ajouter" buttons */
 .cart-toggle{top:16px;bottom:auto;right:16px;width:46px;height:46px;padding:0;justify-content:center;gap:0}.cart-toggle>span{display:none}.cart-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.cart-toggle strong{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;font-size:10px;line-height:20px;text-align:center;width:auto;border-radius:99px;background:#d3aa4f;color:#14351f;letter-spacing:0;display:block}.site-nav{padding-right:76px}}
/* Header: fixed and transparent on every section */
.site-nav{position:fixed;z-index:70;pointer-events:none;transition:color .35s ease}
.site-nav a{pointer-events:auto;text-shadow:0 1px 12px rgba(4,20,11,.35)}
.site-nav .navlinks a{transition:opacity .2s}
.site-nav .navlinks a:hover{opacity:1;color:#d3aa4f}
.site-nav.on-light{color:#14351f}
.site-nav.on-light a{text-shadow:none}
.site-nav.on-light .shop{color:#14351f;border-color:rgba(20,53,31,.45)}
html{scroll-padding-top:84px}
.site-nav{transition:color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.site-nav.is-hidden{transform:translateY(-110%);opacity:0}
.site-nav.is-hidden a{pointer-events:none}
/* Header shown again on scroll-up: cream bar */
.site-nav{transition:color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease,background-color .35s ease,box-shadow .35s ease,padding .35s ease}
.site-nav.is-solid{background:#f4efe4;color:#14351f;box-shadow:0 10px 30px rgba(8,29,16,.12);padding-top:12px;padding-bottom:12px;align-items:center}
.site-nav.is-solid a{text-shadow:none}
.site-nav.is-solid .navlinks{padding-top:0}
.site-nav.is-solid .shop{margin-top:0;color:#14351f;border-color:rgba(20,53,31,.45)}
.site-nav.is-solid .shop:hover{background:rgba(20,53,31,.06);border-color:#14351f}
.site-nav.is-solid .navlinks a:hover{color:#a9802c}
.site-nav.is-solid .brand{width:64px}
@media(max-width:960px){.site-nav.is-solid{padding-top:10px;padding-bottom:10px}.site-nav.is-solid .brand{width:52px}}
/* Slimmer cream bar */
.site-nav.is-solid{padding-top:6px;padding-bottom:6px}
.site-nav.is-solid .brand{width:46px}
.site-nav.is-solid .shop{padding:7px 14px;font-size:11px}
@media(max-width:960px){.site-nav.is-solid{padding-top:6px;padding-bottom:6px}.site-nav.is-solid .brand{width:40px}.site-nav.is-solid .shop{padding:7px 12px;font-size:10px}}
@media(max-width:960px){.cart-toggle{top:6px;right:14px;width:40px;height:40px}.cart-icon{width:18px;height:18px}.site-nav{padding-right:68px}}
/* Home: closing line + reels (the shop lives on boutique.html) */
.home-signoff{background:#14351f;padding:70px 0 110px}
.home-signoff .rail-mark{padding-top:0}
/* ===== Header layout: logo · links · actions ===== */
.site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 4.8vw}
.site-nav .brand{justify-self:start;width:84px}
.site-nav .navlinks{padding-top:0;gap:36px;justify-self:center}
.site-nav .navlinks a{position:relative;padding:6px 0;opacity:.88}
.site-nav .navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.site-nav .navlinks a:hover{opacity:1;color:inherit}
.site-nav .navlinks a:hover:after,.site-nav .navlinks a:focus-visible:after{transform:scaleX(1)}
.site-nav .shop{justify-self:end;margin-top:0;padding:10px 20px;letter-spacing:.14em}
.site-nav.is-solid .navlinks a:hover{color:inherit}
.menu-toggle,.mobile-menu{display:none}
@media(max-width:960px){.site-nav{grid-template-columns:auto 1fr auto auto;gap:10px;padding:12px 68px 12px 20px}.site-nav .brand{width:58px}.site-nav .shop{grid-column:3;margin:0;padding:9px 14px}.menu-toggle{grid-column:4;display:grid;place-content:center;gap:6px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(244,239,228,.42);background:transparent;color:inherit;cursor:pointer;pointer-events:auto;padding:0}.menu-toggle span{display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px}.site-nav.is-solid .menu-toggle,.site-nav.on-light .menu-toggle{border-color:rgba(20,53,31,.45)}.cart-toggle{top:20px;transition:top .35s ease}.nav-solid .cart-toggle{top:6px}.site-nav.is-solid{padding-top:6px;padding-bottom:6px}.mobile-menu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:95;background:#14351f;color:#f4efe4;padding:14px 22px 30px;opacity:0;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease;overflow:auto}.mobile-menu[hidden]{display:none}.mobile-menu.is-open{opacity:1;transform:none}.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}.mobile-menu-top img{width:58px}.mobile-menu-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(244,239,228,.4);background:none;color:inherit;font-size:22px;line-height:1;cursor:pointer}.mobile-menu-links{display:flex;flex-direction:column;margin-top:8vh;border-top:1px solid rgba(244,239,228,.12)}.mobile-menu-links a{font:400 34px/1.1 "Playfair Display",Georgia,serif;color:inherit;text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(244,239,228,.12);letter-spacing:-.02em}.mobile-menu-foot{margin-top:34px}.mobile-menu-shop{display:flex;justify-content:space-between;align-items:center;background:#d3aa4f;color:#14351f;text-decoration:none;border-radius:99px;padding:16px 24px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.mobile-menu-sign{margin-top:auto;padding-top:30px;font:italic 17px "Playfair Display",Georgia,serif;color:rgba(244,239,228,.55)}.menu-open,.menu-open body{overflow:hidden}}
/* Boutique page: no divider under the intro; smaller "Voir les détails" */
.shop-page .collection-rail{border-top:0;background:transparent}
.rail-product .rail-details{font-size:10px;letter-spacing:.16em;padding:10px 0 6px;line-height:1.2}
@media(max-width:960px){.rail-product .rail-details{font-size:9px}}
section[data-section][hidden]{display:none!important}
/* ===== Readability & tap targets (audit) ===== */
body .story-label,body .collection-kicker,body .honey-panel-num,body .gallery-eyebrow,body .ritual-card-kicker,body .episode-num,body .episode-count{font-size:11px}
body .category-facts span{font-size:9px}
body .gallery-tags li{font-size:10px}
body .gallery-btn,body .gallery-link,body .category-explore,body .honey-card-cta{font-size:11px}
body .rail-product .rail-details{font-size:11px}
@media(max-width:960px){body .site-nav .shop{min-height:40px;display:inline-flex;align-items:center;font-size:11px}body .gallery-link{display:inline-flex;align-items:center;min-height:44px;padding-bottom:0}body .category-explore{min-height:44px;align-items:center}body .rail-product .rail-details{min-height:44px;font-size:11px}body .poster-mobile .category-copy p{font-size:12.5px;line-height:1.5}body .poster-mobile .category-facts span{font-size:8.5px;padding:7px 10px}body .gallery-desc,body .honey-dialog-desc,body .episode-copy p,body .doctors-lead,body .farm-lead,body .honey-guide-lead{font-size:13.5px}body .footer-links a{display:inline-flex;min-height:40px;align-items:center}body .quick-add,body .rail-buy select{min-height:44px}}
