/* Мини-апп в Telegram: убираем раскладку под боковую панель макета (design-preview). */
.review{display:none!important}
.app-shell{margin:0 auto!important;min-height:100dvh!important}
.navigation,#toast{left:50%!important}
.demo-label[hidden]{display:none}
.loading{padding:60px 0;text-align:center;color:var(--muted);font-size:14px}
.theme-segments{margin:4px 0 18px}
.theme-segments button{min-height:44px}
.legal-sheet{font-size:13px;line-height:1.65;color:var(--ink)}
.legal-sheet h2{font-size:15px;margin:18px 0 6px}
.legal-sheet p,.legal-sheet li{margin:0 0 8px}
.legal-sheet ul{padding-left:18px;margin:0 0 8px}
.legal-sheet .legal-date{color:var(--muted);font-size:12px}
.legal-sheet .legal-final{font-weight:600;margin-top:16px}
.soon-chip{display:inline-block;vertical-align:middle;font-size:11px;font-weight:650;line-height:1;padding:4px 7px;border-radius:999px;background:var(--tint);color:var(--blue);letter-spacing:.2px}
.segments small .soon-chip{font-size:9px;padding:2px 5px}
/* AWG product uses the existing Ice components. */
.awg-device{border-top:1px solid var(--line);padding-top:16px;margin:16px 0}.awg-device summary,.awg-instructions summary{cursor:pointer;font-size:14px;min-height:44px;line-height:1.6}.awg-device summary small{display:block;color:var(--muted);font-size:12px}.awg-server{margin:16px 0}.awg-server-name strong{font-size:13px}.awg-server-name small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.awg-server .dashboard-link{margin:8px 0;flex-wrap:wrap}.awg-server .dashboard-link>div{flex-basis:120px}.awg-server .dashboard-link .icon-button{flex-shrink:0}.awg-server .dashboard-link .text-button{min-width:62px;flex-shrink:0}.awg-clash{font-size:12px;line-height:1.5;white-space:normal;text-align:left;justify-content:flex-start;width:100%}.awg-access>.secondary{margin-top:12px}.awg-access>.text-button{display:flex;margin:8px auto 0}.awg-access .notice p{margin-top:10px}.awg-access .notice div{margin:4px 0}.awg-access .notice strong{display:block}.awg-access>.primary{margin-block:14px}.awg-home .item{padding:0}.awg-instructions{margin:18px 0}.pc-offer .field-label{margin-top:18px;display:block}.pc-offer .segments{margin-bottom:18px}.pc-offer .plan-grid{margin-bottom:18px}.pc-offer .total strong{font-size:24px}.awg-access .dashboard-head{flex-wrap:wrap}.awg-access .dashboard-head h2{flex:1;min-width:160px}
/* VPN на ПК: три шага на одном экране, синие акценты из темы (06.10) */
.awg-steps li>div{flex:1;min-width:0}.awg-steps li:before{background:var(--tint);border-color:var(--blue);color:var(--blue);font-weight:700;font-size:12px}.awg-steps strong{font-size:14px}.awg-dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 2px}.awg-dl.one{grid-template-columns:1fr}.awg-os{margin:4px 0 6px}.awg-os button{min-height:44px}.awg-steps .awg-dl a.primary{display:flex;min-height:42px;padding:8px 10px;border-radius:12px;font-size:14px;gap:6px;color:#fff}.awg-dl a.primary svg{width:17px;height:17px}.awg-key{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-top:8px}.awg-key>div{flex:1;min-width:100px}.awg-key small{font-size:12px}.awg-key small.online{color:var(--green);font-weight:600}.awg-copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:12px;border:1px solid var(--blue);background:var(--surface);color:var(--blue);font-weight:650;font-size:14px;transition:background .15s,color .15s}.awg-copy svg{width:16px;height:16px}.awg-copy:active{transform:translateY(1px)}.awg-copy.done{border-color:var(--green);color:var(--green)}.awg-access>.secondary,.pc-offer>.text-button{color:var(--blue)}.awg-access>.secondary{background:var(--tint);border-color:var(--blue);box-shadow:none}

/* Промо-баннер (11.10): полупрозрачное стекло, кромка тона слева, чипы <mark>. Тон — класс .green/.blue. */
.promo-banner{--tone:var(--blue);--tone-rgb:36 88 219;position:relative;display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:16px 14px 16px 20px;border-radius:24px;color:var(--ink);text-decoration:none;overflow:hidden;
  background:linear-gradient(118deg,rgb(var(--tone-rgb) / .13),rgb(255 255 255 / .58) 46%,rgb(var(--tone-rgb) / .07));
  border:1px solid rgb(255 255 255 / .8);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:inset 4px 0 0 rgb(var(--tone-rgb) / .55),inset 0 1px 0 #fff,0 12px 28px rgb(var(--tone-rgb) / .11),0 3px 7px #26343c0a;
  transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}
.promo-banner.green{--tone:var(--green);--tone-rgb:36 120 87}
.promo-banner:active{transform:scale(.985)}
.promo-banner:focus-visible{outline:2px solid var(--tone);outline-offset:2px}
.promo-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.promo-copy strong{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;letter-spacing:-.2px;margin-bottom:3px}
.promo-copy strong svg{width:20px;height:20px;color:var(--tone);flex-shrink:0}
.promo-copy>span{font-size:14px;line-height:1.35;color:var(--ink)}
.promo-copy small{font-size:13px;color:var(--muted)}
.promo-banner mark{background:rgb(var(--tone-rgb) / .14);color:var(--tone);font-weight:650;padding:1px 6px;border-radius:7px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.promo-arrow{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;color:var(--tone);background:rgb(255 255 255 / .6);border:1px solid rgb(var(--tone-rgb) / .22);box-shadow:inset 0 1px 0 #fff,0 4px 10px rgb(var(--tone-rgb) / .1)}
.promo-arrow svg{width:20px;height:20px}
html[data-theme=dark] .promo-banner{background:linear-gradient(118deg,rgb(var(--tone-rgb) / .16),rgb(255 255 255 / .035) 52%,rgb(var(--tone-rgb) / .06));border-color:rgb(255 255 255 / .08);box-shadow:inset 4px 0 0 rgb(var(--tone-rgb) / .7),inset 0 1px 0 rgb(255 255 255 / .06),0 12px 30px #0000002e}
html[data-theme=dark] .promo-banner.green{--tone-rgb:152 215 183}
html[data-theme=dark] .promo-banner.blue{--tone-rgb:156 188 255}
html[data-theme=dark] .promo-banner mark{background:rgb(var(--tone-rgb) / .16)}
html[data-theme=dark] .promo-arrow{background:rgb(255 255 255 / .05);border-color:rgb(var(--tone-rgb) / .3);box-shadow:none}
@media (prefers-reduced-motion:reduce){.promo-banner{transition:none}.promo-banner:active{transform:none}}
button.promo-banner{width:100%;font:inherit;text-align:left;cursor:pointer;appearance:none}
/* Карусель баннеров (11.10): scroll-snap — свайп пальцем; автосмена в app.js. Поля трека — чтобы не резать тени. */
.promo-carousel{margin:0 0 14px}
.promo-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:-6px -14px -22px;padding:6px 14px 22px;scroll-padding-inline:14px}
.promo-track::-webkit-scrollbar{display:none}
.promo-slide{flex:0 0 100%;display:flex;scroll-snap-align:start;scroll-snap-stop:always}
.promo-slide>.promo-banner{flex:1;margin:0}
/* Без backdrop-filter внутри прокручиваемой ленты: на Android WebView он мерцает при scroll. Ленте — свой слой. */
.promo-track .promo-banner{backdrop-filter:none;-webkit-backdrop-filter:none}
.promo-track{transform:translateZ(0)}
.promo-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.promo-dots i{width:6px;height:6px;border-radius:3px;background:var(--ink);opacity:.18;transition:width .25s ease,opacity .25s ease}
.promo-dots i.on{width:18px;opacity:.6}
@media (prefers-reduced-motion:reduce){.promo-dots i{transition:none}}
/* Тема внизу главной — компактно, по центру, не спорит с карточками. */
.home-theme{margin:28px auto 0;max-width:320px}
.home-theme .section-label{display:block;text-align:center;margin:0 0 8px}
.home-theme .theme-segments{margin:0}
.home-theme .theme-segments button{min-height:40px;font-size:13px}

/* История оплат (шторка): строка платежа */
.pay-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.pay-row:last-child{border-bottom:0}
.pay-row strong{display:block;font-size:14px;font-weight:600}
.pay-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
