/* Keep catalog actions below the product, never in a competing flex column. */
.saveable-product[data-catalog-id]{flex-direction:column}
.saveable-product[data-catalog-id]>.product-card{flex:1}
.mall .saveable-product>.compare-toggle{align-self:stretch;flex:none;margin:12px 0 4px;max-width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.compare-toggle{margin:8px 12px 12px;max-width:calc(100% - 24px)}.product-utility .compare-toggle{margin:0}.comparison-scroll{position:relative;overflow-x:auto;border:1px solid #d5e0eb;border-radius:16px;background:#fff;margin:20px 0}.comparison-scroll:focus{outline:3px solid #c98a04;outline-offset:3px}.comparison-table{border-collapse:collapse;min-width:100%;text-align:left}.comparison-table caption{padding:16px;text-align:left;font-weight:600}.comparison-table th,.comparison-table td{padding:16px;vertical-align:top;border:1px solid #e1e8ef;min-width:210px;max-width:280px;overflow-wrap:anywhere}.comparison-table th:first-child{min-width:140px;background:#edf4fa}.comparison-table thead th{background:#edf4fa}.comparison-photo{object-fit:contain;max-width:100%;height:160px}.comparison-table ul{padding-left:18px;margin:0}.variant-stock{margin-top:20px}.variant-stock summary{cursor:pointer;font-weight:600}.variant-stock .records article{gap:12px}.variant-stock .records p{margin:4px 0}

.comparison-tray{position:sticky;top:8px;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;margin:0 0 20px;background:#fff;border:1px solid #c4d5e8;border-radius:16px;box-shadow:0 4px 14px #17354b18}
.comparison-tray[hidden],.comparison-tray [hidden]{display:none!important}
.comparison-tray strong{font-size:13px;margin-right:auto}.mall .comparison-tray .button{font-size:12px;min-height:44px;padding:10px 14px}
.comparison-status{flex-basis:100%;margin:0;font-size:12px;color:#486078}.comparison-status:empty{display:none}
.comparison-differences{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.comparison-differences span{flex-basis:100%;font-weight:400;color:#486078}
@media(max-width:760px){.comparison-tray{position:static;padding:12px}.comparison-tray strong{flex-basis:100%}}

/* Package costs stay next to the seller whose delivery they describe. */
.package-cost{padding:18px 24px;background:#f8fbfe}.package-cost>div{display:flex;justify-content:space-between;gap:18px;margin:8px 0;font-size:13px}.package-cost strong{white-space:nowrap}.package-cost p{font-size:12px;color:#536a7f}.review-group [data-delivery-status]{font-size:13px;line-height:1.6}.review-item>strong{white-space:nowrap}

.delivery-check{padding:14px;border:1px solid #c4d5e8;border-radius:12px;background:#f0f6fc;font-size:13px;line-height:1.6}.delivery-check.error{border-color:#bb5360;background:#fff3f3;color:#8c2635}

.customer-order-help{padding:16px;margin:16px 0;border:1px solid #c6d9e8;border-left:4px solid #247c80;border-radius:12px;background:#f1f8fc}.customer-order-help h4{font-size:15px;margin:0 0 8px}.customer-order-help p{font-size:13px;line-height:1.7;margin:0 0 8px}.customer-order-help a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:13px}

/* Keep checkout fields readable at intermediate widths and long order details contained. */
.review-item>span:first-child,.review-item>strong:first-child{min-width:0;overflow-wrap:anywhere}.review-item{gap:16px}.order-actions{flex-wrap:wrap}.customer-order-help{overflow-wrap:anywhere}
@media(max-width:1000px){.commerce-layout{grid-template-columns:minmax(0,1fr)}.commerce-layout .order-summary{position:static}.checkout-form .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.checkout-form .field-grid{grid-template-columns:minmax(0,1fr)}.checkout-form .field-full{grid-column:auto}.review-item{gap:10px}.review-item>strong{font-size:13px}.order-actions .button{max-width:100%;white-space:normal}}

.review-item>strong:first-child:not(:last-child){white-space:normal}

.queue-search{flex-wrap:wrap;align-items:end}.queue-search>label{min-width:0;flex:1 1 180px}.queue-search input,.queue-search select{width:100%}@media(max-width:480px){.queue-search>label{flex-basis:100%}}

.field-error,.field-hint{display:block;font-size:12px;line-height:1.6;margin-top:6px;font-weight:400}.field-error{color:#9e2838}.field-error[hidden]{display:none}.field-hint{color:#536a7f}form[data-inline-validation] [aria-invalid=true]{border-color:#b02c40;outline-offset:3px}

.product-estimate{padding:14px;border:1px solid #c6d9e8;border-radius:12px;background:#f1f8fc;margin:16px 0}.product-estimate[hidden]{display:none}.product-estimate p{margin:8px 0;font-weight:600}.product-estimate small{display:block;font-size:12px;line-height:1.6;color:#536a7f}.help-intro{max-width:760px;line-height:1.8}.help-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.help-links a{padding:12px;border:1px solid #c6d9e8;border-radius:12px;background:white;min-height:44px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.help-grid .panel{margin:0;min-width:0;scroll-margin-top:20px}.help-grid p{font-size:14px;line-height:1.8}.help-grid details{border-top:1px solid #dce5ed;padding:14px 0}.help-grid summary{cursor:pointer;min-height:44px;font-weight:600;line-height:1.7}.help-grid .button{margin:8px 6px 0 0}.page-footer{flex-wrap:wrap;gap:16px}@media(max-width:760px){.help-grid{grid-template-columns:minmax(0,1fr)}}

.workspace-monitor{padding:18px;margin:20px 0;border:1px solid #c4d5e8;border-radius:16px;background:#f4f9fc}.workspace-monitor p{font-size:13px;line-height:1.7;margin:8px 0}.workspace-monitor.has-updates{border-left:5px solid #217a73}.workspace-monitor [hidden]{display:none!important}.workspace-monitor label{white-space:normal}.workspace-monitor .order-actions{margin-top:12px}

.mall .saveable-product>.quick-preview-toggle{margin:6px 0;min-height:44px;font-size:12px}.product-preview{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:24px;border:1px solid #c4d5e8;border-radius:20px;color:#17354b;background:#fff}.product-preview::backdrop{background:#10263f99}.product-preview h2{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.product-preview img{width:100%;height:220px;object-fit:contain;background:#f4f7fb;border-radius:12px}.product-preview p{font-size:13px;line-height:1.7}.product-preview>strong{font-size:23px}.product-preview>a{display:flex;justify-content:center;white-space:normal}.product-sections{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.product-sections a{padding:10px 0;min-height:44px}.product-specs{border-top:1px solid #dce5ed;border-bottom:1px solid #dce5ed;padding:16px 0;margin:18px 0;scroll-margin-top:20px}.product-specs summary{font-weight:600;cursor:pointer;min-height:44px}.product-specs dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:13px}.product-specs dd{margin:0;overflow-wrap:anywhere}.product-copy{white-space:pre-line}.product-gallery>.photo-controls{width:max-content;margin:12px auto}.mall .photo-controls button{min-width:32px;min-height:36px;padding:3px 8px}.photo-controls span{font-size:11px;white-space:nowrap}

.product-preview>button:first-child{display:block;margin-left:auto;margin-bottom:14px}

.saveable-product[data-catalog-id]{background:#fff;border:1px solid #d5e1ed;border-radius:17px;box-shadow:0 4px 0 #e2e9f1;overflow:hidden}.saveable-product[data-catalog-id]>.product-card{border:0;box-shadow:none;border-radius:0}.saveable-product[data-catalog-id]>.product-card:hover{transform:none;box-shadow:none}.card-icon-actions{display:flex;justify-content:flex-end;gap:10px;padding:10px 14px 14px;border-top:1px solid #edf1f6}.mall .card-icon-actions .button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px;margin:0;max-width:none}.mall .card-icon-actions [aria-pressed=true]{background:#174e91;color:#fff;border-color:#174e91}.product-card>div.product-points,.product-gallery>.product-points{padding:10px 14px;text-align:right;font-size:12px;font-weight:600;color:#165d64;background:#edf7f7}.shop-grid[data-view=list] .product-points{grid-column:1/-1;grid-row:2}.product-gallery>.product-points{border-radius:10px;margin:12px 0}

/* Browsing density is a presentation choice; all layouts share the same product data. */
.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.storefront .shop-grid[data-density=comfortable] .product-card h2{font-size:15px;line-height:1.6}.storefront .shop-grid[data-density=comfortable] .product-card-body p{font-size:13px}.storefront .shop-grid[data-density=comfortable] .product-card>div.product-card-body{padding:16px;gap:10px}.view-switch{flex-wrap:wrap}.catalog-tools{flex-wrap:wrap}.storefront .section-heading{flex-wrap:wrap;gap:14px}.storefront .shop-grid[data-density=comfortable] .product-card .card-cta{min-height:44px;font-size:13px}
@media(max-width:1050px){.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:minmax(0,1fr)}.storefront .shop-grid[data-density=comfortable]:not([data-view=list]) .product-media{aspect-ratio:4/3}.storefront .shop-grid[data-density=comfortable] .product-card h2{min-height:0}.catalog-tools{width:100%;justify-content:space-between}.mall .view-switch button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-media img,.mall .button{transition:none!important}}
.mall .view-switch button[aria-pressed=true]{background:#174e85;color:#fff;border-color:#174e85}

.description-images{display:grid;gap:16px;margin:20px 0}.description-images img{display:block;width:100%;height:auto;border-radius:12px;object-fit:contain}

/* Compact catalog: consistent controls and useful information in every density. */
.storefront .shop-grid{gap:14px}
.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){gap:18px}
.storefront .shop-grid .product-card>div.product-card-body{padding:12px;gap:6px}
.storefront .shop-grid .product-card h2{font-size:14px;line-height:1.45;min-height:2.9em}
.storefront .shop-grid .product-card-body p{font-size:12px;line-height:1.5}
.storefront .shop-grid .product-card strong{font-size:18px;line-height:1.4;letter-spacing:-.02em}
.storefront .shop-grid .product-media{padding:12px;aspect-ratio:4/3}
.storefront .shop-grid .product-points{padding:7px 12px;font-size:11px;line-height:1.5}
.storefront .shop-grid .card-cta{min-height:36px;padding-top:6px;font-size:12px;margin-top:auto}
.storefront .card-icon-actions{padding:6px 10px;gap:8px}
.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(4,minmax(0,1fr))}
.storefront .shop-grid[data-view=list]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.storefront .shop-grid[data-view=list] .product-card{display:grid;grid-template-columns:140px minmax(0,1fr);grid-template-rows:1fr auto}
.storefront .shop-grid[data-view=list] .product-media{grid-column:1;grid-row:1;aspect-ratio:auto;height:auto;min-height:120px;border-right:1px solid #e2eaf2}
.storefront .shop-grid[data-view=list] .product-media img{height:120px;max-height:100%;object-fit:contain}
.storefront .shop-grid[data-view=list] .product-points{grid-column:1;grid-row:2;align-self:end;padding:8px;overflow-wrap:anywhere}
.storefront .shop-grid[data-view=list] .product-card-body{grid-column:2;grid-row:1/3}
.storefront .shop-grid[data-view=list] .product-card h2{min-height:0}
.product-detail{gap:20px;margin-top:18px}
.product-detail .panel{padding:20px}
.product-detail .product-photo-stage{padding:12px;border-radius:16px}
.product-detail .product-photo-stage #main-photo{height:clamp(240px,34vw,420px);aspect-ratio:auto}
.product-gallery .photo-zoom-hint{padding-top:8px}
.product-gallery>.product-points{padding:8px 12px;margin:8px 0}
.product-gallery .thumbnails{display:flex;overflow-x:auto;gap:8px;padding:4px 2px 8px;margin-top:8px;scroll-snap-type:x proximity}
.product-gallery .thumbnails button{flex:0 0 64px;width:64px;height:64px;scroll-snap-align:start}
.product-detail .product-price{font-size:30px;line-height:1.35}
.product-detail .purchase-actions{margin:16px 0;gap:12px}
.product-detail .product-estimate{padding:12px;margin:12px 0}
.product-detail .product-utility{gap:8px;margin:12px 0}
.product-detail .product-sections{gap:16px;margin:12px 0}
.product-detail .product-specs{padding:10px 0;margin:12px 0}
.product-detail .product-copy{line-height:1.7}
@media(max-width:1050px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(3,minmax(0,1fr))}.storefront .shop-grid[data-view=list]{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.storefront .shop-grid[data-density=compact] .product-card>div.product-card-body{padding:10px}.storefront .shop-grid[data-density=compact] .product-card strong{font-size:16px}.storefront .shop-grid[data-density=compact] .product-card h2{font-size:13px}.product-detail .panel{padding:16px}.product-detail .product-photo-stage #main-photo{height:280px}}
@media(max-width:600px){.storefront .shop-grid[data-density=comfortable]:not([data-view=list]) .product-media{aspect-ratio:3/2}.storefront .shop-grid[data-view=list] .product-card{grid-template-columns:110px minmax(0,1fr)}.storefront .shop-grid[data-view=list] .product-media{padding:8px}.storefront .shop-grid[data-view=list] .product-media img{height:100px}.storefront .shop-grid[data-view=list] .product-card strong{font-size:16px}}
@media(max-width:360px){}

/* Shared product actions sit inside the card, leaving photography unobstructed. */
.mall .card-icon-actions .save-product{position:static;inset:auto;flex:none;margin:0;width:44px;height:44px}
.mall .card-icon-actions [hidden]{display:none}
.product-gallery .card-icon-actions{margin-top:8px;border:1px solid #dce5ef;border-radius:12px;background:#fff}
.storefront .shop-grid .product-card>div.product-card-body{padding:10px;gap:4px}
.storefront .shop-grid .product-media{padding:8px}
.storefront .shop-grid .product-card-body p{font-size:12px}
.storefront .shop-grid .product-card .card-cta{min-height:30px;padding-top:4px}
.storefront .card-icon-actions{gap:6px;padding:5px 8px}
.mall .photo-autoplay-toggle{font-size:11px;padding:8px 12px;margin-top:8px}
@media(min-width:1200px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(5,minmax(0,1fr))}.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1600px){.mall-main.storefront{max-width:1600px}.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(6,minmax(0,1fr))}.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:480px){.storefront .shop-grid[data-density=compact] .card-icon-actions{justify-content:space-evenly;gap:2px;padding:5px 2px}}

/* White photography and a shared points/action footer. */
.storefront .shop-grid .product-media,.product-detail .product-photo-stage,.product-preview img{background:#fff}
.storefront .shop-grid .product-media{padding:2px;aspect-ratio:1}
.storefront .shop-grid[data-density=comfortable]:not([data-view=list]) .product-media{aspect-ratio:1}
.storefront .shop-grid[data-view=list] .product-card{grid-template-rows:1fr}
.storefront .shop-grid[data-view=list] .product-card-body{grid-row:1}
.storefront .shop-grid[data-view=list] .product-media{padding:2px;grid-row:1}
.storefront .shop-grid[data-view=list] .product-media img{height:100%;min-height:150px;max-height:240px}
.product-detail .product-photo-stage{padding:2px}
.product-detail .product-photo-stage #main-photo{height:clamp(280px,38vw,480px)}
.mall .card-icon-actions{align-items:center;flex-wrap:wrap}
.mall .card-icon-actions .product-points{position:relative;overflow:hidden;margin:0 auto 0 0;padding:8px 10px;border-radius:9px;background:#e8f7ec;color:#126538;font-size:20px;font-weight:700;line-height:1.4;white-space:nowrap;box-shadow:0 0 9px #32a66224}
.mall .card-icon-actions .product-points::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff9 50%,transparent 75%);transform:translateX(-130%);animation:pp-shine 6s ease-in-out infinite;pointer-events:none}
@keyframes pp-shine{0%,65%{transform:translateX(-130%)}90%,100%{transform:translateX(130%)}}
.mall .photo-autoplay-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;margin:0;flex:none}
.mall .photo-autoplay-toggle[hidden]{display:none}
@media(max-width:760px){.mall .card-icon-actions .product-points{font-size:18px}.storefront .shop-grid[data-density=compact] .card-icon-actions .product-points{flex-basis:100%;margin:0;text-align:left}.product-detail .product-photo-stage #main-photo{height:320px}}
@media(prefers-reduced-motion:reduce){.mall .card-icon-actions .product-points::after{animation:none;display:none}}
.saveable-product[data-catalog-id]{container-type:inline-size}
@container(max-width:260px){.mall .card-icon-actions .product-points{flex-basis:100%;margin:0;text-align:left}.mall .card-icon-actions{justify-content:flex-end}}
.mall .product-detail button.product-photo-stage{background:#fff}
@media(max-width:380px){.product-gallery .card-icon-actions .product-points{flex-basis:100%;margin:0;text-align:left}}

.product-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:44px;margin:0 0 10px;color:#405970;font-size:13px;width:fit-content}.product-rating strong{color:#17354b}.product-rating small{font-size:11px}.rating-stars{position:relative;display:inline-block;white-space:nowrap;font-size:22px;line-height:1.3;letter-spacing:2px;color:#b5bec7}.rating-stars-fill{position:absolute;left:0;top:0;overflow:hidden;color:#a86b00}.product-rating:hover{text-decoration:underline}

/* Compact, scrollable quick preview with a clear price and review summary. */
.product-preview{box-sizing:border-box;width:min(460px,calc(100vw - 24px));padding:16px;border-radius:16px;max-height:calc(100dvh - 24px)}
.product-preview>button:first-child{margin:0 0 8px auto;min-height:44px;padding:8px 12px}
.product-preview h2{font-size:18px;line-height:1.4;margin:0 0 10px}
.product-preview img{height:clamp(120px,24dvh,200px);display:block;border-radius:8px}
.product-preview p{margin:8px 0;font-size:12px;line-height:1.5}
.product-preview .product-rating{margin:4px 0;gap:6px;font-size:12px}
.product-preview>strong{display:block;font-size:24px;line-height:1.35;margin:4px 0}
.product-preview>a.button{margin-top:12px;min-height:44px;font-size:12px;padding:10px}

/* Compact discovery controls, with one place for sorting and stock toggles. */
.storefront .compact-hero{padding:14px 18px;margin-bottom:10px;gap:14px;box-shadow:none;border-radius:14px}
.storefront .compact-hero h2{font-size:20px;margin-bottom:3px}.storefront .compact-hero p{font-size:12px}
.storefront .compact-hero .shop-switch a{min-height:44px;padding:8px 14px;box-shadow:none}
.storefront .shopping-context{padding:8px 12px;margin-bottom:8px;border-radius:12px}
.storefront .shopping-context small{display:inline;margin-right:6px}
.storefront .category-shortcuts{margin:0 0 8px;padding:2px 0 6px;gap:6px}
.storefront .category-shortcuts a{padding:6px 12px;min-height:44px;border-radius:10px}
.storefront .catalog-filters{margin-bottom:10px;border-radius:12px}
.storefront .catalog-filters>summary{padding:8px 12px;min-height:44px}
.storefront .catalog-filters .shop-filters{padding:4px 12px 12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.storefront .shop-filters label{margin:0;min-width:0}
.storefront .shop-filters input,.storefront .shop-filters select{margin:4px 0 0;min-height:44px;padding:9px 10px;width:100%}
.filter-price{min-width:0;border:0;padding:0;margin:0}.filter-price legend{font-size:12px;font-weight:600;padding:0;line-height:1.7}.filter-price>div{display:flex;align-items:center;gap:8px}.filter-price label{flex:1}
.filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.mall .filter-actions .button{min-height:44px;margin:0;padding:8px 16px;box-shadow:none}
.storefront .price-filter-note{grid-column:1/-1;margin:0;font-size:11px;line-height:1.5;color:#526a80}
.storefront .quick-sort{margin:10px 0;gap:6px}.storefront .quick-sort a{padding:6px 12px;box-shadow:none;border-radius:9px;min-height:44px}
@media(max-width:900px){.storefront .catalog-filters .shop-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-price{grid-column:1/-1}}
@media(max-width:600px){.storefront .compact-hero{padding:12px;gap:10px}.storefront .compact-hero h2{font-size:18px}.storefront .compact-hero .shop-switch{width:100%;max-width:none;gap:8px}.storefront .compact-hero .shop-switch a{justify-content:center;flex:1}.storefront .shopping-context{flex-wrap:wrap;align-items:center;gap:6px}.storefront .context-note{max-width:none;font-size:10px}.storefront .quick-sort>span{width:auto}.storefront .quick-sort a{font-size:11px;padding:6px 10px}.filter-actions .button{flex:1}.storefront .catalog-filters .shop-filters{gap:10px}}
@media(max-width:380px){.storefront .catalog-filters .shop-filters{grid-template-columns:minmax(0,1fr)}}


.product-gallery .product-reviews-accordion{padding:0;margin:14px 0;scroll-margin-top:18px}
.product-reviews-accordion>summary{cursor:pointer;padding:14px 16px;min-height:48px;font-size:14px;font-weight:600;line-height:1.5}
.product-reviews-accordion>summary span{font-weight:400;color:#526a80}
.product-reviews-content{padding:0 16px 16px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.product-reviews-content .review-group{padding:12px 0}.product-reviews-content .pagination{flex-wrap:wrap}

/* Use available tablet/desktop space without stretching isolated results. */
@media(min-width:761px){
 .mall-main.storefront{width:100%;max-width:1800px;padding-left:24px;padding-right:24px}
 .storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .storefront .shop-grid[data-view=list]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .storefront .shop-grid[data-view=list] .product-card{grid-template-columns:100px minmax(0,1fr)}
 .storefront .shop-grid[data-view=list] .product-media img{min-height:110px;max-height:180px}
 .storefront .shop-grid[data-view=list] .product-card-body{padding:10px;gap:4px}
 .storefront .shop-grid .product-card-body p{line-height:1.4}
 .storefront .shop-grid[data-density=compact] .product-card h2{font-size:13px;line-height:1.45}
}
@media(min-width:1100px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(5,minmax(0,1fr))}.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1300px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(6,minmax(0,1fr))}.storefront .shop-grid[data-view=list]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1700px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:repeat(7,minmax(0,1fr))}.storefront .shop-grid[data-density=comfortable]:not([data-view=list]){grid-template-columns:repeat(5,minmax(0,1fr))}.storefront .shop-grid[data-view=list]{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Match storefront header gutters to the 1800px catalog container. */
@media(min-width:761px){
 .mall:has(>.mall-main)>.mall-header,.mall:has(>.mall-main)>.mall-nav,.mall:has(>.mall-main)>.mall-topline{padding-left:max(24px,calc((100% - 1800px)/2 + 24px));padding-right:max(24px,calc((100% - 1800px)/2 + 24px))}
 .mall:has(>.mall-main)>.mall-header .header-search{max-width:none;min-width:0}
}

/* Shared e-Mall page width follows the shopping page on larger screens. */
@media(min-width:761px){.mall>.mall-main{width:100%;max-width:1800px;padding-left:24px;padding-right:24px}}
.product-share{box-sizing:border-box;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #c4d5e8;border-radius:16px;padding:18px;color:#17354b;background:white}.product-share::backdrop{background:#10263f99}.product-share>button:first-child{display:block;margin-left:auto}.product-share h2{font-size:19px;margin:12px 0}.product-share p{font-size:13px;overflow-wrap:anywhere}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.share-note{color:#526a80}.product-share input{width:100%}
@container(max-width:300px){.mall .card-icon-actions .product-points{flex-basis:100%}.mall .card-icon-actions{gap:4px;justify-content:flex-end}}
@media(max-width:480px){.product-gallery .card-icon-actions .product-points{flex-basis:100%;text-align:left}}
@media(max-width:360px){.storefront .shop-grid[data-density=compact]:not([data-view=list]){grid-template-columns:minmax(0,1fr)}}

.share-qr{text-align:center;border:1px solid #dce5ef;border-radius:12px;background:#f7fafc;padding:12px;margin:12px 0}.share-qr img{display:block;width:224px;max-width:100%;height:auto;margin:0 auto;background:#fff;image-rendering:pixelated}.share-qr .button{font-size:12px;min-height:44px}.share-qr p{margin:8px 0}.product-share .share-note{font-size:11px;line-height:1.6}
