/* One purchase interface, two positions. The existing controls move rather
   than duplicate, so wallet state and submitted quantity cannot diverge. */
.purchase-controls{min-inline-size:0}
.purchase-controls>.button{min-block-size:46px;font-weight:900;margin-block-start:8px}
.purchase-slot .purchase-controls>.button{padding:10px 20px}
.purchase-shell[hidden]{display:none}
.purchase-shell{position:fixed;z-index:65;inset-inline:24px;inset-block-end:calc(16px + env(safe-area-inset-bottom,0px) + var(--purchase-keyboard-inset,0px));margin-inline:auto;inline-size:calc(100% - 48px);max-inline-size:1040px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:12px 18px;background:var(--surface-raised);border:1px solid var(--separator);border-radius:12px;box-shadow:0 8px 28px #0003;animation:purchase-reveal 180ms ease-out}
.purchase-shell__summary{display:grid;gap:4px;min-inline-size:0;max-inline-size:460px}
.purchase-shell__summary>span{font-size:.8rem;line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.purchase-shell__summary strong{font-size:1.35rem;line-height:1.2;font-weight:900;letter-spacing:-.025em}
.purchase-unit-label{font-size:.68rem;color:var(--muted);font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.purchase-shell__host,.purchase-shell .purchase-controls{min-inline-size:0}
.purchase-shell .purchase-controls{display:grid;gap:6px}
.purchase-shell .purchase-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.purchase-shell .purchase-actions label{display:grid;gap:3px;margin:0;letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:700}
.purchase-shell .purchase-actions input{inline-size:68px;max-inline-size:68px;min-block-size:44px;padding:8px;border-radius:8px}
.purchase-shell .purchase-actions button{min-block-size:44px;max-inline-size:100%;padding:10px 16px;font-size:.84rem;font-weight:850;white-space:normal}
.purchase-shell .purchase-actions .secondary{background:transparent;color:var(--text);border:1px solid var(--edge);padding:9px 13px}
.purchase-shell .purchase-note{display:none}
.purchase-shell .product-selection-summary{margin:0;padding:0;border:0;background:transparent}
.purchase-shell .product-selection-summary dt{font-size:.74rem}
.purchase-shell .product-selection-summary dd{font-size:1.08rem}
.purchase-shell .product-selection-error{margin:2px 0;font-size:.76rem}
.purchase-shell .purchase-controls>.button{margin:0;min-block-size:44px;display:flex;align-items:center;justify-content:center;padding:10px 20px}
.purchase-shell .purchase-controls>.notice{margin:0;padding:10px 14px;font-size:.82rem;line-height:1.4;background:transparent;border:0;max-inline-size:430px}
.purchase-shell .telegram-wallet{order:2;margin:0;padding:0;border:0;font-size:.75rem;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.purchase-shell .telegram-wallet>span,.purchase-shell .telegram-wallet>strong{display:none}
.purchase-shell .telegram-wallet>p{margin:0;font-size:.75rem;line-height:1.3}
.purchase-shell .telegram-wallet>p:last-child{font-size:0}
.purchase-shell .telegram-wallet [data-wallet-shortfall]{font-size:.75rem}
html[data-purchase-bar=visible]{scroll-padding-block-end:calc(var(--purchase-bar-height,100px) + 32px)}
html[data-purchase-bar=visible] .site-footer{padding-block-end:calc(var(--purchase-bar-height,100px) + 36px + env(safe-area-inset-bottom,0px))}
html[data-purchase-bar=visible] .browsing-context{display:none}
@keyframes purchase-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .purchase-shell{gap:16px;padding:12px;inset-inline:16px;inline-size:calc(100% - 32px)}
  .purchase-shell__summary>span{display:none}
  .purchase-shell__summary{max-inline-size:none}
}
@media(max-width:600px){
  .purchase-slot .purchase-controls>.button{display:flex;justify-content:center;inline-size:100%}
  .purchase-shell{inset-inline:0;inset-block-end:var(--purchase-keyboard-inset,0px);inline-size:100%;max-inline-size:none;border-radius:0;border-inline:0;grid-template-columns:1fr;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));gap:8px}
  .purchase-shell__summary strong{font-size:1.15rem}
  .purchase-shell .purchase-actions{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;inline-size:100%}
  .purchase-shell .purchase-actions .secondary{grid-column:2;min-block-size:36px;padding:6px 10px;font-size:.76rem}
  .purchase-shell .purchase-actions label{grid-row:1/3;align-self:start}
  .purchase-shell .purchase-controls:has(.purchase-actions .secondary){grid-template-columns:1fr}
  .purchase-shell .purchase-controls>.notice{padding:0;max-inline-size:none}
}
@media(prefers-reduced-motion:reduce){.purchase-shell{animation:none}}
/* The native tab bar is outside the WebView, not an overlay. Keep the one real
   purchase form at its viewport edge; never add a second native-tab offset. */
html[data-native-app="5"] .purchase-shell{inset-block-end:var(--purchase-keyboard-inset,0px)}
