/* Shared public-page navigation, matching the home hero's menus. */
.product-site-header { position: relative; z-index: 20; background: #fff; }
.product-site-header__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(calc(100% - 64px), 1488px); min-height: 80px; margin-inline: auto; font-family: 'Norcred Display', Arial, sans-serif; }
.product-site-header .brand { display: block; flex: none; width: clamp(176px, 19vw, 264px); padding: 5px 4px; border: 3px solid transparent; transition: border-color 180ms ease; }
.product-site-header .brand:is(:hover, :focus-visible) { border-color: #a17739; outline: none; }
.product-site-header .main-nav { display: flex; align-items: center; gap: clamp(16px, 2.6vw, 40px); }
.product-site-header .main-nav__item { position: relative; display: flex; align-items: center; }
.product-site-header .main-nav__link { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: #585e65; font-size: clamp(16px, 1.2vw, 20px); line-height: 1.5; white-space: nowrap; }
.product-site-header .main-nav__link::after { content: ''; position: absolute; height: 2px; inset: auto 0 0; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
.product-site-header .main-nav__link:is(:hover, :focus-visible, .is-active), .product-site-header .main-nav__item.is-open > :is(.main-nav__link, .main-nav__submenu-toggle) { color: #082d52; }
.product-site-header .main-nav__link:is(:hover, :focus-visible, .is-active)::after, .product-site-header .main-nav__item.is-open > .main-nav__link::after { transform: scaleX(1); }
.product-site-header button { font: inherit; }
.product-site-header .main-nav__submenu-toggle { display: grid; place-items: center; width: 30px; min-height: 44px; margin-left: 2px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #585e65; cursor: pointer; transition: background 220ms ease; }
.product-site-header .main-nav__submenu-toggle span { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 220ms ease; }
.product-site-header .main-nav__submenu-toggle[aria-expanded='true'] span { transform: translateY(2px) rotate(225deg); }
.product-site-header .main-nav__submenu-toggle:is(:hover, :focus-visible) { background: #e4ebf1; }
.product-site-header .main-nav__submenu { position: absolute; z-index: 4; top: calc(100% - 2px); left: -12px; display: grid; min-width: 304px; padding: 7px; border: 1px solid #cbd3d9; border-radius: 14px; background: linear-gradient(145deg, #fff, #eff4f6); box-shadow: 0 20px 48px rgb(20 43 65 / .16), 0 2px 6px rgb(20 43 65 / .06); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px) scale(.96); transform-origin: top left; transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear 220ms; }
.product-site-header .main-nav__item.is-open .main-nav__submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.product-site-header .main-nav__submenu a { display: flex; align-items: center; gap: 16px; min-height: 46px; padding: 11px 13px; border: 1px solid transparent; border-radius: 10px; color: #082d52; font-size: 14px; line-height: 1.35; transition: background 180ms ease, border-color 180ms ease; }
.product-site-header .main-nav__submenu a::before { content: ''; width: 6px; height: 6px; flex: none; border: 1.5px solid #a88a4d; border-radius: 50%; }
.product-site-header .main-nav__submenu a::after { content: '→'; margin-left: auto; color: #80683f; opacity: 0; transform: translateX(-4px); transition: opacity 180ms ease, transform 180ms ease; }
.product-site-header .main-nav__submenu a:is(:hover, :focus-visible, [aria-current='page']) { border-color: #d1dce4; background: #fff; }
.product-site-header .main-nav__submenu a:is(:hover, :focus-visible, [aria-current='page'])::before { background: #a88a4d; }
.product-site-header .main-nav__submenu a:is(:hover, :focus-visible)::after { opacity: 1; transform: none; }
.product-site-header .menu-toggle { display: none; }
.product-site-header :is(button, .main-nav a):focus-visible { outline: 3px solid #9a722e; outline-offset: 3px; }

@media (max-width: 1023px) {
  .product-site-header__inner { width: calc(100% - 40px); min-height: 72px; }
  .product-site-header .brand { width: 200px; max-width: calc(100% - 68px); }
  .product-site-header .menu-toggle { display: grid; place-content: center; gap: 4.5px; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #bcc9d6; border-radius: 8px; background: #fff; color: #082d52; cursor: pointer; }
  .product-site-header .menu-toggle span { display: block; width: 20px; height: 1.5px; background: currentColor; transition: transform 220ms ease, opacity 220ms ease; }
  .product-site-header .menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(6px) rotate(45deg); }
  .product-site-header .menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
  .product-site-header .menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-6px) rotate(-45deg); }
  .product-site-header .main-nav { display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; max-height: calc(100svh - 96px); overflow-y: auto; padding: 8px 18px; border: 1px solid #d9dbdd; border-radius: 12px; background: #f4f4f2; box-shadow: 0 16px 40px rgb(20 43 65 / .1); }
  .product-site-header .main-nav.is-open { display: flex; }
  .product-site-header .main-nav > :not(:first-child) { border-top: 1px solid #dcdedf; }
  .product-site-header .main-nav__item { flex-wrap: wrap; }
  .product-site-header .main-nav__item > .main-nav__link { flex: 1; }
  .product-site-header .main-nav__link { min-height: 50px; font-size: 16px; }
  .product-site-header .main-nav__link::after { display: none; }
  .product-site-header .main-nav__submenu-toggle { width: 44px; margin: 0; }
  .product-site-header .main-nav__submenu { position: static; flex-basis: 100%; min-width: 0; max-height: 0; margin: 0; padding: 0; overflow: hidden; border: 0; border-left: 2px solid transparent; border-radius: 0; background: #e9eef2; box-shadow: none; opacity: 0; visibility: hidden; pointer-events: none; transform: none; transition: max-height 220ms ease, padding 220ms ease, opacity 180ms ease; }
  .product-site-header .main-nav__item.is-open .main-nav__submenu { max-height: 320px; margin-bottom: 10px; padding: 5px; border-left-color: #b6975a; }
}
@media (prefers-reduced-motion: reduce) {
  .product-site-header *, .product-site-header *::before, .product-site-header *::after { transition: none !important; }
}
