.site-header{background:var(--header-bg);color:var(--header-color);border-bottom:1px solid var(--header-border);position:relative;z-index:50}.site-header.is-sticky{position:sticky;top:0;box-shadow:var(--header-shadow)}.site-header.is-transparent{background:transparent;border-bottom-color:transparent;position:absolute;top:0;left:0;right:0}.header-inner{min-height:var(--header-height);display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:2rem;width:min(var(--header-container-width),calc(100% - var(--header-padding-x)*2));margin-inline:auto}.header-layout-center .header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.header-layout-center .primary-navigation{justify-self:end}.header-layout-center .site-branding{justify-self:center}.header-layout-center .secondary-navigation{justify-self:start}.site-branding a{display:inline-flex;align-items:center;color:inherit;text-decoration:none;font-weight:700}.custom-logo{display:block;max-height:72px;width:auto}.site-title{font-size:1.25rem}.main-navigation{font-family:var(--font-navigation);font-size:var(--nav-font-size);font-weight:var(--nav-font-weight);text-transform:var(--nav-text-transform);letter-spacing:var(--nav-letter-spacing)}.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.25rem}.main-navigation a{color:var(--nav-color);text-decoration:none;transition:color .2s ease}.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--nav-hover-color)}.secondary-navigation{justify-self:end}.mobile-toggle{display:none;width:25px;height:30px;position:relative;background:transparent;color:var(--nav-color);border:0px;border-radius:999px;padding:0;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;margin:0px}.mobile-toggle:hover{background:color-mix(in srgb,currentColor 7%,transparent);border-color:color-mix(in srgb,currentColor 28%,transparent)}.mobile-toggle-line{position:absolute;left:0px;right:0px;height:1.5px;background:currentColor;border-radius:999px;transition:transform .25s ease,opacity .2s ease,top .25s ease}.mobile-toggle-line:nth-child(1){top:6px}.mobile-toggle-line:nth-child(2){top:14px}.mobile-toggle-line:nth-child(3){top:22px}.mobile-toggle.is-active .mobile-toggle-line:nth-child(1){top:21px;transform:rotate(45deg)}.mobile-toggle.is-active .mobile-toggle-line:nth-child(2){opacity:0}.mobile-toggle.is-active .mobile-toggle-line:nth-child(3){top:21px;transform:rotate(-45deg)}.mobile-menu-overlay{display:none}.mobile-navigation{position:fixed;background:var(--mobile-menu-bg);color:var(--nav-color);z-index:80;box-shadow:-20px 0 60px rgba(15,23,42,.12);transition:transform .28s ease,opacity .22s ease;will-change:transform}.mobile-navigation[hidden]{display:block}.mobile-navigation-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--header-border)}.mobile-navigation-title{font-family:var(--font-navigation);font-weight:var(--nav-font-weight);font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--nav-color) 65%,transparent)}.mobile-close{width:40px;height:40px;border:0px;border-radius:999px;background:transparent;color:inherit;position:relative;cursor:pointer}.mobile-close span{position:absolute;left:11px;right:11px;top:19px;height:1.5px;background:currentColor;border-radius:999px}.mobile-close span:first-child{transform:rotate(45deg)}.mobile-close span:last-child{transform:rotate(-45deg)}.mobile-navigation-content{padding:1.5rem 1.25rem 2rem}.mobile-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.mobile-navigation .secondary-mobile-menu{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--header-border)}.mobile-navigation a{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-navigation);font-size:var(--nav-mobile-font-size);font-weight:var(--nav-font-weight);color:var(--nav-color);text-decoration:none;padding:.75rem 0;transition:color .2s ease}.mobile-navigation a:hover{color:var(--nav-hover-color)}body.mobile-menu-open{overflow:hidden}@media(max-width:1023px){.header-inner{min-height:var(--header-mobile-height);grid-template-columns:1fr auto}.primary-navigation,.secondary-navigation{display:none}.mobile-toggle{display:block;justify-self:end}.header-layout-center .header-inner{grid-template-columns:1fr auto 1fr}.header-layout-center .site-branding{grid-column:2}.header-layout-center .mobile-toggle{grid-column:3;justify-self:end}.mobile-menu-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--mobile-overlay-color) calc(var(--mobile-overlay-opacity) * 100%),transparent);backdrop-filter:blur(2px);z-index:70;opacity:0;pointer-events:none;transition:opacity .25s ease}.mobile-is-open .mobile-menu-overlay{display:block;opacity:1;pointer-events:auto}.mobile-menu-right .mobile-navigation,.mobile-menu-left .mobile-navigation{top:0;bottom:0;width:min(420px,86vw);max-width:86vw}.mobile-menu-right .mobile-navigation{right:0;transform:translateX(105%)}.mobile-menu-left .mobile-navigation{left:0;transform:translateX(-105%);box-shadow:20px 0 60px rgba(15,23,42,.12)}.mobile-menu-right .mobile-navigation.is-open,.mobile-menu-left .mobile-navigation.is-open{transform:translateX(0)}.mobile-menu-fullscreen .mobile-navigation{inset:0;width:100%;height:100%;opacity:0;transform:translateY(-10px);box-shadow:none}.mobile-menu-fullscreen .mobile-navigation.is-open{opacity:1;transform:translateY(0)}.mobile-menu-fullscreen .mobile-menu-overlay{display:none}.mobile-menu-fullscreen .mobile-navigation-content{width:min(720px,calc(100% - 3rem));margin-inline:auto;padding-top:2rem}.custom-logo{max-height:56px}}@media(min-width:1024px){.mobile-navigation,.mobile-menu-overlay{display:none!important}}

