html { scrollbar-gutter:stable; }

.store-catalog-nav {
    background:#243f91;
    color:white;
    position:relative;
    z-index:15;
}

.store-nav-links {
    align-items:center;
    display:flex;
    gap:7px;
    margin:0 auto;
    min-height:56px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    width:min(1180px,calc(100% - 40px));
}

.store-nav-links::-webkit-scrollbar { display:none; }

.store-nav-link {
    background:transparent;
    border:0;
    color:white;
    cursor:pointer;
    flex:0 0 auto;
    font:inherit;
    font-size:.94rem;
    font-weight:700;
    letter-spacing:.04em;
    padding:10px 14px;
    text-transform:uppercase;
}

.store-nav-link:hover,
.store-nav-link.active {
    background:rgba(255,255,255,.14);
    border-radius:4px;
}

.store-catalog-nav .mega-menu { top:100%; }

.store-topbar {
    background:#070d25;
    color:white;
    font-size:.78rem;
    letter-spacing:.08em;
    padding:9px 0;
    text-align:center;
    text-transform:uppercase;
}

.store-main-header {
    background:white;
    border-bottom:1px solid #eee7e3;
    position:relative;
    z-index:30;
}

.store-header-inner {
    align-items:center;
    box-sizing:border-box;
    display:grid;
    gap:28px;
    grid-template-columns:240px 1fr;
    margin:0;
    min-height:94px;
    padding:0 20px;
    width:100%;
}

.store-brand {
    background:#070d25;
    border-radius:6px;
    box-shadow:0 2px 8px rgba(5,12,41,.12);
    display:block;
    height:80px;
    margin-left:45px;
    overflow:hidden;
    width:215px;
}

.store-brand img {
    display:block;
    height:100%;
    object-fit:contain;
    width:100%;
}

.store-header-actions {
    align-items:center;
    display:grid;
    gap:10px;
    grid-template-columns:minmax(0,780px) auto;
    justify-content:center;
    min-width:0;
    transform:translateX(-19px);
}

.store-search-wrap {
    justify-self:center;
    max-width:780px;
    min-width:0;
    position:relative;
    width:100%;
}

.store-search-box {
    border:1px solid #bbc0cf;
    border-radius:5px;
    display:flex;
    overflow:hidden;
    width:100%;
}

.store-search-box input {
    border:0;
    color:#171522;
    font:inherit;
    font-size:.95rem;
    min-width:0;
    outline:0;
    padding:13px 15px;
    width:100%;
}

.store-search-box button {
    background:#070d25;
    border:0;
    color:white;
    cursor:pointer;
    font:inherit;
    font-weight:700;
    padding:0 18px;
}

.store-search-suggestions {
    background:white;
    border:1px solid #d9dce5;
    border-radius:0 0 6px 6px;
    box-shadow:0 16px 32px rgba(5,12,41,.18);
    left:0;
    max-height:min(520px,70vh);
    overflow-y:auto;
    position:absolute;
    right:0;
    top:calc(100% + 5px);
    z-index:70;
}

.store-search-suggestions[hidden] { display:none; }

.store-search-result {
    align-items:center;
    border-bottom:1px solid #eee7e3;
    display:grid;
    gap:12px;
    grid-template-columns:58px minmax(0,1fr) auto;
    padding:10px 12px;
}

