/* ===================================================================
   GOLVARY - premium masthead over Glozin's v4 header.
   Desktop: navigation / centered wordmark / icon utilities.
   Mobile: hamburger / centered wordmark / search.
   =================================================================== */

/* --- Primary navigation: fine, letter-spaced, uppercase, gold underline --- */
.main-navigation .menu > li > a{
  font-size:12px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
  font-weight:500;
  position:relative;
  padding-block:9px;
}
.main-navigation .menu > li > a::after{
  content:"";
  position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gv-gold-grad);
  transform:scaleX(0);transform-origin:left;
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
}
.main-navigation .menu > li:hover > a{color:var(--gv-gold-light)}
.main-navigation .menu > li:hover > a::after,
.main-navigation .menu > li.current-menu-item > a::after,
.main-navigation .menu > li.current-menu-ancestor > a::after{transform:scaleX(1)}

/* Mega-menu / submenu panels: gold hairline top, refined type */
.main-navigation .sub-menu{border-top:2px solid transparent;border-image:var(--gv-gold-grad) 1}
.main-navigation .sub-menu a{letter-spacing:.04em}
.main-navigation .sub-menu a:hover{color:var(--gv-gold-deep)}

/* --- Desktop "Menu" trigger: opens the same full-screen overlay as mobile --- */
.gv-menu-trigger{
  display:inline-flex;align-items:center;gap:11px;position:relative;
  background:none;border:0;cursor:pointer;padding:9px 0;
  color:var(--gv-cream);font-family:inherit;
}
/* Kill the inherited gold "pill" that Glozin's global button-hover rule paints on
   hover/focus/active - this is a text-style trigger, its only hover cue is the
   gold underline below (::after), like the GARANTIE link. */
.gv-menu-trigger:hover,
.gv-menu-trigger:focus,
.gv-menu-trigger:active{background:transparent!important;box-shadow:none!important;color:var(--gv-cream)}
.gv-menu-trigger__icon{display:inline-flex;flex-direction:column;gap:5px;width:22px}
.gv-menu-trigger__icon span{display:block;height:1.5px;background:currentColor;border-radius:2px}
.gv-menu-trigger__icon span:first-child{width:22px}
.gv-menu-trigger__icon span:last-child{width:13px}
.gv-menu-trigger__label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1}
.gv-menu-trigger::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--gv-gold-grad);transform:scaleX(0);transform-origin:left;
  transition:transform .38s cubic-bezier(.22,.61,.36,1)}
.gv-menu-trigger:hover::after,.gv-menu-trigger:focus-visible::after{transform:scaleX(1)}
.gv-menu-trigger:focus-visible{outline:2px solid var(--gv-gold-light);outline-offset:4px}

/* --- Utility icons: gold on hover --- */
.header-account:hover,.header-wishlist:hover,.header-compare:hover,
.header-cart:hover,.header-search__icon:hover{color:var(--gv-gold-light)}
.header-account, .header-wishlist, .header-compare, .header-cart,
.header-search__icon{transition:color .3s ease}

/* --- Cart / counter badge: charte gold gradient, dark digits --- */
.header-counter, .header-cart__counter{
  background-image:var(--gv-gold-grad) !important;
  background-color:transparent !important;
  color:var(--gv-green-deep) !important;
  font-weight:700;
}

/* Hide the "Montres" primary-menu item (db_id 1000472) and its dropdown in every
   render - desktop header nav AND the full-screen mobile/tablet menu both use the
   same primary-menu, so WordPress stamps this class on the item everywhere. The
   sibling top-level items Homme (menu-item-1000476) and Femme (1000477) stay. */
.menu-item-1000472{ display:none !important; }

/* --- Header shell: refined hairline + depth when sticky --- */
.header-main{border-bottom:1px solid rgba(255,255,255,.09)}
.header-sticky--active .header-main,
.is-sticky .header-main,
.header-main.is-sticky{box-shadow:0 12px 34px -20px rgba(0,0,0,.65)}

