/* =========================================================
   KParts — compléments (promo, catégories, drapeaux, produits similaires)
   ========================================================= */

/* ---------- Pastille PROMO (cartes boutique, catégories, produits similaires) ---------- */
.kjx-card__promo{
  position:absolute; top:10px; right:10px; z-index:2;
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:#3a9fe3; color:#fff;
  font-family:'Saira',sans-serif; font-size:12px; font-weight:600; line-height:1.1;
  text-transform:uppercase; pointer-events:none;
}
@media (max-width:600px){
  .kjx-card__promo{ width:48px; height:48px; font-size:10px; top:6px; right:6px; }
}

/* ---------- Catégorie promo mise en valeur : sidebar ---------- */
.kjx .kjx-side__link.is-promo{
  margin-top:10px;
  background:#eaf5fd;
  border-left-color:#3a9fe3;
  color:#1f7fc4 !important;
  font-weight:600;
}
.kjx .kjx-side__link.is-promo .kjx-ico{ color:#1f7fc4; }
.kjx .kjx-side__link.is-promo:hover,
.kjx .kjx-side__link.is-promo.is-active{ background:#3a9fe3; border-left-color:#1f7fc4; color:#fff !important; }
.kjx .kjx-side__link.is-promo:hover .kjx-ico,
.kjx .kjx-side__link.is-promo.is-active .kjx-ico{ color:#fff; }
@media (max-width:921px){
  .kjx .kjx-side__link.is-promo{ margin-top:0; background:#3a9fe3; border-color:#3a9fe3; color:#fff !important; }
}

/* ---------- Menu mobile : catégories dépliables ---------- */
.kp-mm__cat{ margin:0; padding:0; }
.kp-mm__cat-toggle{
  -webkit-appearance:none; appearance:none;
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  margin:0; padding:13px 14px !important;
  background:transparent !important; border:0 !important; border-left:3px solid transparent !important; border-radius:0 !important; box-shadow:none !important;
  font-family:'Saira',sans-serif; font-size:14px; font-weight:300; line-height:1.35; text-align:left; text-transform:none;
  color:#111 !important; cursor:pointer;
}
.kp-mm__cat-toggle svg{ width:14px; height:14px; flex:0 0 auto; transition:transform .2s; }
.kp-mm__cat.is-open > .kp-mm__cat-toggle{ background:#f2f2f2 !important; border-left-color:#111 !important; font-weight:400; }
.kp-mm__cat.is-open > .kp-mm__cat-toggle svg{ transform:rotate(90deg); }
.kp-mm__cat.is-active > .kp-mm__cat-toggle{ border-left-color:#111 !important; font-weight:400; }

.kp-mm__sub{ display:none; list-style:none; margin:0 0 6px; padding:4px 0 4px 17px; }
.kp-mm__cat.is-open > .kp-mm__sub{ display:block; }
.kp-mm__sub li{ margin:0; padding:0; }
.kp-mm .kp-mm__sub a{
  display:block; padding:9px 14px; border-left:1px solid #e5e5e5;
  font-size:13px; font-weight:300; color:#444 !important; text-decoration:none;
}
.kp-mm .kp-mm__sub a.is-active{ color:#111 !important; font-weight:500; border-left-color:#111; }
.kp-mm .kp-mm__sub .kp-mm__all a{ font-weight:400; color:#111 !important; }

/* Catégorie promo dans le menu mobile */
.kp-mm .kp-mm__cats .is-promo > a,
.kp-mm .kp-mm__cats .is-promo > .kp-mm__cat-toggle{
  margin-top:8px; background:#3a9fe3 !important; border-left-color:#1f7fc4 !important;
  color:#fff !important; font-weight:600 !important;
}

/* ---------- Drapeaux des sélecteurs de langue ---------- */
.kp-flag{ display:inline-block; width:18px !important; height:12px !important; max-width:none; object-fit:cover; border-radius:1px; vertical-align:middle; margin:0; }
.kp-lang summary,
.kp-lang__menu a,
.kp-mm__lang summary,
.kp-mm__lang ul a{ display:flex; align-items:center; gap:8px; }

/* ---------- Produits similaires (fiche produit) ---------- */
.kjx-related{
  --kjx-ink:#000; --kjx-text:#1a1a1a; --kjx-muted:#767676; --kjx-line:#e6e6e6; --kjx-tile:#f2f2f2;
  clear:both; margin:60px 0 40px; font-family:'Saira',sans-serif;
}
.kjx-related__title{
  margin:0 0 24px !important; padding:0 0 14px; border-bottom:1px solid var(--kjx-line);
  font-family:'Saira',sans-serif !important; font-size:22px !important; font-weight:500 !important;
  text-transform:none; text-align:left; color:var(--kjx-ink) !important;
}
.kjx-related__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 18px; margin:0 !important; padding:0 !important; list-style:none; }
.kjx-related .kjx-card{ margin:0; min-width:0; }
.kjx-related .kjx-card__link{ display:block; color:var(--kjx-text) !important; text-decoration:none !important; }
.kjx-related .kjx-card__media{ position:relative; display:block; aspect-ratio:1/1; margin-bottom:14px; overflow:hidden; background:var(--kjx-tile); }
.kjx-related .kjx-card__img{
  position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none;
  padding:0; object-fit:contain; mix-blend-mode:multiply; transition:transform .4s ease;
}
.kjx-related .kjx-card__link:hover .kjx-card__img{ transform:scale(1.04); }
.kjx-related .kjx-card__cta{
  position:absolute; right:10px; bottom:10px; display:inline-flex; align-items:center; gap:6px;
  padding:7px 12px; background:#fff; font-size:12px; font-weight:400; color:var(--kjx-ink);
  box-shadow:0 1px 2px rgba(0,0,0,.08); opacity:0; transform:translateY(4px); transition:opacity .2s, transform .2s;
}
.kjx-related .kjx-card__link:hover .kjx-card__cta{ opacity:1; transform:none; }
.kjx-related .kjx-card__flag{ position:absolute; left:10px; top:10px; padding:4px 8px; background:#fff; font-size:11px; color:var(--kjx-muted); }
.kjx-related .kjx-card.is-out .kjx-card__img{ opacity:.55; }
.kjx-related .kjx-card__name{ display:block; margin-bottom:6px; font-size:14px; font-weight:500; line-height:1.35; color:var(--kjx-ink); }
.kjx-related .kjx-card__price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; font-size:13px; font-weight:600; color:var(--kjx-text); }
.kjx-related .kjx-card__price ins{ order:1; text-decoration:none; background:none; }
.kjx-related .kjx-card__price del{ order:2; color:var(--kjx-muted); font-size:12px; }
/* neutralise les anciennes règles « prix bleu 24px » de la fiche produit */
body.single-product .kjx-related .kjx-card__price .woocommerce-Price-amount,
body.single-product .kjx-related .kjx-card__price bdi{
  color:inherit !important; font-size:inherit !important; font-weight:inherit !important; margin:0 !important; font-family:inherit !important;
}
body.single-product .kjx-related .kjx-card__price del bdi{ color:var(--kjx-muted) !important; font-weight:300 !important; }
@media (max-width:1024px){ .kjx-related__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:921px){ .kjx-related .kjx-card__cta{ display:none; } }
@media (max-width:600px){ .kjx-related__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; } .kjx-related .kjx-card__name{ font-size:13px; } }



/* Sidebar Boutique + pages Catégories (Tous les produits + catégories) */
.kjx .kjx-side__link{
  text-transform:uppercase !important;
  letter-spacing:.03em;
  font-size:13px;
}

/* Menu mobile : catégories, « Tout voir » et sous-catégories */
.kp-mm .kp-mm__cats > li > a,
.kp-mm .kp-mm__cat-toggle,
.kp-mm .kp-mm__sub a{
  text-transform:uppercase !important;
  letter-spacing:.03em;
}
.kp-mm .kp-mm__cats > li > a,
.kp-mm .kp-mm__cat-toggle{ font-size:13px !important; }
.kp-mm .kp-mm__sub a{ font-size:12px !important; }

/* Onglets de sous-catégories (« Tout ») + fil d'Ariane en majuscules */
.kjx .kjx-tabs a{
  text-transform:uppercase !important;
  letter-spacing:.03em;
}
.kjx .kjx-crumbs,
.kjx .kjx-crumbs a,
.kjx .kjx-crumbs span{
  text-transform:uppercase !important;
  letter-spacing:.03em;
}

/* =========================================================
   Onglets sous-catégories — nouveau style (maquette client)
   ========================================================= */
.kjx .kjx-toolbar{
  position:relative;
  align-items:center;
  border-bottom:1px solid var(--kjx-line);
  margin-bottom:32px;
}

.kjx .kjx-tabs{ gap:40px; margin-bottom:-1px; }

.kjx .kjx-tab{
  padding:14px 0 16px;
  font-size:13px!important;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase !important;
  color:#333 !important;
  transition:color .15s ease;
}
.kjx .kjx-tab:hover{ color:#000 !important; }

/* soulignement : gris au survol, bleu sur l'onglet actif */
.kjx .kjx-tab::after{
  height:3px;
  background:#3a9fe3;
}
.kjx .kjx-tab:hover::after{
  transform:scaleX(1);
  background:#d0d0d0;
}
.kjx .kjx-tab.is-active{
  color:#000 !important;
  font-weight:600;
}
.kjx .kjx-tab.is-active::after,
.kjx .kjx-tab.is-active:hover::after{
  transform:scaleX(1);
  background:#3a9fe3;
}

/* recherche + tri alignés sur les onglets */
.kjx .kjx-tools{ padding-bottom:0; }

/* Tablette / mobile : le filet reste sous les onglets, la recherche passe dessous */
@media (max-width:1024px){
  .kjx .kjx-toolbar{ border-bottom:0; }
  .kjx .kjx-tabs{ gap:28px; margin-bottom:0; border-bottom:1px solid var(--kjx-line); }
}
@media (max-width:600px){
  .kjx .kjx-tabs{ gap:22px; }
  .kjx .kjx-tab{ font-size:12px; padding:12px 0 14px; }
}

/* Mobile : onglets sous-catégories sur plusieurs lignes (plus de défilement) */
@media (max-width:767px){
  .kjx .kjx-tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
    white-space:normal !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:2px 20px !important;
    border-bottom:1px solid var(--kjx-line);
  }
  .kjx .kjx-tab{
    flex:0 0 auto;
    white-space:nowrap;
    padding:10px 0 12px;
    font-size:12px;
  }
}

/* Onglets sous-catégories : espacement réduit pour tout afficher */
@media (min-width:1025px){
  .kjx .kjx-tabs{
    gap:0 26px !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
  }
  .kjx .kjx-tab{
    letter-spacing:.03em;
    white-space:nowrap;
  }
  /* la recherche cède un peu de place aux onglets */
  .kjx .kjx-tools{ flex-shrink:1; min-width:0; }
}