.jsm-marketplace-workspace .jsm-product-gallery{min-width:0;outline-offset:4px}
.jsm-gallery-stage{position:relative;display:grid;place-items:center;min-height:260px;aspect-ratio:4/3;background:#f5f6f7;border:1px solid #c9d2dc;border-radius:14px;overflow:hidden}
.jsm-gallery-stage>img{display:block;width:100%;height:100%;max-height:560px;object-fit:contain;touch-action:pan-y}
.jsm-gallery-stage>button{position:absolute;top:calc(50% - 24px);width:48px;min-height:48px;border:1px solid #ffffff;border-radius:50%;background:#102e4d;color:#fff;font-size:32px;line-height:1;box-shadow:0 3px 12px #0003;cursor:pointer}
.jsm-gallery-prev{left:12px}.jsm-gallery-next{right:12px}
.jsm-gallery-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;font-weight:700;color:#17334f}
.jsm-gallery-caption>a{color:#174c7c;text-decoration:underline}
.jsm-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px}
.jsm-gallery-thumbs>a{flex:0 0 72px;border:3px solid transparent;border-radius:10px;overflow:hidden}
.jsm-gallery-thumbs>a[aria-current=true]{border-color:#b07d10}
.jsm-gallery-thumbs img{width:100%;height:64px;object-fit:cover;display:block}
.jsm-product-gallery :focus-visible,.jsm-marketplace-workspace [data-jsm-native]:focus-visible{outline:3px solid #a97713;outline-offset:3px}
.jsm-marketplace-workspace .jsf-live-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.jsm-marketplace-workspace .jsf-live-product-actions,.jsm-marketplace-workspace .jsf-listing-actions,.jsm-marketplace-workspace .jsf-market-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.jsm-marketplace-workspace .jsf-live-product-actions a,.jsm-marketplace-workspace .jsf-listing-actions a,.jsm-marketplace-workspace .jsf-listing-actions button{min-height:44px;display:inline-flex;align-items:center;padding:10px 12px;border-radius:8px;font-weight:750}
.jsm-marketplace-workspace .jsf-listing-actions a{background:#edf4fb;color:#143c62!important;text-decoration:none}
.jsm-marketplace-workspace .jsf-listing-actions form{margin:0}
.jsm-marketplace-workspace .jsm-preview-notice{padding:16px;margin-bottom:20px;background:#fff4ce;border:1px solid #c39727;border-radius:12px;color:#12314e}
.jsm-preview-notice a{color:#12314e;text-decoration:underline;font-weight:800;margin-right:16px}
.jsm-marketplace-workspace .jsm-existing-photos{border:1px solid #c9d2dc;border-radius:10px;padding:12px}
.jsm-existing-photos>div{display:flex;flex-wrap:wrap;gap:12px}.jsm-existing-photos label{display:grid;gap:6px;max-width:140px}.jsm-existing-photos img{width:120px;height:90px;object-fit:cover;border-radius:8px}.jsm-existing-photos input{width:auto!important;min-height:0!important}
.jsm-marketplace-workspace .jsm-checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:20px;align-items:start}
.jsm-marketplace-workspace .jsm-cart-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0}.jsm-cart-row>div{flex:1;min-width:160px}.jsm-cart-row small,.jsm-order-summary small{display:block;padding-top:5px}.jsm-cart-row a{color:#163f64!important}.jsm-commerce-error{color:#8d2218!important;font-weight:700}
.jsm-marketplace-workspace .jsm-checkout-link{position:relative;z-index:1;pointer-events:auto!important}
.jsm-checkout-navigation{margin:0;padding:0;position:relative;isolation:isolate}
.jsm-commerce-steps{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0 0 16px;margin-bottom:20px;border-bottom:1px solid #c6d1db;color:#536b80;font-weight:650}
.jsm-commerce-steps [aria-current=step]{color:#123650;font-weight:800}
.jsm-checkout-details{display:grid;gap:20px;min-width:0}
.jsm-checkout-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px 16px;align-items:center;padding:16px 0;border-bottom:1px solid #d9e1e8}
.jsm-checkout-photo{display:block;width:72px;height:72px;overflow:hidden;border-radius:10px;background:#eaf2f9}
.jsm-checkout-photo img{display:block;width:100%;height:100%;object-fit:contain}
.jsm-checkout-item-copy{min-width:0}.jsm-checkout-item-copy strong{display:block;font-size:17px;color:#133e60}.jsm-checkout-item-copy small{display:block;margin-top:4px;color:#52687c}
.jsm-checkout-item-controls{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.jsm-checkout-item-controls label{font-weight:750}.jsm-checkout-item-controls input{width:78px;min-height:44px;padding:8px;border:1px solid #aebfcf;border-radius:8px;background:#fff;color:#143852;font-size:16px}
.jsm-checkout-item>.jsm-commerce-error{grid-column:1/-1}
.jsm-cart-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:20px}.jsm-cart-feedback{padding:12px;margin:16px 0 0;border-radius:8px;background:#edf5ef;color:#26563b}
.jsm-checkout-total{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:20px 0;border-top:1px solid #c6d1db;margin-top:16px;font-size:21px;color:#143852}
.jsm-order-summary{min-width:0}.jsm-order-summary .listrow{display:flex;align-items:start;gap:10px;justify-content:space-between}.jsm-order-summary .listrow>span{min-width:0}.jsm-order-summary .btn{width:100%;justify-content:center;min-height:48px;white-space:normal}.jsm-checkout-help{margin:14px 0 0;color:#536b80;font-size:14px}
.jsm-checkout-form button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:480px){.jsm-checkout-item{grid-template-columns:64px minmax(0,1fr);gap:12px}.jsm-checkout-photo{width:64px;height:64px}.jsm-checkout-item-total{grid-column:2}.jsm-checkout-item-controls{grid-column:1/-1}.jsm-checkout-total{font-size:19px;flex-wrap:wrap}.jsm-cart-actions>*{flex:1 1 140px;justify-content:center}}
.jsm-payment-choice{border:1px solid #bdcddd;border-radius:12px;padding:14px;margin:16px 0;color:#102f4a;background:#fffdf7}
.jsm-payment-choice label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.jsm-payment-choice input{width:18px;height:18px;flex:0 0 18px}
.jsm-payment-panel{border:1px solid #b8cadb;border-radius:14px;background:#f1f7fe;padding:18px;margin:18px 0;color:#102f4a}
.jsm-payment-panel form{display:flex;flex-wrap:wrap;gap:10px}
.jsm-payment-panel .btn{min-height:44px;white-space:normal}
.jsm-marketplace-workspace .btn:not(.ghost):not(.gold){background:#225887!important;border-color:#225887!important;color:#fff!important}
html body .jsm-marketplace-workspace .jsf-live-product .btn.gold,
html body .jsm-marketplace-workspace .jsm-checkout-form .btn.gold,
html body .jsm-marketplace-workspace .jsf-market-create-form .btn.gold,
html body .jsm-marketplace-workspace .jsm-cart .btn.gold{background:#e8c35d!important;border-color:#bc9129!important;color:#102d49!important}
html body .jsm-marketplace-workspace .jsf-market-create-form .btn.ghost,
html body .jsm-marketplace-workspace .jsm-checkout-form .btn.ghost{background:#f0f5fb!important;color:#153e64!important;border-color:#b8cadb!important}
@media(max-width:760px){.jsm-marketplace-workspace .jsf-live-product,.jsm-marketplace-workspace .jsm-checkout-grid{grid-template-columns:minmax(0,1fr)}.jsm-marketplace-workspace .jsf-market-form-actions>*{flex:1 1 140px;justify-content:center}.jsm-gallery-stage{min-height:220px}.jsm-marketplace-workspace .jsf-my-listings-live article{display:flex;flex-wrap:wrap;gap:12px}.jsm-marketplace-workspace .jsf-listing-actions{width:100%}}

/* Marketplace 2.0 — payment choices and Warehouse-connected merchandise */
.jsm-payment-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.jsm-payment-option-grid label{display:flex;gap:8px;align-items:flex-start;min-height:72px;padding:12px;border:1px solid #c7d2de;border-radius:12px;background:#fff}
.jsm-payment-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.jsm-pay-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #bdcad7;border-radius:999px;background:#f6f9fc;color:#163a5a;font-size:12px;font-weight:800}
.jsm-pay-coins{background:#fff7cf;border-color:#d9b94a}.jsm-pay-cash{background:#edf7ef;border-color:#9cc5a4}
.jsm-coin-total{background:#fff9dd;border-radius:10px;padding-left:12px;padding-right:12px}
@media(max-width:700px){.jsm-payment-option-grid{grid-template-columns:1fr}.jsm-payment-option-grid label{min-height:52px}}
