/* ── Navigation clearance variable — consumed by blocks and product hero ── */
:root {
  --gs-nav-h: 98px; /* bar top-padding (10px) + inner min-height (88px) */
}

body.admin-bar {
  --gs-nav-h: 130px; /* 98px nav + 32px admin-bar offset */
}

@media (max-width: 782px) {
  body.admin-bar {
    --gs-nav-h: 142px; /* 96px nav + 46px mobile admin-bar offset */
  }
}

/* ── Anchor navigation scroll offset ───────────────────────────────────── */
html {
  scroll-padding-top: var(--gs-nav-h, 98px);
}

/* ── WooCommerce page clearance — push content below fixed header ───────── */
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
  padding-top: var(--gs-nav-h, 98px);
}

/* ── Hide tax suffix in cart/checkout totals — tax is applied, not shown ── */
body.woocommerce-cart .includes_tax,
body.woocommerce-checkout .includes_tax {
  display: none;
}

.gs-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  width: 100%;
  pointer-events: none;
}

.gs-site-header__bar,
.gs-site-header__drawer,
.gs-site-header__overlay {
  pointer-events: auto;
}

.gs-site-header__bar {
  padding: 10px clamp(12px, 2.2vw, 24px) 0;
  transition: background-color .22s ease, box-shadow .22s ease, backdrop-filter .22s ease, opacity .22s ease;
}

.gs-site-header__inner {
  width: min(100%, 1360px);
  min-height: 88px;
  margin: 0 auto;
  padding: 0 clamp(22px, 2.6vw, 34px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.14) 100%);
  backdrop-filter: blur(10px) saturate(1.04);
  -webkit-backdrop-filter: blur(10px) saturate(1.04);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  transition: background-color .22s ease, box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

.gs-site-header[data-scrolled="true"] .gs-site-header__inner {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.54) 0%, rgba(255, 255, 255, 0.44) 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1);
  border-color: rgba(255, 255, 255, 0.42);
  transform: translateY(-2px);
}

.gs-site-header__brand,
.gs-site-header__brand-link,
.gs-site-header__brand-link .custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.gs-site-header__brand-link .custom-logo,
.gs-site-header__drawer-brand .custom-logo {
  width: auto;
  max-height: 52px;
}

.gs-site-header__brand-text {
  color: var(--gs-color-neutral-900);
  font-family: var(--gs-font-heading);
  font-size: 1.48rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.gs-site-header__brand--text .gs-site-header__brand-link {
  min-height: 52px;
  padding: 0 2px;
}

.gs-site-header__desktop {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(18px, 2vw, 24px);
  flex: 1;
  min-width: 0;
}

.gs-site-header__nav {
  min-width: 0;
}

.gs-site-header__menu,
.gs-site-header__drawer-menu,
.gs-site-header__menu .sub-menu,
.gs-site-header__drawer-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gs-site-header__menu {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.5vw, 20px);
}

.gs-site-header__menu > .menu-item {
  position: relative;
}

.gs-site-header__menu a,
.gs-site-header__drawer-menu a {
  color: var(--gs-color-neutral-900);
  text-decoration: none;
}

.gs-site-header__menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  color: rgba(22, 35, 55, 0.92);
}

.gs-site-header__menu > .menu-item.menu-item-has-children > a::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}

.gs-site-header__menu > .menu-item:hover > a::after,
.gs-site-header__menu > .menu-item:focus-within > a::after {
  transform: rotate(225deg) translateY(-1px);
}

.gs-site-header__menu .sub-menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  min-width: 220px;
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  box-shadow: 0 16px 30px rgba(17, 24, 39, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

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

.gs-site-header__menu .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: .94rem;
  font-weight: 600;
}

.gs-site-header__menu .sub-menu a:hover,
.gs-site-header__menu .sub-menu a:focus-visible,
.gs-site-header__drawer-menu a:hover,
.gs-site-header__drawer-menu a:focus-visible,
.gs-site-header__menu > .menu-item > a:hover,
.gs-site-header__menu > .menu-item > a:focus-visible {
  color: var(--gs-color-primary-dark);
  background: rgba(247, 147, 29, 0.07);
  outline: none;
}

.gs-site-header__cta,
.gs-site-header__drawer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(248, 200, 71, 0.96) 0%, rgba(229, 141, 40, 0.92) 100%);
  box-shadow: 0 12px 24px rgba(229, 139, 38, 0.18);
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.gs-site-header__cta:hover,
.gs-site-header__cta:focus-visible,
.gs-site-header__drawer-cta:hover,
.gs-site-header__drawer-cta:focus-visible {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(229, 139, 38, 0.22);
  filter: brightness(1.02);
  outline: none;
}

