body.home .b15-main-catalog { padding-top: clamp(38px,5vw,74px); }
.b15-catalog-jump { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border:1px solid var(--brand-line); border-radius:var(--brand-radius); color:inherit; text-decoration:none; }
.b15-catalog-jump:hover { background:var(--brand-tint); color:var(--brand-primary); }
.b15-main-catalog .products li.product { display:flex; flex-direction:column; align-items:flex-start; position:relative; border:1px solid var(--brand-line); background:var(--brand-surface); padding:12px!important; border-radius:var(--brand-radius); }
.b15-main-catalog li.product .woocommerce-loop-product__link { display:block; width:100%; }
.b15-main-catalog li.product .woocommerce-loop-product__link img { aspect-ratio:1; width:100%; height:auto!important; object-fit:contain; }
.b15-main-catalog li.product a.button { margin-top:auto!important; min-height:44px; align-self:stretch; text-align:center; }
.b15-main-catalog li.product .price { padding-bottom:12px; }
.b15-popular-badge { display:inline-block; position:absolute; z-index:2; left:18px; top:18px; padding:4px 8px; background:var(--brand-tint); color:var(--brand-ink); font-size:10px; border-radius:3px; }
.b15-main-catalog li.product:has(.onsale) .b15-popular-badge { top:49px; }
body.home .hero .b15-hero-benefit { display:block; margin:16px 0 0; padding-left:12px; border-left:2px solid var(--brand-primary); font-size:.85rem; color:inherit; }
@media (min-width: 701px) {
    body.home .hero.b15-hero-reverse { grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
    body.home .hero.b15-hero-reverse .hero-art { order:-1; margin:24px 0 24px 4%; min-width:0; }
    body.home .hero.b15-hero-reverse .hero-copy { order:0; }
    body.home .hero.b15-hero-gallery { grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); }
    body.home .hero.b15-hero-gallery .hero-art { margin:24px 4% 24px 0; min-width:0; }
    body.home .hero.b15-hero-centered { display:flex; flex-direction:column; align-items:stretch; }
    body.home .hero.b15-hero-centered .hero-copy { text-align:center; align-items:center; padding:44px 5% 30px; }
    body.home .hero.b15-hero-centered .hero-art { margin:0 8% 26px; height:420px; min-height:0; border-radius:var(--brand-radius); }
    body.home .hero.b15-hero-centered .hero-art picture { height:100%; }
    body.home .hero.b15-hero-centered .hero-art img { height:100%; }
    body.home .hero.b15-hero-centered .hero-copy .b15-hero-benefit { border:0; padding:0; }
}
body.single-product form.cart .b15-stepper { display:inline-grid; grid-template-columns:44px 52px 44px; width:142px; max-width:100%; min-height:46px; border:1px solid var(--brand-line); border-radius:var(--brand-radius); overflow:hidden; align-self:flex-start; }
body.single-product form.cart .b15-stepper input.qty { width:100%; min-width:0; height:46px; padding:0; margin:0; border:0; border-radius:0; text-align:center; appearance:textfield; }
.b15-stepper input::-webkit-inner-spin-button,.b15-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.b15-stepper button { border:0; min-height:46px; background:var(--brand-tint); color:var(--brand-ink); font-size:19px; }
.b15-stepper button:disabled { opacity:.45; }
.b15-stepper button:focus-visible,.b15-stepper input:focus-visible { outline-offset:-3px; }
body.single-product form.cart .single_add_to_cart_button,body.single-product form.cart .buy-now { min-height:46px; }
body.single-product .b15-product-text-only { grid-template-columns:minmax(0,1fr); }
@media (max-width:700px) {
    .b15-main-catalog li.product a.button { font-size:11px; padding-inline:5px; }
    .b15-main-catalog .products li.product { padding:8px!important; }
    .b15-popular-badge { left:12px; top:12px; font-size:9px; }
    body.single-product form.cart .single_add_to_cart_button,body.single-product form.cart .buy-now { width:100%; }
}
