/*
Theme Name: Cravate-Homme
Theme URI: https://cravate-homme.fr
Description: Thème autonome sur mesure pour cravate-homme.fr — design sobre et élégant, en-tête et page d'accueil codés à l'identique de la maquette. Ne surcharge aucun gabarit WooCommerce, donc compatible avec les mises à jour.
Author: cravate-homme.fr
Version: 3.13.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: cravate-homme
*/

  :root{
    --noir:#161616;--encre:#000;--blanc:#fff;--fond:#F7F6F3;
    --gris:#8B8A85;--gris-txt:#575651;--ligne:#E2E0DA;--solde:#7A2231;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--blanc);color:var(--noir);
    font-family:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4,.jost{font-family:'Jost',sans-serif;font-weight:400;letter-spacing:.01em;line-height:1.12}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1280px;margin:0 auto;padding:0 30px}
  .up{text-transform:uppercase;letter-spacing:.14em}

  .topbar{background:var(--noir);color:var(--blanc);font-size:12px;text-align:center;padding:9px 10px;letter-spacing:.1em;text-transform:uppercase}

  header{position:sticky;top:0;z-index:60;background:var(--blanc);border-bottom:1px solid var(--ligne)}
  .nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px}
  .nav .left{display:flex;gap:26px}
  .nav .left a{font-family:'Jost';font-size:13.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--noir);padding:6px 0;border-bottom:1.5px solid transparent;transition:border-color .2s}
  .nav .left a:hover{border-color:var(--noir)}
  .brand-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
  .brand{font-family:'Jost';font-weight:500;font-size:25px;letter-spacing:.06em;text-align:center;text-transform:uppercase;white-space:nowrap;line-height:1}
  .brand .dotfr{text-transform:none;font-size:14px;font-weight:400;color:var(--gris);letter-spacing:.01em}
  .tagline{font-family:'Jost';font-weight:400;text-transform:uppercase;letter-spacing:.22em;font-size:9px;color:var(--gris);white-space:nowrap}
  .nav .right{display:flex;gap:20px;justify-content:flex-end}
  .nav .right button{background:none;border:none;color:var(--noir);cursor:pointer;padding:4px;display:flex}
  .nav .right .burger{display:none}

  /* hero avec photo */
  .hero{position:relative;height:80vh;min-height:540px;display:flex;align-items:flex-end;overflow:hidden;background:#1a1a1a}
  .hero .bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1676377630356-d8e7acd02ead?auto=format&fit=crop&w=1600&q=72') center 20%/cover no-repeat;filter:grayscale(40%) contrast(1.04)}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.15) 55%,rgba(0,0,0,.4))}
  .hero-inner{position:relative;z-index:2;color:var(--blanc);padding:0 0 64px;max-width:560px}
  .hero-inner .eyebrow{font-family:'Jost';text-transform:uppercase;letter-spacing:.2em;font-size:12.5px;opacity:.9;margin-bottom:20px}
  .hero-inner h1{font-size:clamp(38px,5.4vw,62px);font-weight:300;margin-bottom:20px}
  .hero-inner p{font-size:17px;opacity:.92;max-width:42ch;margin-bottom:30px}
  .btn{display:inline-block;background:var(--blanc);color:var(--noir);font-family:'Jost';text-transform:uppercase;letter-spacing:.13em;font-size:13px;padding:15px 34px;transition:opacity .2s}
  .btn:hover{opacity:.82}
  .btn-line{background:none;color:var(--blanc);border:1px solid rgba(255,255,255,.7);margin-left:12px}

  .reassure{border-bottom:1px solid var(--ligne)}
  .reassure .row{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
  .reassure .cell{padding:22px 14px;border-left:1px solid var(--ligne);font-size:13px;color:var(--gris-txt)}
  .reassure .cell:first-child{border-left:none}
  .reassure .cell strong{display:block;font-family:'Jost';font-weight:500;color:var(--noir);font-size:13.5px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}

  section{padding:82px 0}
  .sec-head{text-align:center;margin-bottom:46px}
  .sec-head .k{font-family:'Jost';text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--gris);margin-bottom:14px}
  .sec-head h2{font-size:clamp(26px,3.2vw,38px);font-weight:300}

  .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .tile{position:relative;display:flex;align-items:flex-end;height:400px;overflow:hidden;color:var(--blanc);padding:26px}
  .tile .ph{position:absolute;inset:0;z-index:-2;transition:transform .6s ease}
  .tile:hover .ph{transform:scale(1.05)}
  .tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 60%)}
  .g1{background:linear-gradient(150deg,#4a4a47,#1e1e1c)}
  .g2{background:linear-gradient(150deg,#6a6a65,#2c2c2a)}
  .g3{background:linear-gradient(150deg,#3a3a38,#111)}
  .g4{background:linear-gradient(150deg,#57534d,#25231f)}
  .tile h3{font-family:'Jost';font-weight:400;font-size:20px;text-transform:uppercase;letter-spacing:.08em}
  .tile span{position:absolute;top:22px;left:26px;font-size:11px;letter-spacing:.05em;color:rgba(255,255,255,.55)}

  .prods{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .card{cursor:pointer}
  .card .img{position:relative;height:340px;background:var(--fond);overflow:hidden;margin-bottom:15px}
  .card .img .ph{position:absolute;inset:0;transition:transform .5s}
  .card:hover .img .ph{transform:scale(1.04)}
  .p1{background:linear-gradient(160deg,#6f6f6a,#43433f)}
  .p2{background:linear-gradient(160deg,#5c5c5e,#343436)}
  .p3{background:linear-gradient(160deg,#5f635b,#33372f)}
  .p4{background:linear-gradient(160deg,#67635d,#3a3733)}
  .tag{position:absolute;top:12px;left:12px;background:var(--blanc);font-family:'Jost';font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:5px 10px}
  .card h4{font-family:'Archivo';font-weight:500;font-size:15px;margin-bottom:3px}
  .card .mat{font-size:13px;color:var(--gris);margin-bottom:6px}
  .card .price{font-size:14.5px}
  .card .price s{color:var(--gris);margin-right:8px}
  .card:hover h4{text-decoration:underline;text-underline-offset:3px}
  .center-cta{text-align:center;margin-top:44px}
  .btn-dark{display:inline-block;background:var(--noir);color:var(--blanc);font-family:'Jost';text-transform:uppercase;letter-spacing:.13em;font-size:13px;padding:15px 40px;transition:opacity .2s}
  .btn-dark:hover{opacity:.85}
  .note{text-align:center;font-size:12.5px;color:var(--gris);margin-top:24px;font-style:italic}

  .edito{background:var(--fond)}
  .edito .split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
  .edito .txt{padding:70px 60px;align-self:center}
  .edito .k{font-family:'Jost';text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--gris);margin-bottom:18px}
  .edito h2{font-size:clamp(28px,3.4vw,40px);font-weight:300;margin-bottom:22px}
  .edito p{color:var(--gris-txt);max-width:46ch;margin-bottom:16px}
  .edito .img{position:relative;min-height:460px;
    background:url('https://images.unsplash.com/photo-1679412330231-4a049ffd294b?auto=format&fit=crop&w=1100&q=72') center 25%/cover no-repeat;
    filter:grayscale(38%) contrast(1.04)}
  .edito .img span{position:absolute;bottom:16px;right:18px;font-size:11px;color:rgba(255,255,255,.7);text-shadow:0 1px 3px rgba(0,0,0,.6)}

  .univers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  .u{position:relative;height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--blanc);overflow:hidden}
  .u::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.45)}
  .u .ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:grayscale(45%) contrast(1.05);transition:transform .6s}
  .u:hover .ph{transform:scale(1.05)}
  .u1 .ph{background-image:url('https://images.unsplash.com/photo-1661588698602-da41ee4fc846?auto=format&fit=crop&w=900&q=72')}
  .u2 .ph{background-image:url('https://images.unsplash.com/photo-1679412330231-4a049ffd294b?auto=format&fit=crop&w=900&q=72');background-position:center 20%}
  .u3 .ph{background-image:url('https://images.unsplash.com/photo-1676377630356-d8e7acd02ead?auto=format&fit=crop&w=900&q=72');background-position:center 15%}
  .u h3{font-family:'Jost';font-weight:400;font-size:24px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
  .u p{font-size:13px;opacity:.9;margin-bottom:16px}
  .u a{font-family:'Jost';text-transform:uppercase;letter-spacing:.12em;font-size:12px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:3px}

  .conseils{background:var(--fond)}
  .posts{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .post .img{height:200px;background:linear-gradient(150deg,#65635d,#3a3833);margin-bottom:16px}
  .post .k{font-family:'Jost';text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--gris);margin-bottom:8px}
  .post h4{font-family:'Jost';font-weight:400;font-size:17px;line-height:1.25;transition:color .2s}
  .post:hover h4{color:var(--gris-txt)}

  .nl{background:var(--noir);color:var(--blanc);text-align:center;padding:76px 20px}
  .nl .k{font-family:'Jost';text-transform:uppercase;letter-spacing:.2em;font-size:12px;opacity:.7;margin-bottom:16px}
  .nl h2{font-size:clamp(26px,3.2vw,36px);font-weight:300;margin-bottom:14px}
  .nl p{opacity:.8;margin-bottom:30px}
  .nl form{display:flex;max-width:440px;margin:0 auto}
  .nl input{flex:1;border:1px solid rgba(255,255,255,.4);background:transparent;color:var(--blanc);padding:15px 16px;font-family:inherit;font-size:14px}
  .nl input::placeholder{color:rgba(255,255,255,.55)}
  .nl input:focus{outline:none;border-color:var(--blanc)}
  .nl button{background:var(--blanc);color:var(--noir);border:none;font-family:'Jost';text-transform:uppercase;letter-spacing:.12em;font-size:13px;padding:0 28px;cursor:pointer}

  footer{background:var(--blanc);border-top:1px solid var(--ligne)}
  .foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding:64px 0 44px}
  .foot .brand{text-align:left;font-size:22px;margin-bottom:16px}
  .foot .desc{font-size:14px;color:var(--gris-txt);max-width:32ch;margin-bottom:20px}
  .foot h5{font-family:'Jost';font-weight:500;text-transform:uppercase;letter-spacing:.11em;font-size:12.5px;margin-bottom:16px}
  .foot ul{list-style:none}
  .foot li{margin-bottom:11px;font-size:14px;color:var(--gris-txt)}
  .foot li a:hover{color:var(--noir)}
  .foot-bar{border-top:1px solid var(--ligne);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--gris)}
  .foot-bar a{color:var(--gris)}

  @media (max-width:960px){
    .nav{grid-template-columns:auto 1fr auto}
    .nav .left{display:none}
    .brand-wrap{align-items:flex-start}
    .brand{text-align:left}
    .nav .right .burger{display:flex}
    .reassure .row{grid-template-columns:1fr 1fr}
    .reassure .cell:nth-child(3){border-left:none}
    .tiles{grid-template-columns:1fr 1fr}
    .prods{grid-template-columns:1fr 1fr}
    .edito .split{grid-template-columns:1fr}
    .edito .txt{padding:48px 30px}
    .edito .img{min-height:320px;order:-1}
    .univers{grid-template-columns:1fr}
    .posts{grid-template-columns:1fr 1fr}
    .foot{grid-template-columns:1fr 1fr}
  }
  @media (max-width:560px){
    .wrap{padding:0 20px}
    .hero{height:74vh}
    .tagline{font-size:7.5px;letter-spacing:.12em}
    .tiles{grid-template-columns:1fr 1fr;gap:10px}
    .tile{height:260px;padding:18px}
    .prods{grid-template-columns:1fr 1fr;gap:14px}
    .card .img{height:230px}
    .posts{grid-template-columns:1fr}
    .foot{grid-template-columns:1fr 1fr}
    .btn-line{margin-left:0;margin-top:10px}
    .nl form{flex-direction:column;gap:10px}
    .nl button{padding:14px}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   AJOUTS THÈME : icônes en lien, menu mobile, WooCommerce
   ============================================================ */
.nav .right a{background:none;border:none;color:var(--noir);cursor:pointer;padding:4px;display:flex;align-items:center}
.nav .right a:hover{color:var(--noir)}

@media (max-width:960px){
  .nav .left.ch-open{
    display:flex;flex-direction:column;gap:14px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--blanc);padding:18px 30px;border-bottom:1px solid var(--ligne);
    box-shadow:0 12px 24px -18px rgba(0,0,0,.4);
  }
}

/* WooCommerce — habillage sobre, sans toucher aux gabarits */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,.wp-block-button__link{
  background:var(--noir)!important;color:#fff!important;font-family:'Jost',sans-serif!important;
  text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:400;border:none;
  border-radius:1px;padding:14px 30px;transition:opacity .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,.woocommerce .checkout-button:hover{opacity:.85}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Archivo',sans-serif;font-size:15px;font-weight:500;padding:10px 0 4px}

/* v3.13 — Alignement des cartes produit (grille boutique) : même hauteur de titre
   (2 lignes max, tronqué au-delà), pour que prix et bouton restent alignés d'une
   carte à l'autre quelle que soit la longueur du nom du produit. */
.woocommerce ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product > a{display:flex;flex-direction:column;flex:1 0 auto;text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.6em;line-height:1.3}
.woocommerce ul.products li.product .price{color:var(--noir);font-size:14.5px}
.woocommerce ul.products li.product .price del{color:var(--gris)}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--solde)}

/* v3.12 — Notices WooCommerce (boutique, panier, compte…) harmonisées à la DA du site */
.woocommerce-info,.woocommerce-message,.woocommerce-noreviews,
.woocommerce-error,.woocommerce ul.woocommerce-error{
  display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;justify-content:space-between;
  margin:0 0 30px;padding:20px 24px;list-style:none;
  background:var(--fond);border:1px solid var(--ligne);border-radius:2px;
  color:var(--gris-txt);font-size:14.5px;line-height:1.6}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-noreviews::before,
.woocommerce-error::before{display:none!important;content:none!important}
.woocommerce-error,.woocommerce ul.woocommerce-error{
  background:rgba(122,34,49,.06);border-color:rgba(122,34,49,.25);color:var(--solde);
  flex-direction:column;align-items:flex-start;gap:6px}
.woocommerce-error li,.woocommerce ul.woocommerce-error li{margin:0;padding:0;list-style:none}
.woocommerce-message .button,.woocommerce-info .button{
  margin:0!important;padding:11px 22px!important;font-size:12px!important}
.woocommerce span.onsale{background:var(--noir);color:#fff;font-family:'Jost';text-transform:uppercase;
  letter-spacing:.1em;font-size:11px;border-radius:0;padding:5px 10px;min-height:auto;min-width:auto;line-height:1}
h1.entry-title,h1.product_title,.woocommerce-products-header__title{font-family:'Jost',sans-serif;font-weight:300}
.ch-page{max-width:1280px;margin:0 auto;padding:56px 30px}

/* Réassurance : icônes */
.reassure .cell .ri{display:block;margin:0 auto 10px;color:var(--noir);opacity:.9}
/* Logos de paiement (pied de page) */
.foot-bar .pay{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.foot-bar .pay svg{display:block;border-radius:4px}

/* ============================================================
   MENU DE NAVIGATION (déroulants)
   ============================================================ */
.nav .left .menu{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav .left .menu > li{position:relative}
.nav .left .menu > li > a{font-family:'Jost',sans-serif;font-size:13.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--noir);display:inline-block;padding:28px 0;border-bottom:1.5px solid transparent;transition:border-color .2s}
.nav .left .menu > li > a:hover{border-color:var(--noir)}
.nav .left .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--blanc);border:1px solid var(--ligne);box-shadow:0 16px 30px -20px rgba(0,0,0,.45);list-style:none;margin:0;padding:10px 0;z-index:70}
.nav .left .has-sub:hover .sub-menu{display:block}
.nav .left .sub-menu li a{display:block;padding:9px 20px;font-family:'Archivo',sans-serif;font-size:14px;text-transform:none;letter-spacing:normal;color:var(--gris-txt);white-space:nowrap;transition:background .15s,color .15s}
.nav .left .sub-menu li a:hover{color:var(--noir);background:var(--fond)}

@media (max-width:960px){
  .nav .left.ch-open .menu{flex-direction:column;gap:0;width:100%}
  .nav .left.ch-open .menu > li > a{padding:12px 0}
  .nav .left.ch-open .sub-menu{display:block;position:static;border:none;box-shadow:none;padding:0 0 10px 14px;min-width:0}
  .nav .left.ch-open .sub-menu li a{padding:6px 0}
}

/* ============================================================
   BARRE DE RECHERCHE (ouverte au clic sur la loupe)
   ============================================================ */
.ch-search{display:none;background:var(--blanc);border-bottom:1px solid var(--ligne)}
.ch-search.open{display:block}
.ch-search form{display:flex;gap:10px;align-items:center;padding:16px 0}
.ch-search input[type="search"]{flex:1;border:1px solid var(--ligne);background:var(--blanc);padding:13px 16px;font-family:inherit;font-size:15px;border-radius:2px}
.ch-search input[type="search"]:focus{outline:2px solid var(--noir);outline-offset:1px;border-color:transparent}
.ch-search button{background:var(--noir);color:var(--blanc);border:none;padding:12px 16px;border-radius:2px;cursor:pointer;display:flex;align-items:center}

/* ============================================================
   PHOTOS : tuiles collections + vignettes journal
   ============================================================ */
.tile .ph{background-size:cover;background-position:center;filter:grayscale(28%) contrast(1.03)}
.post .img{background-size:cover;background-position:center;filter:grayscale(22%)}

/* ============================================================
   MON COMPTE — mise en page sobre (registre Izac / F&S)
   ============================================================ */
.woocommerce-account .ch-page{max-width:1080px}
.woocommerce-account.logged-in .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none;margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--ligne)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--ligne);margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;color:var(--gris-txt);transition:background .15s,color .15s}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--fond);color:var(--noir)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--noir);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.woocommerce-account .woocommerce-MyAccount-content p{color:var(--gris-txt)}
.woocommerce-account .woocommerce-MyAccount-content a{color:var(--noir)}

/* Connexion / inscription (non connecté) */
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none;max-width:none;padding:0}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--ligne);border-radius:3px;padding:28px;margin:0}
.woocommerce-account h2{font-family:'Jost',sans-serif;font-weight:300;font-size:24px;margin-bottom:18px}
.woocommerce form .form-row{margin-bottom:14px;padding:0}
.woocommerce form .form-row label{display:block;font-size:13px;color:var(--gris-txt);margin-bottom:6px}
.woocommerce form .form-row input.input-text,
.woocommerce input[type="text"],.woocommerce input[type="email"],
.woocommerce input[type="password"],.woocommerce input[type="tel"],.woocommerce select{width:100%;border:1px solid var(--ligne);padding:12px 14px;font-family:inherit;font-size:15px;border-radius:2px;background:#fff}
.woocommerce input:focus,.woocommerce select:focus{outline:2px solid var(--noir);outline-offset:1px;border-color:transparent}

@media (max-width:782px){
  .woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr;gap:24px}
  .woocommerce-account .u-columns{grid-template-columns:1fr}
}

/* ============================================================
   ESPACE PIED DE PAGE (sauf accueil qui finit sur la newsletter)
   ============================================================ */
@media (max-width:560px){  .ch-page{padding-bottom:44px} }

/* ============================================================
   PAGES CATÉGORIES : sous-catégories, filtre, compteur, tri
   ============================================================ */
.ch-subcats{display:flex;gap:14px;overflow-x:auto;padding:2px 0 18px;margin:0 0 24px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.ch-subcats::-webkit-scrollbar{height:6px}
.ch-subcats::-webkit-scrollbar-thumb{background:var(--ligne);border-radius:3px}
.ch-subcat{flex:0 0 auto;width:150px;text-decoration:none;color:var(--noir)}
.ch-subcat-img{display:block;height:110px;background-size:cover;background-position:center;border-radius:3px;filter:grayscale(25%);margin-bottom:8px;transition:transform .4s}
.ch-subcat:hover .ch-subcat-img{transform:scale(1.03)}
.ch-subcat-name{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:12px;display:block;line-height:1.2}

.ch-filter-toggle{display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;padding:12px 20px;background:var(--blanc);border:1px solid var(--noir);border-radius:2px;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;color:var(--noir);cursor:pointer;transition:background .2s,color .2s}
.ch-filter-toggle:hover{background:var(--noir);color:#fff}
.ch-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--noir);color:#fff;border-radius:9px;font-size:11px;letter-spacing:0}
.ch-filter-toggle:hover .ch-filter-count{background:#fff;color:var(--noir)}

.woocommerce .woocommerce-result-count{color:var(--gris-txt);font-size:14px;margin:0 0 18px}
.woocommerce .woocommerce-ordering{margin:0 0 22px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--ligne);padding:10px 14px;font-family:inherit;font-size:14px;border-radius:2px;background:#fff}
@media (min-width:700px){
  .woocommerce .woocommerce-result-count{float:left;line-height:42px}
  .woocommerce .woocommerce-ordering{float:right}
  .woocommerce ul.products{clear:both}
}

/* ============================================================
   MÉGA-MENU (desktop) + ACCORDÉON (mobile)
   ============================================================ */
.nav .left .mainmenu{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav .left .mm-top{display:flex;align-items:center;gap:4px}
.nav .left .mm-top > a{font-family:'Jost',sans-serif;font-size:13.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--noir);display:inline-block;padding:28px 0;border-bottom:1.5px solid transparent;transition:border-color .2s}
.nav .left .mm-top > a:hover{border-color:var(--noir)}
.nav .left .mm-toggle{display:none;background:none;border:none;color:var(--noir);cursor:pointer;padding:6px}
.nav .left .mm-chev{transition:transform .2s}
.nav .left .megapanel{display:none}
.nav .left .mega-inner{max-width:1280px;margin:0 auto;padding:34px 30px;display:flex;gap:44px}
.nav .left .mega-col{display:flex;flex-direction:column;gap:11px;min-width:160px}
.nav .left .mega-title{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--gris);margin:0 0 4px}
.nav .left .mega-col a{font-family:'Archivo',sans-serif;text-transform:none;letter-spacing:normal;padding:0;border:none;font-size:14.5px;color:var(--gris-txt);transition:color .15s}
.nav .left .mega-col a:hover{color:var(--noir)}
.nav .left .mega-media{display:flex;gap:16px;margin-left:auto}
.nav .left .mega-img{position:relative;width:190px;height:150px;background-size:cover;background-position:center;filter:grayscale(22%);display:flex;align-items:flex-end;text-decoration:none;border:none;padding:0}
.nav .left .mega-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 62%)}
.nav .left .mega-img span{position:relative;z-index:1;color:#fff;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:14px}

@media (min-width:961px){
  .nav .left .megapanel{position:absolute;left:0;top:100%;width:100%;background:#fff;border-top:1px solid var(--ligne);box-shadow:0 22px 34px -24px rgba(0,0,0,.4);z-index:65}
  .nav .left .mm-item:hover .megapanel{display:block}
}
@media (max-width:960px){
  .nav .left .mm-toggle{display:flex}
  .nav .left .mm-top{justify-content:space-between}
  .nav .left .mm-top > a{padding:14px 0}
  .ch-open .mainmenu{flex-direction:column;gap:0;width:100%}
  .ch-open .mm-item{border-bottom:1px solid var(--ligne)}
  .ch-open .mm-item.mm-open .mm-chev{transform:rotate(180deg)}
  .ch-open .mm-item.mm-open .megapanel{display:block}
  .nav .left .megapanel .mega-inner{flex-direction:column;padding:4px 0 16px;gap:16px}
  .nav .left .mega-media{margin-left:0;flex-wrap:wrap}
  .nav .left .mega-img{width:calc(50% - 8px);height:120px}
}

/* Autocomplétion recherche */
.ch-search .wrap{position:relative}
.ch-suggest{display:none;position:absolute;left:0;right:0;top:calc(100% - 8px);background:#fff;border:1px solid var(--ligne);max-height:360px;overflow:auto;z-index:66}
.ch-suggest.open{display:block}
.ch-sug{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--fond);text-decoration:none;color:var(--noir)}
.ch-sug:last-child{border-bottom:none}
.ch-sug:hover{background:var(--fond)}
.ch-sug img,.ch-sug .ch-sug-noimg{width:44px;height:44px;object-fit:cover;border-radius:2px;background:var(--fond);flex:0 0 auto}
.ch-sug-t{flex:1;font-size:14px}
.ch-sug-p{font-size:13px;color:var(--gris-txt);white-space:nowrap}
.ch-sug-empty{padding:14px;color:var(--gris);font-size:14px}

/* Mobile : logo + icônes plus aérés */
@media (max-width:560px){
  .brand{font-size:21px}
  .brand .dotfr{font-size:12px}
  .nav .right{gap:13px}
  .nav .right button,.nav .right a{padding:2px}
}

/* ============================================================
   v3.0 — CARROUSEL, RÉASSURANCE, PAGES (registre Father & Sons)
   ============================================================ */

/* Carrousel "Nos pièces du moment" */
.ch-carousel{position:relative}
.ch-carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.ch-carousel-track::-webkit-scrollbar{display:none}
.ch-carousel-track .card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start}
.ch-carousel .ch-prev,.ch-carousel .ch-next{position:absolute;top:38%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--ligne);color:var(--noir);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
.ch-carousel .ch-prev{left:-12px}
.ch-carousel .ch-next{right:-12px}
.ch-carousel .ch-prev:hover,.ch-carousel .ch-next:hover{background:var(--noir);color:#fff}
@media (max-width:900px){.ch-carousel-track .card{flex-basis:calc((100% - 24px)/2)}.ch-carousel .ch-prev,.ch-carousel .ch-next{display:none}}
@media (max-width:560px){.ch-carousel-track{gap:14px}.ch-carousel-track .card{flex-basis:82%}}

/* Bandeau de réassurance avant le pied de page */
.prefooter{background:var(--fond);border-top:1px solid var(--ligne)}
.prefooter .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:44px 30px}
.pf-item{text-align:center}
.pf-item svg{color:var(--noir);margin-bottom:12px}
.pf-item strong{display:block;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:5px}
.pf-item span{font-size:13.5px;color:var(--gris-txt)}
@media (max-width:700px){.prefooter .wrap{grid-template-columns:1fr;gap:26px}}

/* v3.11 — Fil d'ariane (pages, articles, catégories journal) */
.ch-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;color:var(--gris);letter-spacing:.02em;margin:0 0 16px}
.ch-breadcrumb a{color:var(--gris-txt)}
.ch-breadcrumb a:hover{color:var(--noir)}
.ch-breadcrumb .sep{color:var(--ligne)}
.ch-breadcrumb .current{color:var(--gris-txt)}

/* En-tête de page + prose (pages de contenu) */
.page-hero{background:var(--fond);border-bottom:1px solid var(--ligne)}
.page-hero .wrap{max-width:1280px;margin:0 auto;padding:52px 30px}
.page-hero .k{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--gris);margin-bottom:12px}
.page-hero h1{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(30px,4vw,44px);letter-spacing:.01em;margin:0}
.page-hero p{color:var(--gris-txt);margin-top:10px;max-width:62ch}
.ch-page.ch-prose{max-width:820px}
.ch-prose .entry-content h2{font-family:'Jost',sans-serif;font-weight:400;font-size:24px;margin:34px 0 12px}
.ch-prose .entry-content h3{font-family:'Jost',sans-serif;font-weight:500;font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin:26px 0 10px}
.ch-prose .entry-content p{margin:0 0 16px;color:var(--gris-txt);line-height:1.75}
.ch-prose .entry-content ul,.ch-prose .entry-content ol{margin:0 0 18px 20px;color:var(--gris-txt);line-height:1.7}
.ch-prose .entry-content li{margin-bottom:6px}
.ch-prose .entry-content a{color:var(--noir);text-decoration:underline;text-underline-offset:2px}
.ch-prose .entry-content strong{color:var(--noir)}

/* Article (single) */
.article-hero .wrap{padding:46px 30px 36px}
.art-cover{max-width:1000px;margin:0 auto;padding:24px 30px 0}
.art-cover img{width:100%;height:auto;display:block}
.ch-article{max-width:760px}
.art-meta{color:var(--gris);font-size:14px;margin-top:12px}
.art-back{margin-top:44px;padding-top:24px;border-top:1px solid var(--ligne)}
.art-back a{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px}

/* Journal (index) */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.jcard{text-decoration:none;color:var(--noir)}
.jcard .img{height:220px;background:linear-gradient(150deg,#65635d,#3a3833);background-size:cover;background-position:center;margin-bottom:16px}
.jcard .k{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--gris);margin-bottom:8px}
.jcard h2{font-family:'Jost',sans-serif;font-weight:400;font-size:19px;line-height:1.25;margin-bottom:8px}
.jcard p{font-size:14px;color:var(--gris-txt)}
.jcard:hover h2{color:var(--gris-txt)}
@media (max-width:900px){.journal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.journal-grid{grid-template-columns:1fr}}

/* Catégorie : titre */
.woocommerce-products-header__title{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(28px,3.4vw,40px)}
.term-description{color:var(--gris-txt);font-size:15.5px;line-height:1.75;max-width:72ch;margin:6px 0 26px}

/* Page produit (single) */
.single-product .ch-page{max-width:1200px}
.woocommerce div.product .product_title{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(26px,3vw,34px);margin-bottom:14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--noir);font-size:22px}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--gris-txt);line-height:1.7}
.woocommerce .woocommerce-tabs ul.tabs li a{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.woocommerce div.product .woocommerce-tabs h2,.woocommerce #reviews h2{font-family:'Jost',sans-serif;font-weight:300}

/* Panier */
.woocommerce table.shop_table{border:1px solid var(--ligne)}
.woocommerce table.shop_table th{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--noir)}
.woocommerce-cart table.cart img{width:72px}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-family:'Jost',sans-serif;font-weight:300;font-size:22px}