.store-search-result:last-of-type { border-bottom:0; }
.store-search-result:hover,
.store-search-result.active { background:#f4f6fb; }
.store-search-result img {
    background:#f7f6f5;
    height:58px;
    object-fit:contain;
    width:58px;
}
.store-search-result-image-empty {
    background:#f7f6f5;
    height:58px;
    width:58px;
}
.store-search-result-copy { min-width:0; }
.store-search-result-brand {
    color:#c92f25;
    display:block;
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.07em;
    margin-bottom:4px;
    text-transform:uppercase;
}
.store-search-result-name {
    color:#070d25;
    display:block;
    font-size:.84rem;
    font-weight:700;
    line-height:1.3;
}
.store-search-result-path {
    color:#696573;
    display:block;
    font-size:.68rem;
    line-height:1.35;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.store-search-result-price {
    color:#070d25;
    font-size:.84rem;
    font-weight:700;
    white-space:nowrap;
}
.store-search-empty {
    color:#696573;
    font-size:.84rem;
    margin:0;
    padding:20px 14px;
    text-align:center;
}
.store-search-all {
    background:#f7f6f5;
    color:#243f91;
    display:block;
    font-size:.82rem;
    font-weight:700;
    padding:12px 14px;
    text-align:center;
}
.store-search-all:hover { background:#edf0f8; }

.store-header-tools {
    align-items:center;
    display:flex;
    gap:8px;
}

.store-account-button,
.store-cart-button {
    align-items:center;
    background:white;
    border:1px solid transparent;
    border-radius:4px;
    color:#070d25;
    cursor:pointer;
    display:flex;
    height:38px;
    justify-content:center;
    padding:0;
    position:relative;
}

.store-account-button { width:38px; }
.store-cart-button { width:42px; }
.store-account-button:hover,
.store-account-button[aria-expanded="true"],
.store-cart-button:hover {
    background:#f1f3f8;
    border-color:#d7dbe7;
}

.store-account-button svg { height:24px; width:24px; }
.store-cart-button svg { height:25px; width:25px; }

.store-cart-count {
    align-items:center;
    background:#f04432;
    border:2px solid white;
    border-radius:999px;
    color:white;
    display:flex;
    font-size:.66rem;
    font-weight:700;
    height:20px;
    justify-content:center;
    min-width:20px;
    padding:0 4px;
    position:absolute;
    right:-7px;
    top:-8px;
}

.store-account-dropdown {
    background:white;
    border:1px solid #eee7e3;
    border-radius:6px;
    box-shadow:0 12px 30px rgba(5,12,41,.18);
    min-width:205px;
    padding:8px;
    position:absolute;
    right:0;
    top:calc(100% + 12px);
    z-index:50;
}

.store-account-dropdown[hidden] { display:none; }
.store-account-dropdown a,
.store-account-dropdown button {
    background:white;
    border:0;
    border-radius:4px;
    color:#171522;
    cursor:pointer;
    display:block;
    font:inherit;
    font-size:.88rem;
    padding:11px 12px;
    text-align:left;
    width:100%;
}
.store-account-dropdown a:hover,
.store-account-dropdown button:hover { background:#f1f3f8; }
.store-account-dropdown form { margin:0; }
.store-account-name {
    border-bottom:1px solid #eee7e3;
    color:#696573;
    font-size:.78rem;
    margin:0 4px 5px;
    overflow:hidden;
    padding:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media (max-width:900px) {
    .store-header-inner {
        gap:8px 12px;
        grid-template-columns:1fr auto;
        grid-template-rows:auto auto;
        min-height:0;
        padding:8px 14px 10px;
    }
    .store-brand { grid-column:1; grid-row:1; height:57px; margin-left:16px; width:156px; }
    .store-header-actions { display:contents; transform:none; }
    .store-search-wrap { grid-column:1 / -1; grid-row:2; max-width:none; }
    .store-search-box { display:flex; }
    .store-search-box input { padding:11px 12px; }
    .store-search-box button { padding:0 16px; }
    .store-header-tools { grid-column:2; grid-row:1; }
    .store-nav-link { font-size:.8rem; padding:10px; }
}

@media (max-width:540px) {
    .store-header-inner { padding:7px 12px 9px; }
    .store-brand { height:54px; margin-left:0; width:150px; }
    .store-header-tools { gap:5px; }
    .store-search-box button { padding:0 13px; }
    .store-search-result { gap:9px; grid-template-columns:48px minmax(0,1fr) auto; padding:9px; }
    .store-search-result img,
    .store-search-result-image-empty { height:48px; width:48px; }
    .store-search-result-name { font-size:.79rem; }
    .store-search-result-price { font-size:.78rem; }
    .store-search-suggestions { max-height:55vh; }
    .store-nav-links { min-height:48px; width:calc(100% - 20px); }
    .store-nav-link { font-size:.72rem; padding:9px 10px; }
}
