/**
 * MerchFuse v1.15.14.5 — immediate header and mobile navigation recovery.
 *
 * One final contract for first paint, full viewport drawer geometry and nested
 * accordion placement. This file intentionally follows every historical layer.
 */


:root,
html:not([data-mf-theme]),
html[data-mf-theme="light"] {
  --mf-menu-panel:#f7f0e7;
  --mf-menu-card:#fffdf9;
  --mf-menu-ink:#1a1511;
  --mf-menu-text:#312922;
  --mf-menu-line:#cbbbaa;
  --mf-menu-hover:#fff0ed;
  --mf-ui-accent:#d92b22;
  --mf-ui-accent-hover:#b9231b;
}

html[data-mf-theme="dark"] {
  --mf-menu-panel:#15120f;
  --mf-menu-card:#1b1713;
  --mf-menu-ink:#faf3eb;
  --mf-menu-text:#f2e9df;
  --mf-menu-line:#493e35;
  --mf-menu-hover:#321815;
  --mf-ui-accent:#ff776d;
  --mf-ui-accent-hover:#ff9a93;
}

/* Header shell is stable immediately; it never waits for an interaction class. */
html[data-mf-theme] body.mf-site .mf-header,
html[data-mf-theme] body.mf-site .mf-header[data-sticky="true"],
html[data-mf-theme] body.mf-site .mf-header[data-sticky="false"] {
  position:sticky !important;
  top:0 !important;
  z-index:1000000 !important;
  min-height:82px !important;
  overflow:visible !important;
  contain:none !important;
  content-visibility:visible !important;
  isolation:isolate !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  background:#0d0d0d !important;
  color:#fff !important;
}

html[data-mf-theme] body.mf-site .mf-header,
html[data-mf-theme] body.mf-site .mf-header *,
html[data-mf-theme] body.mf-site .mf-header *::before,
html[data-mf-theme] body.mf-site .mf-header *::after {
  box-sizing:border-box !important;
}

html[data-mf-theme] body.mf-site .mf-header__inner {
  position:relative !important;
  z-index:2 !important;
  width:min(calc(100% - 32px),1760px) !important;
  max-width:1760px !important;
  min-width:0 !important;
  min-height:82px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(176px,218px) minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:clamp(14px,1.7vw,30px) !important;
  overflow:visible !important;
  background:#0d0d0d !important;
  color:#fff !important;
}

html[data-mf-theme] body.mf-site .mf-header__brand {
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-self:start !important;
  min-width:0 !important;
  max-width:218px !important;
}