.primary-navigation > div > ul,
.secondary-navigation > div > ul {
    gap: var(--nav-gap, 2rem);
}

/* Logo principal / logo inversé */
.site-branding{
  line-height: 0;
}
.site-logo-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;line-height:0}.site-logo{display:block;max-height:72px;width:auto;transition:opacity .22s ease,filter .22s ease}.header-theme-dark{--header-bg:var(--header-dark-bg);--header-color:#fff;--nav-color:#fff;--nav-hover-color:color-mix(in srgb,var(--color-secondary) 80%,#fff);--header-border:rgba(255,255,255,.14)}.header-theme-transparent{--header-bg:transparent;--header-color:#fff;--nav-color:#fff;--nav-hover-color:#fff;--header-border:transparent}.header-theme-transparent .mobile-navigation{--header-bg:#fff;--nav-color:var(--color-text);--nav-hover-color:var(--color-primary);--header-border:var(--color-border)}.logo-switch-on-scroll.is-scrolled{--header-bg:#fff;--header-color:var(--color-text);--nav-color:var(--color-text);--nav-hover-color:var(--color-primary);--header-border:var(--color-border);box-shadow:var(--header-shadow)}@media(max-width:1023px){.site-logo{max-height:56px}}

@media(max-width:1023px){.mobile-menu-dropdown .mobile-navigation{position:absolute;left:0;right:0;top:100%;width:100%;height:auto;max-width:none;transform:translateY(-8px);opacity:0;box-shadow:var(--header-shadow)}.mobile-menu-dropdown .mobile-navigation.is-open{transform:translateY(0);opacity:1}.mobile-menu-dropdown .mobile-menu-overlay{display:none!important}.mobile-burger-left .mobile-toggle{justify-self:start}.mobile-burger-left.header-layout-left .header-inner{grid-template-columns:auto 1fr}.mobile-burger-left.header-layout-left .site-branding{grid-column:2;justify-self:end;padding:0 10px}}
.mobile-burger-animation-none .mobile-toggle.is-active .mobile-toggle-line:nth-child(1),.mobile-burger-animation-none .mobile-toggle.is-active .mobile-toggle-line:nth-child(3){transform:none}.mobile-burger-animation-fade .mobile-toggle.is-active .mobile-toggle-line:nth-child(1),.mobile-burger-animation-fade .mobile-toggle.is-active .mobile-toggle-line:nth-child(3){opacity:0;transform:none}.mobile-burger-animation-fade .mobile-toggle.is-active .mobile-toggle-line:nth-child(2){opacity:1}


/* Header vertical padding + logo height calculated from header height. */
.header-inner{
  min-height:calc(var(--header-height) - (var(--header-padding-y) * 2));
  padding-block:var(--header-padding-y);
}
.custom-logo,
.site-logo{
  max-height:calc(var(--header-height) - (var(--header-padding-y) * 2));
  width:auto;
  height:auto;
}
@media(max-width:1023px){
  .header-inner{
    min-height:calc(var(--header-mobile-height) - (var(--header-mobile-padding-y) * 2));
    padding-block:var(--header-mobile-padding-y);
  }
  .custom-logo,
  .site-logo{
    max-height:calc(var(--header-mobile-height) - (var(--header-mobile-padding-y) * 2));
    width:auto;
    height:auto;
  }
}

/* v39 - Icônes / images dans les menus WordPress */
.main-navigation a,
.footer-navigation a,
.mobile-navigation a{
  display:inline-flex;
  align-items:center;
  gap:.45em;
}
.mobile-navigation a{
  justify-content:flex-start;
}
.menu-item-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:var(--menu-icon-size-desktop,20px);
  height:var(--menu-icon-size-desktop,20px);
  line-height:0;
}
.menu-item-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.menu-item-icon--after{
  order:2;
}
.menu-item-label{
  display:inline-flex;
  align-items:center;
}
@media(max-width:1023px){
  .menu-item-icon{
    width:var(--menu-icon-size-mobile,22px);
    height:var(--menu-icon-size-mobile,22px);
  }
}

