/* One spacing and alignment system across all Mini App screens. */
*,*::before,*::after { box-sizing:border-box; }
/* Override the original Telegram Desktop 720px cap with matching specificity. */
html.tg-desktop #screens,html.tg-desktop #header,html.tg-desktop #app-footer { max-width:1120px;width:100%; }
@media(min-width:768px) and (max-width:1100px) {
 .market-banners { grid-template-columns:minmax(0,1fr); }
 .market-side-banners { grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto; }
 .market-services { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
:root { --page-gutter:24px;--panel-pad:24px; }
#screens { padding-left:var(--page-gutter);padding-right:var(--page-gutter); }
#header { padding-left:var(--page-gutter);padding-right:var(--page-gutter);align-items:center; }
.screen { min-width:0; }
.screen-title { line-height:1.25;margin:4px 0 24px; }
.market-services { align-items:stretch; }
.market-service { display:grid;grid-template-rows:64px minmax(42px,auto) 1fr;align-content:start;align-items:start;gap:8px;height:100%;padding:16px; }
.market-service img { width:64px;height:64px;margin:0; }
.market-service strong { margin:0;line-height:1.4;font-size:15px;align-self:center; }
.market-service span { margin:0;line-height:1.5;font-size:13px; }
.market-side-banners { align-items:stretch; }
.market-side-banner { justify-content:flex-start;padding:20px;gap:8px; }
.market-side-banner strong { margin:0;max-width:100%;min-height:48px;line-height:1.25; }
.market-side-banner span:last-of-type { max-width:100%;padding-right:46px;line-height:1.5; }
.market-side-banner img { width:40px;height:40px;right:16px;bottom:16px; }
.market-filters { gap:8px; }
.market-filter { min-height:44px;padding:10px 16px;line-height:1.4; }
.form-card,.psplus-sticky,.psplus-features-card,.cart-total-card { padding:var(--panel-pad);margin-left:0;margin-right:0; }
.field-label { display:block;margin:18px 0 8px;line-height:1.5; }
.form-card>.field-label:first-child { margin-top:0; }
.field-input { width:100%;min-width:0;min-height:48px;padding:12px 14px;font-size:16px;line-height:1.5; }
.field-hint { line-height:1.6;margin:8px 0 16px; }
.presets { gap:8px; }
.preset-btn { min-height:48px;line-height:1.3;display:flex;align-items:center;justify-content:center; }
.btn-primary,.kls-btn--primary,.action.primary { min-height:48px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;text-align:center; }
.psplus-chips-row,.psplus-chips-wrap { padding:0;gap:12px; }
.psplus-chip { margin:0;border-width:2px; }
.psplus-chip.active,.psplus-tab.active { outline:none;box-shadow:0 0 0 1px var(--accent); }
.psplus-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0; }
.psplus-tab { display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px;margin:0;padding:12px 8px;line-height:1.4; }
.psplus-tab-price { margin:0; }
.psplus-features-title { display:flex;align-items:center;gap:10px;border-left:0;padding-left:0;margin-bottom:18px;line-height:1.3; }
.kls-feature { align-items:flex-start;gap:14px;padding:18px 0; }
.kls-feature__icon { width:40px;height:40px;flex:0 0 40px; }
.kls-feature__body { min-width:0; }
.kls-feature__title { line-height:1.4; }
.kls-feature__text { line-height:1.6; }
.region-list,.grid { gap:14px; }
.ps-hub-card { width:100%;margin:0; }
.cart-item-card { gap:12px;padding:18px; }
.cart-item-info { min-width:0; }
.cart-item-label { overflow-wrap:anywhere; }
.game-detail-body { padding:var(--panel-pad); }
.game-detail-title { line-height:1.3; }
.faq-block { margin-top:24px; }
.faq-item { margin:0 0 10px;border-radius:14px; }
.faq-question { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;min-height:52px;font-size:14px;line-height:1.5; }
.faq-toggle { width:20px;height:20px;margin:0;display:flex;align-items:center;justify-content:center;flex:0 0 20px; }
.faq-item:not(.open) .faq-answer { display:none;padding:0; }
.faq-item.open .faq-answer { display:block;max-height:none;padding:0 18px 18px;font-size:14px;line-height:1.7; }
.bottom-tabs { align-items:stretch; }
.tab-btn { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 2px;min-width:0; }
.tab-btn .tab-icon { width:24px;height:24px;flex:0 0 24px; }
.tab-btn>span:last-child { line-height:1.3;font-size:11px; }
.sticky-cta-bar { padding:10px var(--page-gutter); }
#app-footer { padding-left:var(--page-gutter);padding-right:var(--page-gutter); }
@media(max-width:767px) {
 :root { --page-gutter:16px;--panel-pad:20px; }
 .market-side-banner { padding:16px; }
 .market-side-banner strong { font-size:19px; }
 .market-service { padding:14px; }
 .psplus-chip { display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:64px;padding:14px 16px;gap:12px; }
 .psplus-chip-name { min-width:0;font-size:17px;line-height:1.4; }
 .psplus-chip-price { flex-shrink:0;font-size:14px;line-height:1.4; }
 .psplus-features-title { font-size:23px; }
 .steam-amount-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:359px) {
 :root { --page-gutter:12px;--panel-pad:16px; }
 .market-service strong { font-size:14px; }
 .market-filter { padding:10px 12px; }
 .market-side-banner strong { font-size:17px; }
 .psplus-chip-name { font-size:16px; }
 .psplus-chip-price { font-size:13px; }
}
