/* Header — dealer.international. Depends on: dealer-components. */

:root {
    --header-row-height: 70px;
    --dealer-header-offset: var(--header-row-height);
    --dealer-scrollbar-compensation: 0px;
    --header-shell-padding: var(--padding-mobile);
    --header-search-width: 185px;
    --header-search-width-desktop: 250px;
    --header-search-height: 30px;
    --header-search-height-desktop: 30px;
    --header-search-radius: 20px;
    --header-search-submit-size: 20px;
    --header-search-gap: 6px;
    --header-search-padding-y: 0px;
    --header-search-padding-x: 15px;
    --header-logo-width: 150px;
    --header-logo-width-tablet: 185px;
    --header-icon-size: 20px;
    --header-search-mobile-icon-size: 20px;
    --header-icon-touch: 40px;
    --header-control-radius: 999px;
    --header-dots-size: 30px;
    --header-inner-gap-mobile: 16px;
    --header-inner-gap-desktop: 32px;
    --header-left-gap-mobile: 5px;
    --header-left-gap-tablet: 20px;
    --header-left-gap-desktop: 40px;
    --header-right-gap: 5px;
    --header-cart-badge-offset-top: 4px;
    --header-cart-badge-offset-right: 2px;
    --header-cart-badge-min-width: 16px;
    --header-cart-badge-height: 16px;
    --header-cart-badge-padding-inline: 4px;
    --header-cart-badge-radius: 8px;
    --header-cart-badge-font-size: 10px;
    --desktop-menu-width-collapsed: 557px;
    --desktop-menu-width-expanded: 1114px;
    --desktop-menu-min-height: 680px;
    --header-panel-surface: var(--color-white);
    --header-panel-radius: 10px;
    --header-panel-header-height: 44px;
    --header-panel-header-padding-inline: 20px;
    --header-panel-body-padding-top: 20px;
    --header-panel-body-padding-x: 20px;
    --header-panel-body-padding-bottom: 24px;
    --header-panel-title-size: var(--font-size-small);
    --header-panel-title-weight: var(--font-weight-medium);
    --header-panel-title-color: var(--color-black);
    --header-titlebar-height: var(--header-panel-header-height);
    --header-titlebar-padding-inline: var(--header-panel-header-padding-inline);
    --header-menu-radius: var(--header-panel-radius);
    --header-menu-offset-y: 0px;
    --header-menu-open-shift: 8px;
    --header-menu-padding-y: 20px;
    --header-menu-padding-inline-min: 28px;
    --header-menu-padding-inline-max: 72px;
    --header-menu-item-padding-y: 7px;
    --header-menu-footer-padding-top: 24px;
    --header-menu-footer-padding-x: var(--header-panel-body-padding-x);
    --header-menu-footer-padding-bottom: 24px;
    --header-menu-footer-gap: 5px;
    --header-chevron-size: 8px;
    --header-chevron-gap: 10px;
    --header-chevron-stroke: 1.5px;
    --header-fullscreen-body-padding-top: var(--header-panel-body-padding-top);
    --header-fullscreen-body-padding-x: var(--header-panel-body-padding-x);
    --header-fullscreen-body-padding-bottom: var(--header-panel-body-padding-bottom);
    --header-fullscreen-link-padding-y: 10px;
    --header-account-gap: 10px;
    --header-account-icon-box: 20px;
    --header-account-icon-size: 20px;
    --search-screen-header-height: var(--header-panel-header-height);
    --search-screen-form-height: 50px;
    --search-screen-padding: var(--header-panel-body-padding-x);
    --search-screen-radius: 25px;
    --search-screen-input-padding-start: 20px;
    --search-screen-input-padding-end: 50px;
    --search-screen-submit-offset: 12px;
    --search-screen-submit-size: 32px;
    --search-screen-icon-size: 20px;
    --header-scroll-hint-height: 44px;
    --header-scroll-hint-arrow-size: 10px;
    --header-scroll-hint-arrow-stroke: 1.5px;
    --header-scroll-hint-arrow-color: rgba(0, 0, 0, 0.35);
    --header-scroll-hint-fade: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.96));
    --header-control-hover-bg: rgba(255, 255, 255, 0.08);
    --header-search-border: rgba(255, 255, 255, 0.42);
    --header-search-surface: rgba(181, 181, 181, 0.82);
    --header-search-surface-active: rgba(192, 192, 192, 0.9);
    --header-search-border-active: rgba(255, 255, 255, 0.62);
    --header-search-text: rgba(255, 255, 255, 0.88);
    --header-search-placeholder: rgba(255, 255, 255, 0.56);
    --header-panel-titlebar-bg: rgba(0, 0, 0, 0.18);
    --header-panel-shadow: 4px 4px 20px rgba(0, 0, 0, 0.15);
    --header-border-subtle: rgba(0, 0, 0, 0.08);
    --header-border-strong: rgba(0, 0, 0, 0.1);
    --header-text-muted: rgba(0, 0, 0, 0.7);
    --header-text-faint: rgba(0, 0, 0, 0.4);
    --header-search-screen-border: rgba(255, 255, 255, 0.72);
    --header-search-screen-surface: #b7b7b7;
    --header-search-screen-surface-active: #bebebe;
    --header-search-screen-placeholder: rgba(255, 255, 255, 0.55);
    --header-overlay-bg: rgba(0, 0, 0, 0.4);
}

