/* Оформление, предоплата, рассрочка. Основа — next-steps/checkout/checkout.css v5 (интерфейсные ориентиры),
   ниже — дополнения mar26. Путь к фону поправлен под css/. */

.checkout{background:#071e25;color:#fff;font-family:Roboto,sans-serif;min-width:320px}
.checkout [hidden]{display:none!important}
.checkout-page{min-height:100dvh;background:#091d27 url('../assets/img/home/home-bg.webp') center top/cover;padding:32px 0 0}
.flow-top{width:min(1100px,calc(100% - 48px));margin:0 auto 44px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.flow-brand{font:700 23px/1.2 'Roboto Condensed',sans-serif;color:#c8ece9}
.flow-progress{display:flex;gap:24px;list-style:none;font-size:15px;line-height:1.4;color:#b4d0d1;counter-reset:stage}
.flow-progress li{display:flex;align-items:center;gap:8px;counter-increment:stage}
.flow-progress li:before{content:counter(stage);width:26px;height:26px;display:grid;place-items:center;border:1px solid #779b9d;border-radius:50%;font-size:12px}
.flow-progress li[aria-current=step]{color:#fff}.flow-progress li[aria-current=step]:before{background:#b4e9df;color:#164e53;border-color:#b4e9df}
.registration{padding:clamp(24px,6vh,90px) 24px 90px;min-height:calc(100dvh - 140px);display:grid;align-content:center}
.registration-panel{width:min(1080px,100%);margin:auto;padding:clamp(32px,5vw,64px);background:#fff;border-radius:30px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;color:#225e65}
.checkout h1{font:700 clamp(38px,4.6vw,64px)/1.04 'Roboto Condensed',sans-serif;text-transform:uppercase;letter-spacing:0;text-shadow:none;filter:none}
.registration-subtitle{color:#267c80;font-size:clamp(22px,2.3vw,30px);line-height:1.3;margin-top:16px}
.field{margin-bottom:24px}.field label{display:block;font:400 16px/1.45 Roboto,sans-serif;margin-bottom:10px;color:#52656a}
.field input{border:1px solid #d8e0df;border-radius:12px;background:#f4f6f5;padding:18px 20px;min-height:60px;font:400 18px/1.3 Roboto,sans-serif;color:#203e43}.field input::placeholder{color:#627174;opacity:1}
.field input:focus{outline:2px solid #21868d;outline-offset:2px}.field input[aria-invalid=true]{border-color:#a94339}
.field-error{display:block;font-size:14px;color:#a0382d;line-height:1.4;margin-top:8px}
.registration .btn,.payment-bar .btn,.thanks-panel .btn,dialog .btn{min-height:72px;font-size:15px;letter-spacing:.065em;padding:18px 24px;width:100%;color:#fff}
.checkout .btn:disabled{cursor:default;opacity:.5;filter:saturate(.4)}
.checkout-heading{text-align:center;padding:20px 20px 0}.checkout-heading p{color:#bde4e2;font-size:22px;line-height:1.4;margin-top:14px}
.checkout #tariffs{padding:95px 0 48px;margin:0}.checkout .tariff__coins{display:none}.checkout .tariff__cards{max-width:1160px;margin-inline:auto}
.checkout .tariff__card{opacity:1!important;filter:none!important;transform:none!important;position:relative}
.checkout .tariff__wrapper{color:#2d2d2d;position:relative;outline:3px solid transparent;outline-offset:5px;transition:outline-color .2s}
.checkout .tariff__card.is-selected .tariff__wrapper{outline-color:#e8c884}
.choice-status{position:absolute;top:-36px;left:16px;z-index:5;color:#f6dfad;font:500 14px/1.4 Roboto,sans-serif}
.checkout .tariff__actions .btn{min-height:72px;font-size:15px}.checkout .tariff__card.is-selected .tariff__actions .btn{background:#216e73;box-shadow:inset 0 -3px 0 #154f54;color:#fff;border-radius:20px}
.payment-bar{position:sticky;bottom:0;z-index:15;background:#edf8f4;color:#235d62;box-shadow:0 -10px 35px #031b2933;padding:18px 24px}
.payment-bar__inner{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}
#order-summary p{font-size:16px;line-height:1.4}#order-summary strong{font:700 27px/1.2 'Roboto Condensed',sans-serif}#order-summary small{display:block;font-size:14px;line-height:1.4;margin-top:4px;color:#416567}
.payment-price{display:inline-flex;align-items:baseline;gap:12px;margin-left:24px;white-space:nowrap}.payment-price s{font-size:16px;color:#577374}.payment-price b{font:700 30px/1.1 'Roboto Condensed',sans-serif}
.payment-bar .btn{max-width:280px;flex-shrink:0}
.thanks-panel{max-width:830px;margin:60px auto 0;padding:50px 65px;background:#fff;border-radius:30px;text-align:center;color:#225e65}.screen#thanks{padding:0 24px 80px;min-height:calc(100dvh - 140px)}
.thanks-mark{width:66px;height:66px;border-radius:50%;background:#d6f0e9;margin:0 auto 24px;display:grid;place-items:center}.thanks-mark svg{width:42px;fill:none;stroke:#27868b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.thanks-panel .thanks-lead{font:700 25px/1.2 'Roboto Condensed',sans-serif;color:#277e83;margin:12px 0 24px}.thanks-panel p{font-size:18px;line-height:1.5;max-width:540px;margin-inline:auto;color:#466264}
.messenger-note{margin-top:30px;padding-top:28px;border-top:1px solid #bdd8d3}.messenger-note h2{font:700 28px/1.15 'Roboto Condensed',sans-serif;margin-bottom:12px}.messenger-note .btn{margin-top:24px;max-width:370px}
.checkout dialog{margin:auto;width:min(480px,calc(100% - 32px));padding:32px;border-radius:22px;color:#24545a;background:#fff;box-shadow:0 20px 70px #0005}.checkout dialog::backdrop{background:#031a24c9}.checkout dialog h2{font:700 30px/1.15 'Roboto Condensed',sans-serif;margin-bottom:18px}.checkout dialog p{font-size:17px;line-height:1.5}.checkout dialog .btn{margin-top:24px}
.checkout h1:focus{outline:none}
@media(max-width:999px){.registration-panel{gap:32px;padding:36px}.checkout .tariff__cards{grid-template-columns:1fr;max-width:520px;gap:100px}.payment-bar__inner{gap:18px}.payment-bar .btn{max-width:220px}.payment-price{margin-left:0;display:flex;margin-top:6px}}
@media(max-width:600px){.checkout-page{padding-top:22px}.flow-top{width:calc(100% - 32px);display:block;text-align:center;margin-bottom:30px}.flow-brand{font-size:21px}.flow-progress{justify-content:center;margin-top:20px;gap:16px;font-size:13px}.flow-progress li{gap:6px}.registration{padding:12px 16px 48px;min-height:auto}.registration-panel{grid-template-columns:1fr;padding:30px 24px;gap:30px;border-radius:24px}.registration-copy{text-align:center}.checkout h1{font-size:38px}.registration-subtitle{font-size:23px;margin-top:12px}.field label{font-size:15px}.field input{min-height:58px;padding:16px}.registration .btn{font-size:14px;min-height:68px}.checkout-heading{padding-top:10px}.checkout-heading p{font-size:19px}.checkout #tariffs{padding-top:100px}.checkout .tariff__container{padding-inline:20px}.payment-bar{padding:14px 18px}.payment-bar__inner{display:block}.payment-bar .btn{max-width:none;min-height:58px;margin-top:12px}#order-summary strong{font-size:23px}#order-summary small{font-size:13px}.payment-price{float:right;margin:0}.payment-price b{font-size:25px}.payment-price s{font-size:14px}#order-summary{display:flow-root}.thanks-panel{margin:20px auto 0;padding:32px 22px;border-radius:24px}.screen#thanks{padding:0 16px 50px}.thanks-panel p{font-size:17px}.thanks-panel .thanks-lead{font-size:24px}.messenger-note h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.checkout *{scroll-behavior:auto!important;transition:none!important}}
/* Step one (e-mail) is on the landing. */
.flow-progress{counter-reset:stage 1}
@media(max-width:600px){#order-summary{display:grid;grid-template-columns:1fr auto;gap:5px 12px}#order-summary p{grid-column:1/-1}.payment-price{float:none;display:flex;grid-column:2;grid-row:2;margin:0;align-self:start;gap:8px}#order-summary small{grid-column:1/-1;grid-row:3;margin:0}.payment-bar .btn{margin-top:10px}.payment-price b{font-size:27px}}

/* Mobile shortcut to the same direct payment action on each card. */
@media(min-width:601px){.checkout .payment-bar{display:none}}

/* ---------- mar26: дополнения к ориентирам ---------- */
.flow-test{width:min(1100px,calc(100% - 48px));margin:-20px auto 28px;padding:10px 14px;border-left:3px solid #f0b38b;background:#2a1d15d9;color:#ffd9c2;border-radius:8px;font:600 14px/1.45 Roboto,sans-serif}
.flow-screen{padding:0 24px 80px;min-height:calc(100dvh - 140px)}
.flow-screen .thanks-panel h1{color:#1c6d73;font-size:clamp(34px,4vw,52px);margin-bottom:18px}
.flow-error{display:block;color:#a0382d;font:400 15px/1.45 Roboto,sans-serif;margin:0 0 18px;text-align:left}
.flow-error--dark{max-width:620px;margin:16px auto 0;padding:12px 16px;border-radius:12px;background:#fbeee9;text-align:center}
.flow-whoami{font-size:16px!important;color:#9fc9c6!important;margin-top:10px!important}
.flow-whoami b{color:#e3f6f4;font-weight:500;word-break:break-all}
.flow-link{background:none;border:0;padding:0;font:inherit;color:#21868d;text-decoration:underline;cursor:pointer}
.flow-whoami .flow-link{color:#b4e9df}
.flow-consents{margin:4px 0 22px;display:grid;gap:12px}
.flow-check{display:flex;gap:10px;align-items:flex-start;font:400 14px/1.45 Roboto,sans-serif;color:#52656a;cursor:pointer}
.flow-check input{flex:0 0 auto;width:20px;height:20px;margin-top:1px;accent-color:#21868d}
.flow-check a{color:#21868d;text-decoration:underline}
.field input[aria-invalid=true]{border-color:#a94339;background:#fdf6f4}
.flow-order{text-align:left}
.flow-order h1{text-align:center}
.flow-lines{margin:0 0 22px;padding:0;list-style:none;border-top:1px solid #d6e6e3}
.flow-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid #d6e6e3;font-size:17px;line-height:1.4;color:#466264}
.flow-lines li b{font:700 20px/1.2 'Roboto Condensed',sans-serif;color:#1c6d73;text-align:right}
.flow-lines li s{color:#7a8f8f;margin-right:10px;font-size:16px}
.flow-lines li.is-total b{font-size:30px}
.flow-lines small{display:block;font-size:14px;color:#6a8183}
.flow-note{margin:0 0 20px!important;padding:14px 16px;border-radius:12px;background:#fff6e2;color:#6b4f1a!important;font-size:16px!important;line-height:1.5!important;max-width:none!important;text-align:left}
.flow-sub{font-size:14px!important;color:#6a8183!important;margin:12px auto 18px!important;text-align:center}
.flow-order .flow-link{display:block;margin:0 auto;font-size:16px}
.flow-order .btn{width:100%}
.flow-spinner{width:46px;height:46px;margin:6px auto 22px;border-radius:50%;border:4px solid #d6f0e9;border-top-color:#27868b;animation:flow-spin 1s linear infinite}
@keyframes flow-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.flow-spinner{animation-duration:3s}}
#confirm-retry{margin-top:24px;max-width:320px}
.checkout .tariff__card.is-unavailable .tariff__actions .btn{opacity:.5;pointer-events:none}
@media(max-width:600px){.flow-test{width:calc(100% - 32px);margin:-14px auto 22px;font-size:13px}.flow-screen{padding:0 16px 50px}.flow-lines li{font-size:15px}.flow-lines li.is-total b{font-size:26px}}

/* ---------- предоплата и внутренняя рассрочка (страницы на базе прежнего потока) ---------- */
.flow-form .form__row{row-gap:18px}
.flow-form .form__label small{font-weight:400;opacity:.75}
.request__options .checkbox__text a{text-decoration:underline}
.flow-panel{margin-top:10px}
.flow-panel .flow-error{margin:14px 0 0}
.flow-result{max-width:830px;margin:0 auto;padding:44px 56px;background:#fff;border-radius:30px;color:#225e65;text-align:center}
.flow-result h2{font:700 clamp(32px,3.6vw,48px)/1.08 'Roboto Condensed',sans-serif;text-transform:uppercase;color:#1c6d73;margin-bottom:18px}
.flow-result p{font-size:18px;line-height:1.5;margin:0 auto 14px;max-width:600px;color:#466264}
.flow-result ul{list-style:none;padding:0;margin:0 auto 14px;max-width:600px;text-align:left;font-size:18px;line-height:1.5;color:#466264}
.flow-result ul li{padding-left:28px;position:relative;margin-bottom:6px}
.flow-result ul li:before{content:'';position:absolute;left:4px;top:.45em;width:12px;height:7px;border-left:2px solid #27868b;border-bottom:2px solid #27868b;transform:rotate(-45deg)}
.flow-result .messenger-note{margin-top:24px;padding-top:22px;border-top:1px solid #bdd8d3}
.flow-result .btn{max-width:340px;margin:18px auto 0}
@media(max-width:600px){.flow-result{padding:30px 22px;border-radius:24px}.flow-result p,.flow-result ul{font-size:16px}}
.flow-tariffs{display:grid;gap:12px;margin:4px 0 6px}
.flow-tariff{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #cfe1de;border-radius:14px;background:#f4f8f7;cursor:pointer;color:#235657;font:400 16px/1.35 Roboto,sans-serif}
.flow-tariff input{width:20px;height:20px;accent-color:#21868d;flex:0 0 auto}
.flow-tariff__name{flex:1 1 auto}
.flow-tariff__name small{display:block;font-size:13px;color:#5f7a7a}
.flow-tariff__price{font:700 20px/1.2 'Roboto Condensed',sans-serif;color:#1c6d73;white-space:nowrap}
.flow-tariff:has(input:checked){border-color:#21868d;background:#e6f4f1;box-shadow:inset 0 0 0 1px #21868d}
.flow-amount-hint{display:block;font-size:13px;line-height:1.4;color:#5f7a7a;margin-top:8px}
.thanks-panel .flow-error{color:#a0382d;max-width:none;text-align:left}
.flow-sub.flow-sub--left{text-align:left;margin:14px 0 0!important}
@media(max-width:767px){.page--presale .request__head,.page--auth .request__head{margin-bottom:56px}}
/* Рассрочка: страница на сегмент — плашка сегмента под заголовком и цены сегмента под «Оплата в рассрочку». */
.credit-segment{justify-self:center;margin:18px 0 0;padding:10px 22px;border:1px solid #00a6b2;border-radius:999px;background:rgba(0,166,178,.18);color:#e3f6f4;font:600 16px/1.3 Roboto,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-wrap:balance}
.credit-terms{margin-top:28px;padding-top:22px;border-top:1px solid #d6e6e3;font:400 17px/1.45 Roboto,sans-serif;letter-spacing:0;color:#466264}
.credit-terms__title{margin:0 0 14px;font:700 20px/1.2 'Roboto Condensed',sans-serif;text-transform:uppercase;color:#1c6d73}
.credit-terms__list{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:12px}
.credit-terms__list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.credit-terms__list li>span{min-width:0}
.credit-terms__list small{display:block;font-size:14px;line-height:1.35;color:#5f7a7a}
.credit-terms__list b{font:700 22px/1.2 'Roboto Condensed',sans-serif;color:#1c6d73;white-space:nowrap}
.credit-terms__list .credit-terms__wait{color:#5f7a7a}
.credit-terms__meta{margin:0;font-size:15px;line-height:1.45;color:#5f7a7a}
@media(max-width:767px){.credit-segment{margin-top:12px;padding:7px 14px;font-size:12px}.credit-terms{margin-top:18px;padding-top:16px;font-size:15px}.credit-terms__title{font-size:17px}.credit-terms__list b{font-size:18px}.credit-terms__list small,.credit-terms__meta{font-size:13px}}
/* Мини-лендинги перехода в чат-бот (/reg/): карточка с TextBack-виджетом, подсказка и согласие. */
#reg-section .flow-result{margin-top:44px}
.reg-card .reg-widget{margin:24px auto 10px;min-height:64px}
.reg-card .reg-tg{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:60px;padding:14px 30px;border-radius:14px;background:#27a6e5;color:#fff!important;font-size:19px;font-weight:600;letter-spacing:.01em;text-decoration:none!important;box-shadow:0 8px 22px rgba(39,166,229,.32);transition:background .15s}
.reg-card .reg-tg:hover,.reg-card .reg-tg:focus-visible{background:#1d93cf}
.reg-card .reg-tg svg{width:28px;height:28px;flex:none}
.reg-card .reg-max{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:60px;padding:14px 30px;border-radius:14px;background:linear-gradient(135deg,#3d7bff,#8a4dff);color:#fff!important;font-size:19px;font-weight:600;letter-spacing:.01em;text-decoration:none!important;box-shadow:0 8px 22px rgba(102,92,255,.32);transition:filter .15s}
.reg-card .reg-max:hover,.reg-card .reg-max:focus-visible{filter:brightness(.93)}
.reg-card .reg-max svg{width:28px;height:28px;flex:none}
.reg-card .reg-widget{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
@media(max-width:767px){.reg-card .reg-tg,.reg-card .reg-max{width:100%;max-width:340px}}
.reg-card .reg-hint{font-size:15px!important;margin-top:8px!important}
.reg-card .reg-hint .flow-link{font-size:inherit}
.reg-card .reg-help{max-width:560px;margin:4px auto 0;padding:14px 16px;border-radius:14px;background:#eef6f4}
.reg-card .reg-help p{font-size:15px!important;margin:0 auto!important}
.reg-card .reg-consent{font-size:13px!important;line-height:1.5!important;color:#6a8183!important;margin-top:22px!important}
.reg-card .reg-consent a{color:#21868d;text-decoration:underline}
@media(max-width:767px){#reg-section .flow-result{margin-top:0;padding:28px 20px}.reg-card p{font-size:16px}}
