/* =========================================================
   Crépus & Belle's — Thème « Atelier Botanique » (direction A)
   Chargé APRÈS styles.css sur les pages boutique uniquement.
   Ne touche qu'à l'apparence : aucune classe, aucun ID ni aucun
   comportement n'est modifié. Pour revenir à l'ancien design,
   il suffit de retirer la ligne <link ... theme.css>.
   (admin.html ne charge pas ce fichier : l'admin reste identique.)
   ========================================================= */
:root{
  --b-bg:#F6F1E7;      /* crème */
  --b-bg2:#EDE5D5;     /* sable clair */
  --b-sand:#E6DCC8;    /* arche du hero */
  --b-ink:#1F2A22;     /* texte principal */
  --b-muted:#4A5A4C;   /* texte secondaire */
  --b-sage:#2F4A33;    /* vert sauge foncé (accent) */
  --b-sage-dk:#243A28;
  --b-gold:#8A6A3B;    /* bronze (sur fond clair) */
  --b-gold-lt:#D9C29A; /* bronze clair (sur fond vert) */
  --b-line:#E2D9C6;
  --b-line2:#CFC3AA;
  --b-on-sage:#D8DFD3;
  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'DM Sans', -apple-system, sans-serif;
}

body{background:var(--b-bg); color:var(--b-ink);}
::selection{background:var(--b-gold-lt); color:var(--b-ink);}
.eyebrow{color:var(--b-gold); font-weight:600; letter-spacing:.22em;}

/* ----- Bandeau d'information ----- */
.topbar{
  background:var(--b-sage); color:var(--b-bg);
  text-align:center; font-size:13px; letter-spacing:.03em;
  padding:9px 16px; line-height:1.45;
}

/* ----- En-tête ----- */
header{background:rgba(246,241,231,0.95); border-bottom:1px solid var(--b-line);}
.brand-name{color:var(--b-ink); font-size:25px; font-weight:600; letter-spacing:.01em;}
.brand-name span{color:var(--b-gold); font-weight:600;}
nav.links a{color:var(--b-muted); font-weight:500; font-size:14.5px; letter-spacing:0;}
nav.links a:hover, nav.links a.active{color:var(--b-ink);}
nav.links a::after{background:var(--b-ink); height:1px;}
.cart-btn{
  background:transparent; color:var(--b-ink);
  border:1px solid var(--b-ink); box-shadow:none;
  font-weight:600; min-height:44px; padding:0 18px;
}
.cart-btn:hover{background:var(--b-ink); color:var(--b-bg);}
.cart-count{background:var(--b-sage); color:var(--b-bg);}
@keyframes cartCountPop{
  0%{transform:scale(1);}
  40%{transform:scale(1.5); background:var(--b-gold); color:#fff;}
  100%{transform:scale(1);}
}
.burger{color:var(--b-ink); min-width:44px; min-height:44px;}
@media(max-width:980px){
  nav.links.mobile-open{background:var(--b-bg); border-top:1px solid var(--b-line); box-shadow:0 16px 30px rgba(31,42,34,0.12);}
  nav.links.mobile-open a{border-bottom:1px solid var(--b-line);}
}

/* ----- Hero ----- */
.hero{background:var(--b-bg); color:var(--b-ink); padding:56px 24px 72px;}
.hero::before{display:none;}
.hero-tag{border:none; padding:0; color:var(--b-gold); font-weight:600; letter-spacing:.22em; font-size:12.5px;}
.hero-tag::before{display:none;}
h1.hero-title{font-weight:600; font-size:clamp(42px, 5.4vw, 76px); line-height:1.02; letter-spacing:-.01em; color:var(--b-ink);}
h1.hero-title em{background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--b-sage); -webkit-text-fill-color:var(--b-sage);}
.hero-sub{color:var(--b-muted); font-size:17px; max-width:520px;}

.btn-primary{
  background:var(--b-sage); color:var(--b-bg);
  box-shadow:none; font-weight:600; letter-spacing:.01em;
  padding:16px 30px;
}
.btn-primary::before{display:none;}
.btn-primary:hover{background:var(--b-sage-dk); box-shadow:none; transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--b-sage); color:var(--b-sage); font-weight:600;}
.btn-ghost:hover{background:rgba(47,74,51,0.06); border-color:var(--b-sage);}

