/* One header and one disclosure system; no framework menu dependency. */
.storefront-v2 .service-bar { padding: 6px 16px; font-size: .6875rem; }
.storefront-v2 .site-header { background: #fff; backdrop-filter: none; top: 0; z-index: 60; }
.storefront-v2 .header-inner { height: var(--header-height); min-height: 0; display: flex; gap: clamp(12px,1.3vw,20px); padding-block: 0; }
.storefront-v2 .main-nav { display: flex; flex: 1; gap: clamp(12px,1.25vw,20px); align-items: center; justify-content: center; font-size: .8125rem; }
.storefront-v2 .main-nav > a { padding-block: 12px; }
.storefront-v2 .main-nav a[aria-current] { border-color: var(--red); }
.storefront-v2 .header-search-form { display: flex; position: relative; flex: 0 1 220px; min-width: 140px; max-width: 250px; margin: 0; border-radius: var(--radius); }
.storefront-v2 .header-search-form input { flex: 1; width: 100%; min-width: 0; height: 44px; padding: 0 12px; font-size: .8125rem; border-radius: var(--radius); }
.storefront-v2 .header-search-form > .header-search { flex: 0 0 44px; }
.storefront-v2 .header-search-form .header-search { width: 44px; height: 44px; }
.storefront-v2 .cart-pill { font-size: .6875rem; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; padding-inline: 10px; }
.storefront-v2 .account-link { font-size: .75rem; min-height: 44px; display: inline-flex; align-items: center; }
.storefront-v2 .menu-button { display: none; min-height: 44px; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; cursor: pointer; font-size: .8125rem; }
.storefront-v2 .context-bar { position: sticky; top: var(--header-height); flex-shrink: 0; background: #f0f2f3; color: var(--ink); z-index: 50; border-bottom: 1px solid #d3d9dd; }
.storefront-v2 .context-inner { display: flex; flex-direction: row; align-items: center; min-height: 48px; padding-block: 2px; gap: 16px; }
.storefront-v2 .context-inner .context-selection { display: flex; flex-direction: row; align-items: center; flex: 1; min-width: 0; gap: 12px; }
.storefront-v2 .context-selection strong { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8125rem; color: var(--ink); }
.storefront-v2 .context-selection .context-details { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; color: #4b565e; }
.storefront-v2 .context-selection .context-engine { color: #303b43; font-weight: 600; }
.storefront-v2 .context-inner .context-actions { display: flex; flex-direction: row; align-items: center; flex: none; gap: 8px; }
.storefront-v2 .context-actions form { margin: 0; }
.storefront-v2 .context-actions :is(a,button) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 4px 8px; border: 0; background: transparent; font: inherit; font-size: .8125rem; color: #273139; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.storefront-v2 .context-selection .context-generation { color: inherit; font-size: inherit; }
.storefront-v2 .context-actions button > span { color: inherit; font-size: inherit; }
.storefront-v2 .context-actions button { padding: 4px; text-decoration: none; font-size: 1.5rem; line-height: 1; }
.storefront-v2 .context-actions :is(a,button):hover { background: #e1e6e9; color: #981820; }
.vehicle-selector-current { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding: 12px 16px; background: #f0f2f3; border-left: 3px solid #8b959c; }
.vehicle-selector-current > div { display: flex; flex-wrap: wrap; align-items: baseline; min-width: 0; gap: 4px 12px; }
.vehicle-selector-current :is(span,small) { font-size: .8125rem; color: #4b565e; }
.vehicle-selector-current strong { font-size: .875rem; overflow-wrap: anywhere; }
.vehicle-selector-current small { flex-basis: 100%; }
.vehicle-selector-current form { flex: none; margin: 0; }
.vehicle-selector-current button { min-height: 44px; min-width: 44px; padding: 8px; color: #273139; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
@media(max-width:900px) { .storefront-v2 .context-generation { display: none; } }
.shop-menu > summary { list-style: none; display: flex; gap: 8px; align-items: center; min-height: 44px; padding: 8px 0; font-weight: 700; cursor: pointer; border-bottom: 2px solid transparent; }
.shop-menu > summary::-webkit-details-marker { display: none; }
.shop-menu > summary:after { content: '+'; font-size: 1rem; color: var(--red); }
.shop-menu[open] > summary:after { content: '−'; }
.shop-menu[open] > summary { border-color: var(--red); }
.shop-menu-panel { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100svh - var(--header-height) - 36px); overflow-y: auto; background: #fff; box-shadow: 0 14px 24px #17191c1a; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); animation: menu-reveal 160ms ease-out; }
.shop-menu-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 32px; padding-block: 28px; }
.shop-menu-group { display: flex; flex-direction: column; min-width: 0; }
.shop-menu-group h2 { font-size: .75rem; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin: 0 0 12px; }
.storefront-v2 .shop-menu-group a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border: 0; min-height: 44px; white-space: normal; font-size: .875rem; font-weight: 500; }
.storefront-v2 .shop-menu-group a:hover { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
.storefront-v2 a.shop-menu-all { font-weight: 700; color: var(--red); }
.shop-menu-context { background: var(--soft); border-top: 1px solid var(--line); }
.shop-menu-context > div { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 12px; font-size: .8125rem; }
.storefront-v2 .shop-menu-context a { padding: 8px 0; border: 0; min-height: 40px; }
.storefront-v2 .mobile-nav { display: none; position: absolute; inset: 100% 0 auto; margin: 0; padding: 0; max-height: calc(100svh - var(--header-height)); overflow-y: auto; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 14px 24px #17191c1a; animation: menu-reveal 160ms ease-out; }
.mobile-nav-inner { padding-block: 12px 24px; }
.mobile-nav details { border-bottom: 1px solid var(--line); }
.mobile-nav summary { cursor: pointer; display: flex; justify-content: space-between; padding: 16px 0; min-height: 52px; font-weight: 700; list-style: none; }
.mobile-nav summary:after { content: '+'; color: var(--red); }
.mobile-nav details[open] summary:after { content: '−'; }
.mobile-nav details > div { display: grid; padding: 0 16px 12px; }
.storefront-v2 .mobile-nav a { display: flex; align-items: center; padding: 12px 0; min-height: 44px; border: 0; font-size: .875rem; }
.mobile-nav-account { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 12px; }
.storefront-v2 .v2-search-results { top: calc(100% + 8px); right: 0; left: auto; width: 340px; max-width: calc(100vw - var(--gutter) * 2); max-height: 55svh; border-radius: var(--radius); padding: 16px; }
.storefront-v2 .v2-search-results a { min-height: 44px; display: flex; align-items: center; }
.search-feedback { margin: 0; line-height: 1.6; font-size: .875rem; color: var(--muted); }
.storefront-v2 .mobile-nav[hidden] { display: none; }
@keyframes menu-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:1279px) {
    .storefront-v2 .main-nav { display: none; }
    .storefront-v2 .menu-button { display: block; }
    .storefront-v2 .mobile-nav:not([hidden]) { display: block; }
    .storefront-v2 .header-search-form { flex: 1; max-width: none; }
}
@media(max-width:600px) {
    .storefront-v2 .header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto auto; grid-template-rows: 44px 44px; gap: 8px 10px; padding-block: 10px; height: var(--header-height); }
    .storefront-v2 .header-inner .brand { grid-row: 1; grid-column: 1; gap: 6px; }
    .storefront-v2 .header-inner .brand b { font-size: 25px; }
    .storefront-v2 .header-inner .brand span { font-size: 8px; }
    .storefront-v2 .header-inner .brand i { height: 26px; }
    .storefront-v2 .header-search-form { display: flex; grid-column: 1/-1; grid-row: 2; width: 100%; min-width: 0; }
    .storefront-v2 .header-inner > .account-link { display: none; }
    .storefront-v2 .cart-pill { grid-column: 2; grid-row: 1; font-size: .625rem; padding-inline: 8px; }
    .storefront-v2 .menu-button { grid-column: 3; grid-row: 1; }
    .storefront-v2 .context-inner { min-height: 56px; gap: 4px; padding-block: 4px; }
    .storefront-v2 .context-inner .context-selection { display: grid; gap: 1px; }
    .storefront-v2 .context-selection strong { font-size: .75rem; line-height: 1.4; }
    .storefront-v2 .context-selection .context-details { font-size: .6875rem; line-height: 1.4; }
    .storefront-v2 .context-inner .context-actions { gap: 0; }
    .storefront-v2 .context-actions a { padding-inline: 4px; font-size: .75rem; }
    .vehicle-selector-current { padding: 10px 12px; gap: 8px; }
    .storefront-v2 .v2-search-results { width: 100%; }
}
@media(max-width:360px) {
    .storefront-v2 .header-inner { column-gap: 6px; }
    .storefront-v2 .header-inner .brand { gap: 3px; }
    .storefront-v2 .header-inner .brand b { font-size: 20px; }
    .storefront-v2 .header-inner .brand span { font-size: 6px; }
    .storefront-v2 .cart-pill { font-size: .5625rem; padding-inline: 6px; }
}
@media(prefers-reduced-motion:reduce) { .shop-menu-panel,.storefront-v2 .mobile-nav { animation: none; } }
