.product-card{position:relative}
.card-heart{position:absolute;right:10px;top:10px;z-index:2;margin:0}
.card-heart button{width:38px;height:38px;padding:0;border-radius:50%;font-size:28px;line-height:1;background:var(--paper,#fff);color:var(--brand-accent,var(--green));box-shadow:0 2px 8px #0002}
.card-buy-row{display:flex;align-items:flex-end;gap:8px;margin:12px 0 0}
.card-buy-row label{width:68px;flex:0 0 68px;margin:0;font-size:13px}
.card-buy-row input{padding:10px 6px;min-height:44px}
.card-buy-row button{flex:1;min-width:0;padding:11px 6px;min-height:44px;font-size:14px;white-space:nowrap}
.manufacturer-banner{display:block;width:100%;aspect-ratio:18/5;object-fit:cover;border-radius:10px;margin:20px 0}
#cart-summary{scroll-margin-top:24px}
@media(max-width:400px){.card-buy-row{gap:4px}.card-buy-row label{width:48px;flex-basis:48px}.card-buy-row button{font-size:12px;padding-left:3px;padding-right:3px}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.card-buy-row label{width:72px;flex-basis:72px}.card-buy-row button{font-size:15px}}

/* Directory banners and accent-matched marketplace invitation. */
.maker-cover{position:relative;overflow:hidden}
.maker-cover .maker-banner-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
html .seller-cta{background:var(--brand-accent)!important;color:var(--brand-on)!important}
html .seller-cta h2,html .seller-cta p,html .seller-cta small,html .seller-cta .eyebrow{color:var(--brand-on)!important;opacity:1}
html .seller-cta .button{background:var(--paper,#fff);color:var(--ink,#20372f);border:1px solid currentColor}
.cart-drawer-overlay{position:fixed;inset:0;background:#0006;z-index:1490}
.cart-drawer-overlay[hidden]{display:none}
.cart-drawer{position:fixed;top:16px;right:16px;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--paper,#fff);color:var(--ink,#20372f);box-shadow:0 16px 60px #0005;border:1px solid var(--line,#ddd);border-radius:12px;z-index:1500;padding:22px;transform:translateY(calc(-100% - 32px));visibility:hidden;transition:transform .3s ease,visibility .3s}
.cart-drawer.is-open{transform:translateY(0);visibility:visible}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer-heading h2{font-size:23px;margin:0}
.drawer-close{font-size:25px;padding:4px 12px}
.drawer-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--line,#ddd);padding:14px 0}
.drawer-item img{width:52px;height:60px;object-fit:cover;border-radius:5px}
.drawer-item strong{font-size:15px;overflow-wrap:anywhere}
.drawer-item small,.drawer-item span{display:block;font-size:13px}
.drawer-item>b{grid-column:2;font-size:15px}
.drawer-totals>div{display:flex;justify-content:space-between;gap:12px;margin:10px 0}
.drawer-totals dd{margin:0}
.cart-add-error{color:var(--ink);font-size:14px}
@media(prefers-reduced-motion:reduce){.cart-drawer{transition:none}}
