.shop-nav { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 2px; white-space: nowrap; }
.desktop-nav .shop-nav > a { position: relative; padding-right: 1px; }
.desktop-nav .shop-nav > a::after { content: none; display: none; }
.shop-nav-toggle { display: grid; flex: none; width: 28px; height: 28px; margin: 0; padding: 0; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; color: currentColor; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.shop-nav-toggle:hover, .shop-nav-toggle:focus-visible { border-color: rgba(138,103,41,.28); background: rgba(211,180,111,.12); }
.shop-nav-toggle::before { content: ""; width: 7px; height: 7px; border-right: 1.7px solid currentColor; border-bottom: 1.7px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.shop-nav.is-open .shop-nav-toggle::before { transform: translateY(2px) rotate(225deg); }

.shop-nav-panel { --shop-panel-top: 106px; --shop-panel-viewport-top: 106px; position: fixed; z-index: 1001; top: var(--shop-panel-top); left: 50%; box-sizing: border-box; width: min(1080px, calc(100vw - 36px)); max-height: calc(100dvh - var(--shop-panel-viewport-top) - 16px); padding: 14px; border: 1px solid rgba(17,18,20,.14); border-radius: 28px; background: radial-gradient(circle at 93% 0, rgba(211,180,111,.22), transparent 30%), rgba(255,253,249,.985); box-shadow: 0 34px 90px rgba(17,18,20,.24), 0 0 0 1px rgba(255,255,255,.8) inset; opacity: 0; visibility: hidden; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; white-space: normal; transform: translate(-50%, -10px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; backdrop-filter: blur(22px); }
.shop-nav-panel::before { content: ""; position: fixed; top: calc(var(--shop-panel-top) - 12px); left: 0; width: 100vw; height: 13px; }
.shop-nav:hover .shop-nav-panel, .shop-nav:focus-within .shop-nav-panel, .shop-nav.is-open .shop-nav-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

.shop-nav-intro { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 16px; align-items: center; margin-bottom: 12px; padding: 17px 18px; border: 1px solid rgba(211,180,111,.38); border-radius: 19px; background: radial-gradient(circle at 84% 0, rgba(211,180,111,.2), transparent 34%), linear-gradient(145deg,#111214,#211d17); color: #fff; }
.shop-nav-mark { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid rgba(211,180,111,.58); border-radius: 50%; background: rgba(211,180,111,.08); color: #d3b46f; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.shop-nav-intro small, .shop-nav-intro strong { display: block; }
.shop-nav-intro small { margin-bottom: 4px; color: #d3b46f; font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.shop-nav-intro strong { font-size: 17px; line-height: 1.2; }
.desktop-nav .shop-nav-intro > a { display: inline-flex; align-items: center; gap: 16px; min-height: 42px; padding: 0 10px 0 18px; border: 1px solid rgba(211,180,111,.42); border-radius: 999px; background: rgba(255,255,255,.04); color: #fff; font-size: 11px; font-weight: 800; text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.desktop-nav .shop-nav-intro > a::after { content: none; display: none; }
.desktop-nav .shop-nav-intro > a:hover, .desktop-nav .shop-nav-intro > a:focus-visible { border-color: rgba(211,180,111,.82); background: rgba(211,180,111,.12); transform: translateY(-1px); }
.shop-nav-intro > a span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #d3b46f; color: #111214; }

.shop-nav-body { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(250px,.7fr); gap: 10px; }
.shop-nav-body > section { min-width: 0; padding: 15px; border: 1px solid rgba(17,18,20,.09); border-radius: 18px; background: rgba(247,244,237,.82); }
.shop-nav-body h3 { margin: 0 0 11px; color: #8a6729; font: 800 9px/1.2 Sora,Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.shop-nav-categories > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.desktop-nav .shop-nav-category { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr) 30px; gap: 11px; align-items: center; min-width: 0; min-height: 80px; padding: 10px 11px; border: 1px solid rgba(17,18,20,.06); border-radius: 14px; background: linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.62)); color: #111214; white-space: normal; text-decoration: none; box-shadow: 0 8px 20px rgba(17,18,20,.04), inset 0 1px #fff; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.desktop-nav .shop-nav-category::after { content: none; display: none; }
.shop-nav-category-mark { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(211,180,111,.42); border-radius: 13px; background: linear-gradient(145deg,#111214,#28231b); color: #d3b46f; font-size: 16px; font-style: normal; font-weight: 800; }
.shop-nav-category span:nth-child(2) { min-width: 0; }
.shop-nav-category small, .shop-nav-category strong, .shop-nav-category em { display: block; min-width: 0; }
.shop-nav-category small { margin-bottom: 3px; color: #9a7430; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.shop-nav-category strong { font-size: 13px; line-height: 1.2; overflow-wrap: break-word; }
.shop-nav-category em { margin-top: 4px; color: #716d66; font-size: 9px; font-style: normal; line-height: 1.3; }
.shop-nav-category > i { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid rgba(138,103,41,.24); border-radius: 50%; background: rgba(211,180,111,.12); color: #8a6729; font-size: 12px; font-style: normal; transition: background .18s ease, color .18s ease, transform .18s ease; }
.desktop-nav .shop-nav-category:hover, .desktop-nav .shop-nav-category:focus-visible, .desktop-nav .shop-nav-category[aria-current="page"] { border-color: rgba(138,103,41,.36); box-shadow: 0 12px 26px rgba(48,34,14,.09), inset 0 1px #fff; transform: translateY(-2px); }
.desktop-nav .shop-nav-category:hover > i, .desktop-nav .shop-nav-category:focus-visible > i, .desktop-nav .shop-nav-category[aria-current="page"] > i { background: #d3b46f; color: #111214; transform: rotate(8deg); }

.shop-nav-quick > div { display: grid; gap: 7px; }
.desktop-nav .shop-nav-quick-link { position: relative; display: grid; grid-template-columns: 28px minmax(0,1fr) 24px; gap: 9px; align-items: center; min-width: 0; min-height: 54px; padding: 9px; border: 1px solid rgba(17,18,20,.06); border-radius: 12px; background: rgba(255,255,255,.7); color: #111214; white-space: normal; text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.desktop-nav .shop-nav-quick-link::after { content: none; display: none; }
.shop-nav-quick-link > b { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #111214; color: #d3b46f; font-size: 8px; }
.shop-nav-quick-link span { min-width: 0; }
.shop-nav-quick-link strong, .shop-nav-quick-link small { display: block; min-width: 0; }
.shop-nav-quick-link strong { font-size: 11px; line-height: 1.2; }
.shop-nav-quick-link small { margin-top: 3px; color: #716d66; font-size: 8px; line-height: 1.25; }
.shop-nav-quick-link > i { color: #9a7430; font-size: 14px; font-style: normal; transition: transform .18s ease; }
.desktop-nav .shop-nav-quick-link:hover, .desktop-nav .shop-nav-quick-link:focus-visible, .desktop-nav .shop-nav-quick-link[aria-current="page"] { border-color: rgba(138,103,41,.3); background: #fff; transform: translateY(-1px); }
.desktop-nav .shop-nav-quick-link:hover > i, .desktop-nav .shop-nav-quick-link:focus-visible > i { transform: translateX(3px); }

.mobile-shop { border-top: 1px solid rgba(17,18,20,.1); border-bottom: 1px solid rgba(17,18,20,.1); }
.mobile-shop-head { display: grid; grid-template-columns: 1fr 48px; align-items: stretch; }
.mobile-menu .mobile-shop-head > a { display: flex; align-items: center; min-height: 54px; padding-right: 12px; font-weight: 800; }
.mobile-shop-toggle { position: relative; border: 0; background: transparent; cursor: pointer; }
.mobile-shop-toggle::before, .mobile-shop-toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 1.5px; background: #111214; transform: translate(-50%,-50%); transition: transform .2s ease; }
.mobile-shop-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.mobile-shop.is-open .mobile-shop-toggle::after { transform: translate(-50%,-50%) rotate(0deg); }
.mobile-shop-panel { display: none; padding: 6px 4px 18px 12px; }
.mobile-shop.is-open .mobile-shop-panel { display: grid; gap: 12px; }
.mobile-shop-panel > section { padding: 12px; border: 1px solid rgba(17,18,20,.08); border-radius: 14px; background: rgba(247,244,237,.9); }
.mobile-shop-panel h3 { margin: 0 0 9px; color: #8a6729; font: 800 9px/1.2 Sora,Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.mobile-shop-categories, .mobile-shop-quick-links { display: grid; gap: 5px; }
.mobile-menu .mobile-shop-category { display: grid; grid-template-columns: 40px minmax(0,1fr) 24px; gap: 10px; align-items: center; min-height: 68px; padding: 10px; border-radius: 11px; background: rgba(255,255,255,.74); color: #111214; text-decoration: none; }
.mobile-menu .mobile-shop-category::after, .mobile-menu .mobile-shop-quick::after, .mobile-menu .mobile-shop-head > a::after { content: none; display: none; }
.mobile-shop-category .shop-nav-category-mark { width: 38px; height: 38px; border-radius: 10px; font-size: 13px; }
.mobile-shop-category span:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.mobile-shop-category strong, .mobile-shop-category small, .mobile-shop-category em { display: block; min-width: 0; margin: 0; }
.mobile-shop-category strong { font-size: 13px; line-height: 1.3; letter-spacing: 0; word-spacing: .08em; overflow-wrap: break-word; }
.mobile-shop-category small { color: #9a7430; font-size: 7px; font-weight: 800; line-height: 1.2; }
.mobile-shop-category em { color: #625e57; font-size: 9.5px; font-style: normal; line-height: 1.4; letter-spacing: 0; word-spacing: .06em; }
.mobile-shop-category > i { color: #9a7430; font-style: normal; }
.mobile-menu .mobile-shop-quick { display: grid; grid-template-columns: 27px minmax(0,1fr) 22px; gap: 8px; align-items: center; min-height: 45px; padding: 7px 8px; border-radius: 9px; color: #403d38; text-decoration: none; }
.mobile-shop-quick > b { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #111214; color: #d3b46f; font-size: 8px; }
.mobile-shop-quick span { display: grid; min-width: 0; gap: 3px; }
.mobile-shop-quick strong, .mobile-shop-quick small { display: block; min-width: 0; margin: 0; }
.mobile-shop-quick strong { font-size: 12px; line-height: 1.28; letter-spacing: 0; word-spacing: .06em; }
.mobile-shop-quick small { color: #625e57; font-size: 9px; line-height: 1.4; letter-spacing: 0; word-spacing: .05em; }
.mobile-shop-quick > i { color: #9a7430; font-style: normal; }
.mobile-menu .mobile-shop-category:hover, .mobile-menu .mobile-shop-category:focus-visible, .mobile-menu .mobile-shop-category[aria-current="page"], .mobile-menu .mobile-shop-quick:hover, .mobile-menu .mobile-shop-quick:focus-visible { background: #fff; }

@media (max-width: 1040px) and (min-width: 931px) {
  .shop-nav-panel { width: calc(100vw - 24px); }
  .shop-nav-body { grid-template-columns: minmax(0,1.55fr) minmax(225px,.7fr); }
  .shop-nav-category em { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .shop-nav-panel, .shop-nav-toggle::before, .desktop-nav .shop-nav-category, .desktop-nav .shop-nav-quick-link, .mobile-shop-toggle::after { transition: none; }
}

.shop-nav-toggle:focus-visible, .mobile-shop-toggle:focus-visible { outline: 3px solid #2d78ff; outline-offset: 2px; }
