/* HEMPCITY Frontend 5.1.0 — Header */
/* =========================================================
   04 HEADER — EDITORIAL v2
========================================================= */
.site-header,
#masthead {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  width: 100% !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(17, 17, 17, .10) !important;
  box-shadow: none !important;
  backdrop-filter: saturate(140%) blur(18px);
  -webkit-backdrop-filter: saturate(140%) blur(18px);
}

.admin-bar .site-header,
.admin-bar #masthead {
  top: 32px !important;
}

.main-header-bar,
.ast-primary-header-bar {
  min-height: 84px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-primary-header-wrap .ast-builder-grid-row {
  min-height: 84px !important;
  column-gap: clamp(24px, 3vw, 54px) !important;
}

.site-header .site-branding,
.site-header .ast-site-identity {
  padding: 0 !important;
}

.site-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 0 !important;
}

.site-header .custom-logo-link img.custom-logo {
  display: block !important;
  width: 184px !important;
  max-width: 184px !important;
  height: auto !important;
}

.main-header-menu {
  align-items: center !important;
  gap: clamp(2px, .45vw, 10px) !important;
}

.main-header-menu > .menu-item > .menu-link,
.main-navigation a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 84px !important;
  padding: 0 clamp(11px, 1.15vw, 18px) !important;
  color: var(--hc-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  text-decoration: none !important;
}

.main-header-menu > .menu-item > .menu-link::after {
  content: "";
  position: absolute;
  right: clamp(11px, 1.15vw, 18px);
  bottom: 23px;
  left: clamp(11px, 1.15vw, 18px);
  height: 1px;
  background: var(--hc-ink);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--hc-speed) var(--hc-ease);
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.main-header-menu > .current-menu-ancestor > .menu-link {
  color: var(--hc-ink) !important;
}

.main-header-menu > .menu-item > .menu-link:hover::after,
.main-header-menu > .current-menu-item > .menu-link::after,
.main-header-menu > .current-menu-ancestor > .menu-link::after {
  transform: scaleX(1);
}

.main-header-menu .sub-menu,
.ast-builder-menu .main-header-menu .sub-menu {
  min-width: 264px !important;
  margin-top: -8px !important;
  padding: 10px !important;
  background: rgba(255, 255, 255, .98) !important;
  border: 1px solid rgba(17, 17, 17, .10) !important;
  border-radius: 12px !important;
  box-shadow: 0 26px 70px rgba(17, 17, 17, .14) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.main-header-menu .sub-menu .menu-link,
.ast-builder-menu .main-header-menu .sub-menu .menu-link {
  min-height: 46px !important;
  padding: 0 14px !important;
  background: transparent !important;
  color: var(--hc-ink) !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-weight: 580 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.main-header-menu .sub-menu .menu-link:hover,
.main-header-menu .sub-menu .current-menu-item > .menu-link {
  background: var(--hc-surface-soft) !important;
  color: var(--hc-ink) !important;
}

/* Header utility actions */
.site-header .ast-builder-layout-element[data-section*="section-header-button"],
.site-header .ast-header-button-1,
.site-header .ast-header-button-2 {
  margin-left: 6px !important;
}

.site-header a.ast-custom-button-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.site-header a.ast-custom-button-link > div.ast-custom-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 112px !important;
  min-height: 44px !important;
  padding: 0 21px !important;
  background: var(--hc-ink) !important;
  color: #fff !important;
  border: 1px solid var(--hc-ink) !important;
  border-radius: var(--hc-radius-pill) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
  transition: background var(--hc-speed) var(--hc-ease), border-color var(--hc-speed) var(--hc-ease), transform var(--hc-speed) var(--hc-ease) !important;
}

.site-header a.ast-custom-button-link:hover > div.ast-custom-button {
  background: var(--hc-accent) !important;
  border-color: var(--hc-accent) !important;
  transform: translateY(-1px) !important;
}

/* WooCommerce cart/account icons */
.site-header .ast-site-header-cart,
.site-header .ast-header-account-wrap {
  margin-left: 4px !important;
}

.site-header .ast-site-header-cart .ast-addon-cart-wrap,
.site-header .ast-header-account-wrap .ast-header-account-link {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--hc-ink) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 50% !important;
  transition: background var(--hc-speed) var(--hc-ease), border-color var(--hc-speed) var(--hc-ease), transform var(--hc-speed) var(--hc-ease) !important;
}

.site-header .ast-site-header-cart .ast-addon-cart-wrap:hover,
.site-header .ast-header-account-wrap .ast-header-account-link:hover {
  background: var(--hc-surface-soft) !important;
  border-color: var(--hc-line-strong) !important;
  transform: translateY(-1px);
}

.site-header .ast-site-header-cart .ast-cart-menu-wrap .count,
.site-header .ast-site-header-cart .ast-cart-menu-wrap .count:after {
  border-color: var(--hc-ink) !important;
  color: var(--hc-ink) !important;
}

/* Mobile trigger */
[data-section="section-header-mobile-trigger"] .menu-toggle,
.ast-mobile-popup-drawer .menu-toggle-close {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--hc-ink) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

[data-section="section-header-mobile-trigger"] .menu-toggle:hover,
.ast-mobile-popup-drawer .menu-toggle-close:hover {
  background: var(--hc-surface-soft) !important;
}

