:root{
  --sauge:#7E9B84; --sauge-f:#4F6B57; --sauge-c:#E7EEE7; --sauge-cc:#F3F7F3;
  --sable:#F7F2EB; --beige:#EDE4D8; --texte:#232824; --gris:#656B66;
  --bord:#E4DED4; --blanc:#FFFFFF; --promo:#C4805F; --or:#D6A04A;
  --r:18px; --ombre:0 10px 30px -12px rgba(35,40,36,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Jost,Arial,sans-serif;color:var(--texte);background:var(--blanc);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em}
.wrap{max-width:1220px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;left:-9999px}
.btn,.button,button.button,a.button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:40px;font-family:Jost,sans-serif;font-weight:500;font-size:15px;border:1px solid transparent;cursor:pointer;transition:all .2s;line-height:1.2}
.btn-p,.button.alt,.single_add_to_cart_button,.checkout-button,#place_order{background:var(--sauge-f)!important;color:#fff!important}
.btn-p:hover,.button.alt:hover,.single_add_to_cart_button:hover{background:var(--texte)!important;transform:translateY(-1px)}
.btn-s,.button{background:#fff;color:var(--texte);border-color:var(--texte)}
.btn-s:hover,.button:hover{background:var(--texte);color:#fff}
.eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sauge-f);font-weight:600;margin-bottom:10px}
.stars{color:var(--or);letter-spacing:2px}

