/* Phase 27 — rebuilt responsive header and mobile navigation. */
:root{
  --sam-p16-header-h:84px;
  --sam-p27-header-h:84px;
  --sam-p27-announcement-h:0px;
  --sam-p27-admin-offset:0px;
  --sam-p27-accent:#ffb116;
  --sam-p27-panel:#0b0d12;
}
body.admin-bar{--sam-p27-admin-offset:32px}
body.sam-header-has-announcement{--sam-p27-announcement-h:34px;--sam-p16-header-h:118px}

/* Reset the legacy header layers and establish one predictable layout. */
body .sam-header-system{
  z-index:1200;
  width:100%;
  height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important;
  min-height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important;
  max-height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important;
  overflow:visible!important;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(8,9,13,.96);
  box-shadow:0 12px 34px rgba(0,0,0,.13);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  transform:none!important;
  isolation:isolate;
}
body .sam-header-system.is-transparent{
  position:absolute!important;
  inset:0 0 auto!important;
  top:0!important;
  background:linear-gradient(180deg,rgba(6,7,11,.96),rgba(6,7,11,.82));
}
body .sam-header-system.is-solid{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  background:rgba(11,12,17,.99);
}
body.sam-sticky-enabled .sam-header-system.is-stuck,
body .sam-header-system.is-stuck{
  position:fixed!important;
  inset:var(--sam-p27-admin-offset) 0 auto!important;
  top:var(--sam-p27-admin-offset)!important;
  background:rgba(7,8,12,.985)!important;
  border-bottom-color:rgba(255,255,255,.11);
  box-shadow:0 16px 42px rgba(0,0,0,.27)!important;
  animation:none!important;
}
body.admin-bar .sam-header-system.is-transparent{top:0!important}
body.admin-bar .sam-header-system.is-stuck{top:var(--sam-p27-admin-offset)!important}
body .sam-header-system + .sam-header-flow-spacer{height:0!important;min-height:0!important;max-height:0!important;display:none!important}
body .sam-header-system.is-solid.is-stuck + .sam-header-flow-spacer{display:block!important;height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important;min-height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important;max-height:calc(var(--sam-p27-header-h) + var(--sam-p27-announcement-h))!important}

body .sam-header-system .sam-header-inner{
  width:min(1360px,calc(100% - 42px));
  height:var(--sam-p27-header-h)!important;
  min-height:var(--sam-p27-header-h)!important;
  max-height:var(--sam-p27-header-h)!important;
  padding:0!important;
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(360px,1fr);
  align-items:center!important;
  gap:clamp(18px,2.2vw,38px);
}