/* ============================================================
   v3.1 — FICHE PRODUIT (mise en page façon Father & Sons)
   ============================================================ */
.single-product .ch-page{max-width:1240px}
.woocommerce .woocommerce-breadcrumb{font-size:13px;color:var(--gris);margin:0 0 26px;letter-spacing:.02em}
.woocommerce .woocommerce-breadcrumb a{color:var(--gris-txt)}

.woocommerce div.product{display:flex;flex-wrap:wrap;column-gap:6%;row-gap:44px;align-items:flex-start}
.woocommerce div.product .woocommerce-product-gallery{width:54%;float:none;margin:0}
.woocommerce div.product .summary{width:40%;float:none;margin:0}
.woocommerce div.product .woocommerce-tabs{width:100%;margin:12px 0 0}
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{width:100%}

.woocommerce div.product .summary .product_title{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(26px,3vw,34px);margin:0 0 14px}
.woocommerce div.product .summary > .price,.woocommerce div.product .summary p.price{font-size:24px;color:var(--noir);margin:0 0 18px}
.woocommerce div.product .summary .woocommerce-product-details__short-description{color:var(--gris-txt);line-height:1.75;margin-bottom:24px}
.woocommerce div.product form.cart{margin:0 0 8px;display:flex;gap:12px;align-items:stretch}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .quantity input.qty{height:52px;width:72px;border:1px solid var(--ligne);text-align:center;font-family:inherit;font-size:15px}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;padding:16px 24px;font-size:14px}
.woocommerce div.product .product_meta{margin-top:22px;padding-top:16px;border-top:1px solid var(--ligne);font-size:13px;color:var(--gris)}
.woocommerce div.product .product_meta a{color:var(--gris-txt)}