/* Announcement */
.topbar{background:var(--sauge-f);color:#fff;font-size:13px;height:38px;overflow:hidden;position:relative}
.topbar ul{list-style:none;text-align:center}
.topbar li{height:38px;line-height:38px;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .track{animation:tick 12s infinite}
@keyframes tick{0%,28%{transform:translateY(0)}33%,61%{transform:translateY(-38px)}66%,95%{transform:translateY(-76px)}100%{transform:translateY(0)}}

/* Header */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--bord);position:sticky;top:0;z-index:50}
.head{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.logo{font-family:Fraunces,serif;font-size:28px;font-weight:600;display:flex;align-items:center;gap:9px;letter-spacing:-.02em}
.logo svg{width:30px;height:30px;flex:none}
.main-nav ul{display:flex;gap:28px;list-style:none;font-size:15px}
.main-nav a{position:relative;padding:6px 0}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--sauge-f);transition:right .25s}
.main-nav a:hover::after,.main-nav .current-menu-item a::after{right:0}
.icons{display:flex;gap:18px;align-items:center}
.icons svg{width:22px;height:22px;stroke:var(--texte);fill:none;stroke-width:1.6}
.cart-link{position:relative;display:flex}
.cart-count{position:absolute;top:-7px;right:-10px;background:var(--sauge-f);color:#fff;font-size:11px;border-radius:50%;min-width:18px;height:18px;display:grid;place-items:center;font-weight:600}
.burger{display:none;background:none;border:0;cursor:pointer;padding:4px}
.search-bar{display:none;border-top:1px solid var(--bord);padding:14px 0;background:#fff}
.search-bar.open{display:block}
.search-bar form{display:flex;gap:8px}
.search-bar input[type=search]{flex:1;padding:12px 18px;border:1px solid var(--bord);border-radius:40px;font:inherit}

/* Hero */
.hero{background:var(--sable);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:var(--sauge-c);right:-160px;top:-180px;opacity:.7}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:76px;padding-bottom:84px;position:relative}
.hero h1{font-size:clamp(40px,5.6vw,70px);margin-bottom:20px}
.hero h1 em{font-style:italic;font-weight:400;color:var(--sauge-f)}
.hero p.lead{font-size:18.5px;color:var(--gris);max-width:480px;margin-bottom:30px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.chips span{background:#fff;border:1px solid var(--bord);border-radius:30px;padding:7px 14px;font-size:13.5px;display:flex;gap:6px;align-items:center}
.hero-visual{position:relative}
.hero-img{aspect-ratio:1/1.05;border-radius:260px 260px 28px 28px;background:linear-gradient(160deg,#CBD9CD,#86A28C);overflow:hidden;position:relative;box-shadow:var(--ombre)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-img svg{position:absolute;inset:0;width:100%;height:100%}
.float-card{position:absolute;left:-28px;bottom:48px;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--ombre);display:flex;gap:12px;align-items:center;font-size:14px}
.float-card b{display:block;font-size:15px}
.float-card i{width:40px;height:40px;border-radius:50%;background:var(--sauge-c);display:grid;place-items:center;font-style:normal;font-size:18px}
.float-badge{position:absolute;right:-10px;top:40px;background:var(--promo);color:#fff;border-radius:50%;width:92px;height:92px;display:grid;place-items:center;text-align:center;font-size:13px;line-height:1.2;font-weight:600;transform:rotate(10deg);box-shadow:var(--ombre)}
.float-badge b{font-family:Fraunces;font-size:24px;display:block}

/* Trust */
.trust{border-bottom:1px solid var(--bord)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:34px;padding-bottom:34px}
.t{display:flex;gap:14px;align-items:flex-start}
.t i{flex:none;width:46px;height:46px;border-radius:50%;background:var(--sauge-c);display:grid;place-items:center;font-style:normal;color:var(--sauge-f)}
.t i svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7}
.t h3{font-family:Jost;font-size:15.5px;font-weight:600}
.t p{font-size:14px;color:var(--gris)}

section.bloc{padding:88px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:20px}
.sec-head h2{font-size:clamp(29px,3.5vw,42px)}
.sec-head .more{font-size:15px;border-bottom:1px solid;padding-bottom:2px;white-space:nowrap}
.center{text-align:center}.center .sec-head{justify-content:center}

/* Categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{border-radius:var(--r);aspect-ratio:3/4;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:22px;color:#fff;transition:transform .3s}
.cat:hover{transform:translateY(-4px)}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat:hover img{transform:scale(1.05)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.5))}
.cat div{position:relative;z-index:1;width:100%}
.cat b{font-family:Fraunces;font-size:23px;display:block}
.cat small{font-size:14px;opacity:.92;display:flex;justify-content:space-between}
.c1{background:linear-gradient(160deg,#B8C9BB,#6F8B76)}.c2{background:linear-gradient(160deg,#E4D3C0,#B08F70)}
.c3{background:linear-gradient(160deg,#C7CDD8,#7A879E)}.c4{background:linear-gradient(160deg,#E9D9D2,#BE9282)}

/* Product grid (WooCommerce + preview) */
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;margin:0!important}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;position:relative;display:flex;flex-direction:column}
ul.products li.product a img{aspect-ratio:1/1;object-fit:cover;border-radius:16px;background:var(--sable);margin-bottom:14px!important;transition:transform .4s}
ul.products li.product:hover a img{transform:scale(1.02)}
ul.products li.product .woocommerce-loop-product__title{font-family:Jost!important;font-size:16px!important;font-weight:500;padding:0!important;margin:0 0 6px!important;line-height:1.35}
ul.products li.product .price{color:var(--texte)!important;font-weight:600;font-size:17px!important;display:block;margin-bottom:12px}
ul.products li.product .price del{color:var(--gris);font-weight:400;font-size:14px;margin-right:6px;opacity:1}
ul.products li.product .price ins{text-decoration:none}
ul.products li.product .button{margin-top:auto;width:100%;padding:11px}
ul.products li.product .star-rating{font-size:13px;margin-bottom:6px;color:var(--or)}
.onsale{position:absolute!important;top:12px!important;left:12px!important;right:auto!important;background:var(--promo)!important;color:#fff;font-size:12px!important;font-weight:600;padding:5px 11px!important;border-radius:20px!important;min-height:0!important;min-width:0!important;line-height:1.3!important;z-index:2;margin:0!important}
.pv-img{aspect-ratio:1/1;border-radius:16px;background:var(--sable);display:grid;place-items:center;margin-bottom:14px}
.pv-img svg{width:50%;height:50%}

/* Promo */
.promo{background:var(--sauge-f);color:#fff;border-radius:28px;padding:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.promo::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.06);right:-80px;bottom:-120px}
.promo h2{font-size:clamp(29px,3.5vw,44px);margin-bottom:12px}
.promo p{opacity:.9;margin-bottom:24px}
.promo .eyebrow{color:#D5E3D7}
.promo .btn{background:#fff;color:var(--texte)}
.code{border:2px dashed rgba(255,255,255,.55);border-radius:20px;padding:32px;text-align:center;position:relative;z-index:1}
.code b{font-family:Fraunces;font-size:48px;display:block;letter-spacing:.04em}

/* Steps */
.how{background:var(--sable)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:#fff;border-radius:var(--r);padding:32px;transition:box-shadow .3s}
.step:hover{box-shadow:var(--ombre)}
.step span{font-family:Fraunces;font-size:38px;color:var(--sauge)}
.step h3{font-family:Jost;font-size:18px;margin:8px 0 6px}
.step p{font-size:15px;color:var(--gris)}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--bord);padding:20px 0}
.faq summary{cursor:pointer;font-weight:500;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--sauge-f);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--gris);margin-top:10px}

/* Brand */
.brand .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.brand-img{aspect-ratio:4/3;border-radius:24px;background:linear-gradient(160deg,#EDE4D8,#C4B196);overflow:hidden}
.brand-img img{width:100%;height:100%;object-fit:cover}
.brand h2{font-size:clamp(29px,3.5vw,42px);margin-bottom:16px}
.brand p{color:var(--gris);margin-bottom:24px}

/* Blog cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card .thumb{aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,var(--sauge-c),var(--beige));margin-bottom:16px}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .thumb img{transform:scale(1.04)}
.post-card small{color:var(--sauge-f);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em}
.post-card h3{font-size:22px;margin:6px 0 8px}
.post-card p{color:var(--gris);font-size:15px}

/* Newsletter */
.news{background:var(--sauge-c);text-align:center}
.news h2{font-size:clamp(27px,3vw,38px);margin-bottom:10px}
.news p{color:var(--gris);margin-bottom:24px}
.news form{display:flex;max-width:500px;margin:0 auto;gap:8px}
.news input{flex:1;padding:14px 22px;border-radius:40px;border:1px solid var(--bord);font:inherit;background:#fff}

/* Page / article */
.page-hero{background:var(--sable);padding:64px 0 54px;text-align:center}
.page-hero h1{font-size:clamp(34px,4.5vw,54px)}
.page-hero p{color:var(--gris);margin-top:10px}
.crumbs{font-size:13.5px;color:var(--gris);margin-bottom:12px}
.content{max-width:780px;margin:0 auto;padding:64px 20px 90px}
.prose h2{font-size:28px;margin:40px 0 14px}
.prose h3{font-size:21px;margin:28px 0 10px}
.prose p,.prose ul,.prose ol{margin-bottom:18px;color:#3A403B}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin-bottom:6px}
.prose a{color:var(--sauge-f);text-decoration:underline}
.prose blockquote{border-left:3px solid var(--sauge);padding:6px 0 6px 20px;font-family:Fraunces;font-size:20px;margin:24px 0}
.prose img{border-radius:16px;margin:24px 0}
.prose table{width:100%;border-collapse:collapse;margin-bottom:20px}
.prose td,.prose th{border:1px solid var(--bord);padding:10px;text-align:left}
.post-meta{color:var(--gris);font-size:14px;margin-top:10px}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:50px}
.pagination .page-numbers{padding:9px 15px;border:1px solid var(--bord);border-radius:30px}
.pagination .current{background:var(--texte);color:#fff}

/* WooCommerce pages */
.wc-wrap{padding:50px 20px 90px}
.woocommerce-breadcrumb{font-size:13.5px;color:var(--gris)!important;margin-bottom:24px!important}
.woocommerce-products-header__title{font-size:clamp(32px,4vw,48px);margin-bottom:10px}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:30px!important;font-size:14px;color:var(--gris)}
.woocommerce-ordering select{padding:10px 14px;border:1px solid var(--bord);border-radius:30px;font:inherit}
div.product{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
div.product .woocommerce-product-gallery,div.product .summary{width:auto!important;float:none!important;margin:0!important}
div.product .woocommerce-product-gallery img{border-radius:18px}
div.product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px!important}
div.product .flex-control-thumbs li{width:auto!important}
div.product .flex-control-thumbs img{border-radius:10px}
div.product .product_title{font-size:clamp(28px,3.4vw,40px);margin-bottom:12px}
div.product p.price{font-size:26px!important;color:var(--texte)!important;font-weight:600;margin-bottom:18px}
div.product p.price del{font-size:18px;color:var(--gris);font-weight:400}
div.product p.price ins{text-decoration:none;color:var(--promo)}
div.product .woocommerce-product-details__short-description{color:#3A403B;margin-bottom:22px}
div.product form.cart{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
div.product form.cart .quantity input{height:50px;width:74px;border:1px solid var(--bord);border-radius:30px;text-align:center;font:inherit}
div.product .single_add_to_cart_button{flex:1;height:50px;font-size:16px!important}
div.product .variations{margin-bottom:14px}
div.product .variations select{padding:10px 14px;border:1px solid var(--bord);border-radius:12px;font:inherit;min-width:200px}
.rx-assurance{background:var(--sauge-cc);border-radius:16px;padding:18px 20px;display:grid;gap:10px;font-size:14.5px;margin-top:6px}
.rx-assurance div{display:flex;gap:10px;align-items:center}
.product_meta{font-size:13.5px;color:var(--gris);margin-top:18px}
.woocommerce-tabs{grid-column:1/-1;margin-top:40px}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;list-style:none;border-bottom:1px solid var(--bord);padding:0!important;margin-bottom:26px!important}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li{background:none!important;border:0!important;margin:0!important;padding:0!important}
.woocommerce-tabs ul.tabs li a{display:block;padding:12px 18px!important;font-weight:500;color:var(--gris)!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--texte)!important;box-shadow:inset 0 -2px var(--sauge-f)}
.woocommerce-Tabs-panel{max-width:820px}
.related,.upsells{grid-column:1/-1;margin-top:60px}
.related>h2,.upsells>h2{font-size:32px;margin-bottom:26px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--sauge-cc)!important;border-top-color:var(--sauge-f)!important;border-radius:12px;list-style:none}
.woocommerce table.shop_table{border-radius:16px!important;border-color:var(--bord)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{border:1px solid var(--bord)!important;border-radius:12px!important;padding:12px 14px!important;min-height:48px;font:inherit}
.cart_totals,.woocommerce-checkout-review-order{background:var(--sable);border-radius:18px;padding:26px}

/* Footer */
.site-footer{background:var(--texte);color:#D3D8D3;padding:66px 0 26px;font-size:14.5px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;margin-bottom:44px}
.site-footer h4{color:#fff;font-family:Jost;font-size:15px;margin-bottom:14px;font-weight:600}
.site-footer ul{list-style:none;display:grid;gap:9px}
.site-footer a:hover{color:#fff}
.site-footer .logo{color:#fff;margin-bottom:12px}
.pay{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.pay span{background:#fff;color:var(--texte);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}
.copy{border-top:1px solid #3F4540;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#959B96;font-size:13px}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.topbar .track{animation:none}}

/* Responsive */
@media(max-width:980px){
  .burger{display:block}
  .main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--bord);padding:10px 20px 20px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:4px}
  .main-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--bord)}
  .hero .wrap,.brand .wrap,.promo,div.product{grid-template-columns:1fr}
  .hero .wrap{padding-top:48px;padding-bottom:60px;gap:40px}
  .float-card{left:10px}.float-badge{right:6px}
  .trust .wrap,.cats{grid-template-columns:repeat(2,1fr)}
  ul.products{grid-template-columns:repeat(2,1fr)}
  .steps,.posts{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .promo{padding:38px}
  div.product{gap:30px}
}
@media(max-width:560px){
  .wrap{padding:0 16px}
  .trust .wrap{grid-template-columns:1fr;gap:16px}
  ul.products{gap:16px}
  .cats{gap:12px}
  .news form{flex-direction:column}
  section.bloc{padding:60px 0}
  .fgrid{grid-template-columns:1fr}
  .logo{font-size:24px}
  .sec-head{flex-direction:column;align-items:flex-start}
}
