

@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&display=swap');

/* ── CSS страницы заявки (/b2b/register/) ──────────────────────────────────────
   Подключается только на /b2b/register/ (shopB2bThemeAssets::addRegisterPageAssets):
   кабинет и витрина грузят css/b2b-frontend.css. Здесь весь лендинг партнёрской
   программы: белый фон, карточки со скруглением 26px и тонкой рамкой, заголовки
   весом 900, акцент #fc3f1d, серые поверхности #f7f7f8; разметка —
   templates/actions/frontend/FrontendRegister.html. Ниже — мастер заявки
   (FrontendRegisterForm.html, b2bInitWizard() в js/b2b-frontend.js), блок
   «выпадающий список» и правило [hidden]. */

/* ── [hidden] внутри наших контейнеров ──────────────────────────────────────────
   Скрытые по стране/типу организации поля и кнопки с display: flex/inline-flex
   оставались видимыми (UA-правило [hidden] слабее классовых). Гасим явно.
   Кабинетная часть правила — в css/b2b-frontend.css. */
.b2b-partner-page [hidden],
.b2b-partner-form [hidden],
.b2b-wizard [hidden],
.b2b-select [hidden] {
    display: none !important;
}

/* ── Partner register landing (/b2b/register/) ─────────────────────────────────
   Светлая тема лендинга партнёрской программы:
   белый фон, карточки со скруглением 26px и тонкой рамкой, заголовки весом 900,
   акцент #fc3f1d, серые поверхности #f7f7f8. Разметка —
   templates/actions/frontend/FrontendRegister.html. Общий с кабинетом блок
   «выпадающий список» (.b2b-select*) скопирован ниже из css/b2b-frontend.css. */

.b2b-partner-page {
    --p-bg: #ffffff;
    --p-surface: #f7f7f8;
    --p-surface-2: #f1f1f3;
    --p-line: rgba(0, 0, 0, 0.08);
    --p-line-strong: rgba(0, 0, 0, 0.20);
    --p-text: #12131a;
    --p-muted: #565a68;
    --p-muted-2: #6b7080;
    --p-accent: #fc3f1d;
    --p-accent-soft: #ffe6da;
    --p-lilac: #f2f2f7;
    --p-ok: #0f7a3d;
    --p-ok-soft: #e8f8ee;
    --p-danger: #8a2f2a;
    --p-danger-soft: #fdecea;
    --p-radius-card: 26px;
    --p-radius-block: 17px;
    --p-radius-btn: 13px;
    margin: 0;
    padding: clamp(16px, 4vw, 44px) 0 clamp(40px, 6vw, 76px);
    background: var(--p-bg);
    color: var(--p-text);
    font-family: 'Inter', 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.b2b-partner-page *,
.b2b-partner-page *::before,
.b2b-partner-page *::after {
    box-sizing: border-box;
}

.b2b-partner-shell {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 40px);
}

/* — Hero — */
.b2b-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: center;
    padding: clamp(8px, 2vw, 24px) 0 clamp(28px, 5vw, 56px);
}

.b2b-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    padding: 7px 14px;
    border: 1px solid var(--p-line);
    border-radius: 999px;
    background: var(--p-surface);
    color: var(--p-muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.b2b-hero__title {
    margin: 0 0 18px;
    font-size: clamp(2.1rem, 5.4vw, 3.7rem);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

.b2b-hero__lead {
    margin: 0 0 26px;
    max-width: 46ch;
    color: var(--p-muted);
    font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.b2b-hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.b2b-hero__note {
    color: var(--p-muted);
    font-size: 15px;
}

.b2b-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 34px 0 0;
    padding: 22px 0 0;
    border-top: 1px solid var(--p-line);
    list-style: none;
}

.b2b-hero__fact-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.b2b-hero__fact-label {
    display: block;
    margin-top: 2px;
    color: var(--p-muted-2);
    font-size: 13px;
    line-height: 1.4;
}

.b2b-hero__visual {
    position: relative;
    display: flex;
    justify-content: center;
}

.b2b-hero__glow {
    position: absolute;
    z-index: 0;
    width: min(420px, 100%);
    height: min(420px, 100%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(252, 63, 29, 0.12), rgba(252, 63, 29, 0) 68%);
    filter: blur(16px);
}

.b2b-mock {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    padding: 22px;
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-card);
    background: #fff;
    box-shadow: 0 18px 44px rgba(18, 19, 26, 0.10);
}

.b2b-mock__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.b2b-mock__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--p-accent);
}

