/* =========================================================
   KParts — Méga menu « Boutique » (desktop)
   ========================================================= */
.kp-mega{
  --kp-ink:#000; --kp-text:#1a1a1a; --kp-muted:#767676; --kp-line:#e6e6e6; --kp-tile:#f2f2f2; --kp-hover:#f5f5f5;
  --kp-promo:#3a9fe3; --kp-promo-dark:#1f7fc4;
    position:fixed; left:0; right:0; top:var(--kp-mega-top, 90px); z-index:998;
  background:#fff; border-top:1px solid var(--kp-line);
  box-shadow:0 30px 60px rgba(0,0,0,.14);
  font-family:'Saira', sans-serif; color:var(--kp-text);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.kp-mega.is-open{ opacity:1; visibility:visible; transform:none; transition:opacity .22s ease, transform .22s ease; }
@media (max-width:1024px){ .kp-mega{ display:none !important; } }

.kp-mega__inner{
  max-width:1320px; margin:0 auto; padding:34px 24px 38px; box-sizing:border-box;
  display:grid; grid-template-columns:minmax(0, 500px) minmax(0, 1fr); gap:44px;
  max-height:calc(100vh - var(--kp-mega-top, 90px) - 30px); overflow-y:auto;
}

/* ---------- Colonne catégories (2 colonnes) ---------- */
.kp-mega__side{ padding-right:36px; border-right:1px solid var(--kp-line); }
.kp-mega__label{
  margin:0 0 12px; padding-left:14px;
  font-size:11px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:var(--kp-muted);
}
.kp-mega__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; grid-auto-flow:row dense; align-content:start; gap:2px 14px; }
.kp-mega__list li{ margin:0; padding:0; grid-column:2; }
.kp-mega__list li.kp-col-left{ grid-column:1; }

.kp-mega .kp-mega__cat{
  display:flex; align-items:center; justify-content:space-between; gap:10px; height:100%; box-sizing:border-box;
  padding:12px 10px 12px 14px; border-left:3px solid transparent;
  font-size:12.5px; font-weight:300; letter-spacing:.03em; line-height:1.35; text-transform:uppercase;
  color:var(--kp-text) !important; text-decoration:none !important;
  transition:background-color .15s ease, border-color .15s ease;
}
.kp-mega .kp-mega__cat svg{ flex:none; color:var(--kp-muted); transition:transform .15s ease; }
.kp-mega .kp-mega__cat:hover,
.kp-mega .kp-mega__cat.is-active{ background:var(--kp-hover); border-left-color:var(--kp-ink); font-weight:500; color:var(--kp-ink) !important; }
.kp-mega .kp-mega__cat.is-active svg{ color:var(--kp-ink); transform:translateX(2px); }

.kp-mega .kp-mega__cat.is-promo{ background:#eaf5fd; border-left-color:var(--kp-promo); color:var(--kp-promo-dark) !important; font-weight:600; }
.kp-mega .kp-mega__cat.is-promo svg{ color:var(--kp-promo-dark); }
.kp-mega .kp-mega__cat.is-promo:hover,
.kp-mega .kp-mega__cat.is-promo.is-active{ background:var(--kp-promo); border-left-color:var(--kp-promo-dark); color:#fff !important; }
.kp-mega .kp-mega__cat.is-promo:hover svg,
.kp-mega .kp-mega__cat.is-promo.is-active svg{ color:#fff; }

.kp-mega .kp-mega__all{
  display:inline-flex; align-items:center; gap:8px; margin:22px 0 0 14px; padding-bottom:3px;
  border-bottom:1px solid var(--kp-ink);
  font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:var(--kp-ink) !important; text-decoration:none !important;
}
.kp-mega .kp-mega__all:hover{ color:var(--kp-promo-dark) !important; border-color:var(--kp-promo-dark); }

/* ---------- Panneau sous-catégories ---------- */
.kp-mega__pane{ display:none; }
.kp-mega__pane.is-active{ display:block; animation:kpMegaIn .25s ease; }
@keyframes kpMegaIn{ from{ opacity:0; transform:translateX(6px); } to{ opacity:1; transform:none; } }

.kp-mega__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
  margin:0 0 22px; padding-bottom:14px; border-bottom:1px solid var(--kp-line);
}
.kp-mega__title{ margin:0; font-size:22px; font-weight:500; line-height:1.2; letter-spacing:.02em; text-transform:uppercase; color:var(--kp-ink); }
.kp-mega__count{ margin:4px 0 0; font-size:12px; font-weight:300; color:var(--kp-muted); }
.kp-mega .kp-mega__see{
  display:inline-flex; align-items:center; gap:8px; flex:none; padding-bottom:3px; border-bottom:1px solid var(--kp-ink);
  font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  color:var(--kp-ink) !important; text-decoration:none !important;
}
.kp-mega .kp-mega__see:hover{ color:var(--kp-promo-dark) !important; border-color:var(--kp-promo-dark); }

.kp-mega__subs{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 32px;
}
.kp-mega__subs li{ margin:0; padding:0; min-width:0; border-bottom:1px solid var(--kp-line); }
.kp-mega .kp-mega__sub{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 4px 14px 0;
  color:var(--kp-text) !important; text-decoration:none !important;
  transition:padding .2s ease;
}
.kp-mega .kp-mega__sub svg{ flex:none; color:var(--kp-muted); transition:transform .2s ease, color .2s ease; }
.kp-mega .kp-mega__sub:hover{ padding-left:8px; }
.kp-mega .kp-mega__sub:hover svg{ color:var(--kp-promo-dark); transform:translateX(3px); }
.kp-mega__subtext{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; min-width:0; }
.kp-mega__subname{
  font-size:12.5px; font-weight:400; letter-spacing:.03em; line-height:1.35; text-transform:uppercase; color:var(--kp-ink);
  transition:color .15s ease;
}
.kp-mega .kp-mega__sub:hover .kp-mega__subname{ color:var(--kp-promo-dark); }
.kp-mega__subcount{ font-size:11px; font-weight:300; color:var(--kp-muted); }

/* Catégorie sans sous-catégorie */
.kp-mega__solo{ max-width:520px; }
.kp-mega__desc{ margin:0 0 18px; font-size:13px; font-weight:300; line-height:1.7; color:#555; }
.kp-mega .kp-mega__btn{
  display:inline-flex; align-items:center; gap:10px; padding:12px 20px;
  background:var(--kp-ink); color:#fff !important; text-decoration:none !important;
  font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  transition:background-color .15s ease;
}
.kp-mega .kp-mega__btn:hover{ background:var(--kp-promo-dark); }

@media (max-width:1280px){
  .kp-mega__inner{ grid-template-columns:minmax(0, 440px) minmax(0, 1fr); gap:32px; }
}

/* L'ancien sous-menu de « Boutique » est remplacé par le méga menu (desktop) */
@media (min-width:1025px){
  .kp-mega-host > .sub-menu,
  .kp-mega-host > ul,
  .kp-mega-host > .wpr-sub-menu,
  .kp-mega-host > .wpr-sub-mega-menu,
  .kp-mega-host .wpr-sub-mega-menu{ display:none !important; }
}
