/* Information drawer only; catalog, bottom navigation and cart keep their own layouts. */
#mobile-menu{display:none}
#mobile-menu[open]{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;margin:0;width:min(360px,90vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;background:#fff;color:#1e1e1e;box-shadow:none;overflow:hidden;overscroll-behavior:contain;z-index:100;animation:michel-menu-in 220ms ease-out}
#mobile-menu::backdrop{background:rgba(0,0,0,.28);backdrop-filter:none;-webkit-backdrop-filter:none;animation:michel-menu-overlay 220ms ease-out}
html.menu-open{overflow:hidden;overscroll-behavior:none}
html.menu-open body{position:fixed;top:var(--michel-menu-scroll-top,0px);left:0;right:0;overflow:hidden}
#mobile-menu .mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid #e8ece5}
#mobile-menu .mobile-menu-brand{display:flex;align-items:center;gap:8px;min-width:0}
#mobile-menu .mobile-menu-brand img{display:block;flex:none;width:52px;height:52px;object-fit:contain}
#mobile-menu .mobile-menu-wordmark{display:flex;flex-direction:column;gap:4px;min-width:0}
#mobile-menu .mobile-menu-wordmark strong{font-family:var(--heading);font-size:26px;font-weight:700;letter-spacing:-.8px;line-height:1}
#mobile-menu .mobile-menu-wordmark>span{font-size:8px;font-weight:600;letter-spacing:.6px;line-height:1.4;white-space:nowrap;color:var(--michel-soft-ink)}
#mobile-menu .drawer-close{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#666}
#mobile-menu .drawer-close::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#f5f6f4;transition:background 180ms}
#mobile-menu .drawer-close .icon{position:relative;width:20px;height:20px}
#mobile-menu .drawer-close:hover{color:var(--michel-soft-ink)}
#mobile-menu .drawer-close:hover::before{background:#eef4e8}
#mobile-menu .mobile-menu-content{flex:1;min-height:0;padding:18px 16px 20px;padding-left:max(16px,env(safe-area-inset-left,0px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
#mobile-menu .mobile-menu-search{margin-bottom:24px}
#mobile-menu .product-search{height:44px;border-radius:11px;margin:0}
#mobile-menu .product-search input{min-width:0;width:100%;height:42px;font-size:16px;padding:0 48px 0 12px}
#mobile-menu .product-search input::placeholder{font-size:12px}
#mobile-menu .product-search>button[type="submit"]{width:44px;height:44px;min-width:44px;min-height:44px;right:0;top:0;padding:10px}
#mobile-menu .product-search>button[type="submit"] .icon{width:21px;height:21px}
#mobile-menu .mobile-menu-nav h3{margin:0 0 10px;font-family:var(--body);font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1.2px;color:#666}
#mobile-menu .mobile-menu-nav>ul{list-style:none;padding:0;margin:0;border:0}
#mobile-menu .mobile-menu-nav li{margin:0;padding:0}
#mobile-menu .mobile-menu-nav li+li{border-top:1px solid #f0f2ed}
#mobile-menu .mobile-menu-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 2px;border-radius:0;background:none;box-shadow:none;color:#1e1e1e;font-size:14px;line-height:1.5;font-weight:500;text-decoration:none;transition:color 180ms}
#mobile-menu .mobile-menu-link-icon{width:20px;height:20px;color:#77816e}
#mobile-menu .mobile-menu-nav a>span{min-width:0;flex:1}
#mobile-menu .mobile-menu-arrow{width:16px;height:16px;flex:none;transform:rotate(-90deg);color:#92998c}
#mobile-menu .mobile-menu-nav a:is(:hover,[aria-current=page]){color:var(--michel-soft-ink);background:none}
#mobile-menu .mobile-menu-nav a[aria-current=page]{font-weight:600}
#mobile-menu .mobile-menu-nav a:is(:hover,[aria-current=page]) .mobile-menu-link-icon{color:var(--michel-soft-ink)}
#mobile-menu .mobile-menu-account{flex:none;border-top:1px solid #e8ece5;padding:14px 16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-bottom:max(14px,env(safe-area-inset-bottom,0px));background:#fff}
#mobile-menu .mobile-menu-account a{display:flex;align-items:center;gap:12px;min-height:44px;color:#1e1e1e;line-height:1.5;text-decoration:none}
#mobile-menu .mobile-menu-account a>.icon:first-child{width:21px;height:21px;color:#689f38}
#mobile-menu .mobile-menu-account a>span{display:flex;flex:1;flex-direction:column;min-width:0}
#mobile-menu .mobile-menu-account strong{font-family:var(--body);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
#mobile-menu .mobile-menu-account small{font-size:11px;color:#666;line-height:1.6}
#mobile-menu .mobile-menu-account a:hover strong{color:var(--michel-soft-ink)}
#mobile-menu :is(a,button,input):focus-visible{outline:2px solid #689f38;outline-offset:2px}
@keyframes michel-menu-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes michel-menu-overlay{from{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.28)}}
@media(prefers-reduced-motion:reduce){#mobile-menu[open],#mobile-menu::backdrop{animation:none}#mobile-menu .mobile-menu-nav a,#mobile-menu .drawer-close::before{transition:none}}
#mobile-menu .mobile-menu-nav .sub-menu{list-style:none;margin:0;padding:0 0 4px 32px}
#mobile-menu .mobile-menu-nav .sub-menu a{min-height:44px;padding-block:8px;font-size:13px}
#mobile-menu .mobile-menu-nav .sub-menu .mobile-menu-link-icon{width:18px;height:18px}