/* Reset Storefront header wrapper */
#masthead.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-header);
    box-sizing: border-box;
    padding-top: 0;
    padding-inline-end: var(--dealer-scrollbar-compensation);
    padding-bottom: 0;
    background: transparent;
    border-bottom: 0;
    margin-bottom: 0;
}

/*
 * The header is fixed, while Storefront can render before-content output
 * (breadcrumbs, widget regions) before #content. Keep the offset on the
 * normal-flow site wrapper so every sibling below the fixed header starts
 * below it.
 */
#page.site {
    padding-top: var(--dealer-header-offset);
}

#content.site-content {
    padding-top: 0;
}

body.admin-bar #masthead.site-header {
    top: 32px;
}

.dealer-header {
    position: relative;
    z-index: var(--z-header);
    background-color: var(--color-header);
}

.dealer-header__shell {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--header-shell-padding);
}

.dealer-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    min-height: var(--header-row-height);
    column-gap: var(--header-inner-gap-mobile);
}

.dealer-header__left,
.dealer-header__right {
    display: flex;
    align-items: center;
    min-width: 0;
}

.dealer-header__left {
    justify-self: start;
    gap: var(--header-left-gap-mobile);
}

.dealer-header__right {
    justify-self: end;
    gap: var(--header-right-gap);
}

.dealer-header__logo {
    display: flex;
    align-items: center;
    justify-self: center;
    text-decoration: none;
}

.dealer-header__logo-svg svg {
    display: block;
    width: var(--header-logo-width);
    height: auto;
}

.dealer-header__dots,
.dealer-header__search-mobile,
.dealer-header__icon,
.dealer-menu__close,
.dealer-menu-mobile__back,
.dealer-cart-drawer__close,
.dealer-search-screen__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--header-icon-touch);
    height: var(--header-icon-touch);
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
    border-radius: var(--header-control-radius);
}

.dealer-header__dots,
.dealer-header__search-mobile,
.dealer-header__cart {
    color: var(--color-white);
}

.dealer-header__dots-icon svg {
    display: block;
    width: var(--header-dots-size);
    height: var(--header-dots-size);
}

.dealer-header__icon {
    position: relative;
    color: var(--color-white);
}

.dealer-header__icon-svg svg,
.dealer-header__search-icon svg {
    display: block;
    width: var(--header-icon-size);
    height: var(--header-icon-size);
}

.dealer-header__search-mobile-icon svg {
    display: block;
    width: var(--header-search-mobile-icon-size);
    height: var(--header-search-mobile-icon-size);
}

.dealer-header__account {
    display: none;
}

.dealer-header__dots,
.dealer-header__search-mobile,
a.dealer-header__icon,
button.dealer-header__icon {
    transition:
        background-color var(--motion-duration-fast) var(--motion-ease-standard),
        transform var(--motion-duration-fast) var(--motion-ease-standard),
        opacity var(--motion-duration-fast) var(--motion-ease-standard);
}

.dealer-header__dots:hover,
.dealer-header__search-mobile:hover,
a.dealer-header__icon:hover,
button.dealer-header__icon:hover {
    background-color: var(--header-control-hover-bg);
}

.dealer-header__dots:active,
.dealer-header__search-mobile:active,
a.dealer-header__icon:active,
button.dealer-header__icon:active {
    transform: scale(0.97);
}