.b2b-mock__title {
    color: var(--p-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.b2b-mock__row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--p-line);
}

.b2b-mock__name {
    flex: 1 1 auto;
    color: var(--p-muted);
    font-size: 15px;
}

.b2b-mock__old {
    color: var(--p-muted-2);
    font-size: 14px;
    text-decoration: line-through;
}

.b2b-mock__price {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.b2b-mock__foot {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 18px;
}

.b2b-mock__chip,
.b2b-mock__stamp {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.b2b-mock__chip {
    background: var(--p-accent-soft);
    color: #7a1c08;
}

.b2b-mock__stamp {
    background: var(--p-ok-soft);
    color: var(--p-ok);
}

/* — Секции — */
.b2b-band {
    padding: clamp(26px, 4.5vw, 52px) 0;
}

.b2b-h2 {
    margin: 0 0 10px;
    font-size: clamp(1.55rem, 3.2vw, 2.4rem);
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.12;
}

.b2b-band__lead {
    margin: 0 0 26px;
    max-width: 62ch;
    color: var(--p-muted);
    font-size: 16px;
}

.b2b-band--apply {
    padding-top: clamp(10px, 2vw, 20px);
}

/* — Кнопки — */
.b2b-btn,
.b2b-partner-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: var(--p-radius-btn);
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.b2b-btn--primary,
.b2b-partner-btn--primary {
    border-color: #12131a;
    background: #12131a;
    color: #fff;
}

.b2b-btn--primary:hover,
.b2b-partner-btn--primary:hover {
    border-color: #2c2e3c;
    background: #2c2e3c;
    color: #fff;
}

.b2b-btn--ghost,
.b2b-partner-btn--ghost {
    border-color: var(--p-line-strong);
    background: transparent;
    color: var(--p-text);
}

.b2b-btn--ghost:hover,
.b2b-partner-btn--ghost:hover {
    background: var(--p-surface-2);
    color: var(--p-text);
}

.b2b-btn:focus-visible,
.b2b-partner-btn:focus-visible {
    outline: 2px solid var(--p-text);
    outline-offset: 2px;
}

/* — Преимущества — */
.b2b-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: clamp(12px, 2vw, 20px);
}

.b2b-card {
    padding: clamp(18px, 2.6vw, 26px);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-card);
    background: #fff;
    box-shadow: 0 1px 2px rgba(18, 19, 26, 0.04);
}

.b2b-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    border-radius: 13px;
    background: var(--p-surface);
    color: var(--p-text);
}

.b2b-card__icon svg {
    width: 22px;
    height: 22px;
}

.b2b-card__title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.b2b-card__text {
    margin: 0;
    color: var(--p-muted);
    font-size: 15px;
}

/* — Шаги — */
.b2b-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: clamp(12px, 2vw, 20px);
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: b2b-step;
}

.b2b-step {
    position: relative;
    padding: clamp(18px, 2.6vw, 26px);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-block);
    background: var(--p-surface);
}

.b2b-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #12131a;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.b2b-step__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 800;
}

.b2b-step__text {
    margin: 0;
    color: var(--p-muted);
    font-size: 15px;
}

/* — Заявка — */
.b2b-apply {
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(20px, 3.4vw, 38px);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-card);
    background: #fff;
    box-shadow: 0 1px 2px rgba(18, 19, 26, 0.04);
}

.b2b-apply__head {
    margin-bottom: 22px;
}

.b2b-apply__head .b2b-band__lead {
    margin-bottom: 0;
}

.b2b-partner-apply__panel {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.b2b-partner-alert {
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-block);
    background: var(--p-surface);
    color: var(--p-muted);
    font-size: 15px;
    line-height: 1.55;
}

.b2b-partner-alert:last-child {
    margin-bottom: 0;
}

.b2b-partner-alert strong {
    color: var(--p-text);
}

.b2b-partner-alert p {
    margin: 0 0 8px;
}

.b2b-partner-alert p:last-child {
    margin-bottom: 0;
}

.b2b-partner-alert a {
    /* Ссылка-действие в блоке «Готово»: цель не меньше 36px по высоте. */
    display: inline-flex;
    align-items: center;
    min-height: 2.25rem;
    color: var(--p-text);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.b2b-partner-alert--ok {
    border-color: #b7e2cd;
    background: var(--p-ok-soft);
    color: var(--p-ok);
}

.b2b-partner-alert--ok strong,
.b2b-partner-alert--ok a {
    color: #0b5c2e;
}

.b2b-partner-alert--err {
    border-color: #f0b7b4;
    background: var(--p-danger-soft);
    color: var(--p-danger);
}

.b2b-partner-alert--err strong,
.b2b-partner-alert--err a {
    color: #6d221d;
}

.b2b-partner-gate {
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-block);
    background: var(--p-lilac);
    color: var(--p-text);
}

