.store-header .container, .store-top-bar .container { width: min(1480px, calc(100% - 64px)); }
.store-top-bar { padding: 9px 0; border-bottom: 1px solid var(--border); background: #faf8f7; font-size: 13px; }
.store-top-content, .store-top-links { display: flex; align-items: center; gap: 26px; }
.store-top-content { justify-content: space-between; }
.store-top-content > span { color: var(--muted); }
.store-top-links a:hover { color: var(--accent-dark); }
.store-header { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid var(--border); }
.store-header-main { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 20px; min-height: 106px; }
.store-header-left, .store-header-actions { display: flex; min-width: 0; align-items: center; gap: 18px; }
.store-header-actions { justify-self: end; }
.store-header-actions a, .store-icon-button, .store-search-button { display: inline-flex; position: relative; align-items: center; justify-content: center; gap: 8px; min-width: 40px; min-height: 42px; padding: 4px; border: 0; background: transparent; color: var(--text); font-size: 14px; cursor: pointer; }
.store-header .icon-svg { width: 23px; height: 23px; }
.store-header-actions a:hover, .store-search-button:hover, .store-icon-button:hover { color: var(--accent-dark); }
.store-logo { justify-self: center; color: var(--accent-dark); font-size: clamp(42px,3.4vw,48px); font-weight: 800; line-height: 1; letter-spacing: -2px; text-align: center; white-space: nowrap; }
.store-logo > span { font-weight: 500; }
.store-logo small { display: block; margin-top: 9px; font-size: 10px; font-weight: 550; letter-spacing: 3.5px; }
.store-cart-button > span { position: absolute; top: 0; right: -3px; display: grid; min-width: 18px; height: 18px; place-items: center; padding: 0 4px; border-radius: 20px; background: var(--accent-dark); color: #fff; font-size: 10px; line-height: 1; }
.store-favorite-link > span { color: var(--accent-dark); font-size: 11px; }
.store-menu-button, .store-nav .store-mobile-link { display: none; }
.store-nav { border-top: 1px solid var(--border); }
.store-nav-links { display: flex; min-height: 57px; align-items: center; justify-content: center; gap: clamp(22px,2.4vw,40px); }
.store-nav a { position: relative; display: inline-flex; align-items: center; min-height: 56px; color: var(--text); font-size: 15px; font-weight: 600; white-space: nowrap; }
.store-nav a::after { position: absolute; right: 0; bottom: 10px; left: 0; height: 2px; background: var(--accent-dark); content: ''; transform: scaleX(0); transition: transform .18s ease; }
.store-nav a:hover::after, .store-nav a:focus-visible::after { transform: scaleX(1); }
.catalog-menu-toggle { display:inline-flex; min-height:43px; align-items:center; justify-content:center; gap:10px; padding:10px 19px; border:1px solid #e8c9cf; border-radius:10px; background:#f4dfe4; color:#593f49; font:inherit; font-size:14px; font-weight:750; cursor:pointer; white-space:nowrap; transition:background .15s,border-color .15s; }
.catalog-menu-toggle:hover, .catalog-menu-toggle[aria-expanded="true"] { border-color:#cf9eaa; background:#efd1da; }
.catalog-menu-toggle .icon-svg { width:19px; height:19px; }
.catalog-menu-toggle .icon-svg:last-child { width:15px; height:15px; }
.catalog-menu-toggle[aria-expanded="true"] .icon-svg:last-child { transform:rotate(180deg); }
.store-mobile-catalog { display:none; }
.store-root-toggle { display:inline-flex; align-items:center; gap:6px; min-height:56px; padding:0; border:0; background:transparent; color:var(--text); font:inherit; font-size:15px; font-weight:600; cursor:pointer; white-space:nowrap; }
.store-root-toggle .icon-svg { width:13px; height:13px; transition:transform .15s; }
.store-root-toggle:hover, .store-root-toggle[aria-expanded="true"] { color:#87536b; }
.store-root-toggle[aria-expanded="true"] .icon-svg { transform:rotate(180deg); }
.store-root-toggle:focus-visible { outline:3px solid #c4d6c2; outline-offset:3px; }
.catalog-mega-root[hidden] { display:none; }
.catalog-mega-menu { position:absolute; top:100%; right:0; left:0; z-index:25; max-height:min(680px,calc(100dvh - 190px)); overflow-y:auto; overscroll-behavior:contain; border-bottom:1px solid #dedfd6; background:#fff; box-shadow:0 20px 32px #25362c1c; }
.catalog-mega-inner { padding:23px 0 28px; }
.catalog-mega-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:17px; }
.catalog-mega-heading > div > span { color:#8a6273; font-size:10px; font-weight:700; letter-spacing:2px; }
.catalog-mega-heading h2 { margin:5px 0 0; color:#293b31; font-size:25px; line-height:1.3; letter-spacing:-.7px; }
.catalog-mega-close { display:grid; width:40px; height:40px; place-items:center; border:1px solid #e8e4e0; border-radius:50%; background:#fff; color:#324b3c; cursor:pointer; }
.catalog-mega-close .icon-svg { width:20px; height:20px; }
.catalog-mega-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:21px; }
.catalog-mega-shortcuts a { display:inline-flex; min-height:38px; align-items:center; gap:12px; padding:8px 13px; border:1px solid #e2e6dd; border-radius:8px; background:var(--menu-tint,#f2f6ed); color:#304c3b; font-size:13px; font-weight:650; }
.catalog-mega-shortcuts a > span { font-size:11px; font-weight:550; opacity:.7; }
.catalog-mega-shortcuts .icon-svg { width:17px; height:17px; }
[data-tone="sage"] { --menu-tint:#eef4e9; }
[data-tone="rose"] { --menu-tint:#faedf0; }
[data-tone="lavender"] { --menu-tint:#f1eef8; }
[data-tone="peach"] { --menu-tint:#fcf0e5; }
.catalog-mega-root { margin-top:21px; }
.catalog-mega-root h3 { margin:0 0 14px; padding:11px 13px; border-radius:9px; background:var(--menu-tint,#f2f6ed); font-size:15px; }
.catalog-mega-root h3 a { display:flex; align-items:center; gap:11px; width:100%; color:#2d4335; }
.catalog-mega-root h3 .icon-svg { width:20px; height:20px; }
.catalog-mega-root h3 .icon-svg:last-child { width:16px; height:16px; margin-left:auto; }
.catalog-mega-root h3 small { color:#647465; font-size:11px; font-weight:500; }
.catalog-mega-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:21px 26px; padding:0 13px; }
.catalog-mega-branch { min-width:0; }
.catalog-mega-branch-title { display:flex; align-items:baseline; justify-content:space-between; gap:9px; color:#344a3b; font-size:15px; font-weight:750; line-height:1.5; }
.catalog-mega-branch-title small { color:#879185; font-size:10px; font-weight:500; }
.catalog-mega-branch ul { display:grid; gap:7px; margin:9px 0 0; padding:0; list-style:none; }
.catalog-mega-branch li a { display:inline-block; color:#536159; font-size:14px; line-height:1.6; }
.catalog-mega-menu a:hover { color:#9b5066; text-decoration:underline; text-underline-offset:3px; }
.catalog-menu-toggle:focus-visible, .catalog-mega-menu a:focus-visible, .catalog-mega-close:focus-visible, .mobile-catalog-root summary:focus-visible { outline:3px solid #c4d6c2; outline-offset:3px; }

@media (max-width:1100px) {
 .store-header-actions .store-account-link > span { display:none; }
 .store-header-actions { gap:12px; }
 .store-top-content > span { display:none; }
 .store-nav-links { gap:25px; }
}
@media (max-width:1100px) {
 .store-header .container, .store-top-bar .container { width:calc(100% - 40px); }
 .store-header-main { min-height:84px; gap:12px; }
 .store-header-left { gap:6px; }
 .store-logo { font-size:36px; }
 .store-logo small { font-size:9px; letter-spacing:2.7px; }
 .store-menu-button { display:inline-flex; }
 .store-search-button > span { display:none; }
 .store-nav { position:absolute; top:100%; right:0; left:0; display:none; max-height:calc(100dvh - 84px); overflow-y:auto; border-bottom:1px solid var(--border); background:#fff; box-shadow:0 14px 24px rgba(31,45,39,.12); }
 .store-nav.open { display:block; }
 .store-nav-links { display:grid; gap:0; padding:8px 0; }
 .store-nav a, .store-nav .store-mobile-link { display:flex; gap:10px; min-height:46px; padding:9px 5px; border-bottom:1px solid #f1eeeb; white-space:normal; }
 .store-nav a::after { display:none; }
 .catalog-menu-toggle, .catalog-mega-menu, .store-nav .store-root-shortcut { display:none; }
 .store-mobile-catalog { display:block; padding:9px 0 12px; }
 .mobile-catalog-caption { margin:0 0 8px; color:#8e7580; font-size:11px; font-weight:650; letter-spacing:1px; text-transform:uppercase; }
 .mobile-catalog-root { border-top:1px solid #eee8e5; }
 .mobile-catalog-root > summary, .mobile-catalog-branch > summary { display:flex; min-height:46px; align-items:center; gap:8px; padding:10px 9px; color:#314a3a; font-size:15px; font-weight:650; cursor:pointer; list-style:none; }
 .mobile-catalog-root > summary { border-radius:8px; background:var(--menu-tint,#f2f6ed); }
 .mobile-catalog-root summary::-webkit-details-marker { display:none; }
 .mobile-catalog-root summary > span { display:flex; min-width:0; align-items:center; gap:9px; }
 .mobile-catalog-root summary > small { margin-left:auto; color:#738170; font-size:11px; font-weight:500; }
 .mobile-catalog-root summary > .icon-svg { width:16px; height:16px; flex-shrink:0; }
 .mobile-catalog-root[open] > summary > .icon-svg, .mobile-catalog-branch[open] > summary > .icon-svg { transform:rotate(180deg); }
 .mobile-catalog-children { padding:0 0 8px 13px; }
 .store-nav .mobile-catalog-children a { min-height:44px; padding:9px; font-size:14px; font-weight:500; }
 .store-nav .mobile-catalog-children a::after { display:none; }
 .store-nav .mobile-catalog-children a > small { margin-left:auto; color:#8a9689; font-size:11px; }
 .store-nav .mobile-catalog-children a.mobile-catalog-all { color:#996379; font-weight:650; }
 .store-nav .mobile-catalog-all .icon-svg { width:16px; height:16px; margin-left:auto; }
 .mobile-catalog-branch > summary { padding:8px 9px; font-size:14px; }
 .mobile-catalog-branch > div { margin-left:11px; border-left:1px solid #e4e9df; }
}
@media (max-width:650px) {
 .store-header .container, .store-top-bar .container { width:calc(100% - 28px); }
 .store-top-bar { display:none; }
 .store-header-main { min-height:72px; gap:6px; }
 .store-header-left, .store-header-actions { gap:0; }
 .store-header-actions .store-account-link, .store-header-actions .store-favorite-link { display:none; }
 .store-header .store-icon-button, .store-search-button { min-width:44px; min-height:44px; padding:3px; }
 .store-header .icon-svg { width:21px; height:21px; }
 .store-logo { font-size:clamp(20px,5.8vw,26px); letter-spacing:-1px; }
 .store-logo small { margin-top:6px; font-size:7px; letter-spacing:1.7px; }
 .store-nav { max-height:calc(100dvh - 72px); }
}

/* Contextual menus must not reveal hidden sibling sections. */
.catalog-mega-menu [hidden] { display: none !important; }