.gs-site-header__toggle,
.gs-site-header__drawer-close {
  border: 0;
  background: transparent;
  color: var(--gs-color-neutral-900);
  cursor: pointer;
}

.gs-site-header__toggle {
  display: none;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border-radius: 999px;
}

.gs-site-header__toggle-line {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}

.gs-site-header[data-drawer-open="true"] .gs-site-header__toggle-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.gs-site-header[data-drawer-open="true"] .gs-site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

.gs-site-header[data-drawer-open="true"] .gs-site-header__toggle-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.gs-site-header__overlay[hidden] {
  display: none;
}

.gs-site-header__overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.28);
}

body.admin-bar .gs-site-header {
  top: 32px;
}

body.admin-bar .gs-site-header__overlay {
  top: 32px;
}

body.admin-bar .gs-site-header__drawer {
  top: 32px;
  height: calc(100vh - 32px);
}

@media (max-width: 782px) {
  body.admin-bar .gs-site-header {
    top: 46px;
  }

  body.admin-bar .gs-site-header__overlay {
    top: 46px;
  }

  body.admin-bar .gs-site-header__drawer {
    top: 46px;
    height: calc(100vh - 46px);
  }
}

.gs-site-header__drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(92vw, 380px);
  height: 100vh;
  padding: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.9) 100%);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  box-shadow: -20px 0 46px rgba(15, 23, 42, 0.14);
  transform: translateX(100%);
  transition: transform .22s ease;
}

.gs-site-header[data-drawer-open="true"] .gs-site-header__drawer {
  transform: translateX(0);
}

.gs-site-header__drawer-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gs-site-header__drawer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.gs-site-header__drawer-close {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 2rem;
  line-height: 1;
}

.gs-site-header__drawer-nav {
  overflow-y: auto;
}

.gs-site-header__drawer-menu {
  display: grid;
  gap: 6px;
}

.gs-site-header__drawer-menu > .menu-item > a,
.gs-site-header__drawer-menu .sub-menu a {
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 600;
}

.gs-site-header__drawer-menu .menu-item-has-children {
  position: relative;
}

.gs-site-header__drawer-menu .menu-item-has-children > a {
  padding-right: 48px;
}

.gs-site-header__drawer-submenu-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 36px;
  height: 36px;
  margin-top: -18px; /* Perfectly vertical centered */
  background: rgba(15, 23, 42, 0.04) !important; /* Soft elegant premium badge */
  border-radius: 50% !important; /* Perfect circle */
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--gs-color-neutral-900) !important;
  transition: background-color .25s ease, transform .25s ease;
  padding: 0 !important;
}

.gs-site-header__drawer-submenu-toggle:hover,
.gs-site-header__drawer-submenu-toggle:active {
  background: rgba(15, 23, 42, 0.08) !important; /* Darker on tap */
  transform: scale(1.05);
}

.gs-site-header__drawer-submenu-icon {
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px) translateX(-2px);
  transition: transform .3s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.gs-site-header__drawer-menu .menu-item-has-children.is-expanded > .gs-site-header__drawer-submenu-toggle .gs-site-header__drawer-submenu-icon {
  transform: rotate(225deg) translateY(-1px) translateX(-1px);
}

.gs-site-header__drawer-menu .sub-menu {
  margin-top: 6px;
  margin-left: 12px;
  display: none;
  gap: 6px;
}

.gs-site-header__drawer-menu .menu-item-has-children.is-expanded > .sub-menu {
  display: grid;
}

.gs-site-header__drawer-menu .sub-menu a {
  font-size: .94rem;
  font-weight: 600;
}

.gs-site-header__drawer-cta {
  width: 100%;
  margin-top: auto;
}

.menu-item--fallback span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px dashed rgba(22, 35, 55, 0.22);
  border-radius: 999px;
  color: rgba(22, 35, 55, 0.7);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
}

.gs-site-header__menu--empty,
.gs-site-header__drawer-menu:empty {
  display: none;
}

body.gs-site-header-lock {
  overflow: hidden;
}

@media (max-width: 1024px) {
  .gs-site-header__desktop {
    display: none;
  }

  .gs-site-header__toggle {
    display: inline-flex;
  }
}

@media (min-width: 1025px) {
  .gs-site-header__overlay,
  .gs-site-header__drawer {
    display: none;
  }
}

@media (max-width: 767px) {
  .gs-site-header__bar {
    padding-inline: 12px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .gs-site-header__inner {
    min-height: 72px;
    padding-inline: 18px;
    border-radius: 24px;
  }

  .gs-site-header__brand-link .custom-logo,
  .gs-site-header__drawer-brand .custom-logo {
    max-height: 42px;
  }
}