.b2b-partner-gate h3 {
    margin: 0 0 10px;
    color: var(--p-text);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.b2b-partner-gate p {
    margin: 0 0 18px;
    max-width: 60ch;
    color: var(--p-muted);
    font-size: 15px;
}

.b2b-partner-gate .b2b-btn--primary,
.b2b-partner-gate .b2b-partner-btn--primary {
    border-color: #12131a;
    background: #12131a;
    color: #fff;
}

.b2b-partner-gate .b2b-btn--primary:hover,
.b2b-partner-gate .b2b-partner-btn--primary:hover {
    border-color: #2c2e3c;
    background: #2c2e3c;
    color: #fff;
}

/* — FAQ — */
.b2b-faq {
    display: grid;
    gap: 12px;
    max-width: 900px;
}

.b2b-faq__item {
    padding: 2px 22px;
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-block);
    background: #fff;
}

.b2b-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 0;
    font-size: 17px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.b2b-faq__q::-webkit-details-marker {
    display: none;
}

.b2b-faq__q::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--p-muted);
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    transition: transform 0.2s ease;
}

.b2b-faq__item[open] .b2b-faq__q::after {
    transform: rotate(45deg);
}

.b2b-faq__a {
    padding: 0 0 18px;
    max-width: 68ch;
    color: var(--p-muted);
    font-size: 15px;
}

/* — Финальный блок — */
.b2b-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    margin: clamp(20px, 4vw, 40px) 0 0;
    padding: clamp(22px, 3.4vw, 40px);
    border: 1px solid var(--p-line);
    border-radius: var(--p-radius-card);
    background: var(--p-surface);
}

.b2b-cta__title {
    margin: 0 0 8px;
    font-size: clamp(1.4rem, 2.8vw, 2.1rem);
    font-weight: 900;
    letter-spacing: -0.025em;
}

.b2b-cta__lead {
    margin: 0;
    max-width: 52ch;
    color: var(--p-muted);
    font-size: 15px;
}

.b2b-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 900px) {
    .b2b-hero {
        grid-template-columns: 1fr;
    }

    .b2b-hero__facts {
        margin-top: 26px;
    }
}

@media (max-width: 640px) {
    .b2b-hero__facts {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .b2b-cta {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {

    .b2b-btn,
    .b2b-partner-btn,
    .b2b-faq__q::after {
        transition: none;
    }
}

/* ── Общие стили формы заявки (лендинг + кабинет) ────────────────────────────── */

.b2b-partner-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 1.25rem;
}

.b2b-partner-form__wide {
    grid-column: 1 / -1;
}

.b2b-partner-form .field {
    margin-bottom: 0.85rem;
}

.b2b-partner-form .name {
    font-weight: 600;
    color: var(--b2b-ink);
    margin-bottom: 0.35rem;
}

.b2b-partner-form input[type="text"],
.b2b-partner-form input[type="email"],
.b2b-partner-form input[type="tel"],
.b2b-partner-form select,
.b2b-partner-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(15, 61, 92, 0.18);
    border-radius: 0.65rem;
    padding: 0.65rem 0.8rem;
    background: #fff;
}

.b2b-partner-inline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}

.b2b-partner-radios {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.b2b-partner-form__actions {
    margin-top: 1rem;
}

.b2b-partner-honeypot {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 820px) {

    .b2b-cards,
    .b2b-steps,
    .b2b-partner-form__grid,
    .b2b-partner-inline {
        grid-template-columns: 1fr;
    }

    .b2b-partner-page {
        margin: 0;
    }
}

/* Shared block: b2b-select (копия из b2b-frontend.css) */
.b2b-select {
    position: relative;
    width: 100%;
}

.b2b-select__control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.55rem 0.9rem;
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #000;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.b2b-select__control:hover {
    border-color: rgba(0, 0, 0, 0.28);
}

.b2b-select.is-open .b2b-select__control,
.b2b-select__control:focus {
    outline: none;
    border-color: #fc0;
    box-shadow: 0 0 0 2px rgba(255, 204, 0, 0.35);
}

.b2b-select__value {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
}