.hero-stat-icon{background:transparent; border:1px solid var(--b-line2);}
.hero-stat-icon svg{stroke:var(--b-sage);}
.hero-stat:nth-child(3) .hero-stat-icon svg{fill:var(--b-gold); stroke:none;}
.hero-stat b{color:var(--b-sage); font-weight:700;}
.hero-stat span{color:var(--b-muted);}

.hero-visual{
  background:var(--b-sand);
  border-radius:260px 260px 24px 24px;
  overflow:hidden; min-height:520px;
  align-items:flex-end;
}
.hero-glow-under{display:none;}
.hero-cutout{transform:none; filter:drop-shadow(0 18px 30px rgba(31,42,34,0.18));}
.floaty{background:var(--b-bg); border:none; box-shadow:0 10px 30px rgba(31,42,34,0.12); backdrop-filter:none;}
.floaty-photo{border:none;}
.floaty .fl-title{color:var(--b-ink);}
.floaty .fl-sub{color:var(--b-gold);}
.floaty-1{top:auto; bottom:24px; left:18px;}
.floaty-2{bottom:auto; top:44%; right:16px;}

/* ----- Sections & titres ----- */
h2.section-title{color:var(--b-ink); font-weight:600; font-size:clamp(32px, 4vw, 52px); line-height:1.06;}
.section-desc{color:var(--b-muted);}

