/* Seaway storefront shell: expanded navigation, compact rail and mobile drawer. */
:root{--sidebar-width:280px;--sidebar-rail:88px;--sidebar-surface:#f7f9fc}
html{scrollbar-gutter:stable}
body{display:block;background:#f8faff}
.site-content{min-height:100dvh;margin-left:var(--sidebar-width);display:flex;flex-direction:column;--edge:clamp(1rem,2.3vw,2rem);transition:margin-left .2s ease}
.site-content>main{flex:1 0 auto;min-width:0}
.site-content>header,.site-content>footer{flex:none}
.category-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column;width:var(--sidebar-width);height:100dvh;background:var(--sidebar-surface);border-right:1px solid #e4eaf3;transition:width .2s ease,transform .2s ease}
.sidebar-brand{min-height:104px;display:flex;align-items:center;justify-content:center;padding:12px 24px;position:relative;flex:none}
.sidebar-brand-link{display:flex;align-items:center;justify-content:center;width:100%;min-width:0}
.sidebar-logo-full{display:block;width:200px;height:auto}
.sidebar-logo-mark{display:none;width:40px;height:48px;object-fit:contain}
.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 16px 20px;scrollbar-width:thin;scrollbar-color:#c7d5e8 transparent}
.sidebar-heading{margin:22px 12px 10px;font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#708199;white-space:nowrap}
.sidebar-heading:first-child{margin-top:8px}
.sidebar-links,.sidebar-categories{list-style:none;padding:0;margin:0}
.sidebar-links{display:grid;gap:4px}
.sidebar-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:9px 12px;color:#455871;border-radius:10px;font-size:.875rem;font-weight:550;line-height:1.35;position:relative}
.sidebar-link>.icon{width:20px;height:20px;flex:none;color:#667c97}
.sidebar-link:hover{background:#eaf2ff;color:#0344a3}
.sidebar-link[aria-current=page]{background:#e1edff;color:#0457cc;font-weight:650}
.sidebar-link[aria-current=page]>.icon{color:#0569f5}
.sidebar-label{min-width:0;overflow-wrap:anywhere}
.sidebar-categories{display:grid;gap:5px}
.sidebar-category-row{position:relative;display:flex;align-items:center;border-radius:10px}
.category-link{width:100%;min-height:48px;padding:10px 12px}
.category-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;color:inherit}
.category-icon .icon{width:22px;height:22px;stroke-width:1.65}
.sidebar-footer{flex:none;border-top:1px solid #e4eaf3;padding:12px 16px}
.sidebar-footer .sidebar-link{min-height:42px}
.sidebar-empty{padding:12px;font-size:.875rem;color:var(--mute)}
.sidebar-toggle,.sidebar-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #dce5f1;border-radius:10px;background:white;color:#52677f}
.sidebar-toggle:hover,.sidebar-close:hover{background:#f0f6ff;color:var(--primary)}
.sidebar-toggle .icon,.sidebar-close .icon{width:20px;height:20px}
.sidebar-close,.sidebar-backdrop,.mobile-brand{display:none}
.site-header{position:sticky;top:0;z-index:20;background:rgb(255 255 255 / .96);border-bottom:1px solid #e4eaf3}
.site-header .topbar,.storefront-home .site-header .topbar{width:100%;max-width:none;min-height:88px;padding:18px 28px;display:flex;gap:18px}
.site-header .search{width:min(100%,36rem);flex:1;min-width:0;background:#f8faff;border:1px solid #e1e8f3;border-radius:10px}
.site-header .search input{min-width:0;font-size:.875rem;padding:.75rem 1rem}
.site-header .header-tools{margin-left:auto;flex:none;gap:16px}
.site-header .order-trigger{min-width:44px}
.sidebar-collapsed .category-sidebar{width:var(--sidebar-rail)}
.sidebar-collapsed .site-content{margin-left:var(--sidebar-rail)}
.sidebar-collapsed .sidebar-brand{padding:22px 16px}
.sidebar-collapsed .sidebar-logo-full{display:none}
.sidebar-collapsed .sidebar-logo-mark{display:block}
.sidebar-collapsed .sidebar-scroll,.sidebar-collapsed .sidebar-footer{padding-inline:14px}
.sidebar-collapsed .sidebar-heading-label,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .sidebar-empty{display:none}
.sidebar-collapsed .sidebar-heading{display:none}
.sidebar-collapsed .sidebar-link,.sidebar-collapsed .category-link{justify-content:center;padding:8px;min-height:48px}
.site-content .home-container{max-width:1440px;padding-inline:28px}
.site-content .home-layout{padding-top:28px}
.site-content main.wrap{width:calc(100% - 2 * var(--edge))}
.site-content main.wrap:has(.shop-browser){width:100%;padding:28px}
.site-content .shop-browser{display:block;max-width:none}
.site-content .shop-results{background:transparent}
.site-content .footer-main{padding-block:10px}
.site-content footer{background:white}
@media(min-width:1024px) and (max-width:1199px){
  .site-header .account-link span{display:none}
  .site-header .account-link{width:44px;justify-content:center}
  .site-header .topbar,.storefront-home .site-header .topbar{padding-inline:22px;gap:12px}
}
@media(max-width:1023px){
  .site-content{margin-left:0}
  .category-sidebar{width:280px;max-width:calc(100vw - 48px);transform:translateX(-100%);box-shadow:16px 0 48px #102c521f}
  .sidebar-mobile-open .category-sidebar{transform:translateX(0)}
  .sidebar-mobile-open{overflow:hidden}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:29;background:#102c5266;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
  .sidebar-mobile-open .sidebar-backdrop{opacity:1;visibility:visible}
  .sidebar-close{display:grid;position:absolute;right:10px;top:8px;width:32px;height:32px;border:0;background:transparent}
  .sidebar-brand{padding-inline:28px;min-height:112px}
  .sidebar-logo-full{width:190px}
  .mobile-brand{display:flex;flex:none;align-items:center;justify-content:center}
  .mobile-brand img{width:30px;height:38px;object-fit:contain}
  .site-header .account-link span{display:none}
  .site-header .account-link{width:44px;justify-content:center}
  .site-content .home-container{padding-inline:24px}
  .site-header .topbar,.storefront-home .site-header .topbar{padding:14px 24px;min-height:76px}
}
@media(max-width:639px){
  .site-header .topbar,.storefront-home .site-header .topbar{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"toggle brand tools" "search search search";gap:10px 12px;padding:12px 16px}
  .sidebar-toggle{grid-area:toggle}.mobile-brand{grid-area:brand;justify-self:start}
  .site-header .header-tools{grid-area:tools;gap:6px}
  .site-header .search{grid-area:search;width:100%;max-width:none}
  .site-header .order-trigger span{display:none}
  .site-header .search input{font-size:1rem}
  .site-content .home-container{padding-inline:16px}
  .site-content main.wrap:has(.shop-browser){padding:20px 16px 32px}
  .site-content .home-layout{padding-top:20px}
  .site-content .shop-controls{width:100%;justify-content:space-between}
  .sidebar-link,.sidebar-footer .sidebar-link{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.site-content,.category-sidebar,.sidebar-backdrop{transition:none}}
