/* ==========================================================================
   Conteneur Nature — couche « Atelier nature »
   Chargée après theme.css, woocommerce.css et style.css.
   Principes : vert sapin, sauge et lin ; titres serif éditoriaux avec un mot
   en italique terre cuite ; formes arrondies, ombres douces, boutons pilule.
   ========================================================================== */

/* ---------- Base ---------- */
body{background:hsl(var(--background));color:hsl(var(--foreground));}
h1,h2,h3,h4,.site-main h1,.site-main h2,.site-main h3,.site-main h4{
  font-family:var(--font-head);font-weight:400;text-transform:none;letter-spacing:-.01em;line-height:1.02;color:hsl(var(--primary));
}
h1{font-size:clamp(2.8rem,6vw,4.8rem);}
h2{font-size:clamp(2.1rem,4vw,3.2rem);}
h3{font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.1;}
h1 em,h2 em,h3 em,.ctp-em{font-style:italic;color:hsl(var(--accent));}
::selection{background:hsl(var(--secondary) / .35);}

.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--accent));display:inline-flex;align-items:center;gap:.5rem;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:hsl(var(--secondary));}
.section__head h2,.slider-head h2,.cat-products__head h2{display:block;}
.section__head h2::after,.section__head h2::before{display:none!important;}

/* ---------- Boutons : pilules ---------- */
.btn,.button,button.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  border-radius:999px!important;font-family:var(--font-body)!important;font-weight:600!important;letter-spacing:0;text-transform:none;
}
.btn:hover{transform:translateY(-1px);}
.btn--primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:none;}
.btn--primary:hover{background:hsl(var(--primary-glow));}
.btn--accent{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:none;}
.btn--accent:hover{background:hsl(var(--leaf));}
.btn--outline{background:transparent;border:1.5px solid hsl(var(--primary) / .35);color:hsl(var(--primary));}
.btn--outline:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05);}
.btn--ghost,.btn--outline-light{background:transparent;border:1.5px solid hsl(var(--primary) / .3);color:hsl(var(--primary));}
.btn--ghost:hover,.btn--outline-light:hover{border-color:hsl(var(--primary));background:#fff;}
.btn--primary:hover,.btn--accent:hover{filter:none;}

/* ---------- En-tête ---------- */
.util-bar{background:hsl(var(--primary));color:hsl(var(--primary-foreground) / .85);font-size:.8rem;}
.util-bar svg{color:hsl(var(--secondary))!important;}
.header-main{background:hsl(var(--background));backdrop-filter:none;border-bottom:0;}
.header-main .container{min-height:86px;}
.brand__icon{border-radius:14px!important;background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;}
.brand__name{font-family:var(--font-head);font-weight:400;font-size:1.85rem;letter-spacing:-.01em;line-height:.95;color:hsl(var(--primary));}
.brand__tag{font-family:var(--font-body);font-weight:500;font-size:.64rem;letter-spacing:.16em;color:hsl(var(--secondary));}
.header-search{border-radius:999px!important;background:#fff!important;border:1px solid hsl(var(--border))!important;box-shadow:var(--shadow-card);}
.header-search button{border-radius:999px!important;background:hsl(var(--primary))!important;color:#fff!important;}
.header-cta__ic{border-radius:50%!important;background:hsl(var(--muted))!important;color:hsl(var(--primary))!important;}
.header-cta__txt strong{font-family:var(--font-body);font-weight:600;}
.cart-link{border-radius:999px!important;}
.cart-count{border-radius:999px!important;background:hsl(var(--accent))!important;color:#fff!important;}

.cat-bar{background:hsl(var(--background));border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));}
.cat-bar .main-nav a{color:hsl(var(--primary));font-family:var(--font-body);font-weight:500;font-size:.95rem;padding:.45rem .9rem;border-radius:999px;}
.cat-bar .main-nav a:hover{background:hsl(var(--muted));color:hsl(var(--primary));}
.cat-bar .main-nav .current-menu-item>a{background:hsl(var(--primary));color:hsl(var(--primary-foreground));}
.cat-bar .main-nav .nav-list{gap:.35rem!important;}
.main-nav .dropdown{border-radius:18px!important;border:1px solid hsl(var(--border))!important;box-shadow:var(--shadow-elev)!important;}
.main-nav .dropdown a{border-radius:12px!important;}

/* ---------- Slider : carte arrondie, voile lin ---------- */
.hero-slider{margin:18px clamp(12px,2vw,24px) 0;border-radius:32px;}
.hero-slide{min-height:clamp(480px,66vh,660px);background-color:hsl(var(--muted));}
.hero-slide::before{background:linear-gradient(90deg,hsl(40 30% 97% / .96) 0%,hsl(40 30% 97% / .82) 42%,hsl(40 30% 97% / 0) 78%)!important;}
.hero-slide__content{max-width:600px;text-align:left!important;}
.hero-slide__content .eyebrow{color:hsl(var(--accent));}
.hero-slide__content h1,.hero-slide__content .h1{color:hsl(var(--primary))!important;font-family:var(--font-head)!important;font-weight:400!important;font-size:clamp(3rem,6.6vw,5.4rem)!important;line-height:.98!important;text-transform:none!important;letter-spacing:-.015em;}
.hero-slide__content p{color:hsl(var(--foreground) / .75);font-size:1.12rem;max-width:44ch;}
.hero__cta{justify-content:flex-start!important;}
.hero-slider__nav{border-radius:50%!important;background:#fff!important;color:hsl(var(--primary))!important;box-shadow:var(--shadow-card);width:46px;height:46px;}
.hero-slider__dots button{border-radius:999px!important;width:10px!important;height:10px!important;background:hsl(var(--primary) / .25)!important;}
.hero-slider__dots button.is-active{width:28px!important;background:hsl(var(--primary))!important;}

/* ---------- Bandeau des 4 atouts ---------- */
.trust{background:transparent;border:0;}
.trust .container{gap:14px;padding-block:28px;}
.trust .item{background:#fff;border-radius:22px;padding:1.4rem 1.2rem;box-shadow:var(--shadow-card);align-items:flex-start;text-align:left;}
.trust .icon{width:46px;height:46px;border-radius:50%;background:hsl(var(--secondary) / .18);color:hsl(var(--primary));margin-bottom:.4rem;}
.trust .icon svg{width:24px;height:24px;}
.trust .item strong{font-family:var(--font-head);font-weight:400;font-size:1.35rem;color:hsl(var(--primary));}

/* ---------- Catégories ---------- */
.cat-chip{border-radius:999px!important;border:1px solid hsl(var(--border))!important;background:#fff!important;box-shadow:var(--shadow-card)!important;}
.cat-chip:hover{transform:translateY(-2px)!important;box-shadow:var(--shadow-elev)!important;}
.cat-chip__img,.cat-chip__img img{border-radius:50%!important;}
.cat-chip__txt strong{font-family:var(--font-head);font-weight:400;font-size:1.15rem;color:hsl(var(--primary));}
.slider-btn{border-radius:50%!important;background:#fff!important;border:1px solid hsl(var(--border))!important;color:hsl(var(--primary))!important;}
.catalog-all{font-weight:600;color:hsl(var(--primary));border-bottom:1.5px solid hsl(var(--accent));}

/* ---------- Rayons par catégorie : « N° 01 » ---------- */
body{counter-reset:ctp-lot;}
.cat-products{counter-increment:ctp-lot;}
.cat-products.section--muted{background:hsl(var(--muted));}
.cat-products__head .eyebrow{font-size:0;gap:0;}
.cat-products__head .eyebrow::before{content:"N° " counter(ctp-lot, decimal-leading-zero);width:auto;height:auto;border-radius:0;background:none;font-family:var(--font-head);font-style:italic;font-size:1.4rem;letter-spacing:0;text-transform:none;color:hsl(var(--accent));}

/* ---------- Cartes produit ---------- */
li.product .product-card{border:0!important;border-radius:24px!important;background:#fff;box-shadow:var(--shadow-card)!important;padding:10px;}
li.product .product-card:hover{transform:translateY(-4px)!important;box-shadow:var(--shadow-elev)!important;}
.product-card__media{border-radius:18px;background:hsl(var(--muted));}
.product-card__badge{border-radius:999px!important;background:hsl(var(--primary))!important;color:#fff!important;font-family:var(--font-body)!important;font-weight:600!important;}
.product-card__badge--sale{background:hsl(var(--accent))!important;}
.product-card__body{padding:.9rem .6rem .5rem!important;}
.product-card__cat{color:hsl(var(--secondary));font-weight:600;letter-spacing:.12em;font-size:.66rem;}
.product-card__title{font-family:var(--font-head)!important;font-weight:400!important;font-size:1.3rem!important;line-height:1.1!important;color:hsl(var(--primary))!important;text-transform:none!important;}
.product-card__price .price{font-family:var(--font-body)!important;font-weight:600!important;color:hsl(var(--primary))!important;font-size:1.25rem!important;}
.product-card__price .discount-badge,.discount-badge{border-radius:999px!important;background:hsl(var(--accent))!important;color:#fff!important;}
.product-card__buy{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;border-radius:999px!important;}
.product-card__buy:hover{background:hsl(var(--leaf))!important;}
.product-card__buy--view{background:hsl(var(--muted))!important;color:hsl(var(--primary))!important;}

/* ---------- Pourquoi nous ---------- */
.why__item{border-top:1px solid hsl(var(--border));}
.why__num{font-family:var(--font-head);font-style:italic;font-weight:400;font-size:2.2rem;color:hsl(var(--accent));min-width:3.2rem;}
.why__item h3{font-size:1.45rem;}

/* ---------- Comment ça marche ---------- */
.process.section--muted{background:hsl(var(--muted));}
.pstep{border:0;border-radius:24px;background:#fff;box-shadow:var(--shadow-card);padding:2.2rem 1.5rem 1.6rem;}
.pstep__n{border-radius:50%!important;background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-family:var(--font-head)!important;font-style:italic;font-weight:400;font-size:1.25rem;width:42px;height:42px;top:-21px;}
.pstep__ic{border-radius:50%!important;background:hsl(var(--secondary) / .18)!important;color:hsl(var(--primary))!important;}

/* ---------- Bandeau défilant ---------- */
.announce-bar,.announce-bar--section{background:hsl(var(--secondary));color:#fff;}
.announce-bar .trust-item{font-family:var(--font-head);font-style:italic;font-size:1.3rem;font-weight:400;}
.announce-bar .trust-item .ico{color:hsl(var(--primary));}
.announce-set{padding-block:1rem;gap:3rem;}

/* ---------- Avis, chiffres ---------- */
.testi{border-radius:24px!important;border:0!important;box-shadow:var(--shadow-card)!important;background:#fff;}
.testi__text{font-family:var(--font-head);font-size:1.25rem;line-height:1.3;color:hsl(var(--primary));}
.testi__stars{color:hsl(var(--accent));}
.testi__avatar{border-radius:50%!important;background:hsl(var(--secondary) / .25)!important;color:hsl(var(--primary))!important;}
.stats-band{background:hsl(var(--primary));}
.stat-item__n{font-family:var(--font-head)!important;font-weight:400;color:hsl(var(--primary-foreground))!important;}
.stat-item__l{color:hsl(var(--primary-foreground) / .7);}

/* ---------- Appel à l'action : bloc vert arrondi ---------- */
.cta-band{background:transparent;color:hsl(var(--primary-foreground));padding:0 clamp(12px,2vw,24px);}
.cta-band::before{display:none;}
.cta-band__inner{background:hsl(var(--primary));border-radius:32px;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,4rem);max-width:var(--container);}
.cta-band h2{color:hsl(var(--primary-foreground));}
.cta-band p{color:hsl(var(--primary-foreground) / .75);}
.cta-band .eyebrow{color:hsl(var(--secondary))!important;}
.cta-band .btn--accent{background:hsl(var(--accent));color:#fff;}
.cta-band .btn--accent:hover{background:hsl(20 51% 40%);}
.cta-band .btn--ghost{color:hsl(var(--primary-foreground));border-color:hsl(var(--primary-foreground) / .4);}
.cta-band .btn--ghost:hover{background:hsl(var(--primary-foreground) / .08);border-color:hsl(var(--primary-foreground));}
.cta{border-radius:28px!important;background:#fff;box-shadow:var(--shadow-card);border:0;}

/* ---------- En-têtes de pages, boutique ---------- */
.shop-hero,.page-hero{background:hsl(var(--muted))!important;border-radius:0 0 32px 32px;}
.shop-hero h1,.page-hero h1{color:hsl(var(--primary))!important;}
.shop-hero p,.page-hero p{color:hsl(var(--muted-foreground))!important;}
.page-hero__crumb a,.page-hero__crumb span{color:hsl(var(--muted-foreground))!important;}
.filter-widget{border-radius:20px!important;border:1px solid hsl(var(--border))!important;background:#fff;}
.filter-widget__title{font-family:var(--font-head);font-weight:400;font-size:1.3rem;}
.filter-list li.is-active a{background:hsl(var(--primary))!important;color:#fff!important;border-radius:999px!important;}
.filter-count{border-radius:999px!important;}

/* ---------- Fiche produit ---------- */
.single-product-wrap .product_title{font-size:clamp(2.2rem,4vw,3.4rem)!important;font-weight:400!important;}
.single-product-wrap .summary .price{font-family:var(--font-body)!important;font-weight:600!important;color:hsl(var(--primary))!important;font-size:2rem!important;}
.single_add_to_cart_button{background:hsl(var(--primary))!important;color:#fff!important;border-radius:999px!important;}
.ctp-buy-now{background:hsl(var(--accent))!important;color:#fff!important;border-radius:999px!important;}
.ctp-buy-now::before{content:"→"!important;}
.quantity input.qty{border-radius:999px!important;}
.product-shipping{border-radius:16px!important;background:hsl(var(--muted))!important;border:0!important;}
.btn-whatsapp{border-radius:999px!important;}
.price-includes{border-radius:24px!important;box-shadow:var(--shadow-card)!important;border:0!important;}
.woocommerce div.product div.images img,.woocommerce-product-gallery__image img{border-radius:20px;}
.woocommerce-tabs .tabs li.active a{box-shadow:inset 0 -2px 0 hsl(var(--accent));}

.co-reassurance .co-trust__item{border-radius:18px!important;}
.co-help{border-radius:24px!important;background:hsl(var(--primary))!important;}
.co-help__btn{border-radius:999px!important;}

/* ---------- Formulaires, FAQ, contact ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{border-radius:14px!important;}
.ctp-form input:focus,.ctp-form select:focus,.ctp-form textarea:focus{border-color:hsl(var(--leaf))!important;box-shadow:0 0 0 4px hsl(var(--leaf) / .15)!important;outline:0;}
.faq-item{border-radius:20px!important;border:1px solid hsl(var(--border))!important;background:#fff;box-shadow:none!important;}
.faq-item summary{font-family:var(--font-head);font-weight:400;font-size:1.3rem;}
.faq-item[open]{box-shadow:var(--shadow-card)!important;}
.contact-top .cc,.contact-form-card,.use-item,.feature,.card{border-radius:24px!important;border:0!important;box-shadow:var(--shadow-card)!important;background:#fff;}
.contact-top .cc.is-primary{background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;}
.contact-top .cc .val{font-family:var(--font-head);font-weight:400;}
.use-item .icon,.feature .icon,.contact-info .ico{border-radius:50%!important;background:hsl(var(--secondary) / .18)!important;color:hsl(var(--primary))!important;}
.legal-nav{border-radius:20px;}
.legal-nav li a{border-radius:999px;}
.legal-content h2{font-weight:400;}

/* ---------- Pied de page ---------- */
.site-footer{background:hsl(var(--primary));color:hsl(var(--primary-foreground) / .72);border-radius:36px 36px 0 0;margin-top:clamp(2rem,5vw,4rem);}
.site-footer h4{font-family:var(--font-head);font-weight:400;font-size:1.35rem;color:hsl(var(--primary-foreground));text-transform:none;}
.site-footer a:hover{color:hsl(var(--secondary));}
.footer-about .brand span{font-family:var(--font-head);font-weight:400;font-size:2rem;color:hsl(var(--primary-foreground));}
.footer-contactband{background:hsl(163 31% 14%);}
.footer-social__ico{border-radius:50%!important;}

.ctp-fab{border-radius:50%!important;}
.ctp-fab--top{background:#fff!important;color:hsl(var(--primary))!important;}

/* ---------- Mobile ---------- */
@media (max-width:900px){
  .trust .container{grid-template-columns:repeat(2,1fr);}
  .hero-slider{border-radius:24px;}
}
@media (max-width:760px){
  .hero-slide::before{background:linear-gradient(180deg,hsl(40 30% 97% / .55) 0%,hsl(40 30% 97% / .95) 55%)!important;}
  .hero-slide__content h1,.hero-slide__content .h1{font-size:clamp(2.6rem,11vw,3.4rem)!important;}
  .cat-products__head{flex-direction:column;align-items:flex-start;}
  .cat-bar{background:hsl(var(--background));}
}
@media (max-width:520px){
  .trust .container{grid-template-columns:1fr;}
}

/* -------------------------------------------------------------
   Responsive des grilles produit (v1.0.1)
   « 1fr » = minmax(auto, 1fr) : une colonne ne descend pas sous la largeur
   de son contenu (bouton « Acheter maintenant », prix sans retour à la ligne),
   d'où le débordement sur mobile. On force minmax(0, 1fr) et des contenus
   qui peuvent se replier.
   ------------------------------------------------------------- */
ul.products,
.cat-products__grid,
.grid--2, .grid--3, .grid--4 { min-width: 0; }

ul.products > li.product,
.cat-products__grid > *,
li.product .product-card,
.product-card__body,
.product-card__foot,
.product-card__price { min-width: 0; max-width: 100%; }

.product-card__title { overflow-wrap: anywhere; hyphens: auto; }

@media (max-width: 960px) {
  .woocommerce ul.products, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-5,
  ul.products, ul.products.columns-4, ul.products.columns-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}
@media (max-width: 1100px) { .cat-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 760px)  { .cat-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; } }

@media (max-width: 600px) {
  .woocommerce ul.products, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-5,
  ul.products, ul.products.columns-4, ul.products.columns-5,
  .cat-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .65rem !important;
  }
  li.product .product-card { border-radius: 14px; }
  .product-card__body { padding: .75rem .7rem .85rem !important; gap: .3rem; }
  .product-card__cat { font-size: .62rem; letter-spacing: .05em; }
  .product-card__title { font-size: .95rem !important; line-height: 1.22; }
  .product-card__excerpt { display: none; }
  .product-card__price .price { font-size: 1.02rem !important; white-space: normal; }
  .product-card__price .price del { display: block; font-size: .75rem; }
  .product-card__price .discount-badge { display: inline-block; margin-top: .2rem; }
  .ctp-price-legal--card { font-size: .66rem; line-height: 1.3; }
  .product-card .button,
  .product-card__buy {
    white-space: normal !important;
    font-size: .8rem !important;
    padding: .6rem .5rem !important;
    line-height: 1.2;
  }
  .product-card__badge { font-size: .62rem; padding: .2rem .5rem; }
}
@media (max-width: 360px) {
  .product-card__title { font-size: .86rem !important; }
  .product-card__buy { font-size: .74rem !important; }
}
@media (min-width: 1101px) { .cat-products__grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
/* Aucune page ne doit défiler horizontalement */
html, body { max-width: 100%; overflow-x: hidden; }
