.store-announcement { position: static; background: #344831; color: #f4f3eb; padding: 10px 0; font-size: var(--text-caption); letter-spacing: .03em; }
.store-announcement .container { max-width: 1240px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.announcement-note { opacity: .8; }
.announcement-links { display: flex; justify-content: flex-end; gap: 22px; }
.store-header { background: #fafaf6; border-bottom: 1px solid #dedfd5; color: #292d24; }
.store-header .navbar { padding: 0; }
.store-header .store-nav-shell { max-width: 1240px; display: block; }
.store-masthead { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; min-height: 104px; gap: 24px; }
.store-header .store-brand { margin: 0; padding: 1rem 0; display: inline-flex; flex-direction: row; align-items: center; gap: 1rem; color: var(--color-olive); font-weight: 500; font-size: var(--text-heading); line-height: 1.05; letter-spacing: .08em; min-width: 0; }
.store-brand-mark { width: 4rem; height: 4rem; flex: 0 0 auto; }
.store-brand-copy { display: flex; flex-direction: column; align-items: flex-start; gap: .625rem; min-width: 0; }
.store-brand-name { white-space: nowrap; }
.store-brand .brand-accent { color: inherit; }
.store-brand small { font-family: var(--font-body); font-size: var(--text-caption); font-weight: 400; letter-spacing: .18em; margin-top: 0; color: var(--color-olive); }
.store-header a:hover { opacity: 1; color: #536748; }
.store-search { max-width: 260px; min-width: 0; }
.store-search .search-wrapper { border-bottom: 1px solid #cfd3c6; }
.store-search input { width: 100%; border: 0; background: transparent; font-size: var(--text-small); padding: 12px var(--touch-target) 12px 0; color: #344831; box-shadow: none; }
.store-search input::placeholder { color: #73796c; }
.store-search input:focus { background: transparent; box-shadow: none; }
.store-search .search-wrapper:focus-within { border-bottom-color: #344831; }
.store-search button { position: absolute; right: 0; top: 0; width: var(--touch-target); height: var(--touch-target); border: 0; background: transparent; color: #344831; }
.store-search .search-suggestions { top: calc(100% + 8px); background: #fafaf6; border: 1px solid #dedfd5; box-shadow: 0 10px 22px #29322212; min-width: 240px; max-height: 300px; overflow-y: auto; }
.store-search .search-suggestions a { padding: 12px 16px; font-size: var(--text-small); }
.store-nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.store-nav-actions .nav-icon { min-width: var(--touch-target); min-height: var(--touch-target); display: inline-flex; align-items: center; justify-content: center; font-size: var(--text-lg); color: #344831; background: transparent; border: 0; padding: 0; }
.store-nav-actions .nav-icon:hover { color: #1d301a; background: #eeefe6; }
.nav-actions-divider { height: 22px; width: 1px; background: #d7dbce; margin: 0 4px; }
.store-nav-actions .cart-icon { gap: 10px; }
.store-nav-actions .bag-label { font-family: var(--font-body); font-size: var(--text-small); }
.store-nav-actions .cart-badge { position: static; width: auto; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 50%; background: #e7eadf; color: #344831; font-size: var(--text-caption); }
.store-nav-menu { border-top: 1px solid #e2e4da; position: relative; justify-content: center; }
.store-nav-menu .navbar-nav { gap: 30px; }
.store-nav-menu .nav-link { font-family: var(--font-body); font-size: var(--text-caption); font-weight: 500; letter-spacing: .08em; padding: 16px 0 !important; color: #424b39; background: transparent; border: 0; border-bottom: 2px solid transparent; }
.store-nav-menu .nav-link:hover, .store-nav-menu .nav-link.show { color: #243c20; border-bottom-color: #647652; }
.store-nav-menu .dropdown-toggle::after { vertical-align: .15em; margin-left: 8px; border-width: .25em; }
.store-nav-menu .nav-edit-link { color: #68734e; }
.store-nav-menu .nav-edit-link i { font-size: var(--text-caption); margin-left: 5px; }
.store-nav-help { position: absolute; right: 0; display: flex; align-items: center; gap: 8px; font-size: var(--text-caption); color: #6e7564; }
.store-nav-menu .dropdown-menu { top: calc(100% - 1px); margin: 0; padding: 18px 10px; min-width: 245px; border: 1px solid #dedfd5; border-radius: 0; background: #fafaf6; box-shadow: 0 16px 30px #29322212; }
.store-nav-menu .dropdown-heading { padding: 4px 14px 12px; font-size: var(--text-caption); letter-spacing: .13em; color: #787e70; }
.store-nav-menu .dropdown-item { font-size: var(--text-small); padding: 10px 14px; color: #344831; display: flex; justify-content: space-between; gap: 14px; }
.store-nav-menu .dropdown-item:hover, .store-nav-menu .dropdown-item:focus { background: #edefe5; }
.store-nav-menu .dropdown-divider { border-color: #dedfd5; margin: 8px 14px; }
.store-header :is(a, button, input):focus-visible, .store-announcement a:focus-visible { outline: 2px solid #82966c; outline-offset: 3px; box-shadow: none; }
.store-skip-link { position: fixed; top: -80px; left: 16px; z-index: 1100; padding: 12px 20px; color: white; background: #344831; }
.store-skip-link:focus { top: 10px; color: white; }
@media (min-width: 992px) { .store-menu-toggle { display: none; } }
@media (max-width: 1199px) and (min-width: 992px) { .store-nav-help { display: none; } .store-masthead { gap: 16px; } .store-header .store-brand { font-size: var(--text-xl); } .store-search { max-width: 220px; } }
@media (max-width: 991px) {
    .store-announcement .container { display: flex; justify-content: center; }
    .announcement-note, .announcement-links { display: none; }
    .store-announcement { font-size: var(--text-caption); padding: 9px 0; text-align: center; }
    .store-masthead { grid-template-columns: 44px 1fr auto; gap: 0 10px; min-height: 0; padding: 12px 0 10px; }
    .store-menu-toggle { grid-column: 1; grid-row: 1; padding: 0; width: var(--touch-target); height: var(--touch-target); border: 0; border-radius: 0; color: #344831; font-size: var(--text-xl); }
    .store-menu-toggle:focus { box-shadow: none; }
    .store-header .store-brand { grid-column: 2; grid-row: 1; align-items: center; font-size: var(--text-xl); letter-spacing: .07em; padding: 8px 0; }
    .store-header .store-brand { gap: .75rem; font-size: clamp(1.25rem, 3vw, 1.75rem); }
    .store-brand-mark { width: 3rem; height: 3rem; }
    .store-brand-copy { gap: .375rem; }
    .store-brand small { font-size: var(--text-caption); margin-top: 0; letter-spacing: .08em; }
    .store-nav-actions { grid-column: 3; grid-row: 1; gap: 6px; }
    .store-nav-actions .nav-icon { min-width: var(--touch-target); }
    .store-nav-actions .cart-icon { gap: 4px; }
    .nav-actions-divider, .bag-label { display: none; }
    .store-header .store-search { display: block; grid-column: 1 / -1; grid-row: 2; max-width: none; margin-top: 8px; }
    .store-search input { padding-left: 12px; font-size: var(--text-small); }
    .store-search .search-wrapper { background: #f0f1e9; border-bottom-color: transparent; }
    .store-nav-menu { max-height: calc(100dvh - 170px); overflow-y: auto; }
    .store-nav-menu .navbar-nav { gap: 0; padding: 8px 0; }
    .store-nav-menu .nav-link { width: 100%; text-align: left; padding: 14px 12px !important; font-size: var(--text-small); border-bottom: 1px solid #e2e4da; }
    .store-nav-menu .dropdown-menu { border: 0; box-shadow: none; background: #f0f1e9; margin: 0 12px; }
    .store-nav-help { position: static; display: flex; padding: 18px 12px; }
}
@media (max-width: 420px) {
    .store-masthead { grid-template-columns: 32px 1fr auto; column-gap: 5px; }
    .store-menu-toggle { width: var(--touch-target); }
    .store-header .store-brand { font-size: var(--text-lg); }
    .store-nav-actions { gap: 2px; }
    .store-nav-actions .nav-icon { min-width: var(--touch-target); font-size: var(--text-lg); }
    .store-nav-actions .cart-badge { min-width: 18px; height: 18px; font-size: var(--text-caption); }
}
@media (prefers-reduced-motion: reduce) { .store-header *, .store-skip-link { transition: none !important; } }

.store-search input { font-size: var(--text-small); }
.store-nav-help { position: static; margin-left: 2rem; }
.store-nav-menu .navbar-nav { gap: 1.25rem; }
.store-brand small { font-size: var(--text-caption); letter-spacing: .12em; }
.store-announcement .container { grid-template-columns: 1fr auto; }
.announcement-note { display: none; }
@media (max-width: 991px) { .store-nav-help { margin-left: 0; } }
@media (max-width: 575px) {
    .store-masthead { grid-template-columns: var(--touch-target) minmax(0, 1fr) auto; row-gap: .5rem; }
    .store-header .store-brand { grid-column: 1 / -1; grid-row: 1; align-items: center; font-size: var(--text-xl); }
    .store-header .store-brand { justify-content: center; font-size: clamp(1.25rem, 5.8vw, 1.75rem); padding: .5rem 0; }
    .store-brand small { display: block; font-size: var(--text-caption); letter-spacing: .08em; }
    .store-menu-toggle { grid-row: 2; }
    .store-nav-actions { grid-row: 2; gap: .5rem; }
    .store-header .store-search { grid-row: 3; margin-top: 0; }
    .store-nav-actions .cart-badge { position: absolute; right: -.2rem; top: -.1rem; }
}
