/* ============================================
 TOP HEADER
=========================================== */
.aj-top-header {
    background: #f39200;
    padding: 7px 0px;
}
.aj-top-header__inner {
    text-align: center;
    color: #fff;
}
/* =========================================
   RESET LISTES / LIENS
========================================= */
.my-menu-desktop,
.my-menu-desktop ul,
.my-menu-mobile,
.my-menu-mobile ul{
  list-style:none;
  margin:0;
  padding:0;
}

.my-menu-desktop a,
.my-menu-mobile a{
  text-decoration:none;
}

/* =========================================
   CART ICON
========================================= */
.fkcart-shortcode-icon-wrap svg {
    width: 25px;
    fill: #000;
}

/* =========================================
   CONTENEURS GÉNÉRAUX
========================================= */
.site-header {
    padding-top: 10px;
}
.my-header,
.my-header-desktop,
.my-header-mobile{
  background:#fff;
}

.my-inside{
  max-width:1280px;
  margin:0 auto;
  padding:10px 16px 0px 16px;
  color:inherit;
}
@media(min-width:1025px) {
    .my-inside {
        border-bottom:1px solid #fff;
    }
}

/* liens en blanc dans les headers */
.my-header a,
.my-header-desktop a,
.my-header-mobile a{ color:#000; }

/* =========================================
   LOGO (53x53)
========================================= */
.my-logo{
  display:inline-flex;
  width:145px;
  height:50px;
  align-items:center;
  justify-content:center;
}
.my-logo img,
.my-logo svg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* =========================================
   DESKTOP
========================================= */
.my-header-desktop{ display:none; }

@media (min-width:1025px){
    .my-header-left {
        margin-left: 80px;
    }
  .my-header-desktop{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:24px;
    width:100%;
  }
  .my-header-desktop .my-header-left{ justify-self:start; }
  .my-header-desktop .my-header-center{ justify-self:center; }
  .my-header-desktop .my-header-right{
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:16px;
    color:#fff;
    margin-right: 15px;
  }
}

/* Menu desktop */
.my-nav-desktop .my-menu-desktop{ display:flex; align-items:center; gap:24px; }
.my-nav-desktop .my-menu-desktop > li{ position:relative; }
.my-nav-desktop .my-menu-desktop > li > a{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 6px; font-weight:400; line-height:1;
}
.my-nav-desktop .my-menu-desktop > li.menu-item-has-children > a::after{
  content:""; width:12px; height:12px; display:inline-block; vertical-align:middle;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat center/contain;
  transition:transform .2s ease;
}
.my-nav-desktop .my-menu-desktop > li.menu-item-has-children:hover > a::after,
.my-nav-desktop .my-menu-desktop > li.menu-item-has-children:focus-within > a::after{
  transform:rotate(180deg);
}

/* Sous-menus desktop */
.my-nav-desktop .my-menu-desktop > li > .sub-menu{
  position:absolute; top:140%; left:50%; transform:translateX(-50%);
  min-width:250px; background:#fff;
  padding:10px 0;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .16s ease, visibility 0s linear .16s;
  z-index:9999;
  border: 2px solid #000;
  border-top: 2px solid #f2f2f2;
}
.my-nav-desktop .my-menu-desktop > li > .sub-menu::before{
  content:""; position:absolute; top:-12px; left:0; right:0; height:12px;
  pointer-events:auto; background:transparent;
}
.my-nav-desktop .my-menu-desktop > li:hover > .sub-menu,
.my-nav-desktop .my-menu-desktop > li:focus-within > .sub-menu{
  opacity:1; visibility:visible; pointer-events:auto;
}
.my-nav-desktop .my-menu-desktop .sub-menu > li > a{
  display:block; padding:5px 14px; font-weight:400; white-space:nowrap;
}
.my-nav-desktop .my-menu-desktop .sub-menu > li > a:hover,
.my-nav-desktop .my-menu-desktop .sub-menu > li > a:focus{
  background:rgba(255,255,255,.08);
}

/* Sous-sous menu desktop */
.my-nav-desktop .my-menu-desktop .sub-menu li.menu-item-has-children{ position:relative; }
.my-nav-desktop .my-menu-desktop .sub-menu li.menu-item-has-children > a::after{
  content:""; width:10px; height:10px; float:right; margin-left:8px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") no-repeat center/contain;
  opacity:.85;
}
.my-nav-desktop .my-menu-desktop .sub-menu li > .sub-menu{
  position:absolute; top:0; left:100%; margin-left:0px; min-width:200px;
  background:#fff; padding:10px 0; border-top:none; border:2px solid #fff;
  box-shadow:0 12px 24px rgba(0,0,0,.28);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .16s ease, visibility 0s linear .16s; z-index:10000;
}
.my-nav-desktop .my-menu-desktop .sub-menu li > .sub-menu::before{
  content:""; position:absolute; left:-12px; top:0; width:12px; height:100%;
  pointer-events:auto; background:transparent;
}
.my-nav-desktop .my-menu-desktop .sub-menu li:hover > .sub-menu,
.my-nav-desktop .my-menu-desktop .sub-menu li:focus-within > .sub-menu{
  opacity:1; visibility:visible; pointer-events:auto;
}

/* Accessibilité desktop */
.my-nav-desktop a:focus{ outline:2px solid #0d6efd; outline-offset:2px; border-radius:6px; }
@media (prefers-reduced-motion: reduce){
  .my-nav-desktop .my-menu-desktop > li > .sub-menu,
  .my-nav-desktop .my-menu-desktop .sub-menu li > .sub-menu,
  .my-nav-desktop .my-menu-desktop > li.menu-item-has-children > a::after{
    transition:none !important;
  }
}

/* =========================================
   FIX GENERATEPRESS : largeur pleine header mobile
========================================= */
.site-header .inside-header,
.site-header .inside-header.grid-container{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* =========================================
   MOBILE HEADER (≤1024px) – grille 3 colonnes
   (gauche 140px / centre auto / droite 140px)
========================================= */
@media (max-width:1024px) {
div.my-cart-box .fkcart-shortcode-price {
    display: none;
}
}

.my-header-mobile{
  display:grid;
  grid-template-columns: 0.5fr 1.5fr 0.5fr;
  align-items:center;
  column-gap:0px;
  background:#fff;
  color:#000;
  padding:0px;
  position:relative;
  z-index:10010;
  width:100%;
  max-width:none;
  margin:0;
}
@media (min-width:1025px){ .my-header-mobile{ display:none; } }

/* Colonnes gauche/droite : même largeur (centrage parfait du logo) */
.my-burger-wrap,
.my-utilities{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

/* Logo au centre de la grille */
.my-header-mobile .my-logo{
  justify-self:center;
  width:120px; height:auto;
  display:flex; align-items:center; justify-content:center; margin: 0 auto;
}

/* =========================
   Capsules blanches (burger / panier)
========================= */
.my-burger-box,
.my-cart-box{
  background:#fff;
  color:#000;               /* texte & icônes en noir */
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  position: relative;
}
.my-cart-box {
    padding: 8px 0px;
}
.my-burger-box {
    padding: 5px 0px;
}
/* Bouton burger blindé (+ icône noire via currentColor) */
.my-burger{
  appearance:none; -webkit-appearance:none;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  color:#000;                      /* currentColor -> noir */
  width:40px; height:40px;
  display:inline-grid; place-items:center;
  line-height:0;
  position:relative; isolation:isolate;
}
.my-burger::before,
.my-burger::after{ content:none; display:none; }

.my-burger svg{ width:35px; height:35px; display:block; }
.my-burger,
.my-burger svg,
.my-burger svg *{ fill:currentColor; stroke:currentColor; }
button svg{ display:block; } /* sécurité reset globaux */

.my-burger-label,
.my-cart-label{
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#000;
}

/* Harmonise le shortcode panier dans la capsule */
.my-cart-box .fkcart-shortcode-container{ color:#000; line-height:1; }
.my-cart-box a{ color:#000; }
.my-cart-box .fkcart-shortcode-icon-wrap svg {
    width: 35px;
    height: 35px;
}
/* =========================================
   OFF-CANVAS : panneau + backdrop
========================================= */
/* Le panneau peut défiler, mais ne “passe” pas le scroll à la page */
#my-mobile-menu{
  overscroll-behavior: contain;  /* l’inertie reste confinée au panneau */
}

#my-mobile-menu.my-mobile-menu{
  position:fixed;
  top:0; left:0;
  height:100vh;                 /* fallback */
  width:90vw; max-width:480px;
  background:#fff; color:#000;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  box-shadow:8px 0 24px rgba(0,0,0,.4);
  transform:translateX(-105%);
  transition:transform .25s ease;
  z-index:10020;                /* AU-DESSUS du backdrop */
  border-right:2px solid #000;
  padding:12px 0;
  padding-top:70px;             /* décale le contenu sous le haut du panneau */
}
@supports (height:100dvh){
  #my-mobile-menu.my-mobile-menu{ height:100dvh; }
}
#my-mobile-menu.is-open{ transform:translateX(0); }

/* Backdrop sous le panneau, cliquable seulement actif */
.my-mobile-backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition:opacity .25s ease-in-out;
  z-index:10015;               /* SOUS le panneau (menu = 10020) */
}
.my-mobile-backdrop.is-active{
  opacity:1; pointer-events:auto;
}
.my-mobile-backdrop.is-active{
  touch-action: none;
}
/* Empêcher le scroll de page quand ouvert */
html.mobile-menu-open,
body.mobile-menu-open{
  overflow: hidden !important;
  height: 100%;
  overscroll-behavior: none;     /* stoppe le scroll chaining (iOS/Android) */
}

/* =========================================
   MENU MOBILE (accordéon + alignement gauche)
========================================= */
.my-menu-mobile{ margin:0; padding:4px 0 36px; }
ul#menu-mobile-menu{ text-align:left; } /* WP id commun */

.my-menu-mobile > li > a{
  display:block; padding:14px 18px;
  color:#000; font-weight:400;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
}
.my-menu-mobile .sub-menu > li > a:hover{
 color:#fff;
}
/* état ouvert */
.my-menu-mobile > li.is-expanded > a{ background:rgba(255,255,255,.06); }

/* chevrons */
.my-menu-mobile .menu-item-has-children > a{
  position:relative; padding-right:42px;
}
.my-menu-mobile .menu-item-has-children > a::after{
  content:""; position:absolute; right:16px; top:50%; transform:translateY(-50%) rotate(0deg);
  width:16px; height:16px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat center/contain;
  opacity:.95; transition:transform .2s ease;
}
.my-menu-mobile .menu-item-has-children.is-expanded > a::after{
  transform:translateY(-50%) rotate(180deg);
}

/* accordéon */
.my-menu-mobile .sub-menu{
  max-height:0; overflow:hidden;
  transition:max-height .25s ease;
  background:#fff;
}
.my-menu-mobile .menu-item-has-children.is-expanded > .sub-menu{ max-height:3000px; }

.my-menu-mobile .sub-menu > li > a{
  display:block; padding:12px 22px;
  font-weight:400;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-align:left;
}

/* sous-niveaux : même logique de chevrons */
.my-menu-mobile .sub-menu .menu-item-has-children > a{ padding-right:42px; }
.my-menu-mobile .sub-menu .menu-item-has-children > a::after{
  right:16px; width:14px; height:14px; opacity:.9;
}

/* Focus accessibilité */
#my-mobile-menu a:focus{ outline:2px solid #0d6efd; outline-offset:2px; border-radius:6px; }

/* CROIX FERMETURE MENU BURGER */
button.my-mobile-close {
    position: absolute;
    top: 5px;
    right: 12px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
}
/* =========================================
   DIVERS
========================================= */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}