/* Brand */
body .sam-header-system .sam-header-brand{
  justify-self:start;
  width:max-content;
  max-width:100%;
  gap:12px;
  min-width:0;
}
body .sam-header-system .sam-logo-mark{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  display:grid;
  place-items:center;
  padding:0!important;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
body .sam-header-system .sam-logo-mark .custom-logo-link{
  width:100%;height:100%;display:grid;place-items:center;
}
body .sam-header-system .sam-logo-mark img,
body .sam-header-system .sam-logo-mark .custom-logo{
  width:100%;height:100%;padding:0!important;border:0;border-radius:0;
  object-fit:contain;background:transparent!important;box-shadow:none!important;filter:none!important;
}
body .sam-header-system .sam-brand-copy{min-width:0}
body .sam-header-system .sam-brand-copy strong{
  color:#fff;
  font-size:clamp(1.05rem,1.35vw,1.3rem);
  line-height:1!important;
  letter-spacing:.035em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body .sam-header-system .sam-brand-copy small{
  max-width:230px;
  margin-top:6px;
  color:rgba(255,255,255,.52);
  font-size:.61rem;
  line-height:1.2!important;
  letter-spacing:.08em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Desktop navigation */
.sam-header-desktop-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  min-width:0;
}
.sam-header-desktop-nav .sam-nav{display:flex;align-items:center;min-width:0}
.sam-header-desktop-nav .sam-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  margin:0;
  padding:0;
  list-style:none;
  white-space:nowrap;
}
.sam-header-desktop-nav .sam-menu>li{flex:0 0 auto}
.sam-header-desktop-nav .sam-menu>li>a{
  padding:13px clamp(7px,.7vw,11px);
  color:rgba(255,255,255,.74);
  font-size:clamp(.68rem,.73vw,.79rem);
  line-height:1.1!important;
  letter-spacing:.058em;
}
.sam-header-desktop-nav .sam-menu>li>a:after{
  left:clamp(7px,.7vw,11px);
  right:clamp(7px,.7vw,11px);
  bottom:7px;
  height:2px;
  border-radius:99px;
}
.sam-header-desktop-nav .sam-menu>li>a:hover,
.sam-header-desktop-nav .sam-menu>.current-menu-item>a,
.sam-header-desktop-nav .sam-menu>.current-menu-ancestor>a{color:#fff}
.sam-header-desktop-nav .sam-menu .sub-menu{
  top:calc(100% + 9px);
  min-width:230px;
  padding:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:15px;
  background:rgba(12,14,20,.99);
  box-shadow:0 24px 60px rgba(0,0,0,.36);
}
.sam-header-desktop-nav .sam-menu .sub-menu:before{
  content:"";position:absolute;left:18px;top:-6px;width:11px;height:11px;
  border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);
  background:#0c0e14;transform:rotate(45deg);
}
.sam-header-desktop-nav .sam-menu .sub-menu a{
  padding:11px 12px;border-radius:9px;color:rgba(255,255,255,.72);font-size:.75rem;
}
.sam-header-desktop-nav .sam-menu .sub-menu a:hover{background:rgba(255,177,22,.1);color:#fff}

/* Desktop actions */
body .sam-header-system .sam-header-actions--desktop{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
  padding-left:14px;
  border-left:1px solid rgba(255,255,255,.1);
}
body .sam-header-system .sam-header-actions--desktop .sam-round-action,
body .sam-header-system .sam-header-actions--desktop .sam-header-cart,
body .sam-header-system .sam-header-actions--desktop .sam-header-order,
body .sam-header-system .sam-header-actions--desktop .sam-header-cta{
  height:44px;
  min-height:44px;
  border-radius:12px;
  clip-path:none!important;
}
body .sam-header-system .sam-header-actions--desktop .sam-round-action{
  width:44px;
  flex:0 0 44px;
}
body .sam-header-system .sam-header-actions--desktop .sam-header-cart{
  min-width:86px;
  padding:5px 10px 5px 6px;
}
body .sam-header-system .sam-header-actions--desktop .sam-header-cart__icon{width:32px;height:32px;border-radius:9px}
body .sam-header-system .sam-header-actions--desktop .sam-header-order{
  min-width:150px;
  padding:0 16px;
  font-size:.69rem;
}
body .sam-header-system .sam-header-actions--desktop .sam-header-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:94px;
  padding:0 16px;
  text-align:center!important;
  line-height:1!important;
  font-size:.7rem;
}
body .sam-header-system .sam-header-actions--desktop .sam-header-phone{display:none!important}

/* Mobile trigger */
body .sam-header-system .sam-menu-toggle{
  justify-self:end;
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  color:#fff;
  clip-path:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body .sam-header-system .sam-menu-toggle:hover,
body .sam-header-system .sam-menu-toggle:focus-visible{
  background:rgba(255,177,22,.12);
  border-color:rgba(255,177,22,.5);
  outline:none;
}
.sam-menu-toggle__icon{display:grid;width:21px;gap:5px}
.sam-menu-toggle__icon i{display:block;width:21px;height:2px;border-radius:99px;background:currentColor;transition:transform .22s ease,opacity .18s ease,width .22s ease}
.sam-menu-toggle__icon i:nth-child(2){width:15px;justify-self:end}
.sam-menu-toggle[aria-expanded="true"] .sam-menu-toggle__icon i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.sam-menu-toggle[aria-expanded="true"] .sam-menu-toggle__icon i:nth-child(2){opacity:0;width:0}
.sam-menu-toggle[aria-expanded="true"] .sam-menu-toggle__icon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile off-canvas navigation */
.sam-mobile-nav{
  position:fixed!important;
  z-index:1300;
  inset:var(--sam-p27-admin-offset) 0 0!important;
  top:var(--sam-p27-admin-offset)!important;
  display:block;
  height:calc(100dvh - var(--sam-p27-admin-offset))!important;
  max-height:none!important;
  pointer-events:none;
  visibility:hidden;
}
.sam-mobile-nav[aria-hidden="false"]{pointer-events:auto;visibility:visible}
.sam-mobile-nav__backdrop{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  padding:0;border:0;
  background:rgba(2,3,6,.66);
  opacity:0;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  cursor:pointer;
  transition:opacity .26s ease;
}
.sam-mobile-nav__panel{
  position:absolute;
  inset:0 0 0 auto;
  display:flex;
  flex-direction:column;
  width:min(430px,92vw);
  height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  background:
    radial-gradient(circle at 100% 0,rgba(255,177,22,.12),transparent 28%),
    linear-gradient(180deg,#11141b 0%,#0a0c11 100%);
  border-left:1px solid rgba(255,255,255,.09);
  box-shadow:-28px 0 80px rgba(0,0,0,.42);
  transform:translate3d(104%,0,0);
  transition:transform .3s cubic-bezier(.22,.72,.2,1);
}
.sam-mobile-nav[aria-hidden="false"] .sam-mobile-nav__backdrop{opacity:1}
.sam-mobile-nav[aria-hidden="false"] .sam-mobile-nav__panel{transform:translate3d(0,0,0)}
.sam-mobile-nav__head{
  position:sticky;
  z-index:2;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:82px;
  padding:14px 16px 14px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(13,15,21,.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.sam-mobile-nav__brand{display:flex;align-items:center;gap:11px;min-width:0}
.sam-mobile-nav__brand .sam-logo-mark{width:46px!important;height:46px!important;flex-basis:46px!important}
.sam-mobile-nav__brand>span:last-child{display:grid;min-width:0}
.sam-mobile-nav__brand strong{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;
  font:800 1.05rem/1 "Barlow Condensed",Impact,sans-serif;letter-spacing:.035em;text-transform:uppercase;
}
.sam-mobile-nav__brand small{
  margin-top:5px;color:rgba(255,255,255,.44);font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
}
.sam-mobile-nav__close{
  display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;
  border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;
}
.sam-mobile-nav__close span{font-size:1.8rem;line-height:1;transform:translateY(-1px)}
.sam-mobile-nav__close:hover,.sam-mobile-nav__close:focus-visible{background:rgba(255,177,22,.13);border-color:rgba(255,177,22,.48);outline:none}
.sam-mobile-nav__menu{padding:18px 20px 12px}
.sam-menu--mobile{
  display:flex!important;
  flex-direction:column;
  align-items:stretch!important;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  white-space:normal!important;
}
.sam-menu--mobile>li{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.sam-menu--mobile>li>a{
  grid-column:1;
  display:flex;
  align-items:center;
  min-height:58px;
  padding:13px 4px!important;
  color:rgba(255,255,255,.8);
  font-size:1.02rem!important;
  line-height:1.25!important;
  letter-spacing:.075em!important;
  white-space:normal!important;
}
.sam-menu--mobile>li>a:after{left:4px!important;right:auto!important;bottom:8px!important;width:34px!important}
.sam-menu--mobile>.current-menu-item>a,
.sam-menu--mobile>.current-menu-ancestor>a,
.sam-menu--mobile>li>a:hover{color:#fff}
.sam-menu--mobile .sam-menu-contact-item{display:grid!important}
.sam-menu--mobile>li>a[href*="/contact"]{display:flex!important}
.sam-submenu-toggle{
  grid-column:2;
  align-self:center;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-left:10px;
  padding:0;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.72);
  cursor:pointer;
}
.sam-submenu-toggle:before,.sam-submenu-toggle:after{
  content:"";position:absolute;width:12px;height:2px;border-radius:99px;background:currentColor;transition:transform .2s ease;
}
.sam-submenu-toggle:after{transform:rotate(90deg)}
.sam-submenu-toggle[aria-expanded="true"]:after{transform:rotate(0)}
.sam-submenu-toggle:hover,.sam-submenu-toggle:focus-visible{color:#111;background:var(--sam-p27-accent);border-color:var(--sam-p27-accent);outline:none}
.sam-menu--mobile .sub-menu{
  position:static!important;
  grid-column:1/-1;
  width:100%;
  min-width:0!important;
  margin:0 0 12px!important;
  padding:8px!important;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  list-style:none;
}
.sam-menu--mobile .sub-menu[hidden]{display:none!important}
.sam-menu--mobile .sub-menu li{display:block}
.sam-menu--mobile .sub-menu a{
  display:block;
  padding:10px 11px!important;
  border-radius:8px;
  color:rgba(255,255,255,.63);
  font-size:.88rem!important;
  line-height:1.4!important;
  letter-spacing:.045em!important;
}
.sam-menu--mobile .sub-menu a:after{display:none}
.sam-menu--mobile .sub-menu a:hover{background:rgba(255,177,22,.09);color:#fff}

body .sam-header-system .sam-header-actions--mobile{
  display:grid;
  grid-template-columns:48px 48px minmax(0,1fr);
  gap:9px;
  margin:auto 20px 0;
  padding:20px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
body .sam-header-system .sam-header-actions--mobile>*{
  height:48px;
  min-height:48px;
  border-radius:12px;
  clip-path:none!important;
}
body .sam-header-system .sam-header-actions--mobile>a,
body .sam-header-system .sam-header-actions--mobile>button{align-items:center;justify-content:center;text-align:center}
body .sam-header-system .sam-header-actions--mobile .sam-round-action{display:grid!important;width:48px!important}
body .sam-header-system .sam-header-actions--mobile .sam-header-cart{display:flex!important;min-width:48px!important;width:48px!important;padding:7px!important;border-radius:12px!important}
body .sam-header-system .sam-header-actions--mobile .sam-header-cart__icon{width:32px;height:32px;border-radius:9px}
body .sam-header-system .sam-header-actions--mobile .sam-header-cart__copy{display:none!important}
body .sam-header-system .sam-header-actions--mobile .sam-header-order{display:flex!important;grid-column:3;min-width:0!important;padding:0 12px!important;font-size:.67rem!important}
body .sam-header-system .sam-header-actions--mobile .sam-header-cta{display:flex!important;align-items:center!important;justify-content:center!important;grid-column:1/-1;width:100%;min-width:0!important;padding:0 16px!important;text-align:center!important;line-height:1!important;font-size:.78rem!important}
body .sam-header-system .sam-header-actions--mobile .sam-header-phone{
  grid-column:1/-1;display:flex!important;min-height:54px;height:auto;padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.035)
}
body .sam-header-system .sam-header-actions--mobile .sam-phone-copy{display:block!important}
.sam-mobile-nav__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px 22px;
  color:rgba(255,255,255,.38);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sam-mobile-nav__footer a{color:var(--sam-p27-accent)}

body.sam-mobile-menu-open{overflow:hidden!important;overscroll-behavior:none}

@media(max-width:1280px){
  body .sam-header-system .sam-header-inner{grid-template-columns:minmax(205px,.8fr) auto minmax(305px,.8fr);gap:18px}
  body .sam-header-system .sam-brand-copy small{display:none}
  body .sam-header-system .sam-header-actions--desktop .sam-header-order{min-width:132px;padding-inline:12px;font-size:.64rem}
  body .sam-header-system .sam-header-actions--desktop .sam-header-cta{min-width:82px;padding-inline:12px;font-size:.65rem}
  body .sam-header-system .sam-header-actions--desktop .sam-header-cart{min-width:46px;padding:6px}
  body .sam-header-system .sam-header-actions--desktop .sam-header-cart__copy{display:none}
  .sam-header-desktop-nav .sam-menu>li>a{padding-inline:6px;font-size:.68rem}
}

@media(max-width:1120px){
  body .sam-header-system .sam-header-actions--desktop .sam-header-order{display:none!important}
  body .sam-header-system .sam-header-inner{grid-template-columns:minmax(195px,.9fr) auto minmax(190px,.9fr)}
}

@media(max-width:1024px){
  :root{--sam-p16-header-h:76px;--sam-p27-header-h:76px}
  body.sam-header-has-announcement{--sam-p16-header-h:110px}
  body .sam-header-system .sam-header-inner{
    width:min(100% - 24px,1360px);
    grid-template-columns:minmax(0,1fr) auto;
    gap:16px;
  }
  body .sam-header-system .sam-logo-mark{width:48px!important;height:48px!important;flex-basis:48px!important}
  body .sam-header-system .sam-brand-copy strong{font-size:1.08rem}
  body .sam-header-system .sam-brand-copy small{display:none}
  .sam-header-desktop-nav,
  body .sam-header-system .sam-header-actions--desktop{display:none!important}
  body .sam-header-system .sam-menu-toggle{display:flex!important;align-items:center;justify-content:center}
}

@media(max-width:782px){body.admin-bar{--sam-p27-admin-offset:46px}}

@media(max-width:560px){
  :root{--sam-p16-header-h:72px;--sam-p27-header-h:72px}
  body.sam-header-has-announcement{--sam-p16-header-h:106px}
  body .sam-header-system .sam-header-inner{width:calc(100% - 18px);gap:10px}
  body .sam-header-system .sam-logo-mark{width:44px!important;height:44px!important;flex-basis:44px!important}
  body .sam-header-system .sam-header-brand{gap:9px;max-width:calc(100vw - 82px)}
  body .sam-header-system .sam-brand-copy strong{font-size:.96rem;max-width:190px}
  body .sam-header-system .sam-menu-toggle{width:44px;height:44px;border-radius:12px}
  .sam-mobile-nav__panel{width:100vw}
  .sam-mobile-nav__head{min-height:74px;padding:12px 12px 12px 16px}
  .sam-mobile-nav__menu{padding:14px 16px 10px}
  .sam-menu--mobile>li>a{min-height:62px;font-size:1.06rem!important;letter-spacing:.06em!important}
  .sam-menu--mobile .sub-menu a{font-size:.91rem!important}
  body .sam-header-system .sam-header-actions--mobile{margin-inline:16px}
  .sam-mobile-nav__footer{padding-inline:16px}
}

@media(max-width:380px){
  body .sam-header-system .sam-brand-copy{display:none}
  body .sam-header-system .sam-header-actions--mobile{grid-template-columns:46px 46px minmax(0,1fr)}
}

@media(prefers-reduced-motion:reduce){
  .sam-mobile-nav__panel,.sam-mobile-nav__backdrop,.sam-menu-toggle__icon i{transition:none!important}
}