html[data-mf-theme] body.mf-site .mf-header__brand img {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:218px !important;
  max-height:52px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

@media (min-width:1281px) {
  html[data-mf-theme] body.mf-site .mf-mobile-tools,
  html[data-mf-theme] body.mf-site .mf-menu-toggle,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-head,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-actions,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-utilities,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-backdrop {
    display:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav {
    grid-column:2 !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav > .mf-nav {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:clamp(4px,.55vw,11px) !important;
    list-style:none !important;
    background:transparent !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav > .mf-nav > li {
    position:relative !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:stretch !important;
    border:0 !important;
    background:transparent !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > a,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > a:visited {
    min-height:82px !important;
    padding:0 clamp(5px,.48vw,9px) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    background:transparent !important;
    color:#f7f4ef !important;
    -webkit-text-fill-color:#f7f4ef !important;
    font-size:clamp(10px,.7vw,12px) !important;
    font-weight:760 !important;
    line-height:1.12 !important;
    letter-spacing:.018em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > .mf-submenu-toggle {
    width:26px !important;
    min-width:26px !important;
    min-height:82px !important;
    margin:0 0 0 -6px !important;
    padding:0 !important;
    display:inline-grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#f7f4ef !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > .mf-submenu-toggle .mf-submenu-toggle__icon {
    width:7px !important;
    height:7px !important;
    display:block !important;
    border:0 !important;
    border-right:1.5px solid currentColor !important;
    border-bottom:1.5px solid currentColor !important;
    transform:rotate(45deg) translate(-1px,-1px) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__tools {
    grid-column:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    justify-self:end !important;
    gap:clamp(6px,.55vw,10px) !important;
    min-width:max-content !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
}

@media (min-width:1281px) and (max-width:1440px) {
  html[data-mf-theme] body.mf-site .mf-header__inner {
    grid-template-columns:minmax(144px,172px) minmax(0,1fr) auto !important;
    column-gap:10px !important;
  }
  html[data-mf-theme] body.mf-site .mf-header__brand,
  html[data-mf-theme] body.mf-site .mf-header__brand img { max-width:172px !important; }
  html[data-mf-theme] body.mf-site .mf-header__nav > .mf-nav { gap:2px !important; }
  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > a {
    padding-inline:4px !important;
    font-size:10px !important;
    letter-spacing:0 !important;
  }
  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > .mf-submenu-toggle {
    width:20px !important;
    min-width:20px !important;
    margin-left:-5px !important;
  }
}

/* Full-viewport mobile drawer: no exposed page strip above or beside it. */
@media (max-width:1280px) {
  html[data-mf-theme] body.mf-site .mf-header { min-height:72px !important; }

  html[data-mf-theme] body.mf-site .mf-header__inner {
    width:calc(100% - 20px) !important;
    max-width:none !important;
    min-height:72px !important;
    grid-template-columns:minmax(104px,1fr) auto 44px !important;
    grid-template-rows:72px !important;
    gap:5px !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__brand {
    grid-column:1 !important;
    grid-row:1 !important;
    max-width:172px !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__brand img {
    max-width:172px !important;
    max-height:43px !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__tools { display:none !important; }

  html[data-mf-theme] body.mf-site .mf-mobile-tools {
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-self:end !important;
    gap:5px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-menu-toggle {
    grid-column:3 !important;
    grid-row:1 !important;
    display:inline-grid !important;
    place-items:center !important;
    align-self:center !important;
    justify-self:end !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-backdrop {
    position:fixed !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(0,0,0,.52) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity 180ms ease,visibility 180ms ease !important;
    z-index:1000010 !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-backdrop[data-open="true"] {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav {
    position:fixed !important;
    inset:0 auto 0 0 !important;
    top:0 !important;
    right:auto !important;
    bottom:0 !important;
    left:0 !important;
    width:min(92vw,500px) !important;
    max-width:500px !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    border:0 !important;
    border-right:1px solid var(--mf-menu-line) !important;
    background:var(--mf-menu-panel) !important;
    color:var(--mf-menu-text) !important;
    box-shadow:0 22px 60px rgba(0,0,0,.32) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate3d(-102%,0,0) !important;
    transition:transform 230ms cubic-bezier(.22,1,.36,1),opacity 170ms ease,visibility 230ms ease !important;
    z-index:1000020 !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav[data-open="true"] {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-head {
    position:sticky !important;
    top:0 !important;
    z-index:20 !important;
    min-height:72px !important;
    padding:10px 16px !important;
    padding-top:max(10px,env(safe-area-inset-top)) !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) 48px !important;
    align-items:center !important;
    gap:10px !important;
    border:0 !important;
    border-bottom:1px solid var(--mf-menu-line) !important;
    background:var(--mf-menu-panel) !important;
    color:var(--mf-menu-ink) !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-head > span:nth-child(2) {
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close {
    position:relative !important;
    z-index:2 !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    display:inline-grid !important;
    place-items:center !important;
    border:1px solid var(--mf-menu-line) !important;
    border-radius:50% !important;
    background:var(--mf-menu-card) !important;
    color:var(--mf-menu-ink) !important;
    box-shadow:none !important;
    outline:0 !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close:focus-visible {
    border-color:var(--mf-ui-accent) !important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--mf-ui-accent) 20%,transparent) !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close__icon {
    position:relative !important;
    width:22px !important;
    height:22px !important;
    display:block !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close__icon > span {
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:22px !important;
    height:2px !important;
    border-radius:2px !important;
    background:currentColor !important;
    transform-origin:center !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close__icon > span:first-child {
    transform:translate(-50%,-50%) rotate(45deg) !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-close__icon > span:last-child {
    transform:translate(-50%,-50%) rotate(-45deg) !important;
  }


  html[data-mf-theme] body.mf-site .mf-nav {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:8px 16px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    overflow:visible !important;
    list-style:none !important;
    background:var(--mf-menu-panel) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav ul,
  html[data-mf-theme] body.mf-site .mf-header__nav li {
    list-style:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav > li,
  html[data-mf-theme] body.mf-site .mf-nav .menu-item {
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 48px !important;
    grid-auto-rows:max-content !important;
    align-items:center !important;
    overflow:visible !important;
    border:0 !important;
    border-bottom:1px solid var(--mf-menu-line) !important;
    background:transparent !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav > li:not(.menu-item-has-children),
  html[data-mf-theme] body.mf-site .mf-nav .sub-menu > li:not(.menu-item-has-children) {
    grid-template-columns:minmax(0,1fr) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > a,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav > li > a:visited {
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    min-height:64px !important;
    padding:15px 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow-wrap:anywhere !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle {
    grid-column:2 !important;
    grid-row:1 !important;
    position:relative !important;
    z-index:8 !important;
    align-self:center !important;
    justify-self:end !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    display:inline-grid !important;
    place-items:center !important;
    overflow:visible !important;
    border:1px solid transparent !important;
    border-radius:12px !important;
    background:transparent !important;
    color:var(--mf-menu-ink) !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle[aria-expanded="true"] {
    border-color:var(--mf-ui-accent) !important;
    background:var(--mf-menu-hover) !important;
    color:var(--mf-ui-accent-hover) !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle .mf-submenu-toggle__icon {
    position:relative !important;
    width:20px !important;
    height:20px !important;
    display:block !important;
    overflow:visible !important;
    border:0 !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle .mf-submenu-toggle__icon::before,
  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle .mf-submenu-toggle__icon::after {
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:18px !important;
    height:2px !important;
    border-radius:2px !important;
    background:currentColor !important;
    transform:translate(-50%,-50%) !important;
    transform-origin:center !important;
    transition:transform 170ms ease,opacity 140ms ease !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle .mf-submenu-toggle__icon::after {
    transform:translate(-50%,-50%) rotate(90deg) !important;
  }

  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle[aria-expanded="true"] .mf-submenu-toggle__icon::after {
    opacity:0 !important;
    transform:translate(-50%,-50%) rotate(0deg) !important;
  }


  /* Every direct child submenu owns the next grid row. This prevents an opened
     nested panel from painting over and cropping its own minus button. */
  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .menu-item > .sub-menu,
  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .menu-item > .sub-menu.mf-submenu--grid,
  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .menu-item > .sub-menu.mf-submenu--mega {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 0 12px 12px !important;
    display:none !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-rows:max-content !important;
    gap:4px !important;
    overflow:visible !important;
    border:0 !important;
    border-left:2px solid var(--mf-menu-line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .menu-item-has-children[data-expanded="true"] > .sub-menu {
    display:grid !important;
    animation:mfMobileSubmenuIn 170ms ease both !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .sub-menu > li,
  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .sub-menu .menu-item {
    grid-template-columns:minmax(0,1fr) 44px !important;
    grid-auto-rows:max-content !important;
    align-items:center !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .sub-menu a,
  html[data-mf-theme] body.mf-site .mf-header__nav .mf-nav .sub-menu a:visited {
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:48px !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-actions,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-utilities {
    position:relative !important;
    z-index:1 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  html[data-mf-theme] body.mf-site .mf-mobile-nav-utilities {
    padding-bottom:max(16px,env(safe-area-inset-bottom)) !important;
  }

  body.mf-site.mf-menu-is-open .mf-header__nav { touch-action:pan-y !important; }
}

@keyframes mfMobileSubmenuIn {
  from { opacity:0; transform:translateY(-4px); }
  to { opacity:1; transform:none; }
}

@media (max-width:640px) {
  html[data-mf-theme] body.mf-site .mf-header__nav {
    width:100vw !important;
    max-width:none !important;
    border-right:0 !important;
  }
  html[data-mf-theme] body.mf-site .mf-mobile-nav-head,
  html[data-mf-theme] body.mf-site .mf-nav,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-actions,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-utilities {
    padding-inline:12px !important;
  }
  html[data-mf-theme] body.mf-site .mf-mobile-nav-actions {
    grid-template-columns:1fr !important;
  }
}

@media (max-width:390px) {
  html[data-mf-theme] body.mf-site .mf-header__inner {
    width:calc(100% - 16px) !important;
    grid-template-columns:minmax(96px,1fr) auto 42px !important;
    gap:3px !important;
  }
  html[data-mf-theme] body.mf-site .mf-header__brand,
  html[data-mf-theme] body.mf-site .mf-header__brand img { max-width:150px !important; }
  html[data-mf-theme] body.mf-site .mf-header__brand img { max-height:39px !important; }
  html[data-mf-theme] body.mf-site .mf-mobile-nav-head > span:nth-child(2) {
    font-size:15px !important;
    letter-spacing:.04em !important;
  }
}


@media (pointer:coarse) {
  html[data-mf-theme] body.mf-site .mf-mobile-nav-close:focus,
  html[data-mf-theme] body.mf-site .mf-nav .menu-item > .mf-submenu-toggle:focus {
    outline:0 !important;
    box-shadow:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html[data-mf-theme] body.mf-site .mf-header__nav,
  html[data-mf-theme] body.mf-site .mf-mobile-nav-backdrop,
  html[data-mf-theme] body.mf-site .mf-header__nav .sub-menu {
    transition:none !important;
    animation:none !important;
  }
}