.ch-prod-reassure{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--ligne);display:flex;flex-direction:column;gap:11px}
.ch-prod-reassure li{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--gris-txt);line-height:1.4}
.ch-prod-reassure svg{color:var(--noir);flex:0 0 auto}
.ch-prod-reassure .ch-pay-icons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ch-prod-reassure .ch-pay-icons svg{display:block;height:18px;width:auto;margin:0;border-radius:2px}

.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--ligne);padding:0;margin:0 0 4px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:none;border-radius:0;margin:0 24px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;color:var(--gris-txt);font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--noir);box-shadow:inset 0 -2px 0 var(--noir)}
.woocommerce div.product .woocommerce-Tabs-panel{padding-top:22px;color:var(--gris-txt);line-height:1.75}
.woocommerce div.product .related.products > h2,.woocommerce div.product .upsells.products > h2{font-family:'Jost',sans-serif;font-weight:300;font-size:24px;margin-bottom:24px}

@media (max-width:768px){
  .woocommerce div.product{flex-direction:column}
  .woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary{width:100%}
}

/* ============================================================
   v3.2 — FICHE PRODUIT : 2 colonnes robustes + pleine page
   ============================================================ */
.single-product .ch-page{max-width:1340px}
.woocommerce div.product,.single-product div.product{display:flex !important;flex-wrap:wrap;align-items:flex-start;column-gap:5%;row-gap:44px}
.woocommerce div.product > .woocommerce-product-gallery{flex:0 0 55% !important;max-width:55%;width:55% !important;float:none !important;margin:0 !important}
.woocommerce div.product > .summary{flex:0 0 40% !important;max-width:40%;width:40% !important;float:none !important;margin:0 !important}
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells{flex:0 0 100% !important;max-width:100%;width:100% !important;margin-top:20px}
.woocommerce div.product .woocommerce-product-gallery img{max-width:100%;height:auto}
@media (max-width:768px){
  .woocommerce div.product{column-gap:0}
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > .summary{flex-basis:100% !important;max-width:100%;width:100% !important}
}