[data-section="section-header-mobile-trigger"] .ast-mobile-svg,
.ast-mobile-popup-drawer .menu-toggle-close svg,
.ast-mobile-popup-drawer .ast-close-svg {
  width: 19px !important;
  height: 19px !important;
  color: currentColor !important;
  fill: currentColor !important;
}
/* =========================================================
   05 MOBILE NAVIGATION — EDITORIAL DRAWER
========================================================= */
@media (max-width: 921px) {
  .admin-bar .site-header,
  .admin-bar #masthead {
    top: 46px !important;
  }

  .main-header-bar,
  .ast-primary-header-bar,
  .site-primary-header-wrap .ast-builder-grid-row {
    min-height: 72px !important;
  }

  .site-header .custom-logo-link img.custom-logo {
    width: 154px !important;
    max-width: 154px !important;
  }

  .ast-mobile-popup-drawer,
  .ast-mobile-popup-drawer .ast-mobile-popup-inner,
  .ast-mobile-popup-content,
  .ast-mobile-popup-content .main-navigation,
  .ast-mobile-popup-content .main-header-menu,
  .ast-builder-menu-mobile,
  .ast-builder-menu-mobile .main-navigation {
    background: var(--hc-bg) !important;
  }

  .ast-mobile-popup-drawer .ast-mobile-popup-inner {
    width: min(92vw, 430px) !important;
    max-width: 430px !important;
    box-shadow: -22px 0 70px rgba(17, 17, 17, .16) !important;
  }

  .ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
    animation: hc-menu-in .30s var(--hc-ease) both;
  }

  .ast-mobile-popup-content {
    padding-top: 18px !important;
  }

  .ast-builder-menu-mobile .main-navigation .menu-item {
    position: relative !important;
    margin: 0 18px !important;
    background: var(--hc-bg) !important;
    border-bottom: 1px solid var(--hc-line) !important;
  }

  .ast-builder-menu-mobile .main-navigation .menu-item:last-child {
    border-bottom: 0 !important;
  }

  .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link {
    display: flex !important;
    align-items: center !important;
    min-height: 64px !important;
    padding: 0 64px 0 8px !important;
    background: transparent !important;
    color: var(--hc-ink) !important;
    font-size: 18px !important;
    font-weight: 560 !important;
    line-height: 1.15 !important;
    letter-spacing: -.018em !important;
    text-transform: none !important;
  }

  .ast-builder-menu-mobile .main-navigation .menu-item:hover > .menu-link,
  .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link,
  .ast-builder-menu-mobile .main-navigation .menu-item.ast-submenu-expanded > .menu-link {
    background: transparent !important;
    color: var(--hc-accent) !important;
  }

  .ast-builder-menu-mobile .main-navigation .menu-item-has-children > .ast-menu-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 4px !important;
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 1px solid var(--hc-line) !important;
    border-radius: 50% !important;
    transform: translateY(-50%) !important;
  }

  .ast-builder-menu-mobile .sub-menu {
    margin: 0 -18px !important;
    padding: 7px 18px 12px !important;
    background: var(--hc-surface-soft) !important;
    border-top: 1px solid var(--hc-line) !important;
  }

  .ast-builder-menu-mobile .sub-menu .menu-item {
    margin: 0 !important;
    background: transparent !important;
    border-bottom-color: rgba(17, 17, 17, .08) !important;
  }

  .ast-builder-menu-mobile .sub-menu .menu-link {
    min-height: 52px !important;
    padding: 0 8px !important;
    background: transparent !important;
    color: var(--hc-ink) !important;
    font-size: 15px !important;
    font-weight: 520 !important;
  }

  .ast-mobile-popup-content .ast-builder-button-wrap,
  .ast-mobile-popup-content .ast-builder-html-element {
    padding: 20px 18px 28px !important;
  }

  .ast-mobile-popup-content .ast-custom-button,
  .ast-mobile-popup-content .ast-custom-button-link {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    background: var(--hc-ink) !important;
    color: #fff !important;
    border-radius: var(--hc-radius-pill) !important;
  }
}

@media (max-width: 782px) {
  .admin-bar .site-header,
  .admin-bar #masthead {
    top: 46px !important;
  }
}

@media (max-width: 544px) {
  .site-primary-header-wrap .ast-builder-grid-row {
    padding-inline: 18px !important;
  }

  .site-header .custom-logo-link img.custom-logo {
    width: 142px !important;
    max-width: 142px !important;
  }
}

@keyframes hc-menu-in {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}


/* Logo integration: removes theme-created visual containers, never image pixels. */
.site-header .site-branding,
.site-header .ast-site-identity,
.site-header .custom-logo-link,
.site-header .custom-logo,
.site-header .site-logo-img,
.site-header .ast-logo-title-inline .site-logo-img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.site-header .site-logo-img,
.site-header .ast-logo-title-inline .site-logo-img,
.site-header .custom-logo-link {
  padding: 0 !important;
  margin: 0 !important;
}
.site-header .custom-logo { object-fit: contain !important; }

/* Stable state transition after scrolling. */
.site-header,
#masthead {
  transition: background-color 180ms var(--hc-ease), border-color 180ms var(--hc-ease), box-shadow 180ms var(--hc-ease) !important;
}
body.hc-header-scrolled .site-header,
body.hc-header-scrolled #masthead {
  background: rgba(255,255,255,.98) !important;
  border-bottom-color: rgba(17,17,17,.13) !important;
  box-shadow: 0 8px 28px rgba(17,17,17,.045) !important;
}

/* Sale navigation item: assign CSS class hc-menu-sale in Appearance > Menus. */
.main-header-menu > .hc-menu-sale > .menu-link { color: var(--hc-accent) !important; }
.main-header-menu > .hc-menu-sale > .menu-link::after { background: var(--hc-accent) !important; }

/* Better compact desktop utilities */
@media (min-width: 922px) {
  .site-header .ast-header-account-wrap .ast-header-account-link,
  .site-header .ast-site-header-cart .ast-addon-cart-wrap {
    border-color: transparent !important;
  }
}
