.storefront-frame{min-height:100vh}
.storefront-content{min-width:0;margin-left:106px}
.storefront-rail{position:fixed;inset:0 auto 0 0;z-index:40;width:106px;display:flex;flex-direction:column;align-items:stretch;background:#fffdf8;border-right:1px solid var(--line);box-shadow:8px 0 26px rgba(29,64,45,.07)}
.rail-brand{height:102px;display:grid;place-items:center;border-bottom:1px solid var(--line);position:relative}
.rail-brand:after{content:'';position:absolute;right:-1px;bottom:0;width:4px;height:0;background:var(--rust);transition:height .2s ease}
.rail-brand:hover:after,.rail-brand.active:after{height:100%}
.rail-brand img{display:block;width:39px;height:auto;max-height:66px;object-fit:contain}
.rail-nav{display:flex;flex:1;min-height:0;flex-direction:column;align-items:stretch;padding:12px 8px 10px;gap:4px}
.rail-link{position:relative;min-height:76px;padding:10px 5px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#59645e;text-align:center;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.rail-link svg{width:25px;height:25px;flex:0 0 auto}
.rail-label{font-size:.73rem;font-weight:750;line-height:1.12}
.rail-link:hover{background:rgba(228,160,48,.14);color:var(--forest);transform:translateY(-1px)}
.rail-link.active{background:rgba(228,160,48,.22);color:var(--forest);box-shadow:inset 4px 0 0 var(--rust)}
.rail-account{margin-top:auto}
.rail-count{position:absolute;top:6px;right:12px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:var(--rust);color:var(--cream);border:2px solid #fffdf8;font-size:.64rem;font-weight:900}
.mobile-menu-toggle{display:none}
.storefront-content>.page{width:100%}
@media(max-height:670px) and (min-width:761px){.rail-brand{height:82px}.rail-nav{padding-top:7px}.rail-link{min-height:66px}.rail-link svg{width:22px;height:22px}.rail-label{font-size:.68rem}}
@media(max-width:760px){
 .storefront-frame{min-height:100vh}
 .storefront-content{margin-left:0;padding-top:65px;padding-bottom:0}
 .storefront-rail{inset:0 0 auto;width:100%;height:65px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding-right:11px;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 5px 20px rgba(29,64,45,.09)}
 .rail-brand{width:72px;height:65px;display:grid;place-items:center;border:0;border-right:1px solid var(--line)}
 .rail-brand:after{right:0;bottom:-1px;width:0;height:3px}
 .rail-brand:hover:after,.rail-brand.active:after{width:100%;height:3px}
 .rail-brand img{width:28px;max-height:48px}
 .mobile-menu-toggle{width:46px;height:44px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--forest)}
 .mobile-menu-toggle span{width:22px;height:2px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .18s ease,opacity .18s ease}
 .mobile-menu-toggle:hover{background:rgba(228,160,48,.18);border-color:var(--gold)}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .rail-nav{position:absolute;z-index:42;top:72px;right:10px;width:min(286px,calc(100vw - 20px));height:auto;padding:8px;display:flex;flex-direction:column;gap:3px;background:#fffdf8;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 45px rgba(0,0,4,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-7px) scale(.98);transform-origin:top right;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
 .storefront-rail.menu-open .rail-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .rail-link{min-height:54px;padding:10px 13px;border-radius:10px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:left}
 .rail-link svg{width:23px;height:23px}
 .rail-label{font-size:.9rem;line-height:1.2;white-space:normal}
 .rail-link.active{box-shadow:inset 4px 0 0 var(--rust)}
 .rail-link:hover{transform:none}
 .rail-account{margin-top:6px;border-top:1px solid var(--line)}
 .rail-count{top:50%;right:13px;transform:translateY(-50%);border-width:1px}
 #toast{bottom:24px}
}