body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__dots:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__search-mobile:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__icon:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__search-submit:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__logo:focus {
    outline: var(--focus-outline-width) solid var(--color-white);
    outline-offset: var(--focus-outline-offset);
}

.dealer-header__cart-badge {
    position: absolute;
    top: var(--header-cart-badge-offset-top);
    right: var(--header-cart-badge-offset-right);
    min-width: var(--header-cart-badge-min-width);
    height: var(--header-cart-badge-height);
    padding-inline: var(--header-cart-badge-padding-inline);
    border-radius: var(--header-cart-badge-radius);
    background-color: var(--color-primary);
    color: var(--color-white);
    font-family: var(--font-family);
    font-size: var(--header-cart-badge-font-size);
    font-weight: var(--font-weight-medium);
    line-height: var(--header-cart-badge-height);
    text-align: center;
}

/* Search */
.dealer-header__search-desktop {
    display: none;
}

.dealer-header__search-form {
    display: flex;
    align-items: center;
    gap: var(--header-search-gap);
    width: var(--header-search-width);
    height: var(--header-search-height);
    margin: 0;
    padding: var(--header-search-padding-y) var(--header-search-padding-x);
    box-sizing: border-box;
    border: 0px;
    border-radius: var(--header-search-radius);
    background-color: var(--header-search-surface);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    overflow: hidden;
}

/* Neutralize the shared form-control skin so header search renders as one control. */
form.dealer-header__search-form .dealer-header__search-input {
    display: block;
    flex: 1 1 auto;
    width: auto;
    height: auto;
    min-height: 0;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    background-image: none;
    color: var(--header-search-text);
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: var(--font-weight-light);
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
}

form.dealer-header__search-form .dealer-header__search-input:focus {
    border: 0;
    background: transparent;
    outline: none;
    box-shadow: none;
}

form.dealer-header__search-form .dealer-header__search-input::placeholder {
    color: var(--header-search-placeholder);
}

.dealer-header__search-submit {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: var(--header-search-submit-size);
    height: var(--header-search-submit-size);
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.dealer-header__search-submit:hover {
    background: transparent;
}

.dealer-header__search-form:focus-within {
    border-color: var(--header-search-border-active);
    background: var(--header-search-surface-active);
}

body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-header__search-form:focus-within {
    outline: var(--focus-outline-width) solid var(--color-white);
    outline-offset: var(--focus-outline-offset);
}

.dealer-header__search-icon svg {
    filter: none;
    opacity: 1;
}

/* Panel family - shared visual language for menu, cart, and search. */
.dealer-menu--desktop,
.dealer-menu--fullscreen,
.dealer-cart-drawer,
.dealer-search-screen {
    background-color: var(--header-panel-surface);
}

.dealer-menu__title-bar,
.dealer-cart-drawer__header,
.dealer-search-screen__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--header-panel-header-height);
    padding-inline: var(--header-panel-header-padding-inline);
    background-color: var(--header-panel-titlebar-bg);
    flex-shrink: 0;
}

.dealer-menu__title,
.dealer-cart-drawer__title,
.dealer-search-screen__title {
    font-family: var(--font-family);
    font-size: var(--header-panel-title-size);
    font-weight: var(--header-panel-title-weight);
    color: var(--header-panel-title-color);
}

/* Desktop menu */
.dealer-menu--desktop {
    position: absolute;
    top: calc(100% + var(--header-menu-offset-y));
    left: 0;
    z-index: var(--z-menu);
    display: flex;
    flex-direction: column;
    width: min(var(--desktop-menu-width-collapsed), calc(100vw - (var(--header-shell-padding) * 2)));
    min-height: min(var(--desktop-menu-min-height), calc(100vh - var(--header-row-height) - var(--padding-tablet)));
    max-height: calc(100vh - var(--header-row-height) - var(--padding-tablet));
    border-radius: 0 0 var(--header-menu-radius) var(--header-menu-radius);
    box-shadow: var(--header-panel-shadow);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(var(--header-menu-open-shift));
    overflow: hidden;
}

.dealer-menu--desktop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.dealer-menu--desktop.has-submenu {
    width: min(var(--desktop-menu-width-expanded), calc(100vw - (var(--header-shell-padding) * 2)));
}