/* v40 - Navigation contextuelle selon le type de header. */
.header-theme-light{
  --header-bg:var(--header-light-bg);
  --header-color:var(--color-text);
  --nav-color:var(--nav-light-color);
  --nav-hover-color:var(--nav-light-hover-color);
  --nav-active-color:var(--nav-light-active-color);
}
.header-theme-dark{
  --header-bg:var(--header-dark-bg);
  --header-color:var(--nav-dark-color);
  --nav-color:var(--nav-dark-color);
  --nav-hover-color:var(--nav-dark-hover-color);
  --nav-active-color:var(--nav-dark-active-color);
  --header-border:rgba(255,255,255,.14);
}
.header-theme-transparent{
  --header-bg:transparent;
  --header-color:var(--nav-transparent-color);
  --nav-color:var(--nav-transparent-color);
  --nav-hover-color:var(--nav-transparent-hover-color);
  --nav-active-color:var(--nav-transparent-active-color);
  --header-border:transparent;
}
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
.mobile-navigation .current-menu-item > a,
.mobile-navigation .current-menu-ancestor > a{
  color:var(--nav-active-color);
}
.mobile-toggle,
.mobile-close{
  color:var(--nav-color);
}
.header-theme-transparent .mobile-navigation,
.header-theme-dark .mobile-navigation{
  --header-bg:#fff;
  --nav-color:var(--nav-light-color);
  --nav-hover-color:var(--nav-light-hover-color);
  --nav-active-color:var(--nav-light-active-color);
  --header-border:var(--color-border);
}
.header-switch-on-scroll.is-scrolled.header-scroll-light,
.logo-switch-on-scroll.is-scrolled.header-scroll-light{
  --header-bg:var(--header-light-bg);
  --header-color:var(--color-text);
  --nav-color:var(--nav-light-color);
  --nav-hover-color:var(--nav-light-hover-color);
  --nav-active-color:var(--nav-light-active-color);
  --header-border:var(--color-border);
  background:var(--header-bg);
  box-shadow:var(--header-shadow);
}
.header-switch-on-scroll.is-scrolled.header-scroll-dark,
.logo-switch-on-scroll.is-scrolled.header-scroll-dark{
  --header-bg:var(--header-dark-bg);
  --header-color:var(--nav-dark-color);
  --nav-color:var(--nav-dark-color);
  --nav-hover-color:var(--nav-dark-hover-color);
  --nav-active-color:var(--nav-dark-active-color);
  --header-border:rgba(255,255,255,.14);
  background:var(--header-bg);
  box-shadow:var(--header-shadow);
}