/* ============================================================
   v3.3 — Espace bandeau réassurance / pied de page (mobile)
   ============================================================ */
@media (max-width:700px){
  .prefooter .wrap{padding:36px 20px 40px}
  .foot{padding-top:52px}
}
@media (max-width:560px){
  .foot{padding-top:44px}
}

/* ============================================================
   v3.3 — TIROIR "FILTRER ET TRIER" (couleur, motif, prix, tri)
   ============================================================ */
.ch-drawer-overlay{position:fixed;inset:0;background:rgba(22,22,22,.45);opacity:0;visibility:hidden;transition:opacity .25s;z-index:90}
.ch-drawer-overlay.open{opacity:1;visibility:visible}

.ch-drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;background:var(--blanc);z-index:91;
  transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-18px 0 40px -24px rgba(0,0,0,.35)}
.ch-drawer.open{transform:translateX(0)}
.ch-drawer form{display:flex;flex-direction:column;height:100%;min-height:0}

.ch-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--ligne);
  font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:14px;flex:0 0 auto}
.ch-drawer-close{background:none;border:none;color:var(--noir);cursor:pointer;padding:4px;display:flex}

.ch-drawer-body{flex:1 1 auto;overflow-y:auto;padding:8px 26px 26px}
.ch-drawer-section{padding:22px 0;border-bottom:1px solid var(--ligne)}
.ch-drawer-section:last-child{border-bottom:none}
.ch-drawer-section h5{font-family:'Jost',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;margin-bottom:16px}

