*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--police);color:var(--texte);background:var(--fond);line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* ===== TOP BAR (message + contact/socials) — façon parapharma ===== */
.topbar{background:var(--vert);color:#fff;font-size:.82rem;overflow:hidden;position:relative;height:38px;display:flex;align-items:center}
.topbar .marquee{display:flex;white-space:nowrap;will-change:transform;animation:kallia-marquee 22s linear infinite}
.topbar .marquee span{display:inline-block;padding:0 3rem;font-weight:600;letter-spacing:.2px}
.topbar .marquee b{color:var(--or-clair)}
.topbar:hover .marquee{animation-play-state:paused}
@keyframes kallia-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.topbar .marquee span{font-size:.74rem;padding:0 2rem}}

/* ===== HEADER (logo + recherche + actions) ===== */
header{position:sticky;top:0;z-index:200;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.header-main{display:flex;align-items:center;gap:28px;padding:14px 0}
.logo img{height:56px;width:auto}
.search{flex:1;position:relative;max-width:600px}
.search input{width:100%;padding:11px 46px 11px 20px;border:1px solid #dde1dc;border-radius:8px;font-size:.9rem;outline:none;transition:.2s;background:#f8f9f7;color:var(--texte);font-family:var(--police)}
.search input::placeholder{color:#aab5a8}
.search input:focus{border-color:var(--vert);background:#fff;box-shadow:0 2px 12px rgba(46,139,110,.1)}
.search .sbtn{position:absolute;right:0;top:0;bottom:0;width:38px;border:none;background:none;color:#b0b8ae;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;padding:0;border-radius:0 8px 8px 0}
.search .sbtn:hover{color:var(--vert)}
.search .sbtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.search .sbtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.header-actions{display:flex;gap:24px;align-items:center;margin-left:auto}
.header-actions .act{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:.25s;color:var(--vert);text-decoration:none;position:relative}
.header-actions .act .act-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.header-actions .act .act-icon svg{width:26px;height:26px;stroke:var(--vert);fill:none;stroke-width:1.5;transition:.25s}
.header-actions .act .act-label{font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--vert);line-height:1}
.header-actions .act:hover .act-icon svg{stroke:var(--vert-fonce)}
.header-actions .act:hover .act-label{color:var(--vert-fonce)}
.cart-wrap{position:relative}
.cart-wrap b{position:absolute;top:-7px;right:-9px;background:var(--or);color:#fff;font-size:.62rem;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center;font-weight:700}

/* ===== MENU + MÉGA-MENU ===== */
nav.mainmenu{background:var(--vert-fonce)}
nav.mainmenu>.container>ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap}
nav.mainmenu>.container>ul>li{position:relative}
nav.mainmenu>.container>ul>li>a{display:block;padding:14px 16px;color:#fff;font-weight:600;font-size:.82rem;letter-spacing:.4px;transition:.2s}
nav.mainmenu>.container>ul>li:hover>a{background:var(--bleu)}
nav.mainmenu li.promo>a{color:var(--or-clair)}
/* méga-menu déroulant */
.mega{position:absolute;left:0;top:100%;background:#fff;min-width:520px;box-shadow:0 14px 34px rgba(0,0,0,.15);border-top:3px solid var(--bleu);padding:22px 26px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:250;border-radius:0 0 10px 10px}
nav.mainmenu li:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega a{padding:7px 0;font-size:.85rem;color:var(--texte);border-bottom:1px solid #f2f3f1;transition:.15s}
.mega a:hover{color:var(--bleu);padding-left:6px}
.mega .col-title{grid-column:1/-1;color:var(--vert);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
/* Bouton hamburger (caché sur desktop) */
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.burger span{display:block;width:24px;height:2.5px;background:var(--texte);border-radius:2px;transition:.3s}

@media(max-width:900px){
  /* Header compact */
  .header-main{flex-wrap:wrap;gap:12px 16px}
  .logo img{height:44px}
  .search{order:3;flex-basis:100%;max-width:none}
  .burger{display:flex;order:2;margin-left:auto}
  .header-actions{gap:16px}
  .header-actions .act span:not(.cart-wrap){display:none} /* garde l'icône, cache le label */

  /* Menu → panneau déroulant vertical */
  nav.mainmenu>.container{padding:0}
  nav.mainmenu>.container>ul{display:none;flex-direction:column;background:var(--vert-fonce)}
  nav.mainmenu.open>.container>ul{display:flex}
  nav.mainmenu>.container>ul>li{width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
  nav.mainmenu>.container>ul>li>a{padding:15px 20px;font-size:.9rem}
  nav.mainmenu>.container>ul>li:hover>a{background:var(--bleu)}
  .mega{position:static;display:none !important} /* sous-menus masqués sur mobile pour rester simple */
}

/* ===== HERO ===== */
.hero{position:relative;height:470px;overflow:hidden;background:#eef3f0}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity 1s;padding:0 8%;background-size:cover;background-position:center}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.72) 40%,rgba(255,255,255,.1) 66%,transparent 100%)}
.hero-slide.active{opacity:1}
.hero-content{max-width:520px;position:relative;z-index:2}
.hero-content .kicker{color:var(--bleu);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.8rem;margin-bottom:14px}
.hero-content h1{font-size:2.9rem;line-height:1.12;color:var(--vert-fonce);margin-bottom:16px;font-weight:800}
.hero-content p{font-size:1.05rem;color:#4a5049;margin-bottom:26px}
.btn{display:inline-block;background:var(--vert);color:#fff;padding:14px 34px;border-radius:40px;font-weight:600;font-size:.95rem;transition:.25s;border:none;cursor:pointer}
.btn:hover{background:var(--bleu);transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,58,138,.28)}
.btn.gold{background:var(--or)}
.btn.gold:hover{background:var(--bleu)}
.hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.hero-dots button{width:11px;height:11px;border-radius:50%;border:none;background:rgba(46,139,110,.35);cursor:pointer;transition:.2s}
.hero-dots button.active{background:var(--bleu);width:30px;border-radius:6px}
@media(max-width:760px){.hero-content h1{font-size:2rem}}

/* ===== RÉASSURANCE ===== */
.reassurance{background:var(--gris-clair);padding:24px 0;border-bottom:1px solid #eef0ed}
.reassurance .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.reassurance .item{display:flex;align-items:center;gap:13px;justify-content:center}
.reassurance .item svg{width:34px;height:34px;stroke:var(--vert);flex-shrink:0}
.reassurance .item b{display:block;font-size:.9rem}
.reassurance .item span{font-size:.76rem;color:var(--gris)}
@media(max-width:760px){.reassurance .grid{grid-template-columns:repeat(2,1fr);gap:22px}}

/* ===== BANDE CATÉGORIES (pastilles rondes) ===== */
.catstrip{padding:50px 0 20px}
.catstrip .row{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.catpill{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:.25s}
.catpill .circle{width:104px;height:104px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gris-clair);border:2px solid transparent;transition:.28s}
.catpill .circle svg{width:50px;height:50px;stroke:var(--vert);transition:.28s}
.catpill:hover .circle{background:#fff;border-color:var(--or);transform:translateY(-6px);box-shadow:0 12px 26px rgba(201,162,39,.22)}
.catpill:hover .circle svg{stroke:var(--bleu)}
.catpill b{font-size:.85rem;font-weight:600;text-align:center}
@media(max-width:900px){.catstrip .row{grid-template-columns:repeat(3,1fr);gap:24px}}
@media(max-width:480px){.catstrip .row{grid-template-columns:repeat(2,1fr)}}

/* ===== SECTIONS PRODUITS (onglets) ===== */
section.bloc{padding:52px 0}
.section-head{text-align:center;margin-bottom:14px}
.section-head h2{font-size:2rem;color:var(--vert-fonce);font-weight:800;display:inline-block;position:relative;padding-bottom:12px}
.section-head h2::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:60px;height:3px;background:var(--or);border-radius:3px}
.tabs{display:flex;justify-content:center;gap:8px;margin:22px 0 34px}
.tabs button{border:2px solid #e4e7e3;background:#fff;padding:9px 22px;border-radius:40px;font-weight:600;font-size:.85rem;cursor:pointer;transition:.2s;color:var(--texte)}
.tabs button.active{background:var(--bleu);border-color:var(--bleu);color:#fff}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid #eef0ed;border-radius:var(--radius);overflow:hidden;transition:.25s;position:relative;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:var(--ombre);border-color:transparent}
.card .badge{position:absolute;top:12px;left:12px;font-size:.66rem;font-weight:700;padding:4px 10px;border-radius:20px;z-index:2;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--or)}
.card .badge.promo{background:var(--rouge)}
.card .badge.best{background:var(--bleu)}
.card .wish{position:absolute;top:12px;right:12px;background:#fff;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;z-index:2;transition:.2s}
.card .wish svg{width:17px;height:17px;stroke:var(--gris);fill:none;transition:.2s}
.card .wish:hover svg{stroke:var(--rouge);fill:var(--rouge)}
.card .thumb{height:220px;background:#fafbfa;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px}
.card .thumb img{width:100%;height:100%;object-fit:contain;transition:.4s cubic-bezier(.2,.8,.2,1)}
.card:hover .thumb img{transform:scale(1.07)}
.card .info{padding:15px 15px 17px;display:flex;flex-direction:column;flex:1}
.card .cat{font-size:.68rem;color:var(--gris);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.card h3{font-size:.95rem;font-weight:600;margin-bottom:4px;min-height:2.6em;line-height:1.3}
.card .vol{font-size:.74rem;color:var(--gris);margin-bottom:10px}
.card .prix{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.card .prix .now{font-size:1.12rem;font-weight:800;color:var(--vert)}
.card .prix .old{font-size:.82rem;color:var(--gris);text-decoration:line-through}
.card .add{margin-top:auto;background:var(--vert);color:#fff;border:none;padding:11px;border-radius:30px;font-weight:600;font-size:.83rem;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:7px}
.card .add svg{width:16px;height:16px}
.card .add:hover{background:var(--bleu)}
@media(max-width:900px){.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.products{grid-template-columns:1fr}}

/* ===== BANNIÈRE PROMO (bleu royal) ===== */
.promo-band{background:linear-gradient(120deg,var(--bleu),var(--bleu-clair));color:#fff;padding:44px 0;text-align:center;margin:10px 0}
.promo-band h2{font-size:1.9rem;margin-bottom:8px}
.promo-band p{opacity:.92;margin-bottom:22px}
.promo-band .btn{background:var(--or)}
.promo-band .btn:hover{background:#fff;color:var(--bleu)}

/* ===== MARQUES / PARTENAIRES ===== */
.brands{padding:44px 0;background:var(--gris-clair)}
.brands .strip{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
.brands .b{background:#fff;padding:16px 30px;border-radius:10px;font-weight:800;color:var(--gris);font-size:1.05rem;letter-spacing:1px;box-shadow:0 2px 8px rgba(0,0,0,.04)}

/* ===== NEWSLETTER ===== */
.newsletter{background:var(--vert-fonce);color:#fff;padding:52px 0;text-align:center}
.newsletter h2{font-size:1.7rem;margin-bottom:10px}
.newsletter p{opacity:.9;margin-bottom:24px}
.newsletter form{display:flex;gap:10px;max-width:480px;margin:0 auto}
.newsletter input{flex:1;padding:14px 20px;border:none;border-radius:40px;font-size:.95rem;outline:none}
@media(max-width:520px){.newsletter form{flex-direction:column}}

/* ===== FOOTER ===== */
footer{background:#1c211d;color:#c8ccc7;padding:50px 0 22px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:34px;margin-bottom:32px}
footer h4{color:#fff;font-size:1rem;margin-bottom:16px}
footer .logo-foot{font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:12px}
footer .logo-foot .g{color:var(--or-clair)}
footer ul{list-style:none}
footer ul li{margin-bottom:9px}
footer ul li a:hover{color:var(--or-clair)}
.pay-badges{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.pay-badges span{background:#2a302b;padding:6px 12px;border-radius:8px;font-size:.74rem}
.foot-bottom{border-top:1px solid #333;padding-top:20px;text-align:center;font-size:.8rem;color:#8a8f8b}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* ===== DOUBLE BANNIÈRE PROMO ===== */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:10px 0 0}
.duo .promo-card{position:relative;height:210px;border-radius:16px;overflow:hidden;display:flex;align-items:center;padding:0 38px;color:#fff}
.duo .promo-card.g1{background:linear-gradient(120deg,var(--vert),var(--vert-fonce))}
.duo .promo-card.g2{background:linear-gradient(120deg,var(--or),#a5851c)}
.duo .promo-card h3{font-size:1.5rem;margin-bottom:8px;max-width:240px;line-height:1.2}
.duo .promo-card p{font-size:.9rem;opacity:.92;margin-bottom:16px}
.duo .promo-card a{display:inline-block;background:#fff;color:var(--vert-fonce);padding:9px 22px;border-radius:30px;font-weight:700;font-size:.82rem;transition:.2s}
.duo .promo-card.g2 a{color:#a5851c}
.duo .promo-card a:hover{background:var(--bleu);color:#fff}
@media(max-width:760px){.duo{grid-template-columns:1fr}}

/* ===== BLOC UNIVERS (rangée produits par catégorie) ===== */
.universe{padding:44px 0}
.universe .u-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;border-left:4px solid var(--or);padding-left:14px}
.universe .u-head h2{font-size:1.5rem;color:var(--vert-fonce);font-weight:800}
.universe .u-head a{font-size:.85rem;font-weight:600;color:var(--bleu);transition:.2s}
.universe .u-head a:hover{color:var(--vert)}

/* ===== AVIS CLIENTS ===== */
.reviews{padding:52px 0;background:var(--gris-clair)}
.reviews .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.review{background:#fff;border-radius:14px;padding:26px;box-shadow:0 3px 14px rgba(0,0,0,.05)}
.review .stars{color:var(--or);font-size:1.05rem;margin-bottom:12px;letter-spacing:2px}
.review p{font-size:.92rem;color:#4a5049;line-height:1.7;margin-bottom:16px;font-style:italic}
.review .who{display:flex;align-items:center;gap:12px}
.review .who .av{width:42px;height:42px;border-radius:50%;background:var(--vert);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.review .who b{font-size:.9rem}
.review .who span{font-size:.76rem;color:var(--gris)}
@media(max-width:820px){.reviews .grid3{grid-template-columns:1fr}}

/* ===== CONSEILS / BLOG ===== */
.blog{padding:52px 0}
.blog .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.post{border:1px solid #eef0ed;border-radius:14px;overflow:hidden;transition:.25s;cursor:pointer}
.post:hover{transform:translateY(-5px);box-shadow:var(--ombre)}
.post .ph{height:150px;display:flex;align-items:center;justify-content:center}
.post .ph svg{width:56px;height:56px;stroke:#fff;opacity:.9}
.post .pb{padding:18px}
.post .tag{display:inline-block;background:var(--gris-clair);color:var(--bleu);font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.post h3{font-size:1rem;margin-bottom:8px;line-height:1.35}
.post p{font-size:.84rem;color:var(--gris);line-height:1.6}
@media(max-width:820px){.blog .grid3{grid-template-columns:1fr}}

/* ===== ENGAGEMENTS (bande icônes) ===== */
.engage{padding:46px 0;border-top:1px solid #eef0ed}
.engage .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:center}
.engage .e svg{width:40px;height:40px;stroke:var(--vert);margin-bottom:12px}
.engage .e b{display:block;font-size:.95rem;margin-bottom:4px}
.engage .e span{font-size:.8rem;color:var(--gris)}
@media(max-width:760px){.engage .grid{grid-template-columns:repeat(2,1fr);gap:30px}}

/* ===== WHATSAPP ===== */
.whatsapp{position:fixed;bottom:24px;right:24px;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.5);z-index:300;transition:.25s;animation:pulse 2.5s infinite}
.whatsapp svg{width:30px;height:30px;fill:#fff}
.whatsapp:hover{transform:scale(1.1)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ===== NOS UNIVERS — pastilles élégantes (v2) ===== */
.univers-strip{padding:54px 0 30px}
.univers-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:32px}
.upill{display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer;transition:.28s}
.upill .ring{width:130px;height:130px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:.3s cubic-bezier(.2,.8,.2,1);position:relative}
.upill .ring img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.upill .ring::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 3px var(--or);opacity:0;transition:.3s}
.upill:hover .ring{transform:translateY(-7px);box-shadow:0 16px 34px rgba(46,139,110,.28)}
.upill:hover .ring img{transform:scale(1.08)}
.upill:hover .ring::after{opacity:1}
.upill b{font-size:.86rem;font-weight:600;text-align:center;color:var(--texte)}
.upill:hover b{color:var(--bleu)}
@media(max-width:1000px){.univers-grid{grid-template-columns:repeat(4,1fr);gap:24px}}
@media(max-width:680px){.univers-grid{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(max-width:420px){.univers-grid{grid-template-columns:repeat(2,1fr)}.upill .ring{width:110px;height:110px}}

/* ===== PRODUITS PHARES par univers ===== */
.phare{padding:20px 0 10px}
.phare .u-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px;border-left:4px solid var(--or);padding-left:14px}
.phare .u-head h2{font-size:1.45rem;color:var(--vert-fonce);font-weight:800}
.phare .u-head a{font-size:.85rem;font-weight:600;color:var(--bleu);white-space:nowrap;transition:.2s}
.phare .u-head a:hover{color:var(--vert)}


/* ===== AJUSTEMENTS RESPONSIVE FINS (tablette & mobile) ===== */
@media(max-width:900px){
  .hero{height:400px}
  .hero-slide{padding:0 6%}
  .hero-slide::before{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 55%,rgba(255,255,255,.35) 100%)}
  section.bloc{padding:38px 0}
  .section-head h2{font-size:1.6rem}
}
@media(max-width:600px){
  .hero{height:340px}
  .hero-content h1{font-size:1.6rem}
  .hero-content p{font-size:.92rem;margin-bottom:18px}
  .btn{padding:12px 26px;font-size:.9rem}
  .products{grid-template-columns:repeat(2,1fr);gap:14px}
  .card .thumb{height:150px;padding:10px}
  .card h3{font-size:.86rem;min-height:2.4em}
  .card .add{font-size:.76rem;padding:9px}
  .tabs{flex-wrap:wrap;gap:6px}
  .tabs button{padding:8px 16px;font-size:.8rem}
  .phare .u-head h2{font-size:1.2rem}
  .promo-band{padding:34px 0}
  .promo-band h2{font-size:1.4rem}
}
@media(max-width:380px){
  .products{grid-template-columns:1fr}
  .card .thumb{height:200px}
}


/* ===== NOS PACKS (coffrets) ===== */
.packs{padding:52px 0}
.packs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.pack{position:relative;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #eef0ed;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:.3s cubic-bezier(.2,.8,.2,1)}
.pack:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(30,58,138,.15)}
.pack .pack-img{height:230px;overflow:hidden;background:#fafbfa;position:relative}
.pack .pack-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.pack:hover .pack-img img{transform:scale(1.06)}
.pack .pack-tag{position:absolute;top:14px;left:14px;background:var(--bleu);color:#fff;font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:20px;letter-spacing:.5px;z-index:2}
.pack .pack-body{padding:20px}
.pack .pack-body h3{font-size:1.1rem;color:var(--vert-fonce);margin-bottom:6px}
.pack .pack-body p{font-size:.85rem;color:var(--gris);margin-bottom:14px;line-height:1.6}
.pack .pack-price{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.pack .pack-price .now{font-size:1.35rem;font-weight:800;color:var(--vert)}
.pack .pack-price .old{font-size:.9rem;color:var(--gris);text-decoration:line-through}
.pack .pack-price .save{background:#fdecea;color:var(--rouge);font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:20px}
@media(max-width:900px){.packs-grid{grid-template-columns:1fr;gap:20px}}

/* ===== ARTICLES BEAUTÉ (blog) ===== */
.beauty-blog{padding:52px 0;background:var(--gris-clair)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.bpost{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);transition:.3s;cursor:pointer}
.bpost:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.1)}
.bpost .bimg{height:180px;overflow:hidden}
.bpost .bimg img{width:100%;height:100%;object-fit:cover;transition:.5s}
.bpost:hover .bimg img{transform:scale(1.06)}
.bpost .bbody{padding:20px}
.bpost .btag{display:inline-block;background:var(--vert);color:#fff;font-size:.68rem;font-weight:700;padding:4px 11px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.bpost h3{font-size:1.05rem;color:var(--texte);margin-bottom:8px;line-height:1.35}
.bpost p{font-size:.85rem;color:var(--gris);line-height:1.6;margin-bottom:12px}
.bpost .read{font-size:.82rem;font-weight:700;color:var(--bleu)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr;gap:20px}}


/* ===== BADGE PANIER/SOUHAITS PREMIUM ===== */
.cart-badge-dot{position:absolute;top:-7px;right:-9px;background:var(--rouge);color:#fff;font-size:.58rem;font-weight:800;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;line-height:1}

/* ===== FILTRE CATÉGORIE PREMIUM ===== */
.cat-filter-bar{background:#fff;border-radius:12px;border:1px solid #eef0ed;padding:18px 22px;margin-bottom:24px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.cat-filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.cat-filter-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cat-filter-label{font-size:.75rem;font-weight:700;color:var(--gris);text-transform:uppercase;letter-spacing:.5px;margin-right:4px}
.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid #e4e7e3;border-radius:30px;font-size:.82rem;font-weight:600;color:var(--texte);cursor:pointer;transition:.2s;background:#fff;text-decoration:none;white-space:nowrap}
.filter-chip:hover{border-color:var(--vert);color:var(--vert)}
.filter-chip.active{background:var(--vert);border-color:var(--vert);color:#fff}
.filter-chip.active-bleu{background:var(--bleu);border-color:var(--bleu);color:#fff}
.cat-sort-wrap{display:flex;align-items:center;gap:10px}
.cat-sort-wrap label{font-size:.75rem;font-weight:600;color:var(--gris);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.sort-select{padding:8px 32px 8px 14px;border:1.5px solid #e4e7e3;border-radius:8px;font-size:.84rem;background:#fff;cursor:pointer;outline:none;transition:.2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8f8b' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.sort-select:focus{border-color:var(--bleu)}
.cat-results-count{font-size:.82rem;color:var(--gris)}
@media(max-width:680px){.cat-filter-row{flex-direction:column;align-items:flex-start}.cat-filter-left{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}

/* ===== SIDEBAR FILTRE CATÉGORIE (menu gauche) ===== */
.cat-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.cat-sidebar{background:#fff;border-radius:14px;border:1px solid #eef0ed;padding:0;overflow:hidden;position:sticky;top:90px}
.cat-sidebar-title{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--gris);padding:16px 18px 10px;border-bottom:1px solid #f0f1ef}
.cat-sidebar-group{border-bottom:1px solid #f0f1ef}
.cat-sidebar-group:last-child{border-bottom:none}
.cat-sidebar-group-title{font-size:.78rem;font-weight:700;color:var(--texte);padding:12px 18px 8px;text-transform:uppercase;letter-spacing:.4px}
.cat-sidebar-link{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;font-size:.87rem;color:var(--texte);transition:.18s;border-left:3px solid transparent;cursor:pointer;text-decoration:none}
.cat-sidebar-link:hover{background:#f8f9f7;color:var(--vert);border-left-color:var(--vert)}
.cat-sidebar-link.active{background:#eaf5ef;color:var(--vert);font-weight:700;border-left-color:var(--vert)}
.cat-sidebar-count{font-size:.72rem;color:var(--gris);background:#f0f1ef;padding:2px 7px;border-radius:20px}
/* Prix filter */
.price-range-wrap{padding:12px 18px}
.price-inputs{display:flex;gap:8px;align-items:center;margin-top:8px}
.price-inputs input{width:70px;padding:6px 10px;border:1.5px solid #e4e7e3;border-radius:6px;font-size:.82rem;text-align:center}
.price-apply{margin-top:10px;width:100%;background:var(--vert);color:#fff;border:none;padding:8px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:.2s}
.price-apply:hover{background:var(--vert-fonce)}
/* Sort bar top */
.cat-top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.cat-top-bar .cat-results-count{font-size:.86rem;color:var(--gris)}
@media(max-width:860px){.cat-layout{grid-template-columns:1fr}.cat-sidebar{position:static;margin-bottom:16px}}
