[hidden] { display: none !important; }
.shop-header nav { flex-wrap: wrap; }
#buyer-account { white-space: nowrap; }
.cart-launcher { position: fixed; bottom: max(24px, env(safe-area-inset-bottom)); right: max(24px, env(safe-area-inset-right)); z-index: 25; display: flex; align-items: center; gap: 10px; padding: 15px 20px; border-radius: 40px; color: var(--shop-ink); background: var(--market-green); box-shadow: 0 5px 24px #14251b30; font-weight: 700; text-decoration: none; min-height: 54px; }
.cart-launcher span { display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 6px; border-radius: 50%; color: white; background: var(--shop-ink); font-size: 12px; }
.commerce-page { padding: 48px 5.5% 100px; max-width: 1440px; margin: auto; min-height: 65vh; }
.commerce-page h1 { font: 400 clamp(34px,4vw,52px)/1.15 var(--shop-serif); margin: 12px 0; }
.commerce-page h2, .buyer-dialog-content h2 { font: 400 27px/1.2 var(--shop-serif); margin: 10px 0 16px; }
.commerce-page > .shop-button { display: inline-block; text-decoration: none; margin: 6px 0 22px; }
.commerce-note { color: var(--shop-muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.commerce-feedback { color: var(--shop-accent); font-size: 13px; line-height: 1.6; }
body > .commerce-feedback { position: fixed; left: 20px; bottom: 20px; max-width: min(500px,60vw); z-index: 30; background: var(--shop-paper); border: 1px solid var(--shop-line); border-radius: 8px; padding: 12px; }
.commerce-item-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.commerce-item-actions > p { flex-basis: 100%; margin: 0; }
.commerce-item-actions a { text-decoration: none; }
.cart-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,340px); gap: 36px; margin-top: 20px; align-items: start; }
.cart-line { display: grid; grid-template-columns: 140px minmax(0,1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--shop-line); }
.cart-art { height: 150px; overflow: hidden; position: relative; border-radius: 5px; background: var(--market-wash); }
.cart-art img { width: 100%; height: 100%; object-fit: cover; }
.cart-line-copy h2 { font-size: 24px; overflow-wrap: anywhere; margin: 6px 0; }
.cart-line-copy .eyebrow { font-size: 10px; }
.cart-line-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.cart-line-controls .shop-field { margin: 5px 0; }
.cart-line-controls input { width: 80px; }
.shop-field select { border: 1px solid var(--shop-line); border-radius: 4px; min-height: 42px; padding: 8px 10px; background: white; color: var(--shop-ink); font: inherit; }
.cart-summary, .commerce-record, .checkout-quote { border: 1px solid var(--shop-line); border-radius: 8px; padding: 24px; background: var(--market-wash); }
.cart-summary > a { display: block; text-align: center; text-decoration: none; }
.commerce-total-row { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--shop-line); font-size: 14px; }
.commerce-empty { padding: 60px 24px; background: var(--market-wash); border-radius: 8px; margin: 20px 0; text-align: center; }
.commerce-record { margin: 16px 0; }
.commerce-status { display: inline-block; padding: 5px 12px; border-radius: 20px; background: var(--market-pale); text-transform: capitalize; font-size: 13px; }
.checkout-form { max-width: 620px; }
.checkout-quote { max-width: 620px; margin-top: 24px; }
.checkout-quote:empty { display: none; }
.checkout-quote > button { margin-top: 20px; }
#buyer-dialog { width: min(540px,94vw); }
.buyer-dialog-content { padding: 48px 32px 32px; }
.buyer-dialog-content > .shop-button { margin-top: 12px; }
.commerce-form .shop-button { margin: 5px 8px 5px 0; }
.commerce-form label, .checkout-form label { font-size: 13px; }
footer { padding-bottom: 100px; }
@media(max-width:900px) { .shop-header { flex-wrap: wrap; } .shop-header nav { margin-left: 0; } .cart-layout { grid-template-columns: 1fr; gap: 18px; } }
@media(max-width:600px) { .cart-line { grid-template-columns: 85px minmax(0,1fr); gap: 14px; } .cart-art { height: 110px; } .cart-line-controls { gap: 8px; } .cart-line-controls .shop-field select { max-width: 165px; } .cart-launcher { bottom: 16px; right: 16px; padding: 13px 17px; } .commerce-page { padding: 30px 6% 95px; } .buyer-dialog-content { padding: 46px 24px 24px; } .shop-header nav { gap: 12px; font-size: 11px; } }

.cart-launcher[hidden]{display:none}
