.store-header { position: relative; z-index: 5; }
.store-header .store-navigation {
    position: relative;
    align-items: center;
    gap: 8px clamp(14px, 2.4vw, 32px);
    padding: 0;
}
.store-navigation > a,
.store-navigation-menu summary {
    display: flex;
    align-items: center;
    min-height: 48px;
    color: #482532;
    font-weight: 600;
    text-decoration: none;
}
.store-navigation-menu summary {
    cursor: pointer;
    list-style: none;
    gap: 8px;
}
.store-navigation-menu summary::-webkit-details-marker { display: none; }
.store-navigation-menu summary::after {
    content: '';
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}
.store-navigation-menu[open] summary::after { transform: translateY(2px) rotate(225deg); }
.store-navigation > a:hover,
.store-navigation-menu[open] summary,
.store-navigation-panel a:hover { color: #913956; }
.store-navigation :is(a, summary):focus-visible { outline: 2px solid #913956; outline-offset: 4px; }
.store-navigation-panel {
    position: absolute;
    z-index: 1;
    top: 100%;
    inset-inline: 0;
    max-height: min(65vh, 540px);
    overflow: auto;
    padding: clamp(18px, 3vw, 34px);
    border: 1px solid #e6d6d0;
    border-top: 2px solid #823e53;
    background: #fffaf7;
    box-shadow: 0 18px 34px #48253222;
}
.store-navigation-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ecdcd5;
}
.store-navigation-heading h2 {
    margin: 0;
    color: #482532;
    font: 500 clamp(25px, 3vw, 36px)/1.1 'Cormorant Garamond', Georgia, serif;
    letter-spacing: -.02em;
}
.store-navigation-heading a { font-weight: 650; }
.store-navigation-panel a { text-decoration: none; }
.store-navigation-content { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 22px; }
.store-navigation-groups {
    flex: 1 1 360px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr));
    gap: 18px 22px;
}
.store-navigation-group h3 {
    color: #482532;
    font-weight: 650; line-height: 1.4;
    font-size: 14px;
    margin: 0 0 8px;
}
.store-navigation-group > a { display: block; padding: 5px 0; color: #715561; }
.store-navigation-photos {
    flex: 0 1 325px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.store-navigation-photos-single { flex-basis: 180px; grid-template-columns: 1fr; }
.store-navigation-photos a { overflow: hidden; border: 1px solid #e8d7d0; background: #fff; }
.store-navigation-photos img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.store-navigation-photos a > span { display: flex; justify-content: space-between; gap: 4px; padding: 9px 10px; font-weight: 650; }
@media (max-width: 640px) {
    .store-header .store-navigation { justify-content: flex-start; gap: 0 15px; }
    .store-navigation > a, .store-navigation-menu summary { min-height: 38px; }
    .store-navigation-panel { max-height: 55vh; }
    .store-navigation-groups { flex-basis: 100%; }
}
