/* Vitrine boutique Chez Nina -- charte via var(--marque-*). Titres en serif (elegance). */
:root{ --cn-rose-clair:#FBEFF5; --cn-gris:#f4f2f5; --cn-ligne:#ece7ee; --cn-creme:#F3E7D6;
  --font-titre:'Playfair Display',Georgia,serif;
  --font-corps:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
body{background:var(--cn-creme);overflow-x:clip;font-family:var(--font-corps);color:#3A3A3A}
img{max-width:100%;height:auto}

/* Bandeau « boutique en préparation » (statique, dans le flux — remplace le bandeau
   WooCommerce fixe qui recouvrait l'en-tête sur mobile). */
.cn-prepbar{background:#3b2e4a;color:#fff;text-align:center;font-size:.82rem;padding:.5rem 1rem}
.woocommerce-store-notice,.woocommerce-store-notice__dismiss-link{display:none!important}
.woocommerce-demo-store{margin-top:0!important}

/* Anti-débordement horizontal (mobile) : par défaut un enfant de grille/flex a
   min-width:auto et refuse de rétrécir sous la largeur de son contenu, ce qui pousse
   toute la page plus large que l'écran. On l'autorise à rétrécir + on borne les rangées. */
html{overflow-x:hidden}
.cn-hero-txt,.cn-reass-in>div,.cn-prod,.cn-cat,.cn-sec-head>*,.cn-footer-in>*{min-width:0}
.cn-topbar-in,.cn-reass-in,.cn-prod-grid,.cn-cat-grid,.cn-header-in,.cn-nav-in,.cn-footer-in,.cn-hero-in{max-width:100%}
.cn-prod-nom,.cn-cat-nom,.cn-topbar-in span{overflow-wrap:break-word}
/* Mise en page LARGE (proche pleine largeur, comme la maquette) — surcharge le 1080px du thème. */
.wrap{max-width:1600px;padding-left:2rem;padding-right:2rem}
.cn-page{max-width:1120px}   /* le contenu editorial (pages, articles) reste lisible, pas trop large */
h1,h2,h3,h4{font-family:var(--font-titre);color:var(--marque-secondaire)}
.cn-center{text-align:center}

/* -- Bandeau reassurance -- */
.cn-topbar{background:linear-gradient(90deg,#c85a9c,var(--marque-primaire),#c85a9c);color:#fff;font-size:.84rem}
.cn-topbar-in{display:flex;gap:2rem;justify-content:center;padding:.55rem 1.2rem;flex-wrap:wrap;font-weight:500}

/* -- En-tete -- */
.cn-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--cn-ligne);transition:box-shadow .2s}
.cn-header.cn-scrolled{box-shadow:0 6px 24px rgba(59,46,74,.07)}
.cn-header-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.9rem 1.2rem}
.cn-search{display:flex;align-items:center;background:var(--cn-gris);border-radius:24px;padding:.15rem .15rem .15rem .9rem;max-width:320px}
.cn-search input[type=search]{border:0;background:transparent;outline:none;font:inherit;padding:.4rem .3rem;width:100%}
.cn-search button{border:0;background:transparent;cursor:pointer;font-size:1rem;padding:.3rem .5rem}
.cn-logo{justify-self:center}
.cn-logo img{height:96px;width:auto;display:block}
.cn-logo span{font-family:var(--font-titre);font-weight:700;font-size:1.4rem;color:var(--marque-secondaire)}
.cn-account{justify-self:end;display:flex;gap:1.3rem}
.cn-account a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--marque-texte);font-size:.7rem;position:relative}
.cn-account{gap:1.5rem}
.cn-account .cn-ic{width:29px;height:29px;object-fit:contain;display:block}
.cn-badge{position:absolute;top:-6px;right:-10px;background:var(--marque-primaire);color:#fff;border-radius:20px;font-size:.66rem;padding:.05rem .35rem;font-weight:700}

/* -- Menu -- */
.cn-burger{display:none}
.cn-nav{border-top:1px solid var(--cn-ligne)}
.cn-nav-in{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;padding:.7rem 1.2rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.cn-nav-in a{text-decoration:none;color:var(--marque-secondaire);font-weight:600;padding:.15rem 0;border-bottom:2px solid transparent}
.cn-nav-in a:hover,.cn-nav-in a.on{border-color:var(--marque-primaire);color:var(--marque-primaire)}
.cn-nav-in a.cn-phare{color:var(--marque-primaire)}

/* -- Boutons -- */
.cn-btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:26px;padding:.7rem 1.5rem;font-size:.92rem;transition:transform .1s;border-color:transparent}
.cn-btn:hover{transform:translateY(-1px)}
.cn-btn-primary{background:linear-gradient(135deg,var(--marque-primaire),var(--marque-violet));color:#fff}
.cn-btn-ghost{background:#fff;color:var(--marque-secondaire);border:1.5px solid var(--marque-primaire)}

/* -- Hero -- */
.cn-hero{background:linear-gradient(120deg,var(--cn-rose-clair),#fff 70%);position:relative;overflow:hidden}
.cn-hero.cn-hero-bg{background-size:auto;background-position:center right;background-repeat:no-repeat}
.cn-hero.cn-hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,239,245,.92) 0%,rgba(251,239,245,.70) 40%,rgba(251,239,245,0) 64%)}
.cn-hero-media{display:none}
.cn-hero-in{position:relative;z-index:1;display:flex;align-items:center;min-height:min(66vh,620px);padding:3rem 0}
.cn-hero-txt{max-width:min(560px,52%)}
.cn-hero-txt h1{font-size:2.7rem;line-height:1.12;margin:0 0 1rem}
.cn-hero-txt h1 em{font-style:normal;background:linear-gradient(120deg,var(--marque-primaire),var(--marque-violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.cn-hero-txt p{font-size:1.15rem;max-width:46ch;margin:0 0 1.6rem;color:#4a3f52}
.cn-hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.cn-hero-visual{aspect-ratio:4/3;border-radius:24px;background:radial-gradient(circle at 60% 40%,var(--cn-rose-clair),#efd9e6 60%,#e6c9dc);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(59,46,74,.12);overflow:hidden}
.cn-hero-visual span{font-size:6rem}
.cn-hero-visual.has-img{background:none}
.cn-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
/* Hero Nino avec MÉDIA (VIDÉO si panier vide → Nino inquiet, animé ; IMAGE si panier rempli →
   Nino radieux). Bascule via .cn-has-items (cookie WooCommerce, posé en JS).
   Le média est un ÉLÉMENT (video/img) posé à droite en contain ; la gauche est un dégradé
   blanc→rose qui rejoint le rose UNIFORME du fond du média (mesuré : vidéo #e18e99, image
   plein #fc9ea9) dès 29%, tenu en plateau → fondu invisible. Mobile : média empilé pleine
   largeur + fond blanc sous le texte. */
.cn-hero.cn-hero-nino{background:linear-gradient(90deg,#ffffff 0%,#e18e99 29%,#e18e99 100%)}
.cn-hero.cn-hero-nino.cn-has-items{background:linear-gradient(90deg,#ffffff 0%,#fc9ea9 29%,#fc9ea9 100%)}
.cn-hero.cn-hero-nino::before{display:none}
/* Le conteneur média couvre le hero (derrière le texte) ; chaque élément est calé à droite. */
.cn-hero-nino .cn-hero-media{display:block;position:absolute;inset:0;z-index:0;margin:0}
.cn-hero-nino .cn-hero-media-el{position:absolute;top:0;right:0;height:100%;width:auto;max-width:64%;object-fit:contain;object-position:right center;display:block}
.cn-hero-nino .cn-hero-img--plein{display:none}                                   /* par défaut = vide : on montre la vidéo (ou l'image vide de repli) */
.cn-hero-nino.cn-has-items .cn-hero-vid,
.cn-hero-nino.cn-has-items .cn-hero-img--vide{display:none}                        /* panier rempli : on cache le média vide */
.cn-hero-nino.cn-has-items .cn-hero-img--plein{display:block}

/* -- Reassurance -- */
.cn-reass{background:#fff;border-bottom:1px solid var(--cn-ligne)}
.cn-reass-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.6rem 1.2rem;text-align:center}
.cn-reass-in img{width:60px;height:60px;object-fit:contain;display:block;margin:0 auto .55rem}
.cn-reass-in strong{display:block;color:var(--marque-secondaire);font-size:.95rem}
.cn-reass-in span{font-size:.8rem;color:#7a7080}

/* -- Sections -- */
.cn-section{padding:3rem 1.2rem}
.cn-sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;margin-bottom:.3rem}
.cn-sec-head h2{font-size:1.9rem;margin:0;color:var(--marque-accent)}
.cn-sec-head h2::after,.cn-univers h2::after{content:"";display:block;width:56px;height:3px;background:var(--marque-accent);border-radius:2px;margin:.55rem auto 0}
.cn-sec-sub{color:#7a7080;margin:.2rem 0 1.4rem;text-align:center}
.cn-seemore{text-decoration:none;color:var(--marque-primaire);font-weight:600;font-size:.9rem}
.cn-empty{background:var(--cn-rose-clair);border:1px dashed #e0bdd2;border-radius:14px;padding:2.2rem;text-align:center;color:#8a5f77;margin:1rem 0}
/* Voix de Nino : signature (violet, manuscrite) + encart de checkout */
.cn-nino-sig{font-style:italic;color:var(--marque-violet);font-weight:600;white-space:nowrap}
.cn-nino-note{background:var(--cn-rose-clair);border:1px solid #f2dcec;border-radius:12px;padding:.9rem 1.2rem;color:var(--marque-secondaire);text-align:center;margin:0 0 1.5rem;font-size:.98rem}
.cn-nino-note--co{display:flex;align-items:center;justify-content:center;gap:.7rem;text-align:left}
.cn-nino-av{width:48px;height:auto;flex:0 0 auto}
/* Bulle « Astuce de Nino » (boutique/nouveautés/promos/panier) */
.cn-astuce{display:flex;align-items:center;gap:.9rem;background:var(--cn-rose-clair);border:1px solid #f2dcec;border-radius:16px;padding:.75rem 1.1rem;margin:0 0 1.6rem}
.cn-astuce-av{width:56px;height:auto;flex:0 0 auto}
.cn-astuce p{margin:0;color:var(--marque-secondaire);font-size:.95rem;line-height:1.4}
.cn-astuce strong{color:var(--marque-primaire)}
/* Nino triste dans le panier vide (remplace l'émoji par défaut du bloc) */
.cn-nino-triste{display:block;width:190px;max-width:58%;height:auto;margin:0 auto .8rem}
/* Mobile : Nino est une image portrait (haute) → on la réduit pour que le message
   juste en dessous reste lisible sans scroller. */
@media(max-width:600px){.cn-nino-triste{width:135px;margin:.2rem auto .6rem}}
/* Masque l'émoji ::before par défaut du bloc panier vide (classe with-empty-cart-icon) */
.cn-empty-nino .with-empty-cart-icon::before{content:none!important;display:none!important}
/* Panier vide : on efface le titre de page « Panier » + le bloc « New in store »
   pour laisser toute la scène à Nino triste (body.cn-cart-empty posé par le JS footer) */
body.cn-cart-empty .cn-pagehead{display:none}
.cn-empty-nino .wp-block-separator,
.cn-empty-nino .wp-block-product-new,
.cn-empty-nino .wp-block-heading:not(.wc-block-cart__empty-cart__title){display:none}
/* Concept : phrase humoristique du produit (signée Nino) */
.woocommerce div.product .summary .cn-phrase{font-family:var(--font-titre);font-style:italic;color:var(--marque-violet);font-size:1.08rem;margin:.1rem 0 1rem;line-height:1.4}
.cn-phrase--card{display:block;font-style:italic;color:#8a7f92;font-size:.82rem;line-height:1.3;padding:0 1rem;margin:0 0 .5rem}

/* -- Grille produits -- */
.cn-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:1.4rem}
.cn-prod{display:block;text-decoration:none;color:var(--marque-texte);background:#fff;border:1px solid var(--cn-ligne);border-radius:16px;overflow:hidden;transition:box-shadow .15s,transform .15s}
.cn-prod:hover{box-shadow:0 14px 30px rgba(59,46,74,.1);transform:translateY(-3px)}
.cn-prod-img img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--cn-gris)}
.cn-prod-nom{display:block;padding:.8rem .9rem .1rem;font-weight:600}
.cn-prod-prix{display:block;padding:0 .9rem 1rem;color:var(--marque-primaire);font-weight:700}

/* -- Univers (categories) -- */
.cn-univers{background:#fff;padding:3rem 0;border-top:1px solid var(--cn-ligne)}
.cn-univers h2{font-size:1.9rem;margin:0 0 1.6rem;color:var(--marque-accent)}
.cn-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem;max-width:1080px;margin:0 auto}
.cn-cat{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;color:var(--marque-secondaire);padding:.4rem;transition:transform .12s}
.cn-cat:hover{transform:translateY(-4px)}
.cn-cat-ic{font-size:1.9rem;line-height:1}
.cn-cat.cn-cat-img .cn-cat-ic{width:100%}
.cn-cat-ic img{display:block;width:100%;max-width:110px;height:auto;margin:0 auto}
.cn-cat-nom{font-size:.82rem;font-weight:600;text-align:center;letter-spacing:.02em;text-transform:uppercase}

/* -- Pourquoi -- */
.cn-why-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:2.5rem;align-items:center;padding:3.5rem 1.2rem}
.cn-why-media{max-width:380px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.cn-why-media img{width:100%;height:auto;display:block}
.cn-why-media span{font-family:var(--font-titre);font-size:4rem;font-weight:700;background:linear-gradient(135deg,var(--marque-accent),var(--marque-primaire) 55%,var(--marque-secondaire));-webkit-background-clip:text;background-clip:text;color:transparent}
.cn-why-txt h2{font-size:1.9rem;margin:0 0 .8rem}
.cn-why-txt p{color:#4a3f52;font-size:1.05rem;max-width:52ch;margin:0 0 1.4rem}
/* Section « Rencontrez Nina » (ambassadrice) : portrait + citation */
.cn-why{background:linear-gradient(120deg,var(--cn-rose-clair),#fff 82%)}
.cn-why-nina{max-width:none;align-items:flex-end}
.cn-why-nina img{width:auto!important;max-height:470px;margin:0 auto;filter:drop-shadow(0 18px 34px rgba(59,46,74,.18))}
.cn-why-role{color:var(--marque-primaire);font-weight:600;margin:-.4rem 0 1.1rem!important;font-size:1rem}
.cn-nina-quote{font-family:var(--font-titre);font-style:italic;color:var(--marque-secondaire);font-size:1.18rem;border-left:3px solid var(--marque-accent);padding-left:1rem;margin:0 0 1.5rem!important;max-width:none!important}
.cn-nina-sig{font-style:normal;color:var(--marque-violet);font-weight:600;font-size:.95rem;white-space:nowrap}

/* -- Newsletter -- */
/* Newsletter (client) : fond rose #e899ad, titre blanc ; le prune #3b2e4a ne s'applique
   qu'au paragraphe « Recevez -10 %… » (cf. .cn-news-txt p). */
.cn-news{background:#e899ad;color:#fff}
.cn-news-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2.6rem 1.2rem}
.cn-news-txt h2{color:#fff;margin:0 0 .3rem;font-size:1.6rem}
.cn-news-txt p{margin:0;opacity:.9;color:#3b2e4a}
.cn-news-form{display:flex;gap:.5rem;flex-wrap:wrap}
.cn-news-form input{border:0;border-radius:24px;padding:.75rem 1.1rem;font:inherit;min-width:260px}

/* -- Footer -- */
.cn-footer{background:#FCF4F8;border-top:1px solid var(--cn-ligne);margin-top:1rem}
.cn-footer-in{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:1.8rem;padding:3.4rem 1.2rem}
.cn-fbrand img{height:74px;width:auto}
.cn-fbaseline{color:#8A8A8A;font-size:.9rem;line-height:1.65;max-width:34ch;margin:.9rem 0 1rem}
.cn-femail{margin:0 0 1rem;font-size:.9rem}
.cn-fbrand a{color:var(--marque-primaire);text-decoration:none}
.cn-social{display:flex;gap:.6rem;flex-wrap:wrap}
.cn-social-ic{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--cn-ligne);color:var(--marque-primaire);transition:transform .12s,background .12s,color .12s}
.cn-social-ic svg{width:19px;height:19px;display:block}
.cn-social-ic:hover{background:var(--marque-primaire);color:#fff;transform:translateY(-2px);border-color:var(--marque-primaire)}
.cn-pay{display:flex;gap:.4rem;flex-wrap:wrap}
.cn-pay i{font-style:normal;background:#fff;border:1px solid var(--cn-ligne);border-radius:6px;padding:.22rem .5rem;font-size:.72rem;font-weight:600;color:var(--marque-secondaire);letter-spacing:.01em}
.cn-fcol h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--marque-secondaire);margin:0 0 .9rem}
.cn-fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.cn-fcol a{text-decoration:none;color:#6a6072;font-size:.9rem}
.cn-fcol a:hover{color:var(--marque-primaire)}
.cn-footer-bottom{border-top:1px solid var(--cn-ligne)}
.cn-fbottom-in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.2rem;font-size:.78rem;color:#8a8092}
.cn-fbottom-in a{color:var(--marque-primaire);text-decoration:none}

/* -- Responsive -- */
@media(max-width:900px){
  .cn-header{position:static}              /* pas de header fixe sur mobile : il mangeait l'ecran */
  .cn-topbar{font-size:.72rem}
  .cn-topbar-in{padding:.4rem .8rem}
  .cn-header-in{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.6rem .9rem}
  .cn-burger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:30px;height:30px;cursor:pointer;order:1}
  .cn-burger span{display:block;height:2.5px;width:22px;background:var(--marque-secondaire);border-radius:2px}
  .cn-logo{order:2;flex:1;text-align:center}
  .cn-logo img{height:46px;margin:0 auto}
  .cn-account{order:3;gap:.7rem}
  .cn-account .cn-lb{display:none}
  .cn-search{order:4;flex-basis:100%;max-width:none}
  .cn-nav{border-top:0}
  .cn-nav-in{display:none;flex-direction:column;align-items:stretch;gap:0;padding:0}
  .cn-burger-cb:checked ~ .cn-nav .cn-nav-in{display:flex}
  .cn-nav-in a{padding:.75rem 1rem;border-bottom:1px solid var(--cn-ligne);text-transform:none;font-size:.92rem;letter-spacing:0}
  /* HERO mobile : on masque le fond desktop et on montre l'image 4:3 PLEINE LARGEUR
     (bord a bord, hors du .wrap), texte dessous. */
  .cn-hero.cn-hero-bg{background-image:none!important}
  .cn-hero.cn-hero-bg::before{display:none}
  .cn-hero-media{display:block}
  .cn-hero-media img{width:100%;height:auto;display:block;border-radius:0}
  /* Hero Nino mobile : média (vidéo/img) empile pleine largeur au-dessus du texte, fond blanc. */
  .cn-hero.cn-hero-nino{background:#fff}
  .cn-hero-nino .cn-hero-media{position:static}
  .cn-hero-nino .cn-hero-media-el{position:static;width:100%;height:auto;max-width:100%;object-fit:fill}
  .cn-hero-in{display:block;min-height:auto;padding:1.4rem 0 1.8rem;text-align:center}
  .cn-hero-txt{max-width:100%}
  .cn-hero-txt h1{font-size:1.6rem;margin:0 0 .5rem}
  .cn-hero-txt p{font-size:.95rem;margin:0 auto 1rem;max-width:36ch}
  .cn-hero-cta{justify-content:center}
  .cn-reass-in{grid-template-columns:repeat(2,1fr)}
  .cn-prod-grid{grid-template-columns:repeat(2,1fr)}
  .cn-cat-grid{grid-template-columns:repeat(3,1fr);gap:.8rem}
  .cn-why-in{grid-template-columns:1fr}
  .cn-footer-in{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .wrap{padding-left:1.1rem;padding-right:1.1rem}
  .cn-hero-txt h1{font-size:1.55rem}
  .cn-cat-grid{grid-template-columns:repeat(3,1fr)}
  .cn-footer-in{grid-template-columns:1fr}
}

/* ===== Gabarits intérieurs (page, blog, recherche, 404, boutique) ===== */
.cn-pagehead{background:linear-gradient(120deg,var(--cn-rose-clair),#fff 75%);border-bottom:1px solid var(--cn-ligne);padding:2.6rem 1.2rem}
.cn-pagehead h1{font-size:2.1rem;margin:0}
.cn-ph-sub,.cn-meta{color:#8a7f92;margin:.3rem 0 0;font-size:.9rem}
.cn-page{padding:2.6rem 1.2rem;max-width:920px}
.cn-page-thumb{margin:0 0 1.6rem;border-radius:16px;overflow:hidden}
.cn-page-thumb img{width:100%;height:auto;display:block}

/* Contenu éditorial (the_content) */
.cn-content{font-size:1.05rem;color:#332c3b}
.cn-content h2{font-size:1.5rem;margin:2rem 0 .6rem}
.cn-content h3{font-size:1.2rem;margin:1.6rem 0 .5rem}
.cn-content p{margin:0 0 1rem}
.cn-content a{color:var(--marque-primaire)}
.cn-content ul,.cn-content ol{margin:0 0 1rem 1.3rem}
.cn-content li{margin:.3rem 0}
.cn-content img{max-width:100%;height:auto;border-radius:12px}
.cn-content blockquote{border-left:3px solid var(--marque-primaire);margin:1.4rem 0;padding:.3rem 0 .3rem 1.1rem;color:#6a5f72;font-style:italic}
.cn-content table{width:100%;border-collapse:collapse;margin:1rem 0}
.cn-content th,.cn-content td{border:1px solid var(--cn-ligne);padding:.5rem .7rem;text-align:left}

/* Grille d'articles (blog / recherche) */
.cn-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.cn-post-card{display:flex;flex-direction:column;text-decoration:none;color:var(--marque-texte);background:#fff;border:1px solid var(--cn-ligne);border-radius:16px;overflow:hidden;transition:box-shadow .15s,transform .15s}
.cn-post-card:hover{box-shadow:0 14px 30px rgba(59,46,74,.1);transform:translateY(-3px)}
.cn-post-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--cn-gris)}
.cn-post-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}
.cn-post-date{font-size:.75rem;color:#a196ac;text-transform:uppercase;letter-spacing:.04em}
.cn-post-title{font-family:var(--font-titre);font-weight:700;font-size:1.1rem;color:var(--marque-secondaire)}
.cn-post-exc{font-size:.9rem;color:#6a6072}
.cn-pagination{margin-top:2rem;text-align:center}
.cn-pagination .page-numbers{display:inline-block;padding:.4rem .8rem;margin:.15rem;border:1px solid var(--cn-ligne);border-radius:8px;text-decoration:none;color:var(--marque-secondaire)}
.cn-pagination .page-numbers.current{background:var(--marque-primaire);color:#fff;border-color:var(--marque-primaire)}

/* 404 */
.cn-404{text-align:center;max-width:640px}
.cn-search-lg{max-width:420px;margin:1.4rem auto 0}
.cn-404 .cn-btn{margin:.3rem}

/* ===== Surcouche WooCommerce (boutique, produit, panier, compte) ===== */
.cn-shop{padding:2.6rem 1.2rem}
/* Fil d'Ariane : hiérarchie (liens gris doux → survol rose · page courante en prune · séparateur chevron · icône maison) */
.woocommerce .woocommerce-breadcrumb{color:var(--marque-secondaire);font-size:.82rem;font-weight:600;margin:0 0 1.6rem;display:flex;align-items:center;flex-wrap:wrap;line-height:1.5}
.woocommerce .woocommerce-breadcrumb a{color:#9a8fa6;font-weight:500;text-decoration:none;transition:color .12s}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--marque-primaire)}
.woocommerce .woocommerce-breadcrumb .cn-bc-sep{color:#d3c4d0;margin:0 .5rem;font-weight:400}
.woocommerce .woocommerce-breadcrumb a:first-of-type{display:inline-flex;align-items:center;gap:.32rem}
.woocommerce .woocommerce-breadcrumb a:first-of-type::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* En-tête de la page catalogue (titre + nombre + tri) */
.woocommerce-products-header{margin:0 0 1.6rem}
.woocommerce-products-header__title,.woocommerce .woocommerce-products-header__title{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:2.2rem;margin:0 0 .2rem}
.term-description,.woocommerce-products-header .term-description{color:#5a5064;max-width:60ch}
/* Bandeau de tri unifié : « nombre de résultats » + menu de tri dans une barre carte.
   margin-bottom généreux pour ne pas coller aux produits. */
.cn-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;background:#fff;border:1px solid #f2eaf0;border-radius:16px;box-shadow:0 6px 22px rgba(59,46,74,.05);padding:.6rem .7rem .6rem 1.2rem;margin:0 0 2rem}
.woocommerce .cn-toolbar .woocommerce-result-count{color:#8a8092;font-size:.85rem;margin:0;line-height:1.4}
.woocommerce .cn-toolbar .woocommerce-ordering{margin:0;float:none}
.woocommerce .woocommerce-ordering select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid #ecdfe8;border-radius:24px;padding:.6rem 2.6rem .6rem 1.2rem;background:#fff url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233B2E4A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;color:var(--marque-secondaire);font:inherit;font-weight:600;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.woocommerce .woocommerce-ordering select:hover{border-color:var(--marque-primaire)}
.woocommerce .woocommerce-ordering select:focus{outline:none;border-color:var(--marque-primaire);box-shadow:0 0 0 3px rgba(199,125,168,.18)}

/* Grille de produits en CARTES uniformes (au lieu du flottant WordPress par défaut) */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin:0!important;padding:0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #f2eaf0;border-radius:18px;overflow:hidden;box-shadow:0 6px 22px rgba(59,46,74,.06);transition:transform .28s ease,box-shadow .28s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(59,46,74,.16)}
.woocommerce ul.products li.product:hover img{transform:scale(1.05)}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link,.woocommerce ul.products li.product>a.woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1 1 auto;text-decoration:none}
.woocommerce ul.products li.product img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;margin:0 0 .9rem;border-radius:0;transition:transform .55s ease}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-titre);font-size:1.02rem;line-height:1.25;color:var(--marque-secondaire);padding:.15rem 1rem 0;margin:0 0 .35rem;min-height:2.55em}
.woocommerce ul.products li.product .price{color:var(--marque-primaire);font-weight:700;font-size:1.06rem;padding:0 1rem;margin-top:auto}
.woocommerce ul.products li.product .price del{color:#b3a9bd;font-weight:400;font-size:.9em;margin-right:.35rem}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{margin:.9rem 1rem 1.1rem;text-align:center}
.woocommerce ul.products li.product .star-rating{margin:.1rem 1rem .3rem}
.woocommerce span.onsale{background:var(--marque-primaire);color:#fff;position:absolute;top:.8rem;left:.8rem;z-index:2;min-height:auto;min-width:auto;line-height:1;padding:.35em .6em;border-radius:20px;font-size:.72rem;margin:0}

/* Badges de carte produit (accueil + grilles Woo) */
.cn-prod{position:relative}
.cn-cardbadge{position:absolute;top:.8rem;left:.8rem;z-index:3;color:#fff;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.32em .62em;border-radius:20px;line-height:1;box-shadow:0 3px 10px rgba(59,46,74,.12)}
.cn-badge-promo{background:var(--marque-primaire)}
.cn-badge-coeur{background:transparent;padding:0;box-shadow:none;border-radius:0}
.cn-badge-coeur img{width:32px!important;height:32px!important;aspect-ratio:auto!important;object-fit:contain!important;display:block;margin:0!important;border-radius:0!important;filter:drop-shadow(0 1px 3px rgba(0,0,0,.28))}
.woocommerce ul.products li.product .cn-cardbadge{top:.8rem;left:.8rem}

/* Apparition douce des sections au scroll (ajout de .cn-reveal par JS -> pas de FOUC sans JS) */
.cn-reveal{opacity:0;transform:translateY(22px)}
.cn-reveal.cn-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
@media(prefers-reduced-motion:reduce){.cn-reveal,.cn-reveal.cn-in{opacity:1;transform:none;transition:none}}
@media(max-width:1024px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);gap:1rem}
  .woocommerce ul.products li.product h2,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.92rem}
  .woocommerce ul.products li.product .button{padding:.6em 1em;font-size:.85rem}}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button{
  background:linear-gradient(135deg,var(--marque-primaire),var(--marque-violet));color:#fff;border-radius:24px;padding:.65em 1.4em;font-weight:700;border:0;transition:filter .12s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--marque-secondaire);filter:none}
.woocommerce .product_meta,.woocommerce div.product .woocommerce-product-details__short-description{color:#4a3f52}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--marque-primaire)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--marque-primaire)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--marque-primaire)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span.current{color:var(--marque-secondaire)}
.woocommerce #respond input#submit.disabled,.woocommerce .widget_price_filter .ui-slider .ui-slider-range{background:var(--marque-primaire)}

/* ===== Page PRODUIT ===== */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
/* Onglets / suggestions / perks : pleine largeur sous la galerie + le résumé */
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells,.woocommerce div.product .cn-perks{grid-column:1/-1}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;margin:0!important;float:none}
/* Anti-débordement mobile : produit à UNE seule image HD (pas de flexslider = pas de
   viewport overflow:hidden), le min-content de l'image (1254px) élargit la colonne de grille
   et fait déborder toute la fiche à droite. min-width:0 sur les enfants de grille neutralise
   le min-width:auto par défaut ; max-width:100% recale l'image sur la colonne. */
.woocommerce div.product>.woocommerce-product-gallery,
.woocommerce div.product>.summary{min-width:0}
.woocommerce div.product .woocommerce-product-gallery img{max-width:100%;height:auto}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image{border-radius:18px;overflow:hidden;box-shadow:0 16px 44px rgba(59,46,74,.13)}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:18px}
.woocommerce div.product .woocommerce-product-gallery__trigger{width:40px;height:40px;top:1rem;right:1rem;background:#fff;border-radius:50%;box-shadow:0 4px 14px rgba(59,46,74,.16);display:flex;align-items:center;justify-content:center}
/* Miniatures galerie : carrés uniformes, arrondis, espacés, état actif rose (fini le « serré ») */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:.7rem;margin:.9rem 0 0;padding:0;list-style:none}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{margin:0;width:auto;float:none;line-height:0}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{width:88px;height:88px;object-fit:cover;border-radius:12px;cursor:pointer;opacity:.62;border:2px solid #f2eaf0;transition:opacity .15s,border-color .15s;display:block;margin:0}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:#eccadd}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--marque-primaire)}
/* Neutralise le width:25% par défaut de WooCommerce (li) + espace au-dessus des miniatures. */
.woocommerce div.product div.images .flex-control-thumbs{margin-top:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto}
.woocommerce div.product .summary{margin:0!important;width:100%!important;float:none}
.woocommerce div.product .product_title{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:2.3rem;line-height:1.15;margin:0 0 .6rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--marque-primaire);font-size:1.9rem;font-weight:700}
.woocommerce div.product .woocommerce-product-details__short-description{color:#4a3f52;margin:.8rem 0}
.woocommerce div.product form.cart{margin:1.3rem 0 .4rem}
.woocommerce .quantity .qty{padding:.55rem;border:1px solid var(--cn-ligne);border-radius:8px;width:4rem}
.cn-buynow{display:block!important;background:#fff!important;color:var(--marque-secondaire)!important;border:2px solid var(--marque-primaire)!important;border-radius:26px!important;text-align:center;margin-top:.6rem!important;font-weight:700}
.cn-buynow:hover{background:var(--cn-rose-clair)!important}
.cn-pdp-pay{margin:1rem 0 .5rem;font-size:.85rem;color:#6a6072}
.cn-pdp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.8rem 0;padding:1rem;background:var(--cn-rose-clair);border-radius:12px}
.cn-pdp-trust>div{text-align:center;font-size:.7rem;color:#7a7080;line-height:1.3}
.cn-pdp-trust span{font-size:1.3rem;display:block}
.cn-pdp-trust strong{display:block;color:var(--marque-secondaire);font-size:.8rem;margin:.15rem 0 .05rem}
.woocommerce div.product .woocommerce-tabs{grid-column:1/3;margin-top:1.2rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{border:0;padding:0;margin:0 0 1.6rem;display:flex;gap:.55rem;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#fff;border:1px solid #f2eaf0;padding:0;margin:0;border-radius:24px;box-shadow:0 3px 12px rgba(59,46,74,.04);transition:border-color .12s,background .12s}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;color:var(--marque-secondaire);font-weight:700;text-transform:uppercase;font-size:.76rem;letter-spacing:.03em;padding:.62rem 1.25rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active):hover{border-color:var(--marque-primaire)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--marque-primaire);border-color:transparent;box-shadow:0 8px 20px rgba(199,125,168,.3)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:1.3rem}
.woocommerce div.product .woocommerce-tabs .panel{color:#4a3f52;line-height:1.75;padding:2rem 2.4rem}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 1rem;max-width:80ch}
/* (Les listes sont stylées par contexte : encart « Points forts » ci-dessous.) */
.woocommerce .related,.woocommerce .upsells{grid-column:1/3;margin-top:2.5rem}
.woocommerce .related>h2,.woocommerce .upsells>h2{font-family:var(--font-titre);color:var(--marque-secondaire);text-align:center;font-size:1.7rem;margin-bottom:1.4rem}

@media(max-width:820px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .woocommerce div.product .woocommerce-product-gallery{position:static!important}
  .woocommerce div.product .woocommerce-tabs,.woocommerce .related,.woocommerce .upsells{grid-column:1}
  .cn-pdp-trust{grid-template-columns:1fr;text-align:left}
}
@media(max-width:900px){ .cn-post-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .cn-post-grid{grid-template-columns:1fr} .cn-page{padding:1.8rem 1.2rem} }

/* ===== Barre de navigation MOBILE (style appli, fixe en bas) ===== */
.cn-mobnav{display:none}
@media(max-width:768px){
  .cn-mobnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--cn-ligne);z-index:200;justify-content:space-around;padding:.4rem 0 calc(.4rem + env(safe-area-inset-bottom));box-shadow:0 -2px 12px rgba(59,46,74,.08)}
  .cn-mobnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:.12rem;text-decoration:none;color:#8a8092;font-size:.62rem;position:relative}
  .cn-mobnav a img{width:25px;height:25px;object-fit:contain;display:block}
  .cn-mobnav a.on{color:var(--marque-primaire)}
  .cn-mobnav-badge{position:absolute;top:-3px;right:24%;background:var(--marque-primaire);color:#fff;border-radius:10px;font-size:.55rem;font-style:normal;padding:0 .3rem;line-height:1.5}
  body{padding-bottom:60px}
}

/* ===== Banniere + layout 2 colonnes (boutique / categorie) - Etape 4 ===== */
/* Fond de page très légèrement rosé sur la boutique/catégories : les cartes blanches
   (avec leur ombre douce) ressortent au lieu d'être « plates » sur du blanc pur. */
body.woocommerce-shop,body.tax-product_cat,body.post-type-archive-product{background:#fbf3f7}
.cn-shopbanner{background:linear-gradient(120deg,var(--cn-rose-clair),#fbf3f7 78%);border-bottom:1px solid #f2eaf0}
.cn-shopbanner .wrap{padding:2.6rem 1.2rem}
.cn-shopbanner h1{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:2.4rem;margin:0}
.cn-shopbanner-desc{color:#6a6072;max-width:64ch;margin:.6rem 0 0;line-height:1.6}
.cn-shop-wrap{display:grid;grid-template-columns:250px 1fr;gap:2.2rem;align-items:start}
.cn-shop-main .woocommerce-products-header__title{display:none}
.cn-shop-main .woocommerce-products-header{margin:0 0 1rem}
.cn-shop-main ul.products{grid-template-columns:repeat(3,1fr)}
.cn-shop-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:1.4rem}
.cn-filter{background:#fff;border:1px solid #f2eaf0;border-radius:16px;padding:1.2rem 1.3rem;box-shadow:0 6px 22px rgba(59,46,74,.05)}
.cn-filter h3{font-family:var(--font-titre);font-size:1.05rem;color:var(--marque-secondaire);margin:0 0 .8rem}
.cn-filter-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
.cn-filter-cats a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-decoration:none;color:#5a5064;font-size:.92rem;padding:.4rem .6rem;border-radius:9px;transition:background .12s,color .12s}
.cn-filter-cats a:hover{background:var(--cn-rose-clair);color:var(--marque-primaire)}
.cn-filter-cats a em{font-style:normal;font-size:.78rem;color:#b3a9bd;background:var(--cn-gris);border-radius:20px;padding:.05rem .5rem;min-width:1.5rem;text-align:center}
.cn-filter-cats .on>a{background:var(--marque-primaire);color:#fff;font-weight:600}
.cn-filter-cats .on>a em{background:rgba(255,255,255,.25);color:#fff}
.cn-price-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}
.cn-price-row input{width:100%;border:1px solid var(--cn-ligne);border-radius:9px;padding:.5rem .6rem;font:inherit;color:var(--marque-secondaire)}
.cn-price-row span{color:#b3a9bd}
.cn-filter-price .cn-btn{width:100%;text-align:center;padding:.55rem}
.cn-filter-clear{display:block;text-align:center;margin-top:.6rem;font-size:.82rem;color:#8a8092;text-decoration:none}
.cn-filter-clear:hover{color:var(--marque-primaire)}
.cn-filter-help{background:var(--cn-rose-clair);border-color:transparent;display:flex;flex-direction:column;gap:.9rem}
.cn-help-card strong{display:block;color:var(--marque-secondaire);font-size:.9rem}
.cn-help-card span{font-size:.82rem;color:#7a7080}
@media(max-width:900px){
  .cn-shop-wrap{grid-template-columns:1fr}
  .cn-shop-side{position:static}
  .cn-shop-main ul.products{grid-template-columns:repeat(2,1fr)}
  .cn-shopbanner h1{font-size:1.9rem}
}

/* ===== Fiche produit : stock, pastilles caracteristiques, paiement - Etape 5 ===== */
.cn-pdp-stock{color:#3a8a4a;font-weight:600;font-size:.92rem;margin:.2rem 0 .9rem;display:flex;align-items:center;gap:.45rem}
.cn-pdp-stock::before{content:"\2713";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#e6f4ea;color:#3a8a4a;border-radius:50%;font-size:.7rem;line-height:1}
.cn-pdp-pills{display:flex;flex-wrap:wrap;gap:1.1rem 1.5rem;margin:.5rem 0 1.4rem}
.cn-pill{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;background:none;padding:0;min-width:60px}
.cn-pill-ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1.5px solid #eccadd;border-radius:50%;color:var(--marque-primaire);background:#fff}
.cn-pill-ic svg{width:22px;height:22px}
.cn-pill strong{color:var(--marque-secondaire);font-size:.9rem;font-weight:700;line-height:1.1}
.cn-pill em{font-style:normal;color:#9a8fa6;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}
.cn-pdp-pay{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:.5rem 0 1.1rem;font-size:.86rem;color:#5a5064}
.cn-pdp-lock{font-weight:600;color:var(--marque-secondaire);display:inline-flex;align-items:center;gap:.35rem}
.cn-pdp-lock svg{width:16px;height:16px;color:var(--marque-primaire)}
/* Puces paiement en mini-logos */
.cn-pdp-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cn-pc{font-style:normal;font-weight:700;font-size:.66rem;letter-spacing:.02em;color:#4a4a5a;background:#fff;border:1px solid #e7dfe8;border-radius:6px;padding:.3rem .5rem;line-height:1;display:inline-flex;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.cn-pc-visa{color:#1a1f71}.cn-pc-mc{color:#c8102e}.cn-pc-pp{color:#003087}.cn-pc-ap{color:#111}.cn-pc-gp{color:#4285f4}.cn-pc-cb{color:#0b5fff}
/* Réassurance : icône + texte, sur fond doux */
.cn-pdp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:var(--cn-rose-clair);border-radius:16px;padding:1.1rem 1.2rem;margin:.2rem 0 1rem}
.cn-pdp-trust>div{display:flex;align-items:center;gap:.6rem;text-align:left}
.cn-trust-ic{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--marque-primaire)}
.cn-trust-ic svg{width:26px;height:26px}
.cn-trust-txt{display:flex;flex-direction:column;line-height:1.2}
.cn-pdp-trust strong{color:var(--marque-secondaire);font-size:.82rem;font-weight:700}
.cn-pdp-trust em{font-style:normal;color:#8a7f92;font-size:.72rem}
/* Zone d'achat : stepper quantité + CTA pleine largeur avec icône panier */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:.7rem;margin:1.3rem 0 .5rem}
.cn-qty{display:inline-flex;align-items:stretch;border:1px solid #e7dfe8;border-radius:26px;overflow:hidden;background:#fff}
.woocommerce .cn-qty .qty{width:2.4rem;text-align:center;border:0!important;padding:.6rem 0!important;border-radius:0!important;-moz-appearance:textfield;font-weight:700;color:var(--marque-secondaire)}
.cn-qty .qty::-webkit-outer-spin-button,.cn-qty .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cn-qty-btn{border:0;background:none;width:2.4rem;font-size:1.15rem;color:var(--marque-secondaire);cursor:pointer;line-height:1}
.cn-qty-btn:hover{color:var(--marque-primaire)}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 200px;text-transform:uppercase;letter-spacing:.03em;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:26px;padding:.85rem 1.4rem}
.woocommerce div.product form.cart .single_add_to_cart_button::before{content:"";width:19px;height:19px;flex:0 0 auto;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.4 12.4a1.5 1.5 0 0 0 1.5 1.2h8.2a1.5 1.5 0 0 0 1.5-1.2L21 7H6'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce div.product .cn-buynow{flex-basis:100%;margin-top:.2rem!important;text-transform:uppercase;letter-spacing:.03em;padding:.8rem!important}
/* Galerie : badge Nouveau */
.woocommerce div.product .woocommerce-product-gallery{position:relative}
.cn-gal-badge{position:absolute;top:1rem;left:1rem;z-index:3;background:var(--marque-secondaire);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.42em .85em;border-radius:8px}
/* Description : texte à gauche + encart « Points forts » à droite (pas de 2e photo) */
.cn-desc-2col{display:grid;grid-template-columns:1.6fr 1fr;gap:2.4rem;align-items:start}
.cn-desc-txt h2{margin-top:0}
.cn-desc-txt p{color:#4a3f52}
.cn-desc-side{background:var(--cn-rose-clair);border-radius:16px;padding:1.5rem 1.6rem}
.cn-desc-side h3{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:1.15rem;margin:0 0 1.1rem}
.cn-desc-side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}
.cn-desc-side ul li{position:relative;padding-left:2.1rem;color:#4a3f52;line-height:1.4}
.cn-desc-side ul li::before{content:"";position:absolute;left:0;top:.02em;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--marque-primaire) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/.82rem no-repeat}
/* Bandeau d'avantages */
.cn-perks{grid-column:1/-1;background:var(--cn-rose-clair);border-radius:18px;margin:2.2rem 0 0}
.cn-perks-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding:1.6rem 1.6rem;max-width:none}
.cn-perk{display:flex;align-items:center;gap:.75rem}
.cn-perk-ic{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--marque-primaire)}
.cn-perk-ic svg{width:22px;height:22px}
.cn-perk-txt{display:flex;flex-direction:column;line-height:1.25}
.cn-perk-txt strong{color:var(--marque-secondaire);font-size:.86rem}
.cn-perk-txt em{font-style:normal;color:#8a7f92;font-size:.74rem}
@media(max-width:820px){
  .cn-pdp-trust{grid-template-columns:1fr;gap:.7rem}
  .cn-desc-2col{grid-template-columns:1fr;gap:1.4rem}
  .cn-perks-in{grid-template-columns:1fr 1fr;gap:1.1rem;padding:1.3rem}
}
@media(max-width:520px){ .cn-perks-in{grid-template-columns:1fr} }
/* Panneau Description en carte bordée (comme la maquette) */
.woocommerce div.product .woocommerce-Tabs-panel--description{border:1px solid #f2eaf0;border-radius:16px;background:#fff;padding:1.9rem 2rem;box-shadow:0 6px 22px rgba(59,46,74,.04)}
/* Titre « Vous aimerez aussi » : capitales + trait doré centré */
.woocommerce .related>h2,.woocommerce .upsells>h2{text-transform:uppercase;letter-spacing:.06em;font-size:1.45rem;color:var(--marque-secondaire)}
.woocommerce .related>h2::after,.woocommerce .upsells>h2::after{content:"";display:block;width:56px;height:3px;background:var(--marque-accent);border-radius:2px;margin:.7rem auto 0}
/* Onglets Caractéristiques (table attributs) + Avis : en cartes premium */
.woocommerce div.product .woocommerce-Tabs-panel--additional_information,
.woocommerce div.product .woocommerce-Tabs-panel--reviews{border:1px solid #f2eaf0;border-radius:16px;background:#fff;padding:1.8rem 2rem;box-shadow:0 6px 22px rgba(59,46,74,.04)}
.woocommerce .shop_attributes{border:0;width:100%;margin:0}
.woocommerce .shop_attributes tr{border-bottom:1px solid #f2eaf0}
.woocommerce .shop_attributes tr:last-child{border-bottom:0}
.woocommerce .shop_attributes th{background:none;color:var(--marque-secondaire);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em;padding:.9rem 1rem .9rem 0;width:34%;vertical-align:middle}
.woocommerce table.shop_attributes td{padding:.9rem 0;color:#4a3f52;font-style:normal;border:0}
.woocommerce table.shop_attributes td p{margin:0;font-style:normal}
/* Avis clients */
.woocommerce #reviews h2,.woocommerce #reviews .woocommerce-Reviews-title{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:1.3rem;margin:0 0 1rem}
.woocommerce #reviews .woocommerce-noreviews{background:var(--cn-rose-clair)!important;box-shadow:none!important;color:#6a6072;text-align:center;padding:1.1rem 1.2rem!important;border-radius:12px;margin:.4rem 0 1.4rem}
.woocommerce #reviews .commentlist{margin:0 0 1.4rem}
.woocommerce #reviews .commentlist li .comment-text{border:1px solid #f2eaf0;border-radius:14px;padding:1rem 1.2rem;margin-left:64px}
.woocommerce #reviews #respond{margin:0}
.woocommerce #review_form_wrapper h3{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:1.1rem}
.woocommerce p.stars a{color:var(--marque-accent)!important}
.woocommerce #reviews #respond input[type=text],.woocommerce #reviews #respond input[type=email],.woocommerce #reviews #respond textarea{border:1px solid #e7dfe8;border-radius:12px;padding:.7rem .9rem;font:inherit}
.woocommerce #reviews #respond textarea:focus,.woocommerce #reviews #respond input:focus{outline:none;border-color:var(--marque-primaire);box-shadow:0 0 0 3px rgba(199,125,168,.18)}

/* ===== Panier / Checkout / Compte + notices - Etape 6 ===== */
/* -- Notices en "toasts" custom (fini le look Woo gris) -- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border:0!important;border-radius:14px!important;padding:1rem 1.2rem 1rem 3rem!important;position:relative;
  background:#fff!important;box-shadow:0 6px 22px rgba(59,46,74,.08);color:var(--marque-secondaire)!important;
  font-family:var(--font-corps);list-style:none;margin:0 0 1.4rem}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{
  position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;content:"";padding:0}
.woocommerce-message{border-left:3px solid #3a8a4a!important}
.woocommerce-info{border-left:3px solid var(--marque-primaire)!important}
.woocommerce-error{border-left:3px solid #d9534f!important}
.woocommerce-message::after{content:"\2713";position:absolute;left:1.05rem;top:50%;transform:translateY(-50%);color:#3a8a4a;font-weight:700}
.woocommerce-info::after{content:"\2139";position:absolute;left:1.05rem;top:50%;transform:translateY(-50%);color:var(--marque-primaire);font-weight:700}
.woocommerce-error::after{content:"!";position:absolute;left:1.15rem;top:50%;transform:translateY(-50%);color:#d9534f;font-weight:700}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;padding:.4em 1em;font-size:.82rem;margin-top:-.15rem}

/* -- Panier : lignes en cartes, totaux en carte -- */
.woocommerce-cart table.cart{border:0;background:transparent}
.woocommerce-cart table.cart thead th{border:0;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:#8a8092;padding:.4rem .8rem}
.woocommerce-cart table.cart tbody tr.cart_item{background:#fff;box-shadow:0 4px 16px rgba(59,46,74,.05);border-radius:14px}
.woocommerce-cart table.cart td{border:0;border-top:1px solid var(--cn-ligne);padding:1rem .8rem;vertical-align:middle}
.woocommerce-cart table.cart tr.cart_item td:first-child{border-radius:14px 0 0 14px}
.woocommerce-cart table.cart tr.cart_item td:last-child{border-radius:0 14px 14px 0}
.woocommerce-cart table.cart img{width:72px;border-radius:10px}
.woocommerce-cart td.product-name a{color:var(--marque-secondaire);text-decoration:none;font-weight:600}
.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{color:var(--marque-secondaire)}
.woocommerce a.remove{color:var(--marque-primaire)!important;border:1px solid var(--cn-ligne);background:#fff}
.woocommerce a.remove:hover{background:var(--marque-primaire)!important;color:#fff!important}
.cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--cn-ligne);border-radius:16px;padding:1.4rem 1.5rem}
.cart_totals h2,.woocommerce-checkout #order_review_heading{font-family:var(--font-titre);color:var(--marque-secondaire);font-size:1.3rem}
.cart_totals table,.woocommerce-checkout table.shop_table{border:0}
.cart_totals table th,.cart_totals table td{border-top:1px solid var(--cn-ligne);padding:.7rem 0}
.wc-proceed-to-checkout .checkout-button{width:100%;text-align:center}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{width:100%}
.woocommerce .coupon .input-text{border:1px solid var(--cn-ligne);border-radius:9px;padding:.6rem .8rem}

/* -- Checkout : formulaire aere, champs propres -- */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection{
  border:1px solid var(--cn-ligne)!important;border-radius:10px!important;padding:.7rem .85rem!important;font:inherit;color:var(--marque-secondaire);min-height:auto}
.woocommerce form .form-row label{font-size:.85rem;color:#6a6072;font-weight:500}
.woocommerce-checkout h3{font-family:var(--font-titre);color:var(--marque-secondaire)}
#place_order{width:100%;font-size:1.02rem;padding:.9em}
.woocommerce-checkout #payment{background:var(--cn-rose-clair);border-radius:14px}
.woocommerce-checkout #payment ul.payment_methods{border:0}

/* -- Mon compte : navigation en carte -- */
.woocommerce-account .woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--cn-ligne);border-radius:16px;padding:.6rem;float:none;width:100%}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{border:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:.7rem 1rem;border-radius:10px;text-decoration:none;color:#5a5064;font-weight:500}
.woocommerce-MyAccount-navigation li a:hover{background:var(--cn-rose-clair);color:var(--marque-primaire)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--marque-primaire);color:#fff}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:2rem;align-items:start}
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--cn-ligne);border-radius:16px;padding:1.6rem}
.woocommerce-account table.account-orders-table,.woocommerce-account .shop_table{border:0}
@media(max-width:820px){.woocommerce-account .woocommerce{grid-template-columns:1fr}}
/* Boutons de tunnel (panier/checkout, classique + blocs Gutenberg) en rose */
.wc-proceed-to-checkout .checkout-button,.woocommerce #payment #place_order,
.wc-block-components-button.contained,.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button{
  background:linear-gradient(135deg,var(--marque-primaire),var(--marque-violet))!important;color:#fff!important;border:0!important;border-radius:26px!important;box-shadow:none!important}

/* ===== 404 premium - Etape 7 ===== */
.cn-404{text-align:center;max-width:700px;margin:0 auto}
.cn-404-num{font-family:var(--font-titre);font-size:6rem;line-height:1;color:var(--marque-accent);font-weight:700;margin-top:1rem}
.cn-404 h1{font-size:1.9rem;margin:.3rem 0 .6rem}
.cn-404 p{color:#6a6072}
.cn-search-lg{max-width:440px;margin:1.5rem auto;background:#fff;border:1px solid var(--cn-ligne);padding:.2rem .2rem .2rem 1rem}
.cn-search-lg input[type=search]{width:100%}
.cn-404-cats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1.5rem 0}
.cn-404-cats a{background:var(--cn-rose-clair);color:var(--marque-secondaire);text-decoration:none;padding:.42rem .95rem;border-radius:20px;font-size:.85rem;transition:background .12s,color .12s}
.cn-404-cats a:hover{background:var(--marque-primaire);color:#fff}
.cn-404-cta{margin-top:1.6rem;display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}

/* ===== Filtres en panneau repliable sur mobile (checkbox, sans JS) - Etape 8 ===== */
.cn-filtres-toggle{display:none}
@media(max-width:900px){
  .cn-filtres-toggle{display:none} /* masqué sur mobile (demande client) : pas de bouton « Filtrer les produits » */
  .cn-filtres-toggle::before{content:"";width:17px;height:17px;flex:0 0 auto;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%233B2E4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='6' x2='20' y2='6'/%3E%3Cline x1='7' y1='12' x2='17' y2='12'/%3E%3Cline x1='10' y1='18' x2='14' y2='18'/%3E%3C/svg%3E") center/contain no-repeat}
  .cn-shop-side{display:none}
  .cn-filtres-cb:checked ~ .cn-shop-side{display:flex;margin-bottom:1.1rem}
  .cn-shopbanner .wrap{padding:1.9rem 1.2rem 1.5rem}
  /* Mobile : barre de tri sans cadre ni nombre de résultats → juste le menu déroulant. */
  .cn-toolbar{background:none;border:0;box-shadow:none;padding:0;margin:0 0 1.2rem}
  .cn-toolbar .woocommerce-result-count{display:none}
  .cn-toolbar .woocommerce-ordering,.cn-toolbar .woocommerce-ordering select{width:100%}
}

/* Zone de widgets pied de page (optionnelle, plugins) */
.cn-footer-widgets{border-bottom:1px solid var(--cn-ligne);padding:1.6rem 0}
.cn-fwidgets-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem}
.cn-fwidget h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--marque-secondaire);margin:0 0 .6rem}

/* Accessibilité (WCAG) : lien d'évitement + focus visible au clavier */
.cn-skip{position:absolute;left:-9999px;top:auto;z-index:1000;background:var(--marque-primaire);color:#fff;padding:.65rem 1.1rem;border-radius:0 0 10px 0;font-weight:600;text-decoration:none}
.cn-skip:focus{left:0;top:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--marque-primaire);outline-offset:2px;border-radius:3px}

/* ------- Bandeau cookies RGPD (discret, en bas, aux couleurs de la charte) ------- */
.cn-cookie{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid var(--cn-ligne);box-shadow:0 -6px 24px rgba(59,46,74,.10);animation:cn-cookie-up .35s ease}
@keyframes cn-cookie-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.cn-cookie-in{max-width:1100px;margin:0 auto;padding:.9rem 1.1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between}
.cn-cookie-txt{margin:0;font-size:.9rem;color:var(--marque-texte);line-height:1.45;flex:1 1 320px}
.cn-cookie-txt a{color:var(--marque-primaire);font-weight:600}
.cn-cookie-btns{display:flex;gap:.55rem;flex-shrink:0}
.cn-cookie-ok,.cn-cookie-ghost{border:0;border-radius:24px;padding:.5rem 1.25rem;font-weight:600;font-size:.9rem;cursor:pointer;font-family:var(--font-corps)}
.cn-cookie-ok{background:linear-gradient(135deg,var(--marque-primaire),var(--marque-violet));color:#fff}
.cn-cookie-ok:hover{filter:brightness(1.04)}
.cn-cookie-ghost{background:var(--cn-gris);color:var(--marque-secondaire)}
.cn-cookie-ghost:hover{background:var(--cn-ligne)}
@media(max-width:560px){.cn-cookie-in{padding:.8rem}.cn-cookie-btns{width:100%}.cn-cookie-ok,.cn-cookie-ghost{flex:1}}