.dealer-menu--desktop .dealer-menu__body {
    position: relative;
    display: flex;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.dealer-menu--desktop .dealer-menu__nav {
    position: relative;
    display: flex;
    width: 100%;
}

.dealer-menu--desktop .dealer-menu__list,
.dealer-menu--desktop .sub-menu {
    list-style: none;
    margin: 0;
}

.dealer-menu--desktop .dealer-menu__list {
    width: var(--desktop-menu-width-collapsed);
    padding: var(--header-menu-padding-y) clamp(var(--header-menu-padding-inline-min), 4vw, var(--header-menu-padding-inline-max));
    flex-shrink: 0;
}

.dealer-menu--desktop .dealer-menu__list > li,
.dealer-menu--desktop .sub-menu li {
    margin: 0;
}

.dealer-menu--desktop .dealer-menu__list > li > a,
.dealer-menu--desktop .sub-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: var(--header-menu-item-padding-y);
    font-family: var(--font-family);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    line-height: 1.375;
    text-decoration: none;
    transition: color var(--motion-duration-fast) var(--motion-ease-standard);
}

.dealer-menu--desktop .dealer-menu__list > li > a:hover,
.dealer-menu--desktop .dealer-menu__list > li.is-active > a,
.dealer-menu--desktop .sub-menu a:hover {
    color: var(--color-primary);
}

.dealer-menu--desktop .dealer-menu__list > li.menu-item-has-children > a::after {
    content: "";
    width: var(--header-chevron-size);
    height: var(--header-chevron-size);
    margin-inline-start: var(--header-chevron-gap);
    border-right: var(--header-chevron-stroke) solid currentColor;
    border-bottom: var(--header-chevron-stroke) solid currentColor;
    transform: rotate(-45deg);
    flex-shrink: 0;
}

.dealer-menu--desktop .sub-menu {
    position: absolute;
    top: 0;
    left: var(--desktop-menu-width-collapsed);
    width: calc(100% - var(--desktop-menu-width-collapsed));
    height: 100%;
    padding: var(--header-menu-padding-y) clamp(var(--header-menu-padding-inline-min), 4vw, var(--header-menu-padding-inline-max));
    overflow-y: auto;
    display: none;
}

.dealer-menu--desktop .sub-menu.is-visible {
    display: block;
}

.dealer-menu--desktop .sub-menu,
.dealer-menu-mobile__body,
.dealer-cart-drawer__inner {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.dealer-menu-mobile__body,
.dealer-cart-drawer__inner {
    position: relative;
}

.dealer-menu--desktop .sub-menu::after,
.dealer-menu-mobile__body::after,
.dealer-cart-drawer__inner::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: var(--header-scroll-hint-height);
    background: var(--header-scroll-hint-fade);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--motion-duration-fast) var(--motion-ease-standard);
}

.dealer-menu--desktop .sub-menu[data-scroll-hint="visible"]::after,
.dealer-menu-mobile__body[data-scroll-hint="visible"]::after,
.dealer-cart-drawer__inner[data-scroll-hint="visible"]::after {
    opacity: 1;
}

.dealer-menu-mobile__body::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 12px;
    z-index: 1;
    width: var(--header-scroll-hint-arrow-size);
    height: var(--header-scroll-hint-arrow-size);
    border-right: var(--header-scroll-hint-arrow-stroke) solid var(--header-scroll-hint-arrow-color);
    border-bottom: var(--header-scroll-hint-arrow-stroke) solid var(--header-scroll-hint-arrow-color);
    transform: translateX(-50%) rotate(45deg);
    opacity: 0;
    pointer-events: none;
}

.dealer-menu-mobile__body[data-scroll-hint="visible"][data-scroll-hint-fresh="true"]::before {
    opacity: 1;
    animation: dealer-scroll-hint-bounce 1.6s ease-in-out infinite;
}

.dealer-menu__footer {
    margin-top: auto;
    padding: var(--header-menu-footer-padding-top) var(--header-menu-footer-padding-x) var(--header-menu-footer-padding-bottom);
    text-align: center;
}

.dealer-menu__footer-loyalty {
    display: inline-block;
    margin: 0;
    font-family: var(--font-family);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
    text-decoration: none;
    transition: color 0.15s ease;
}

a.dealer-menu__footer-loyalty:hover,
a.dealer-menu__footer-loyalty:focus {
    color: var(--color-primary);
    text-decoration: underline;
}

