/* One stable purchase surface; its parent market keeps its scroll and filters. */
body.market-purchase-open #panel{visibility:hidden!important;pointer-events:none!important}
#market-purchase{box-sizing:border-box;padding:8px;width:min(580px,calc(100vw - 24px));height:min(720px,calc(var(--visual-height,100dvh) - 24px));max-width:none;max-height:none;margin:auto;border:0;background:#1e2927;color:#eddfbd;box-shadow:0 18px 80px #000c;overflow:hidden;font-family:var(--ng-body)}
#market-purchase[open]{display:flex;flex-direction:column}
#market-purchase::backdrop{background:#050d0ca6;backdrop-filter:blur(2px)}
#market-purchase .panel-head{flex:none;min-height:64px;padding:12px 18px;box-sizing:border-box}
#market-purchase h2{font-size:22px;margin:0;line-height:1.3;padding:0}
#market-purchase .close{position:static;flex:none;width:38px;height:38px;min-width:38px;padding:0;font-size:30px}
#market-purchase .panel-title-icon{width:32px;height:32px;flex:none}
.purchase-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.purchase-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 22px 10px}
.purchase-intro{margin:0 0 16px;font-size:20px;line-height:1.35;color:#efd3a0}
.purchase-intro span{display:block;margin-top:4px;font-size:15px;color:#b9c4b2}
.purchase-fields{display:flex;align-items:end;gap:12px}
.purchase-fields label{display:flex;flex-direction:column;gap:6px;font-size:15px;min-width:0;flex:1}
.purchase-fields input{width:100%;height:44px;min-width:0;box-sizing:border-box;color:#f5e7c4;background:#14201f;border:1px solid #8e815e;padding:6px 10px;font:18px var(--ng-body)}
.purchase-fields button{height:44px;font-size:16px;flex:1.2;margin:0;padding:8px 12px}
.purchase-conditions{border:0;padding:8px 0 0;margin:0;display:flex;gap:8px;flex-wrap:wrap;max-height:150px;overflow:auto}
.purchase-conditions legend{font-size:14px;padding:14px 0 0;color:#c9b88f}
.purchase-conditions button{font-size:16px;min-height:48px;flex:1;min-width:130px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;gap:4px}
.purchase-conditions button small{font-size:12px;font-weight:normal}
.purchase-bill{padding:18px 22px;margin-top:18px;background:#dfbf88;color:#412e1b;font-size:18px}
.purchase-bill-heading{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #95744866;padding-bottom:12px;min-height:21px}
.purchase-bill-heading>span{font-size:13px;letter-spacing:1.2px}
.purchase-price-levels{height:78px;box-sizing:border-box;overflow:auto;padding:10px 0;scrollbar-gutter:stable}
.purchase-price-levels>div{display:flex;justify-content:space-between;gap:15px;padding:3px 0}
.purchase-empty{font-size:15px;line-height:1.4;color:#765632;margin:12px 0}
.purchase-totals{margin:0;border-top:1px solid #95744866;padding-top:8px}
.purchase-totals>div{display:flex;justify-content:space-between;align-items:center;padding:5px 0;gap:16px}
.purchase-totals dd{margin:0;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.purchase-grand-total{font-size:25px;font-weight:bold}
.purchase-grand-total .item-art{width:24px;height:24px}
.purchase-rounding{font-size:13px;margin:8px 0 0;color:#765632}
.purchase-status{margin-top:12px}
.purchase-notice{margin:0;padding:8px 0;color:#bdc5b5;line-height:1.4;font-size:15px}
.purchase-attention,.purchase-error{padding:10px 14px;border-left:3px solid #dfb85e;background:#4a3828;color:#ffe0a5}
.purchase-error{border-color:#e88070}
.purchase-shortage{font-size:15px;line-height:1.4;padding:10px 14px;background:#b37d2520;color:#ffe0a5;margin:10px 0 0}
.purchase-footer{flex:none;padding:12px 22px 18px;background:#1e2927;border-top:1px solid #a8814444}
.purchase-promise{font-size:13px;line-height:1.4;color:#bdc5b5;margin:0 0 10px}
.purchase-actions{display:flex;gap:12px}
.purchase-actions button{height:44px;margin:0;font-size:17px;padding:8px 14px;white-space:nowrap}
.purchase-actions button:first-child{flex:1}.purchase-actions button:last-child{flex:2}
.market-stock-note{color:#aebcae;font-size:14px;line-height:1.4;margin:8px 0 16px}.order-stock{font-size:16px;color:#6b4c28}.market-product .order-bottom button{min-width:120px}
@media(max-width:600px){#market-purchase .panel-head{padding:10px 14px}#market-purchase h2{font-size:20px}.purchase-content{padding:16px 14px 10px}.purchase-footer{padding:10px 14px 14px}.purchase-fields{gap:10px}.purchase-fields button{font-size:15px;flex:1.4;padding:8px}.purchase-bill{padding:16px}.purchase-actions button{font-size:16px}.purchase-grand-total{font-size:22px}.purchase-bill-heading{gap:8px}}
@media(max-height:480px){#market-purchase .panel-head{min-height:54px;padding-top:7px;padding-bottom:7px}.purchase-footer{padding-top:8px;padding-bottom:10px}.purchase-promise{margin-bottom:6px;font-size:12px}.purchase-content{padding-top:12px}}
@media(min-width:600px) and (max-height:480px){
  #market-purchase{width:min(780px,calc(100vw - 24px))}
  .purchase-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;column-gap:20px;align-content:start}
  .purchase-intro{grid-column:1;grid-row:1;font-size:18px;margin-bottom:12px}.purchase-intro span{font-size:13px}
  #purchase-form{grid-column:1;grid-row:2}.purchase-fields{flex-direction:column;align-items:stretch;gap:8px}.purchase-fields button{flex:none;width:100%}
  #purchase-review{grid-column:2;grid-row:1 / span 2;min-width:0}.purchase-bill{margin-top:0;padding:12px 16px;font-size:15px}.purchase-bill-heading{padding-bottom:6px;min-height:18px}.purchase-bill-heading>span{font-size:11px}.purchase-price-levels{height:44px;padding:4px 0}.purchase-price-levels>div{padding:1px 0}.purchase-totals{padding-top:4px}.purchase-totals>div{padding:3px 0}.purchase-grand-total{font-size:20px}.purchase-rounding{font-size:11px;margin-top:5px}.purchase-status{margin-top:6px}.purchase-notice{font-size:13px;padding-top:5px;padding-bottom:5px}
}
@media(min-width:600px) and (max-height:480px){
  .purchase-notice:not(.purchase-attention):not(.purchase-error){display:none}
}