/* ----- Filtres ----- */
.chip{
  border:1px solid var(--b-line2); background:transparent;
  color:var(--b-ink); font-weight:500; font-size:14px;
  min-height:44px; padding:0 18px;
}
.chip.active, .chip:hover{background:var(--b-sage); color:var(--b-bg); border-color:var(--b-sage);}
.sub-chips .chip{background:var(--b-bg2); color:var(--b-ink); min-height:40px;}
.sub-chips .chip.active{background:var(--b-gold); border-color:var(--b-gold); color:#fff;}

/* ----- Cartes produit ----- */
.grid{gap:30px 26px;}
.card{background:transparent; border:none; box-shadow:none; border-radius:0; overflow:visible;}
.card:hover{transform:none; box-shadow:none;}
.card-img{background:#fff; border-radius:18px; padding:18px;}
.card-img.loading{background:linear-gradient(100deg,#EFE8DA 25%,#FBF8F1 50%,#EFE8DA 75%); background-size:200% 100%;}
.card-body{padding:14px 2px 6px; gap:6px;}
.card-cat{color:var(--b-gold); font-weight:600; letter-spacing:.14em;}
.card-title{font-size:22px; font-weight:600; line-height:1.15; color:var(--b-ink);}
.card-desc{font-weight:400; color:var(--b-muted); font-size:14px;}
.price{font-size:19px; font-weight:700; color:var(--b-ink);}
.price-old{color:#8B8577;}
.add-btn{background:transparent; color:var(--b-sage); border:1px solid var(--b-sage); width:44px; height:44px;}
.add-btn:hover{background:var(--b-sage); color:var(--b-bg); transform:none;}
.badge-new{background:var(--b-sage); color:var(--b-bg); font-weight:700;}
.badge-promo{background:var(--b-gold); color:#fff; box-shadow:none;}
.card-dots span.active{background:var(--b-sage);}
#productGrid > p{color:var(--b-muted) !important;}
@media(max-width:560px){
  .grid{gap:18px 12px;}
  .card-img{padding:12px; border-radius:14px;}
  .card-title{font-size:17px;}
  .card-desc{font-weight:400;}
  .add-btn{width:36px; height:36px;}
  .expand-arrow{background:rgba(47,74,51,0.85); color:var(--b-bg);}
  .card.expanded .card-body{padding:12px 2px 8px !important;}
}

/* ----- Bandeau valeurs ----- */
.values{background:var(--b-bg2); color:var(--b-ink);}
.value-icon{border:1px solid var(--b-line2);}
.value-item h4{color:var(--b-sage);}
.value-item p{color:var(--b-muted);}

/* ----- Promo Flash ----- */
.promo-strip{background:var(--b-sage); color:var(--b-bg); border:none; border-radius:28px;}
.promo-strip::after{display:none;}
.promo-strip .eyebrow-light{border:1px solid rgba(246,241,231,0.3); color:var(--b-gold-lt); font-weight:600;}
.promo-strip .eyebrow-light::before{color:var(--b-gold-lt);}
.promo-strip h3{font-weight:600; font-size:48px;}
.promo-strip h3 em{background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--b-gold-lt); -webkit-text-fill-color:var(--b-gold-lt); font-weight:600;}
.promo-strip p{color:var(--b-on-sage); opacity:1;}
.promo-strip .btn-primary{background:var(--b-bg); color:var(--b-ink);}
.promo-strip .btn-primary:hover{background:#fff;}
.promo-photo-ring{background:var(--b-gold-lt); box-shadow:none;}

/* ----- Pied de page ----- */
footer{background:var(--b-ink); color:var(--b-on-sage);}
.foot-grid{border-bottom:1px solid rgba(216,223,211,0.18);}
.foot-brand span{color:var(--b-bg); font-size:24px; font-weight:600;}
footer h5{color:var(--b-bg); letter-spacing:.12em; font-weight:600;}
footer li a:hover{color:var(--b-gold-lt);}
.foot-bottom{color:rgba(216,223,211,0.6);}

/* ----- Panier ----- */
.overlay{background:rgba(31,42,34,0.45);}
.drawer{background:var(--b-bg);}
.drawer-head{background:var(--b-sage); color:var(--b-bg);}
.drawer-head h3{font-size:24px; font-weight:600;}
.drawer-close{color:var(--b-bg); min-width:44px; min-height:44px;}
.cart-item{border-bottom:1px solid var(--b-line);}
.cart-item img{background:#fff;}
.ci-price{color:var(--b-gold);}
.qty-btn{background:var(--b-bg2); color:var(--b-ink);}
.drawer-foot{border-top:1px solid var(--b-line);}
.checkout-btn{background:var(--b-sage); box-shadow:none; border-radius:999px; font-weight:600;}
.checkout-btn::before{display:none;}
.checkout-btn:hover{background:var(--b-sage-dk);}
.checkout-note{color:#6B6455;}

/* ----- Fenêtre produit ----- */
.modal-overlay{background:rgba(31,42,34,0.5);}
.modal{border-radius:24px;}
.modal-img{background:#fff;}
.modal-cat{color:var(--b-gold); font-weight:600; letter-spacing:.14em;}
.modal-title{font-size:32px; font-weight:600; line-height:1.1;}
.modal-desc{font-weight:400; color:var(--b-muted);}
.modal-price{font-size:28px;}
.modal-add{background:var(--b-sage); color:var(--b-bg); border-radius:999px; font-weight:600; min-height:52px;}
.modal-add:hover{background:var(--b-sage-dk);}
.modal-more{color:var(--b-sage);}
.modal-img-dots span.active{background:var(--b-sage);}

/* ----- Commande (fenêtre coordonnées) ----- */
.adm-gate-overlay{background:rgba(31,42,34,0.55);}
.adm-gate-card{background:var(--b-bg); border-radius:24px;}
.adm-gate-card h3{font-size:26px; font-weight:600;}
.adm-field label{color:var(--b-gold); font-weight:600;}
.adm-field input, .adm-field select, .adm-field textarea{border:1px solid var(--b-line2);}
.adm-field input:focus, .adm-field select:focus, .adm-field textarea:focus{border-color:var(--b-sage);}
.adm-btn-gold{background:var(--b-sage); border-radius:999px; font-weight:600; min-height:50px;}
.adm-btn-gold::before{display:none;}
.adm-btn-gold:hover{background:var(--b-sage-dk);}
.adm-btn-secondary{background:var(--b-bg2);}

/* ----- Bulle témoignages & notifications ----- */
.testi-bubble{background:var(--b-sage); box-shadow:0 10px 24px rgba(31,42,34,0.25);}
.testi-modal{background:var(--b-bg); border-radius:24px;}
.testi-title{font-size:26px; font-weight:600;}
.testi-dot.active{background:var(--b-sage);}
.toast{background:var(--b-sage); color:var(--b-bg);}

/* ----- Bannières des pages intérieures ----- */
.page-banner{background:var(--b-bg2); color:var(--b-ink); padding:72px 24px 64px;}
.page-banner::before{display:none;}
.page-banner .eyebrow{color:var(--b-gold);}
.page-banner h1{font-weight:600; font-size:clamp(36px, 4.6vw, 62px); line-height:1.05;}
.page-banner h1 em{background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--b-sage); -webkit-text-fill-color:var(--b-sage); font-weight:600;}
.page-banner p{color:var(--b-muted); font-size:16.5px;}

/* Nos engagements */
.engagement-card{background:#fff; border:1px solid var(--b-line); color:var(--b-ink); border-radius:22px;}
.engagement-card .value-icon{border:1px solid var(--b-line2);}
.engagement-card h4{color:var(--b-sage); font-size:24px; font-weight:600;}
.engagement-card p{color:var(--b-muted);}

/* Kits & Promos */
.kits-intro h2{color:var(--b-ink); font-weight:600; font-size:clamp(30px, 3.6vw, 46px);}
.kits-intro p{color:var(--b-muted);}

/* Témoignages */
.testi-page-item{background:var(--b-bg2); border-radius:18px;}
.testi-page-empty{color:var(--b-muted);}
.testi-lightbox-overlay{background:rgba(31,42,34,0.85);}
.testi-lightbox p{color:var(--b-bg);}

/* Contact */
.contact-card{border:1px solid var(--b-line); border-radius:22px;}
.contact-card h3{font-size:26px; font-weight:600;}
.contact-row .ic{background:var(--b-bg2);}
.contact-row .txt span{color:var(--b-muted);}
.contact-note{background:var(--b-sage); color:var(--b-bg); border-radius:22px;}
.contact-note h3{color:var(--b-gold-lt); font-size:26px; font-weight:600;}
.contact-note p, .contact-note ul{color:var(--b-on-sage);}

/* ----- Bloc SEO + FAQ (accueil) ----- */
.seo-block{background:var(--b-bg2); color:var(--b-ink); border-top:1px solid var(--b-line);}
.seo-block h2{color:var(--b-ink); font-weight:600; font-size:clamp(28px, 3.4vw, 42px);}
.seo-block p{color:var(--b-muted);}
.seo-block a{color:var(--b-sage);}
.seo-links h3{color:var(--b-gold); font-weight:600;}
.seo-links a{color:var(--b-ink);}
.seo-links a:hover{color:var(--b-sage);}
.seo-faq-item{border-bottom:1px solid var(--b-line2);}
.seo-faq-item summary{color:var(--b-ink); font-weight:600; min-height:28px;}
.seo-faq-item summary::after{color:var(--b-gold);}

/* ----- Fiches produits ----- */
.pdp-crumbs{color:var(--b-muted);}
.pdp-crumbs a{color:var(--b-sage);}
.pdp{background:#fff; border:1px solid var(--b-line); box-shadow:0 20px 50px rgba(31,42,34,0.08); border-radius:26px;}
.pdp-info{background:var(--b-bg);}
.pdp-info h1{font-weight:600; font-size:clamp(30px, 3.4vw, 44px); line-height:1.08;}
.pdp-desc{color:var(--b-muted);}
.pdp-note{background:var(--b-bg2);}
.pdp-tips h2{font-size:24px; font-weight:600;}
.pdp-thumbs button.active{border-color:var(--b-sage);}
.pdp-related h2{color:var(--b-ink); font-size:30px; font-weight:600;}
.pdp-related a{border:1px solid var(--b-line2); color:var(--b-ink); background:#fff;}
.pdp-related a:hover{border-color:var(--b-sage); color:var(--b-sage);}

/* ----- Téléphones : tailles de titres adaptées à la nouvelle police ----- */
@media(max-width:980px){
  .hero{padding:32px 18px 56px;}
  .hero-visual{min-height:340px; border-radius:200px 200px 20px 20px;}
}
@media(max-width:480px){
  .topbar{font-size:11.5px; padding:8px 12px;}
  .brand-name{font-size:19px;}
  .cart-btn{min-height:40px; padding:0 12px;}
  .hero-tag{font-size:10px;}
  h1.hero-title{font-size:36px; line-height:1.05;}
  .hero-sub{font-size:14.5px;}
  h2.section-title{font-size:28px;}
  .section-desc{font-size:13.5px;}
  .page-banner{padding:48px 18px 44px;}
  .page-banner h1{font-size:32px;}
  .page-banner p{font-size:14px;}
  .kits-intro h2{font-size:28px;}
  .kits-intro p{font-size:13.5px;}
  .promo-strip h3{font-size:34px;}
  .engagement-card h4{font-size:20px;}
  .contact-card h3, .contact-note h3{font-size:22px;}
  .btn-primary, .btn-ghost{font-size:14px; padding:14px 24px;}
  .modal-title{font-size:26px;}
}

/* Ombre du panier visible seulement quand il est ouvert (sinon elle débordait sur le bord droit) */
.drawer{box-shadow:none;}
.drawer.open{box-shadow:-20px 0 50px rgba(31,42,34,0.18);}