.dealer-menu__footer-address {
    margin: var(--header-menu-footer-gap) 0 0;
    font-family: var(--font-family);
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-light);
    color: var(--header-text-muted);
    line-height: 1.35;
}

.dealer-menu--desktop .menu-item-sale > a,
.dealer-menu-mobile__item.menu-item-sale .dealer-menu-mobile__link {
    color: var(--color-sale);
}

/* Tablet and mobile menu */
.dealer-menu--fullscreen {
    position: fixed;
    inset: 0;
    z-index: var(--z-menu);
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100dvh;
    transform: translateX(-100%);
    visibility: hidden;
    overflow: hidden;
}

.dealer-menu--fullscreen.is-open {
    transform: translateX(0);
    visibility: visible;
}

.dealer-menu-mobile__screen {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
}

.dealer-menu-mobile__screen.is-current,
.dealer-menu-mobile__screen.is-active {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

.dealer-menu-mobile__screen.is-left {
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
}

.dealer-menu-mobile__screen:not(.dealer-menu-mobile__screen--root) .dealer-menu__footer {
    display: none;
}

.dealer-menu-mobile__body {
    flex: 1;
    overflow-y: auto;
    padding: var(--header-fullscreen-body-padding-top) var(--header-fullscreen-body-padding-x) var(--header-fullscreen-body-padding-bottom);
}

.dealer-menu-mobile__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dealer-menu-mobile__item {
    margin: 0;
}

.dealer-menu-mobile__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--header-fullscreen-link-padding-y) 0;
    border: 0;
    background: transparent;
    color: var(--color-black);
    font-family: var(--font-family);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-medium);
    line-height: 1.375;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: color var(--motion-duration-fast) var(--motion-ease-standard);
}

.dealer-menu-mobile__link:hover,
.dealer-menu-mobile__link:active {
    background-color: transparent;
    color: var(--color-primary);
}

body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu-mobile__link:focus {
    background-color: transparent;
    color: var(--color-primary);
}

body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu__close:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu-mobile__back:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu-mobile__link:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu--desktop .dealer-menu__list > li > a:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-menu--desktop .sub-menu a:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-cart-drawer__close:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-cart-drawer__remove:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-cart-drawer__checkout:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-cart-drawer__returns:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-search-screen__close:focus,
body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-search-screen__submit:focus {
    outline: var(--focus-outline-width) solid var(--color-black);
    outline-offset: var(--focus-outline-offset);
}

.dealer-menu-mobile__link--account {
    justify-content: flex-start;
    gap: var(--header-account-gap);
}

.dealer-menu-mobile__account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--header-account-icon-box);
    height: var(--header-account-icon-box);
    flex-shrink: 0;
}

.dealer-menu-mobile__account-icon-svg svg {
    display: block;
    width: var(--header-account-icon-size);
    height: var(--header-account-icon-size);
    filter: invert(1);
}

.dealer-menu-mobile__chevron {
    flex-shrink: 0;
    opacity: 0.55;
}

/* Cart drawer-only styles live in cart.css. Panel-family rules
 * (background-color, header bar, title typography, scroll-hint shadow,
 * panel-family motion, body scroll lock) stay below in this file because
 * they apply to .dealer-menu, .dealer-cart-drawer, and .dealer-search-screen
 * together.
 */

/* Mobile search screen */
.dealer-search-screen {
    position: fixed;
    inset: 0;
    z-index: var(--z-search-screen);
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100dvh;
    transform: translateY(-100%);
    visibility: hidden;
}

.dealer-search-screen.is-open {
    transform: translateY(0);
    visibility: visible;
}

.dealer-search-screen__body {
    padding: var(--header-panel-body-padding-top) var(--search-screen-padding) var(--header-panel-body-padding-bottom);
}

.dealer-search-screen__form {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--search-screen-form-height);
    min-height: 0;
    margin: 0;
    border-radius: var(--search-screen-radius);
    border: var(--border-width-thin) solid var(--header-search-screen-border);
    background-color: var(--header-search-screen-surface);
    overflow: hidden;
}

.dealer-search-screen__input {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 var(--search-screen-input-padding-end) 0 var(--search-screen-input-padding-start);
    border: 0;
    background: transparent;
    color: var(--color-black);
    font-family: var(--font-family);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-light);
    line-height: calc(var(--search-screen-form-height) - (var(--border-width-thin) * 2));
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
    box-shadow: none;
    border-radius: 0;
}

