/* Consistent photography, readable product cards, and accessible detail zoom. */
.storefront .catalog-product-grid{gap:22px}
.storefront .catalog-product-card{border:1px solid #e3e8e9;border-radius:20px;box-shadow:0 3px 14px #192a3205}
.storefront .catalog-product-card:hover,.storefront .catalog-product-card:focus-within{border-color:#efbb96;box-shadow:0 12px 28px #192a3210;transform:translateY(-3px)}
.storefront .catalog-card-image{aspect-ratio:1.18;background:#fff;border-bottom:1px solid #edf0f1;text-decoration:none}
.storefront .catalog-card-image>img.product-uploaded-image{padding:38px 24px 22px;transition:transform .25s ease;mix-blend-mode:multiply}
.storefront .catalog-product-card:hover .catalog-card-image>img.product-uploaded-image{transform:scale(1.025)}
.storefront .catalog-card-content{padding:20px;gap:0}
.storefront .catalog-card-content .catalog-pack-info{font-size:10px;letter-spacing:.07em;line-height:1.5;margin:0 0 12px;color:#66767e;overflow-wrap:anywhere}
.storefront .catalog-card-content h2{font-size:16px;line-height:1.5;letter-spacing:-.025em;margin:0 0 20px;color:#19292f}
.storefront .catalog-card-content h2 a:focus-visible{outline:2px solid #ef772e;outline-offset:4px;border-radius:3px}
.storefront .catalog-card-price{padding-top:16px;border-color:#edf0f1;min-height:45px}
.storefront .catalog-price-pending{font-size:12px;color:#596970;font-weight:600}
.storefront .catalog-view{font-size:11px;padding:7px 10px;border-color:#e1e7e9;color:#293f49}
.storefront .catalog-choose-options,.storefront .catalog-card-cart button{margin-top:14px;border-radius:10px;background:#20343d;color:#fff;border-color:#20343d;font-size:12px;font-weight:650;min-height:46px}
.storefront .catalog-choose-options:hover,.storefront .catalog-card-cart button:hover{background:#e9681e;color:#fff;border-color:#e9681e}
.storefront .catalog-card-footnote{margin-top:15px;font-size:10px;color:#65757d;gap:6px}
.catalog-availability-badge{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e4e9ea;border-radius:999px;font-size:10px;font-weight:650;line-height:1.4;background:#fff;color:#657078;z-index:1}
.catalog-availability-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#839199}
.catalog-availability-badge.is-available{background:#edf8f2;color:#24714d;border-color:#d5ecdf}
.catalog-availability-badge.is-available:before{background:#258556}
.storefront .catalog-image-placeholder{background:#f7f9fa;color:#65757d;gap:12px}
.storefront .catalog-image-placeholder span{font-size:12px;text-decoration:none}
.storefront .item-image-stage{background:#fff;border:1px solid #e5e9ea;border-radius:22px;overflow:hidden}
.storefront .item-image-stage>img.product-uploaded-image{padding:clamp(24px,4vw,54px);mix-blend-mode:multiply}
.storefront .item-image-zoom{border-radius:999px;background:#fff;border:1px solid #dce4e7;box-shadow:0 4px 16px #172e3610;color:#243c47;padding:10px 15px}
.storefront .item-image-caption{font-size:11px;color:#64767f;text-align:center;margin:12px 0}
.storefront .item-zoom-dialog{border:0;border-radius:20px;box-shadow:0 24px 80px #0003}
.storefront .item-zoom-dialog::backdrop{background:#12232cbf;backdrop-filter:blur(5px)}
@media(max-width:760px){.storefront .catalog-product-grid{gap:16px}.storefront .catalog-card-content{padding:17px}.storefront .catalog-card-image{aspect-ratio:1.1}.storefront .catalog-card-content h2{font-size:15px}.storefront .item-image-stage{border-radius:16px}}
@media(max-width:480px){.storefront .catalog-card-image{aspect-ratio:1.3}.storefront .catalog-card-content{padding:20px}.storefront .catalog-card-content h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.storefront .catalog-product-card,.storefront .catalog-card-image>img.product-uploaded-image{transition:none}.storefront .catalog-product-card:hover,.storefront .catalog-product-card:focus-within,.storefront .catalog-product-card:hover .catalog-card-image>img.product-uploaded-image{transform:none}}

.storefront .retail-product-card{border:1px solid #e3e8e9;border-radius:18px;overflow:hidden;box-shadow:0 3px 14px #192a3205}
.storefront .retail-product-image{background:#fff;border-bottom:1px solid #edf0f1}
.storefront .retail-product-image>img.product-uploaded-image{padding:26px;mix-blend-mode:multiply}
