/* Calm, typography-led collection navigation. */
.m-header .m-burger-btn { border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 44px; min-width: 44px; }
.m-cat-drawer-backdrop { background: #241d1759; backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.m-shop-menu { position: absolute; inset: 0 auto 0 0; width: min(420px, 90vw); height: 100dvh; padding: 32px; background: #f7f2e9; color: #55432e; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; transform: translateX(-100%); transition: transform .25s ease; }
.m-cat-drawer-backdrop.active .m-shop-menu { transform: translateX(0); }
.m-shop-menu-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 32px; border-bottom: 1px solid #d9cebd; }
.m-shop-menu-header h2 { font-family: var(--font-serif); font-size: 28px; letter-spacing: .2em; font-weight: 500; margin: 0; }
.m-shop-menu-header p { margin: 7px 0 0; font-size: 8px; letter-spacing: .15em; }
.m-shop-menu-header button { width: 44px; height: 44px; flex-shrink: 0; background: transparent; color: inherit; border: 0; font-size: 30px; cursor: pointer; }
.m-menu-eyebrow { margin: 32px 0 16px; font-size: 10px; letter-spacing: .17em; color: #8b7961; }
.m-shop-menu-list { display: grid; gap: 4px; }
.m-shop-menu-link { display: flex; align-items: center; min-height: 58px; padding: 10px 0; color: inherit; font-family: var(--font-serif); font-size: 28px; line-height: 1.25; text-decoration: none; }
.m-shop-menu-link:hover, .m-shop-menu-link[aria-current="page"] { color: #977146; }
.m-shop-menu-link[aria-current="page"]::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-left: auto; }
.m-shop-menu-home { margin-top: auto; padding: 28px 0 0; min-height: 60px; display: flex; align-items: center; justify-content: space-between; color: inherit; font-size: 13px; text-decoration: none; }
.m-shop-menu a:focus-visible, .m-shop-menu button:focus-visible { outline: 2px solid #805b30; outline-offset: 3px; }
body:has(.m-cat-drawer-backdrop.active) { overflow: hidden; }
@media (max-width: 767px) { .m-shop-menu { padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom)); } .m-shop-menu-link { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { .m-shop-menu { transition: none; } }