/* Sous-menus desktop */
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--nav-gap, 2rem);
}

.main-navigation .menu {
  display: flex;
  align-items: center;
  gap: var(--nav-gap, 1.5rem);
}

.main-navigation .menu-item {
  position: relative;
}

.main-navigation a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
}

.main-navigation .sub-menu {
  position: absolute;
  top: calc(100% + .75rem);
  left: 0;
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: .65rem 0;
  background: var(--color-background, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: var(--radius-global, 12px);
  box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 50;
  align-items : normal;
  font-weight: 400;
}

.main-navigation .menu-item:hover > .sub-menu,
.main-navigation .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-navigation .sub-menu a {
  width: 100%;
  padding: .3rem 1rem;
  color: var(--color-text, #1F2937);
  white-space: nowrap;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu .current-menu-item > a {
  background: var(--color-surface, #F8FAFC);
  color: var(--color-primary, #003C5A);
}

/* Indicateur flèche sur items avec enfant */
.main-navigation .menu-item-has-children > a::after {
  content: "";
  width: .4em;
  height: .4em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-.15em);
  margin-left: .35rem;
}

/* Sous-menu niveau 2 */
.main-navigation .sub-menu .sub-menu {
  top: -.65rem;
  left: calc(100% + .25rem);
}

.main-navigation .sub-menu .menu-item-has-children > a::after {
  margin-left: auto;
  transform: rotate(-45deg);
}

/* Mobile : sous-menus empilés */
.mobile-navigation .sub-menu {
  position: static;
  display: block;
  margin: .35rem 0 .75rem 1rem;
  padding-left: 1rem;
  border-left: 1px solid var(--color-border, #E5E7EB);
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  transform: none;
}

.mobile-navigation .menu-item-has-children > a::after {
  content: "";
  width: .4em;
  height: .4em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: .5rem;
}

.main-navigation.secondary-navigation ul.menu{
  gap: 1.5em;
}

/* v41 - Header mobile : thème, menu, actions et position du burger */
.site-branding-logo--mobile,
.header-mobile-side,
.header-mobile-menu,
.header-mobile-actions{
  display:none;
}

.header-mobile-menu li{
  margin: 0;
}

.header-actions--desktop{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

@media(max-width:1023px){
  .header-actions--desktop,
  .site-branding-logo--desktop{
    display:none!important;
  }

  .site-branding-logo--mobile{
    display:inline-flex;
    align-items:center;
  }

  .site-header .header-inner,
  .site-header.header-layout-center .header-inner,
  .site-header.header-layout-left .header-inner{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    column-gap:1rem;
    row-gap:0;
  }

  .site-header .site-branding,
  .site-header.header-layout-center .site-branding,
  .site-header.header-layout-left .site-branding,
  .site-header.mobile-burger-left.header-layout-left .site-branding{
    grid-column:2;
    grid-row:1;
    justify-self:center;
    text-align:center;
  }

  .site-header.mobile-burger-left .mobile-toggle{
    grid-column:1;
    grid-row:1;
    justify-self:start;
  }

  .site-header.mobile-burger-left .header-mobile-side{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }

  .site-header.mobile-burger-right .header-mobile-side{
    grid-column:1;
    grid-row:1;
    justify-self:start;
  }

  .site-header.mobile-burger-right .mobile-toggle,
  .site-header.header-layout-center.mobile-burger-right .mobile-toggle{
    grid-column:3;
    grid-row:1;
    justify-self:end;
  }

  .header-mobile-side{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.9rem;
    min-width:44px;
    color:var(--nav-color);
  }

  .site-header.mobile-burger-right .header-mobile-side{
    justify-content:flex-start;
  }

  .header-mobile-menu{
    display:flex;
    align-items:center;
  }

  .header-mobile-menu__list,
  .header-mobile-menu .menu{
    display:flex;
    align-items:center;
    gap:1rem;
    margin:0;
    padding:0;
    list-style:none;
  }

  .header-mobile-menu a{
    display:inline-flex;
    align-items:center;
    gap:.45em;
    color:var(--nav-color);
    text-decoration:none;
    font-family:var(--font-navigation);
    font-size:var(--nav-font-size);
    font-weight:var(--nav-font-weight);
    text-transform:var(--nav-text-transform);
    letter-spacing:var(--nav-letter-spacing);
    line-height:1;
    padding:0;
    transition:color .2s ease;
  }

  .header-mobile-menu a:hover,
  .header-mobile-menu .current-menu-item > a,
  .header-mobile-menu .current-menu-ancestor > a{
    color:var(--nav-hover-color);
  }

  .header-mobile-actions{
    display:flex;
    align-items:center;
    gap:.65rem;
    color:var(--nav-color);
  }

  .header-mobile-side:empty,
  .header-mobile-actions:empty{
    display:block;
    visibility:hidden;
  }

  .header-account-link,
  .header-mobile-actions .lnd-cart-trigger{
    position:relative;
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--nav-color);
    background:transparent;
    border:0;
    padding:0;
    margin:0;
    text-decoration:none;
    border-radius:999px;
    cursor:pointer;
  }

  .header-account-link:hover,
  .header-mobile-actions .lnd-cart-trigger:hover,
  .mobile-toggle:hover{
    background:color-mix(in srgb,currentColor 7%,transparent);
  }

  .header-account-icon{
    display:block;
    width:24px;
    height:24px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0 2c-4.2 0-7.5 2.4-7.5 5.4V21h15v-1.6c0-3-3.3-5.4-7.5-5.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm0 2c-4.2 0-7.5 2.4-7.5 5.4V21h15v-1.6c0-3-3.3-5.4-7.5-5.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  .header-mobile-actions .lnd-header-cart{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .header-mobile-actions .lnd-cart-trigger__icon,
  .header-mobile-actions .lnd-cart-trigger__icon svg{
    display:block;
    width:24px;
    height:24px;
  }

  .header-mobile-actions .lnd-cart-trigger__text{
    display:none;
  }

  .header-mobile-actions .lnd-cart-trigger__counter{
    position:absolute;
    top:3px;
    right:3px;
  }

  .header-mobile-actions .lnd-cart-trigger__count--bubble{
    min-width:17px;
    height:17px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 4px;
    border-radius:999px;
    font-size:10px;
    line-height:1;
  }

  .site-header.mobile-header-theme-light{
    --header-bg:var(--header-light-bg);
    --header-color:var(--color-text);
    --nav-color:var(--nav-light-color);
    --nav-hover-color:var(--nav-light-hover-color);
    --nav-active-color:var(--nav-light-active-color);
    --header-border:var(--color-border);
  }

  .site-header.mobile-header-theme-dark{
    --header-bg:var(--header-dark-bg);
    --header-color:var(--nav-dark-color);
    --nav-color:var(--nav-dark-color);
    --nav-hover-color:var(--nav-dark-hover-color);
    --nav-active-color:var(--nav-dark-active-color);
    --header-border:rgba(255,255,255,.14);
  }

  .site-header.mobile-header-theme-transparent{
    --header-bg:transparent;
    --header-color:var(--nav-transparent-color);
    --nav-color:var(--nav-transparent-color);
    --nav-hover-color:var(--nav-transparent-hover-color);
    --nav-active-color:var(--nav-transparent-active-color);
    --header-border:transparent;
  }

  .site-header.mobile-header-theme-light,
  .site-header.mobile-header-theme-dark,
  .site-header.mobile-header-theme-transparent{
    background:var(--header-bg);
    color:var(--header-color);
    border-bottom-color:var(--header-border);
  }

  .header-theme-transparent .mobile-navigation,
  .header-theme-dark .mobile-navigation,
  .site-header.mobile-header-theme-transparent .mobile-navigation,
  .site-header.mobile-header-theme-dark .mobile-navigation{
    --header-bg:#fff;
    --nav-color:var(--nav-light-color);
    --nav-hover-color:var(--nav-light-hover-color);
    --nav-active-color:var(--nav-light-active-color);
    --header-border:var(--color-border);
  }
}