/* Desktop masthead. Equal side columns keep the wordmark mathematically centered. */
@media (min-width:1200px){
  .site-header__desktop.header-v4 .header-main{
    height:84px!important;
    background-color:var(--gv-green,#034638);
  }
  .site-header__desktop.header-v4 .header-main .site-header__container{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);
    gap:24px;
  }
  .site-header__desktop.header-v4 .header-main .header-items{
    min-width:0;width:auto;height:100%;
  }
  .site-header__desktop.header-v4 .header-main .header-left-items{
    grid-column:1;justify-self:stretch;justify-content:flex-start;
    flex:1 1 0!important;
  }
  .site-header__desktop.header-v4 .header-main .header-center-items{
    grid-column:2;justify-self:center;justify-content:center;
    flex:0 0 200px!important;
  }
  .site-header__desktop.header-v4 .header-main .header-right-items{
    grid-column:3;justify-self:stretch;justify-content:flex-end;
    flex:1 1 0!important;gap:8px;
  }
  .site-header__desktop.header-v4 .header-logo,
  .site-header__desktop.header-v4 .header-logo>a{width:100%}
  .site-header__desktop.header-v4 .header-logo>a img{
    width:190px!important;height:auto!important;max-height:44px;
    margin-inline:auto;transform-origin:center;will-change:transform;
    transition:transform .3s ease,opacity .25s ease;
  }
  .site-header__desktop.header-v4 .header-logo>a:hover img{opacity:.84}

  .site-header__desktop.header-v4 .header-main .main-navigation .menu{
    display:flex;align-items:center;gap:clamp(22px,2.25vw,38px);
  }
  .site-header__desktop.header-v4 .header-main .main-navigation .menu>li{padding:0}

  .site-header__desktop.header-v4 .header-main .header-account,
  .site-header__desktop.header-v4 .header-main .header-wishlist,
  .site-header__desktop.header-v4 .header-main .header-cart{
    flex:0 0 44px;width:44px;height:44px;padding:0!important;border-radius:50%;
  }
  .site-header__desktop.header-v4 .header-main .header-account>a,
  .site-header__desktop.header-v4 .header-main .header-wishlist,
  .site-header__desktop.header-v4 .header-main .header-cart,
  .site-header__desktop.header-v4 .header-main .header-counter-content{
    display:flex;align-items:center;justify-content:center;
  }
  .site-header__desktop.header-v4 .header-main .header-account>a{
    width:44px;height:44px;border-radius:50%;
  }
  .site-header__desktop.header-v4 .header-main .header-counter-content{
    width:44px;height:44px;
  }
  .site-header__desktop.header-v4 .header-main :is(.header-account>a,.header-wishlist,.header-cart){
    transition:color .25s ease,background-color .25s ease;
  }
  .site-header__desktop.header-v4 .header-main :is(.header-account>a,.header-wishlist,.header-cart):hover{
    color:var(--gv-gold-light);background:rgba(244,239,227,.07);
  }
  .site-header__desktop.header-v4 .secondary-navigation{
    margin-inline-start:10px;padding-inline-start:20px;
    border-inline-start:1px solid rgba(244,239,227,.2);
  }
  .site-header__desktop.header-v4 .secondary-navigation .menu{gap:0!important}
  .site-header__desktop.header-v4.minimized .header-main,
  .site-header__desktop.header-v4.headroom--not-top .header-main{height:70px!important}
  .site-header__desktop.header-v4.minimized .header-logo>a img,
  .site-header__desktop.header-v4.headroom--not-top .header-logo>a img{transform:scale(.905)}
}

