.listing-modal-mask{padding:12px}
.listing-modal{height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column}
.listing-modal>header{height:58px;flex:0 0 58px}
.listing-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.listing-modal footer{flex:0 0 auto;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #f0f1f3;background:#fff}
.listing-payment-tabs{margin:14px 18px 0;border-radius:11px;background:#fff4ec;overflow:hidden}
.listing-tab-nav{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #f1ddd4;background:#fff}
.listing-tab-nav button{border:0;border-bottom:2px solid transparent;background:transparent;padding:11px 8px;color:#8a929b;font:inherit;font-size:14px}
.listing-tab-nav button.active{border-bottom-color:#ef5260;color:#ef5260;font-weight:600}
.listing-tab-panel{display:none;padding:14px;text-align:center}
.listing-tab-panel.active{display:block}
.listing-tab-panel>b{display:block;color:#4d5660;font-size:14px}
.listing-tab-panel img{display:block;width:150px;height:150px;margin:11px auto 7px;object-fit:contain;border-radius:8px;background:#fff}
.listing-tab-panel small{display:block;color:#929aa5;font-size:12px;line-height:1.45;text-align:left}
.listing-tab-panel input{display:none}
.listing-tab-panel button{margin:15px auto 10px;border:0;border-radius:9px;padding:10px 22px;background:#ef5260;color:#fff;font:inherit}
.listing-balance-covered{margin:14px 18px 0;padding:12px;border-radius:10px;background:#effaf5;color:#249566;font-size:13px;line-height:1.5;text-align:center}

/* Keep the listing checkout compact on small Safari viewports.  This only
   scales the modal's typography and spacing; the surrounding page is unchanged. */
.listing-modal>header{height:54px;flex-basis:54px;padding:0 16px;font-size:16px}
.listing-modal>header button{width:28px;height:28px;font-size:20px;line-height:23px}
.listing-modal article{gap:10px;margin:12px 16px;padding:10px}
.listing-modal article img{width:52px;height:52px}
.listing-modal article div{gap:5px}
.listing-modal article b{font-size:13px}
.listing-modal article span{font-size:11px}
.listing-fixed-price{margin:12px 16px 0;padding:11px;gap:5px}
.listing-fixed-price span{font-size:12px}
.listing-fixed-price strong{font-size:18px}
.listing-fixed-price small{font-size:10px}
.listing-settlement{margin:12px 16px 0;padding:11px;gap:8px}
.listing-settlement>div,.listing-settlement label{gap:8px;font-size:11px}
.listing-settlement b{font-size:12px}
.listing-settlement select{padding:6px;font-size:12px}
.listing-amount-due{padding-top:8px}
.listing-amount-due strong{font-size:17px}
.listing-payment-tabs{margin:12px 16px 0}
.listing-tab-nav button{padding:9px 7px;font-size:13px}
.listing-tab-panel{padding:12px}
.listing-tab-panel>b{font-size:13px}
.listing-tab-panel img{width:130px;height:130px;margin:9px auto 6px}
.listing-tab-panel small{font-size:11px}
.listing-tab-panel button{margin:12px auto 8px;padding:9px 20px}
.listing-balance-covered{margin:12px 16px 0;padding:10px;font-size:12px}
.listing-modal footer{gap:8px;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))}
.listing-modal footer button,.listing-transfer>button{padding:10px;font-size:12px}

.listing-balance-shortage{display:flex;align-items:center;gap:10px;margin:12px 16px 0;padding:12px;border:1px solid #ffd9d0;border-radius:12px;background:linear-gradient(135deg,#fff8f5,#fff1ed);color:#8f5148}.listing-balance-shortage .shortage-icon{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;background:#fb6470;color:#fff;font-weight:700;font-size:15px}.listing-balance-shortage div:nth-child(2){min-width:0;flex:1}.listing-balance-shortage b{display:block;color:#343b45;font-size:13px}.listing-balance-shortage p{margin:3px 0 0;font-size:11px;line-height:1.45}.listing-balance-shortage p strong{color:#f0525d;font-size:13px}.listing-balance-shortage button{flex:0 0 auto;border:0;border-radius:8px;padding:7px 10px;background:#f0525d;color:#fff;font:inherit;font-size:12px}