.b2b-select__title {
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.25;
}

.b2b-select__hint {
    color: #878787;
    font-size: 0.8rem;
    line-height: 1.25;
}

.b2b-select__chevron {
    flex: 0 0 auto;
    width: 0.65rem;
    height: 0.65rem;
    border-right: 2px solid #878787;
    border-bottom: 2px solid #878787;
    transform: rotate(45deg) translate(-1px, -2px);
    transition: transform 0.18s ease;
}

.b2b-select.is-open .b2b-select__chevron {
    transform: rotate(225deg) translate(-1px, -1px);
}

.b2b-select__dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 5;
    margin: 0;
    padding: 0.35rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    background: #fff;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.04),
        0 12px 28px rgba(0, 0, 0, 0.12);
    max-height: 16rem;
    overflow: auto;
}

.b2b-select__option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    margin: 0;
    padding: 0.7rem 0.8rem;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #000;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease;
}

.b2b-select__option:hover,
.b2b-select__option:focus {
    outline: none;
    background: #f5f5f5;
}

.b2b-select__option.is-selected {
    background: #fff8db;
}

.b2b-select__option.is-selected:hover,
.b2b-select__option.is-selected:focus {
    background: #fff3c2;
}

.b2b-select__option-main {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.b2b-select__option-title {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
}

.b2b-select__option-hint {
    color: #878787;
    font-size: 0.8rem;
    line-height: 1.25;
}

.b2b-select__check {
    flex: 0 0 auto;
    width: 1rem;
    height: 0.55rem;
    opacity: 0;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(-45deg) translate(0, -1px);
}

.b2b-select__option.is-selected .b2b-select__check {
    opacity: 1;
}

.b2b-partner-form .b2b-select {
    width: 100%;
    max-width: 28rem;
}
/* /Shared block */

/* ── Пошаговая форма заявки (wizard) ─────────────────────────────────────────────
   Светлая тема формы (в связке с лендингом /b2b/register/): белые поля с тонкой рамкой,
   чёрная primary-кнопка, акцент #fc3f1d для обязательных полей. Фокус полей всегда
   нейтральный, красная рамка — только у невалидного поля без курсора. Разметка —
   templates/actions/frontend/FrontendRegisterForm.html, поведение — b2bInitWizard() в js/b2b-frontend.js. */

.b2b-wizard {
    --wiz-ink: #12131a;
    --wiz-ink-soft: #2b2b2b;
    --wiz-muted: #6b7080;
    --wiz-line: rgba(0, 0, 0, 0.12);
    --wiz-line-strong: rgba(0, 0, 0, 0.24);
    --wiz-surface: #f7f7f8;
    --wiz-accent: #fc3f1d;
    --wiz-danger: #d92d20;
    --wiz-opt-bg: rgba(252, 63, 29, 0.10);
    --wiz-opt-bg-strong: rgba(252, 63, 29, 0.16);
    --wiz-radius: 13px;
    font-family: 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    margin: 0;
    padding: clamp(1.1rem, 3vw, 1.75rem);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--wiz-ink-soft);
}

.b2b-wizard__progress {
    margin: 0 0 1.5rem;
}