.dealer-search-screen__input:focus {
    background: transparent;
    outline: none;
}

.dealer-search-screen__input::placeholder {
    color: var(--header-search-screen-placeholder);
}

.dealer-search-screen__input::-webkit-search-decoration,
.dealer-search-screen__input::-webkit-search-cancel-button,
.dealer-search-screen__input::-webkit-search-results-button,
.dealer-search-screen__input::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.dealer-search-screen__submit {
    position: absolute;
    inset-inline-end: var(--search-screen-submit-offset);
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--search-screen-submit-size);
    height: var(--search-screen-submit-size);
    padding: 0;
    border: 0;
    background: transparent;
}

.dealer-search-screen__form:focus-within {
    background-color: var(--header-search-screen-surface-active);
}

body.dealer-focus-modality-ready.dealer-using-keyboard .dealer-search-screen__form:focus-within {
    outline: var(--focus-outline-width) solid var(--color-black);
    outline-offset: var(--focus-outline-offset);
}

.dealer-search-screen__icon svg {
    display: block;
    width: var(--search-screen-icon-size);
    height: var(--search-screen-icon-size);
    filter: none;
    opacity: 1;
}

/* Overlay */
.dealer-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-overlay);
    background-color: var(--header-overlay-bg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dealer-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Body locks */
body.dealer-menu-open,
body.dealer-cart-open,
body.dealer-search-open {
    overflow: hidden;
}

/* Motion */
.dealer-menu--desktop,
.dealer-menu--fullscreen,
.dealer-cart-drawer,
.dealer-search-screen,
.dealer-menu-mobile__screen,
.dealer-overlay {
    transition-duration: var(--motion-duration-panel);
    transition-timing-function: var(--motion-ease-standard);
}

.dealer-menu--desktop {
    transition-property: opacity, visibility, transform, width;
}

.dealer-menu--fullscreen,
.dealer-cart-drawer,
.dealer-search-screen,
.dealer-menu-mobile__screen {
    transition-property: transform, visibility;
}

.dealer-menu-mobile__screen {
    transition-property: transform, opacity;
}

.dealer-overlay {
    transition-property: opacity, visibility;
}

@keyframes dealer-scroll-hint-bounce {
    0%,
    100% {
        transform: translateX(-50%) translateY(0) rotate(45deg);
        opacity: 0.45;
    }

    50% {
        transform: translateX(-50%) translateY(4px) rotate(45deg);
        opacity: 0.85;
    }
}

/* Tablet */
@media (min-width: 768px) {
    :root {
        --header-shell-padding: var(--padding-tablet);
        --header-logo-width: var(--header-logo-width-tablet);
    }

    .dealer-header__search-desktop {
        display: block;
    }

    .dealer-header__search-mobile {
        display: none;
    }

    .dealer-header__account {
        display: inline-flex;
    }

    .dealer-header__left {
        gap: var(--header-left-gap-tablet);
    }
}

/* Desktop */
@media (min-width: 1024px) {
    :root {
        --header-shell-padding: var(--padding-desktop);
        --header-search-width: var(--header-search-width-desktop);
        --header-search-height: var(--header-search-height-desktop);
    }

    .dealer-header__inner {
        column-gap: var(--header-inner-gap-desktop);
    }

    .dealer-header__left {
        gap: var(--header-left-gap-desktop);
    }

    .dealer-menu--tablet,
    .dealer-menu--mobile {
        display: none;
    }
}

/* Hide desktop panel below desktop breakpoint */
@media (max-width: 1023px) {
    .dealer-menu--desktop {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .dealer-menu--mobile {
        display: none;
    }
}

@media (max-width: 767px) {
    .dealer-menu--tablet {
        display: none;
    }
}

/* Mobile-only search screen */
@media (min-width: 768px) {
    .dealer-search-screen {
        display: none;
    }
}

@media (max-width: 782px) {
    body.admin-bar #masthead.site-header {
        top: 46px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dealer-header,
    .dealer-menu--desktop,
    .dealer-menu--fullscreen,
    .dealer-cart-drawer,
    .dealer-search-screen,
    .dealer-menu-mobile__screen,
    .dealer-overlay,
    .dealer-header__dots,
    .dealer-header__search-mobile,
    a.dealer-header__icon,
    button.dealer-header__icon {
        transition-duration: 0s;
    }
}
