html:has(.shop-catalog){scrollbar-gutter:stable}
/* The Categories drawer overlays the store instead of shifting its contents. */
.shop-catalog .shop-layout{grid-template-columns:minmax(0,1fr);gap:0}
.shop-categories-tab{position:fixed;left:auto;right:0;top:45%;z-index:35;display:flex;flex-direction:column;align-items:center;gap:8px;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);max-height:240px;min-width:44px;padding:12px 8px;border:1px solid #123568;border-radius:0 7px 7px 0;background:#123568;color:#fff;font:700 13px/1.2 Arial,sans-serif;cursor:pointer;box-shadow:0 3px 12px #10294b26}
.shop-categories-tab:hover{background:#0b2449}.shop-categories-tab:focus-visible{outline:3px solid #91aad0;outline-offset:2px}
.shop-catalog .shop-categories-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:320px;max-width:calc(100vw - 48px);height:100dvh;max-height:100dvh;box-sizing:border-box;padding:18px 16px;border:0;border-left:1px solid #cfd7e2;border-radius:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;box-shadow:-10px 0 35px #071a3b30}
.shop-categories-drawer[open]{display:block}.shop-categories-drawer::backdrop{background:#071a3b66}.shop-drawer-open{overflow:hidden}
.shop-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.shop-catalog .shop-drawer-heading h2{margin:0;font-size:20px;color:#123568}
.shop-drawer-heading button{width:44px;height:44px;border:1px solid #d8dde7;border-radius:6px;background:#f5f7fa;color:#123568;font-size:25px;line-height:1;cursor:pointer}.shop-drawer-heading button:hover{background:#e5ebf3}.shop-drawer-heading button:focus-visible{outline:2px solid #123568;outline-offset:2px}
.shop-drawer-selection{margin:0 8px 18px;color:#627084;font-size:12px;overflow-wrap:anywhere}
/* Grid stack settings are separate from preview and pagination counts. */
.shop-products .product-grid{grid-template-columns:repeat(var(--shop-columns-desktop,3),minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
@media(max-width:1100px){.shop-products .product-grid{grid-template-columns:repeat(var(--shop-columns-tablet,2),minmax(0,1fr))}.shop-catalog .gift-card-product .gift-card-badge{display:none}}
@media(max-width:720px){.shop-products .product-grid{grid-template-columns:repeat(var(--shop-columns-mobile,1),minmax(0,1fr))}}
.shop-products .product-grid.is-list{grid-template-columns:minmax(0,1fr)}
/* Keep the established card design while scaling its contents. */
.shop-catalog .catalog-product-card .product-card-body{padding:clamp(10px,1.1vw,14.4px)}
.shop-catalog .catalog-product-card .product-card-body h3{font-size:clamp(16px,1.45vw,21px);line-height:1.35}
.shop-catalog .catalog-product-card .product-category{font-size:clamp(11px,.9vw,13px)}
.shop-catalog .catalog-product-card .price{font-size:clamp(16px,1.35vw,20px)}
.shop-catalog .catalog-product-card .sale-ending{font-size:clamp(10px,.85vw,12px)}
.shop-catalog .catalog-product-card .catalog-card-button{width:clamp(104px,9vw,116px);min-height:32px;padding:clamp(6px,.6vw,8px) 8px;font-size:clamp(11px,.85vw,12px);line-height:1.3;white-space:nowrap}
.shop-catalog .catalog-product-card .product-label{font-size:clamp(9px,.75vw,11px);min-height:22px;padding:clamp(4px,.4vw,6px) clamp(6px,.55vw,9px);letter-spacing:.035em}
.shop-catalog .catalog-product-card .product-label--last-stock{font-size:clamp(9px,.75vw,11px)}
@media(orientation:portrait){.shop-catalog .catalog-card-actions{justify-content:center}}
@media(prefers-reduced-motion:reduce){.shop-categories-tab,.shop-drawer-heading button{transition:none}}

.shop-catalog>.breadcrumbs{width:100%;margin-left:0;margin-right:0}
@media(orientation:portrait){
.shop-tab-filter-label{display:none}
.shop-catalog .catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
.shop-catalog .catalog-section-heading{grid-row:2;grid-column:1/-1;width:100%;margin:0;justify-self:start;text-align:left}
.shop-catalog .catalog-show-all{grid-row:1;grid-column:1;justify-self:end}
.shop-catalog .product-view-switch{grid-row:1;grid-column:2;justify-self:end}
.shop-catalog .catalog-share{grid-row:1;grid-column:3;justify-self:end}
}

/* Right-edge navigation remains compact and separate from the overlay. */
.shop-edge-tabs{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:35;display:flex;flex-direction:column;gap:6px;max-height:calc(100dvh - 24px)}
.shop-edge-tabs .shop-categories-tab{position:static;transform:rotate(180deg);box-sizing:border-box;flex:none;text-decoration:none!important;transition:background .15s,color .15s,border-color .15s}
.shop-edge-tabs .shop-edge-link{display:none;background:#fff;color:#123568!important;border-color:#123568}
.shop-edge-tabs .shop-categories-tab:hover,.shop-edge-tabs .shop-categories-tab:active,.shop-edge-tabs .shop-categories-tab:focus-visible{background:#000;color:#fff!important;border-color:#000;filter:none}
@media(orientation:portrait){.shop-edge-tabs .shop-edge-link{display:flex}.shop-edge-tabs .shop-categories-tab{padding:10px 7px;min-width:38px;font-size:12px}}

.shop-edge-tabs{transition:opacity .2s ease,visibility .2s ease}
.shop-edge-tabs .shop-categories-tab{min-width:32px;padding:10px 5px;justify-content:center;align-items:center;line-height:1;text-align:center}
.shop-edge-tabs.is-scroll-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.shop-edge-tabs,.shop-edge-tabs .shop-categories-tab{transition:none}}

.shop-catalog .catalog-show-all[aria-current="page"]{background:#000;border-color:#000;color:#fff!important;box-shadow:inset 0 0 0 1px #000}
.shop-catalog .catalog-show-all[aria-current="page"]:hover,.shop-catalog .catalog-show-all[aria-current="page"]:focus-visible{background:#123568;border-color:#123568;color:#fff!important}