/* Внутри белой панели страницы заявки отдельная карточка не нужна. */
.b2b-partner-apply__panel .b2b-wizard {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.b2b-wizard__bar {
    height: 2px;
    margin: 0 0 1rem;
    background: var(--wiz-line);
    border-radius: 2px;
    overflow: hidden;
}

.b2b-wizard__bar-fill {
    display: block;
    height: 100%;
    width: 0;
    background: var(--wiz-ink);
    border-radius: 2px;
    transition: width 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.b2b-wizard__steps {
    display: grid;
    grid-template-columns: repeat(var(--wiz-steps, 3), minmax(0, 1fr));
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.b2b-wizard__step {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
    padding: 0.35rem 0.45rem;
    border-radius: var(--wiz-radius);
    transition: background 0.15s ease;
}

.b2b-wizard__step.is-clickable {
    cursor: pointer;
}

.b2b-wizard__step.is-clickable:hover {
    background: var(--wiz-surface);
}

.b2b-wizard__step:focus-visible {
    outline: 2px solid var(--wiz-ink);
    outline-offset: 2px;
}

.b2b-wizard__step-num {
    position: relative;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--wiz-line-strong);
    border-radius: 50%;
    background: #fff;
    color: var(--wiz-muted);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
}

.b2b-wizard__step-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.b2b-wizard__step-title {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--wiz-ink-soft);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.b2b-wizard__step-hint {
    font-size: 0.78rem;
    color: var(--wiz-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.b2b-wizard__step.is-active .b2b-wizard__step-num {
    background: var(--wiz-ink);
    border-color: var(--wiz-ink);
    color: #fff;
}

.b2b-wizard__step.is-active .b2b-wizard__step-title {
    color: var(--wiz-ink);
}

.b2b-wizard__step.is-done .b2b-wizard__step-num {
    background: var(--wiz-ink);
    border-color: var(--wiz-ink);
    color: transparent;
}

.b2b-wizard__step.is-done .b2b-wizard__step-num::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 47%;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

.b2b-wizard__step.is-locked {
    opacity: 0.55;
}

.b2b-wizard__status {
    margin: 0 0 1.25rem;
    padding: 0.8rem 1rem;
    border-radius: var(--wiz-radius);
    border: 1px solid var(--wiz-line);
    background: var(--wiz-surface);
    font-size: 0.9rem;
    line-height: 1.45;
}

.b2b-wizard__status.is-error {
    border-color: #ffccc7;
    background: #fff1f0;
    color: #a8071a;
}

.b2b-wizard__panel {
    animation: b2bWizardIn 0.32s ease both;
}

.b2b-wizard__panel.is-active {
    display: block;
}

.b2b-wizard__panel-head {
    margin: 0 0 1.15rem;
}

.b2b-wizard__panel-title {
    margin: 0 0 0.3rem;
    font-size: 1.15rem;
    font-weight: 650;
    color: var(--wiz-ink);
}

.b2b-wizard__panel-lead {
    margin: 0;
    font-size: 0.9rem;
    color: var(--wiz-muted);
}

@keyframes b2bWizardIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.b2b-wizard .b2b-partner-form__grid {
    gap: 0.25rem 1.1rem;
}

.b2b-wizard .field {
    margin-bottom: 1rem;
}

.b2b-wizard .name {
    margin-bottom: 0.35rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--wiz-muted);
}

.b2b-wizard input[type="text"],
.b2b-wizard input[type="email"],
.b2b-wizard input[type="tel"],
.b2b-wizard select,
.b2b-wizard textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--wiz-line);
    border-radius: var(--wiz-radius);
    background: #fff;
    color: var(--wiz-ink);
    font: inherit;
    font-size: 0.95rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.b2b-wizard textarea {
    min-height: 84px;
    resize: vertical;
}

.b2b-wizard input[type="text"]:focus,
.b2b-wizard input[type="email"]:focus,
.b2b-wizard input[type="tel"]:focus,
.b2b-wizard select:focus,
.b2b-wizard textarea:focus {
    outline: none;
    /* фокус нейтральный: поставили курсор — никакой красной подсветки */
    border-color: var(--wiz-ink);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}

.b2b-wizard input::placeholder,
.b2b-wizard textarea::placeholder {
    color: #8b90a0;
}

.b2b-wizard .b2b-select,
.b2b-wizard .b2b-partner-form .b2b-select {
    width: 100%;
    max-width: 100%;
}

.b2b-wizard .b2b-select__control {
    min-height: 46px;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--wiz-line);
    border-radius: var(--wiz-radius);
    background: #fff;
    color: var(--wiz-ink);
}

.b2b-wizard .b2b-select__hint {
    color: var(--wiz-muted);
}

.b2b-wizard .b2b-select__chevron {
    border-right-color: rgba(0, 0, 0, 0.45);
    border-bottom-color: rgba(0, 0, 0, 0.45);
}

.b2b-wizard .b2b-select__dropdown {
    border-color: var(--wiz-line);
    background: #fff;
    box-shadow: 0 12px 30px rgba(18, 19, 26, 0.14);
}

.b2b-wizard .b2b-select__option {
    color: var(--wiz-ink);
}

.b2b-wizard .b2b-select__option:hover,
.b2b-wizard .b2b-select__option:focus {
    background: var(--wiz-surface);
}

.b2b-wizard .b2b-select__option.is-selected {
    background: var(--wiz-opt-bg);
}

.b2b-wizard .b2b-select__option.is-selected:hover,
.b2b-wizard .b2b-select__option.is-selected:focus {
    background: var(--wiz-opt-bg-strong);
}

.b2b-wizard .b2b-select__option-hint {
    color: var(--wiz-muted);
}

.b2b-wizard .b2b-select__check {
    border-left-color: var(--wiz-ink);
    border-bottom-color: var(--wiz-ink);
}

.b2b-wizard .b2b-select.is-open .b2b-select__control,
.b2b-wizard .b2b-select__control:focus {
    border-color: var(--wiz-ink);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}

.b2b-wizard .hint {
    font-size: 0.8rem;
    color: var(--wiz-muted);
}

.b2b-wizard .errormsg {
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--wiz-danger);
}