.ch-drawer-select{width:100%;border:1px solid var(--ligne);padding:12px 14px;font-family:inherit;font-size:14.5px;border-radius:2px;background:#fff}
.ch-drawer-price{display:flex;align-items:center;gap:10px}
.ch-drawer-price input{width:100%;border:1px solid var(--ligne);padding:11px 12px;font-family:inherit;font-size:14.5px;border-radius:2px}
.ch-drawer-price span{color:var(--gris)}

.ch-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:14px 10px}
.ch-swatch{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;cursor:pointer}
.ch-swatch input{position:absolute;opacity:0;width:1px;height:1px}
.ch-swatch-dot{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:box-shadow .15s;position:relative}
.ch-swatch.is-checked .ch-swatch-dot,.ch-swatch input:checked ~ .ch-swatch-dot{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--noir)}
.ch-swatch-name{font-size:11.5px;color:var(--gris-txt);line-height:1.2}

.ch-motif-list{display:flex;flex-direction:column;gap:13px}
.ch-motif-item{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--gris-txt);cursor:pointer}
.ch-motif-item input{width:17px;height:17px;accent-color:var(--noir)}

.ch-drawer-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;border-top:1px solid var(--ligne)}
.ch-drawer-reset{font-size:13px;color:var(--gris-txt);text-decoration:underline;text-underline-offset:2px}
.ch-drawer-apply{background:var(--noir);color:#fff;border:none;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding:14px 26px;border-radius:2px;cursor:pointer;flex:1;max-width:240px}
.ch-drawer-apply:hover{opacity:.85}

body.ch-drawer-lock{overflow:hidden}

/* ============================================================
   v3.3 — CONTENU SEO EN BAS DE PAGE CATÉGORIE
   ============================================================ */
.ch-cat-seo{border-top:1px solid var(--ligne);margin-top:52px;padding-top:40px}
.ch-cat-seo-inner{max-width:820px}
.ch-cat-seo-inner h3{font-family:'Jost',sans-serif;font-weight:500;font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}
.ch-cat-seo-inner p{color:var(--gris-txt);line-height:1.75;margin:0 0 14px;font-size:15px}
.ch-cat-seo-inner p:last-child{margin-bottom:0}
.ch-cat-seo-inner a{color:var(--noir);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   v3.5 — LE JOURNAL : filtres par catégorie (façon Father & Sons)
   ============================================================ */
.ch-pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.ch-pill{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid var(--ligne);border-radius:30px;
  font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;color:var(--gris-txt);
  transition:background .2s,color .2s,border-color .2s}
.ch-pill:hover{border-color:var(--noir);color:var(--noir)}
.ch-pill.is-active{background:var(--noir);border-color:var(--noir);color:#fff}
.ch-journal-empty{color:var(--gris-txt);padding:40px 0}
.ch-journal-empty a{color:var(--noir);text-decoration:underline;text-underline-offset:2px}
@media (max-width:560px){.ch-pills{gap:8px}.ch-pill{padding:9px 16px;font-size:12px}}

/* ============================================================
   v3.9 — PAGINATION DU JOURNAL (respirée, centrée)
   ============================================================ */
.pagination{margin:60px 0 8px;padding-top:38px;border-top:1px solid var(--ligne)}
.pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;
  padding:0 12px;border:1px solid var(--ligne);border-radius:2px;font-family:'Jost',sans-serif;font-size:13.5px;
  color:var(--gris-txt);transition:background .2s,color .2s,border-color .2s}
.pagination .page-numbers:hover{border-color:var(--noir);color:var(--noir)}
.pagination .page-numbers.current{background:var(--noir);border-color:var(--noir);color:#fff}
.pagination .page-numbers.dots{border:none;color:var(--gris);min-width:auto;padding:0 4px}
.pagination .page-numbers.prev,.pagination .page-numbers.next{padding:0 18px;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
@media (max-width:560px){
  .pagination{margin:44px 0 6px;padding-top:28px}
  .pagination .page-numbers{min-width:38px;height:38px;padding:0 9px;font-size:13px}
  .pagination .page-numbers.prev,.pagination .page-numbers.next{padding:0 12px}
}

/* ============================================================
   v3.9 — MON COMPTE : tableaux, formulaires, boutons, badges
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{font-size:15.5px}
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]{
  display:inline-block;background:var(--noir);color:#fff;border:1px solid var(--noir);font-family:'Jost',sans-serif;
  text-transform:uppercase;letter-spacing:.09em;font-size:12.5px;padding:13px 24px;border-radius:2px;cursor:pointer;
  transition:opacity .2s}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover{opacity:.82}
.woocommerce-account .woocommerce-MyAccount-content .button.cancel,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button--danger{background:none;color:var(--solde);border-color:var(--solde)}

.woocommerce-account table.shop_table,.woocommerce-account table.woocommerce-orders-table{
  width:100%;border-collapse:collapse;margin:0 0 30px;font-size:14px}
.woocommerce-account table.shop_table thead th{
  text-align:left;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;
  color:var(--gris-txt);border-bottom:1px solid var(--noir);padding:0 12px 12px}
.woocommerce-account table.shop_table tbody td{border-bottom:1px solid var(--ligne);padding:16px 12px;color:var(--gris-txt);vertical-align:middle}
.woocommerce-account table.shop_table tbody tr:last-child td{border-bottom:1px solid var(--ligne)}
.woocommerce-account table.shop_table a{color:var(--noir);text-decoration:underline;text-underline-offset:2px}
.woocommerce-account table.shop_table .button{padding:9px 16px;font-size:11.5px}

.woocommerce-account mark.order-status,.woocommerce-account .order-status{
  display:inline-flex;align-items:center;background:var(--fond);color:var(--noir);border-radius:20px;
  padding:6px 14px;font-family:'Jost',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.woocommerce-account .status-completed{background:var(--noir);color:#fff}
.woocommerce-account .status-cancelled,.woocommerce-account .status-failed,.woocommerce-account .status-refunded{background:transparent;color:var(--solde);box-shadow:inset 0 0 0 1px var(--solde)}

.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.woocommerce-account .woocommerce-Address{border:1px solid var(--ligne);border-radius:3px;padding:24px}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.woocommerce-account .woocommerce-Address-title h3{font-family:'Jost',sans-serif;font-weight:500;font-size:15px;text-transform:uppercase;letter-spacing:.04em;margin:0}
.woocommerce-account .woocommerce-Address-title a{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gris-txt);text-decoration:underline;text-underline-offset:2px}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:var(--gris-txt);line-height:1.7}

.woocommerce-account .woocommerce-form-row-first,
.woocommerce-account .woocommerce-form-row-last,
.woocommerce-account .form-row-first,.woocommerce-account .form-row-last{display:inline-block;width:calc(50% - 10px)}
.woocommerce-account .woocommerce-form-row-first,.woocommerce-account .form-row-first{margin-right:20px}
.woocommerce-account fieldset{border:1px solid var(--ligne);border-radius:3px;padding:22px;margin:22px 0}
.woocommerce-account fieldset legend{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;color:var(--gris-txt);padding:0 8px}

@media (max-width:600px){
  .woocommerce-account table.shop_table thead{display:none}
  .woocommerce-account table.shop_table tbody tr{display:block;border-bottom:1px solid var(--ligne);padding:14px 0}
  .woocommerce-account table.shop_table tbody td{display:flex;justify-content:space-between;gap:14px;border-bottom:none;padding:6px 0;text-align:right}
  .woocommerce-account table.shop_table tbody td::before{content:attr(data-title);font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:var(--noir);text-align:left}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-account .woocommerce-form-row-first,
  .woocommerce-account .woocommerce-form-row-last,
  .woocommerce-account .form-row-first,.woocommerce-account .form-row-last{width:100%;margin-right:0}
}

/* ============================================================
   v3.9 — FORMULAIRES NATIFS (contact / rétractation)
   ============================================================ */
.ch-form{margin:22px 0 30px}
.ch-form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ch-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ch-form-field{margin-bottom:16px}
.ch-form-field label{display:block;font-size:13px;color:var(--gris-txt);margin-bottom:6px}
.ch-form-field input,.ch-form-field select,.ch-form-field textarea{
  width:100%;border:1px solid var(--ligne);padding:12px 14px;font-family:inherit;font-size:15px;border-radius:2px;background:#fff}
.ch-form-field input:focus,.ch-form-field select:focus,.ch-form-field textarea:focus{outline:2px solid var(--noir);outline-offset:1px;border-color:transparent}
.ch-form-field textarea{resize:vertical}
.ch-form-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--gris-txt);line-height:1.5;margin:6px 0 22px;cursor:pointer}
.ch-form-check input{margin-top:3px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--noir)}
.ch-form-notice{padding:14px 18px;border-radius:2px;font-size:14px;margin:0 0 20px}
.ch-form-notice-ok{background:var(--fond);color:var(--noir);box-shadow:inset 0 0 0 1px var(--ligne)}
.ch-form-notice-err{background:#fff;color:var(--solde);box-shadow:inset 0 0 0 1px var(--solde)}
.ch-form-alt{margin:0 0 30px}
.ch-form-alt details{border:1px solid var(--ligne);border-radius:3px;padding:16px 20px}
.ch-form-alt summary{cursor:pointer;font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;color:var(--gris-txt)}
.ch-form-alt details[open] summary{margin-bottom:12px}
.ch-form-alt p{margin:0 0 10px;font-size:13.5px}
@media (max-width:600px){.ch-form-row{grid-template-columns:1fr}}

/* ============================================================
   v3.10 — GRILLES PRODUITS : 2e photo au survol
   ============================================================ */
.ch-thumb{position:relative;display:block;overflow:hidden;background:var(--fond)}
.ch-thumb-main{width:100%;height:auto;display:block}
.ch-thumb-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.woocommerce ul.products li.product:hover .ch-thumb-hover{opacity:1}
@media (prefers-reduced-motion:reduce){.ch-thumb-hover{transition:none}}

/* ============================================================
   v3.10 — BANDEAU COOKIES NATIF
   ============================================================ */
.ch-cookies{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--noir);color:#fff;
  transform:translateY(110%);transition:transform .4s ease;box-shadow:0 -14px 30px -18px rgba(0,0,0,.5)}
.ch-cookies.open{transform:translateY(0)}
.ch-cookies-inner{max-width:1280px;margin:0 auto;padding:24px 30px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ch-cookies-inner p{flex:1 1 320px;font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.85);margin:0}
.ch-cookies-inner p a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.ch-cookies-actions{display:flex;gap:10px;flex-wrap:wrap}
.ch-cookies-actions button{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:12px;
  padding:12px 20px;border-radius:2px;cursor:pointer;transition:opacity .2s,background .2s;white-space:nowrap}
.ch-cookies-customize,.ch-cookies-refuse{background:none;border:1px solid rgba(255,255,255,.5);color:#fff}
.ch-cookies-customize:hover,.ch-cookies-refuse:hover{border-color:#fff;opacity:.85}
.ch-cookies-accept{background:#fff;border:1px solid #fff;color:var(--noir)}
.ch-cookies-accept:hover{opacity:.85}

.ch-cookies-modal{position:fixed;inset:0;z-index:210;background:rgba(22,22,22,.55);display:none;align-items:center;justify-content:center;padding:20px}
.ch-cookies-modal.open{display:flex}
.ch-cookies-modal-inner{background:#fff;max-width:480px;width:100%;border-radius:3px;padding:30px;max-height:86vh;overflow:auto}
.ch-cookies-modal-inner h3{font-family:'Jost',sans-serif;font-weight:400;font-size:20px;margin-bottom:18px}
.ch-cookies-cat{border-top:1px solid var(--ligne);padding:16px 0}
.ch-cookies-cat:first-of-type{border-top:none;padding-top:0}
.ch-cookies-cat label{display:flex;align-items:center;gap:12px;cursor:pointer;font-family:'Jost',sans-serif;
  text-transform:uppercase;letter-spacing:.04em;font-size:13.5px;color:var(--noir)}
.ch-cookies-cat input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--noir)}
.ch-cookies-cat span{display:block;font-size:13px;color:var(--gris-txt);margin-top:6px;line-height:1.55}
.ch-cookies-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}
.ch-cookies-modal-actions button{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.09em;font-size:12.5px;
  padding:12px 22px;border-radius:2px;cursor:pointer}
.ch-cookies-modal-actions button:first-child{background:none;border:1px solid var(--ligne);color:var(--gris-txt)}
.ch-cookies-modal-actions button:last-child{background:var(--noir);border:1px solid var(--noir);color:#fff}
@media (max-width:600px){
  .ch-cookies-inner{padding:20px}
  .ch-cookies-actions{width:100%}
  .ch-cookies-actions button{flex:1}
}

/* ============================================================
   v3.10 — ONGLET DESCRIPTION (fiche produit) : sections aérées,
   séparées par un trait fin au-dessus de chaque titre H2/H3
   ============================================================ */
.woocommerce div.product .woocommerce-Tabs-panel h2,
.woocommerce div.product .woocommerce-Tabs-panel h3{
  font-family:'Jost',sans-serif;font-weight:500;font-size:15px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--noir);margin:36px 0 16px;padding-top:28px;border-top:1px solid var(--ligne)}
.woocommerce div.product .woocommerce-Tabs-panel h2:first-child,
.woocommerce div.product .woocommerce-Tabs-panel h3:first-child{margin-top:0;padding-top:0;border-top:none}
.woocommerce div.product .woocommerce-Tabs-panel p{margin:0 0 16px}
.woocommerce div.product .woocommerce-Tabs-panel ul,
.woocommerce div.product .woocommerce-Tabs-panel ol{margin:0 0 20px 20px}
.woocommerce div.product .woocommerce-Tabs-panel li{margin-bottom:7px}
.woocommerce div.product .woocommerce-Tabs-panel table{width:100%;border-collapse:collapse;margin:0 0 20px}
.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-Tabs-panel table td{padding:11px 14px;border-bottom:1px solid var(--ligne);text-align:left;font-size:14.5px;color:var(--gris-txt)}
.woocommerce div.product .woocommerce-Tabs-panel table th{font-family:'Jost',sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--gris-txt);font-weight:500}
.woocommerce div.product .woocommerce-Tabs-panel hr{border:none;border-top:1px solid var(--ligne);margin:34px 0}

/* ============================================================
   v3.10 — FICHE PRODUIT : confine le zoom de la galerie photo
   sous l'en-tête / méga-menu (évite qu'il passe par-dessus)
   ============================================================ */
.woocommerce div.product > .woocommerce-product-gallery{position:relative;z-index:1}

/* ============================================================
   v3.10 — BADGE STOCK BAS (urgence d'achat, discret et élégant)
   ============================================================ */
.woocommerce div.product .woocommerce-variation-availability,
.woocommerce div.product p.stock{margin-top:4px;margin-bottom:26px}
.ch-stock-low{
  display:inline-flex;align-items:center;gap:9px;
  margin:4px 0 26px;padding:10px 18px;
  background:rgba(122,34,49,.07);
  color:var(--solde);
  border:1px solid rgba(122,34,49,.22);
  border-radius:30px;
  font-family:'Jost',sans-serif;font-weight:500;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.07em;line-height:1}
.ch-stock-low::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--solde);
  flex:0 0 auto;animation:ch-stock-pulse 1.8s ease-in-out infinite}
@keyframes ch-stock-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.35;transform:scale(.65)}
}
@media (prefers-reduced-motion:reduce){.ch-stock-low::before{animation:none}}

/* ============================================================
   v3.13 — POP-UP PROMOTIONNELLE (image + lien, réglable depuis
   Apparence > Personnaliser > Pop-up promotionnelle)
   ============================================================ */
.ch-popup{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.ch-popup.open{display:flex}
.ch-popup-overlay{position:absolute;inset:0;background:rgba(22,22,22,.6)}
.ch-popup-card{position:relative;max-width:520px;width:100%;max-height:88vh;background:#fff;border-radius:2px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ch-popup-card a{display:block}
.ch-popup-card img{display:block;width:100%;height:auto;max-height:88vh;object-fit:contain}
.ch-popup-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;
  background:var(--noir);color:#fff;border:none;font-size:18px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;z-index:1;padding:0}
.ch-popup-close:hover{opacity:.85}
@media (max-width:600px){.ch-popup-card{max-width:92vw}}

