body.fpcn-store-gsm { --fp-nav-accent: #15683f; --fp-nav-tint: #f0f5f1; }
body.fpcn-store-seats { --fp-nav-accent: #163c9f; --fp-nav-tint: #eff3fc; }
body.fpcn-store-brakes { --fp-nav-accent: #c0272d; --fp-nav-tint: #fdf0f1; }
.fp-nav-desktop { display: none; }
@media (min-width: 993px) {
  #site-navigation { position: relative !important; }
  #site-navigation .menu > li.full-width { position: static !important; }
  #site-navigation .menu > li.full-width > .sub-menu-wrapper {
    position: fixed !important; width: min(1800px, calc(100vw - 48px)) !important;
    max-width: none !important; min-width: 0 !important;
    left: 50% !important; right: auto !important; top: var(--fp-nav-top, 285px) !important;
    translate: -50% 0; max-height: calc(100dvh - var(--fp-nav-top, 285px) - 16px);
    overflow-y: auto; overscroll-behavior: contain; background: #fff;
  }
  #site-navigation .menu > li.full-width > .sub-menu-wrapper > .container {
    width: 100% !important; max-width: none !important;
    padding-inline: clamp(24px, 2.5vw, 48px) !important;
  }
  #site-navigation .menu > li.full-width > .sub-menu-wrapper > .container > .sub-menu { width: 100% !important; max-width: none !important; }
  /* Native category-driven fallback is available without the desktop enhancement. */
  #site-navigation .fp-nav-managed:not(.fp-nav-enhanced) > .sub-menu-wrapper > .container > .sub-menu {
    display: grid !important; position: static !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px;
    padding: 24px 0 !important; box-shadow: none !important;
  }
  #site-navigation .fp-nav-managed:not(.fp-nav-enhanced) .sub-menu li { float: none !important; width: auto !important; }
  #site-navigation .fp-nav-managed:not(.fp-nav-enhanced) .sub-menu li > .sub-menu-wrapper,
  #site-navigation .fp-nav-managed:not(.fp-nav-enhanced) .sub-menu .container,
  #site-navigation .fp-nav-managed:not(.fp-nav-enhanced) .sub-menu .sub-menu {
    display: block !important; position: static !important; height: auto !important; width: 100% !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important; padding: 0 !important; box-shadow: none !important;
  }
  #site-navigation .fp-nav-enhanced > .sub-menu-wrapper > .container { display: block !important; height: auto !important; padding-block: 20px !important; }
  #site-navigation .fp-nav-enhanced .fp-nav-native { display: none !important; }
  #site-navigation .fp-nav-desktop { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 32px; }
  #site-navigation .fp-nav-brands { display: flex; flex-direction: column; border-right: 1px solid #dce3df; padding-right: 24px; }
  #site-navigation .fp-nav-label { margin: 0 0 12px; font-size: 12px; line-height: 1.4; color: #52645a; text-transform: uppercase; letter-spacing: .07em; }
  #site-navigation .fp-nav-brand {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    border: 0; border-radius: 4px; background: transparent; box-shadow: none;
    color: #262d29; text-align: left; padding: 10px 12px; margin: 2px 0;
    font: inherit; font-size: 15px; line-height: 1.4; cursor: pointer;
    transition: color 140ms ease, background-color 140ms ease;
  }
  #site-navigation .fp-nav-brand:hover { background: var(--fp-nav-tint,#f0f5f1); color: var(--fp-nav-accent,#15683f); }
  #site-navigation .fp-nav-brand[aria-selected="true"] { background: var(--fp-nav-accent,#15683f); color: #fff; font-weight: 700; }
  #site-navigation .fp-nav-count { font-size: 12px; opacity: .8; }
  #site-navigation .fp-nav-panel { margin: 0; padding: 0; animation: fp-nav-enter 150ms ease-out; }
  #site-navigation .fp-nav-panel[hidden] { display: none !important; }
  #site-navigation .fp-nav-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-bottom: 1px solid #dce3df; padding-bottom: 14px; margin-bottom: 16px; }
  #site-navigation .fp-nav-heading { color: var(--fp-nav-accent,#15683f); font-size: 23px; line-height: 1.3; font-weight: 700; margin: 0; }
  #site-navigation .fp-nav-desktop .fp-nav-all { color: var(--fp-nav-accent,#15683f); font-size: 13px; line-height: 1.4; padding: 0; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
  #site-navigation .fp-nav-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px 12px; }
  #site-navigation .fp-nav-links-dense { grid-template-columns: repeat(4,minmax(0,1fr)); }
  #site-navigation .fp-nav-desktop .fp-nav-link,
  #site-navigation .fp-nav-desktop .fp-nav-feature {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    color: #2f3832; background: #fff; border: 1px solid #e2e8e4; border-radius: 4px;
    padding: 9px 12px; min-height: 44px; font-size: 14px; line-height: 1.4; font-weight: 400;
    white-space: normal; overflow-wrap: anywhere; text-decoration: none; height: 100%;
    transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
  }
  #site-navigation .fp-nav-desktop .fp-nav-link:hover,
  #site-navigation .fp-nav-desktop .fp-nav-feature:hover {
    color: var(--fp-nav-accent,#15683f); background: var(--fp-nav-tint,#f0f5f1); border-color: var(--fp-nav-accent,#15683f);
  }
  #site-navigation .fp-nav-arrow { color: var(--fp-nav-accent,#15683f); flex: 0 0 auto; transition: transform 140ms ease; }
  #site-navigation .fp-nav-link:hover .fp-nav-arrow { transform: translate(2px,-2px); }
  #site-navigation .fp-nav-desktop :is(a,button):focus-visible { outline: 2px solid var(--fp-nav-accent,#15683f); outline-offset: 2px; }
  #site-navigation .fp-nav-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
  #site-navigation .fp-nav-desktop .fp-nav-feature { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; font-weight: 600; }
  #site-navigation .fp-nav-feature img { grid-column: 1 / -1; width: 100%; max-height: 210px; height: 210px; object-fit: contain; margin: 0 0 12px; border-radius: 3px; }
  #site-navigation .fp-nav-enhanced:focus-within > .sub-menu-wrapper { opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important; }
  #site-navigation .menu > li.full-width.fp-nav-closed > .sub-menu-wrapper { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
}
@media (min-width: 993px) and (max-width: 1199px) {
  #site-navigation .fp-nav-desktop { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
  #site-navigation .fp-nav-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #site-navigation .fp-nav-features { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 1200px) and (max-width: 1399px), (min-width: 1200px) and (max-height: 850px) {
  #site-navigation .fp-nav-enhanced > .sub-menu-wrapper > .container { padding-block: 12px !important; }
  #site-navigation .fp-nav-brand { padding-block: 7px; margin-block: 1px; font-size: 14px; }
  #site-navigation .fp-nav-panel-head { margin-bottom: 10px; padding-bottom: 10px; }
  #site-navigation .fp-nav-heading { font-size: 21px; }
  #site-navigation .fp-nav-links { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px 8px; }
  #site-navigation .fp-nav-desktop .fp-nav-link { padding: 6px 8px; min-height: 34px; font-size: 14px; line-height: 1.35; gap: 8px; }
  #site-navigation .fp-nav-feature img { height: 170px; max-height: 170px; }
}
@media (prefers-reduced-motion: reduce) {
  #site-navigation .fp-nav-desktop * { animation: none !important; transition: none !important; }
}
@keyframes fp-nav-enter { from { opacity: .7; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