/* --- Announcement / campaign bar: slim, letter-spaced, gold accents --- */
.campaign-bar{
  background:var(--gv-green-deep) !important;
  color:var(--gv-cream) !important;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.campaign-bar a{ color:var(--gv-gold-light); }
.campaign-bar strong{ color:var(--gv-gold-light); font-weight:600; }

/* --- Topbar: quiet, spaced --- */
.topbar-items{ letter-spacing:.08em; }

/* --- Announcement bar: free-shipping marquee, scrolls right-to-left everywhere --- */
.gv-announce{position:relative;overflow:hidden;background:#022a22;border-bottom:1px solid rgba(244,239,227,.08)}
.gv-announce__track{display:flex;width:max-content;animation:gvMarquee 60s linear infinite;will-change:transform}
.gv-announce:hover .gv-announce__track{animation-play-state:paused}
.gv-announce__set{display:flex;align-items:center;padding:8px 0;white-space:nowrap}
.gv-announce__set > span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:0 22px;color:var(--gv-cream);opacity:.92}
.gv-announce__set strong{color:var(--gv-gold-light);font-weight:700}
.gv-announce__dot{width:4px;height:4px;border-radius:50%;background:var(--gv-gold);flex:0 0 auto}
/* track moves left by one full set -> text reads/scrolls right-to-left, seamless loop */
@keyframes gvMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* sr-only: message announced once to assistive tech (visible track is aria-hidden) */
.gv-announce__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Mobile header controls: balanced 44px targets around the centered logo. */
.site-header__mobile .header-mobile-main{
  border-bottom:1px solid rgba(244,239,227,.1);
  box-shadow:0 10px 28px -24px rgba(0,0,0,.75);
}
.site-header__mobile .header-hamburger,
.site-header__mobile .header-search__icon{
  min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
}
.site-header__mobile .header-logo>a img{
  width:min(38vw,148px)!important;height:auto!important;max-height:32px;
}

/* Five-item mobile dock: keep Cart visible and reserve space above it. */
@media (max-width:767px){
  html,body{overflow-x:clip}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  #glozin-mobile-navigation-bar{
    inset-inline:0!important;width:auto!important;max-width:none!important;min-width:0!important;overflow:hidden;
    z-index:180;background:var(--gv-surface,#fffdf9)!important;
    border-top:1px solid rgba(3,70,56,.12);padding-bottom:env(safe-area-inset-bottom);
  }
  #glozin-mobile-navigation-bar .elementor-3429,
  #glozin-mobile-navigation-bar .elementor-3429 > .e-con{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  #glozin-mobile-navigation-bar .elementor-3429 > .e-con{
    --padding-left:0px;--padding-right:0px;--padding-top:0px;--padding-bottom:0px;
    --gap:0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;
    padding:0!important;overflow:hidden!important;
  }
  #glozin-mobile-navigation-bar .elementor-3429 > .e-con > .e-con-inner{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:0!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;
  }
  #glozin-mobile-navigation-bar .elementor-widget-glozin-navigation-bar-item{
    --width:auto!important;grid-column:auto!important;flex:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;
  }
  #glozin-mobile-navigation-bar .glozin-navigation-bar-elementor,
  #glozin-mobile-navigation-bar .glozin-navigation-bar-item{width:100%}
  #glozin-mobile-navigation-bar .glozin-navigation-bar-item{
    min-height:68px;padding:8px 2px 7px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:6px;color:var(--gv-green);text-decoration:none;
  }
  #glozin-mobile-navigation-bar .glozin-navigation-bar__title{
    max-width:100%;font-size:10px!important;letter-spacing:.01em;white-space:nowrap;
  }
  /* Checkout screens need every pixel for form fields and totals. */
  body.woocommerce-cart,body.woocommerce-checkout{padding-bottom:0}
  body.woocommerce-cart #glozin-mobile-navigation-bar,
  body.woocommerce-checkout #glozin-mobile-navigation-bar{display:none!important}
}

/* Dock count badges (Favoris / Panier). The parent's 18px badge pins its end to the
   20px dock glyph, so it covers the icon. Shrink it into a proper corner badge that
   floats at the top-right, ringed by the bar colour, and drop the empty "0" badge.
   Not media-gated: the bar itself is hidden on desktop, so this only shows where the
   dock renders (phones and any small tablet). */
#glozin-mobile-navigation-bar .glozin-navigation-bar__icon .header-counter{
  height:15px;min-width:15px;line-height:15px;font-size:9px;padding:0 3px;border-radius:20px;
  top:-5px;inset-inline-end:-8px;inset-inline-start:auto;
  box-shadow:0 0 0 2px var(--gv-surface,#fffdf9);
}
#glozin-mobile-navigation-bar .header-counter.empty-counter{display:none}