.b2b-wizard__req {
    margin-left: 0.15rem;
    color: var(--wiz-accent);
}

.b2b-wizard__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.b2b-wizard__chip,
.b2b-wizard__check {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    border: 1px solid var(--wiz-line);
    border-radius: 999px;
    background: #fff;
    color: var(--wiz-ink);
    font-size: 0.92rem;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.b2b-wizard__chip:hover,
.b2b-wizard__check:hover {
    border-color: var(--wiz-line-strong);
}

.b2b-wizard__chip input,
.b2b-wizard__check input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.b2b-wizard__chip input:focus-visible + span,
.b2b-wizard__check input:focus-visible + span {
    outline: 2px solid var(--wiz-ink);
    outline-offset: 4px;
    border-radius: 6px;
}

.b2b-wizard__chip.is-checked,
.b2b-wizard__check.is-checked,
.b2b-wizard__chip:has(input:checked),
.b2b-wizard__check:has(input:checked) {
    border-color: var(--wiz-ink);
    background: var(--wiz-surface);
    box-shadow: inset 0 0 0 1px var(--wiz-ink);
}

/* Красная рамка — только у полей, в которых нет курсора: поставили курсор — подсветки нет. */
.b2b-wizard .is-invalid input:not(:focus),
.b2b-wizard input.is-invalid:not(:focus),
.b2b-wizard select.is-invalid:not(:focus),
.b2b-wizard textarea.is-invalid:not(:focus),
.b2b-wizard .is-invalid .b2b-select__control:not(:focus) {
    border-color: var(--wiz-danger);
    box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.12);
}

.b2b-wizard__err {
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--wiz-danger);
}

.b2b-wizard__shake {
    animation: b2bWizardShake 0.35s ease;
}

@keyframes b2bWizardShake {
    0%,
    100% {
        transform: none;
    }

    20% {
        transform: translateX(-4px);
    }

    40% {
        transform: translateX(4px);
    }

    60% {
        transform: translateX(-2px);
    }

    80% {
        transform: translateX(2px);
    }
}

.b2b-wizard__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--wiz-line);
}

.b2b-wizard__actions-spacer {
    flex: 1 1 auto;
}

.b2b-wizard .b2b-partner-btn {
    min-height: 48px;
    padding: 0.75rem 1.5rem;
    border-radius: var(--wiz-radius);
    font: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    box-shadow: none;
}

.b2b-wizard .b2b-partner-btn--primary {
    border-color: var(--wiz-ink);
    background: var(--wiz-ink);
    color: #fff;
}

.b2b-wizard .b2b-partner-btn--primary:hover {
    border-color: #2c2e3c;
    background: #2c2e3c;
    color: #fff;
    transform: none;
}

.b2b-wizard .b2b-partner-btn--primary:active {
    transform: scale(0.99);
}

.b2b-wizard .b2b-partner-btn--ghost {
    border-color: var(--wiz-line-strong);
    background: #fff;
    color: var(--wiz-ink);
}

.b2b-wizard .b2b-partner-btn--ghost:hover {
    background: var(--wiz-surface);
    color: var(--wiz-ink);
}

.b2b-wizard .b2b-partner-btn:focus-visible {
    outline: 2px solid var(--wiz-ink);
    outline-offset: 2px;
}

.b2b-wizard .b2b-partner-btn[disabled],
.b2b-wizard .b2b-partner-btn.is-busy {
    opacity: 0.6;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .b2b-wizard__panel,
    .b2b-wizard__shake {
        animation: none;
    }

    .b2b-wizard__bar-fill {
        transition: none;
    }
}

@media (max-width: 720px) {
    .b2b-wizard {
        padding: 1.1rem;
        border-radius: 16px;
    }

    .b2b-wizard__step {
        gap: 0.45rem;
        padding: 0.3rem 0.3rem;
    }

    .b2b-wizard__step-hint {
        display: none;
    }

    .b2b-wizard__step-num {
        width: 24px;
        height: 24px;
        font-size: 0.75rem;
    }

    .b2b-wizard__actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .b2b-wizard__actions-spacer {
        display: none;
    }
}
