/* Big Brands B2B checkout customer form 2026 */
.bb-smart-form {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.bb-smart-form__head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.bb-smart-form__head h2 {
    margin: 3px 0 0;
    font-size: 22px;
    line-height: 1.15;
    color: #0f172a;
}

.bb-smart-form__head p {
    max-width: 360px;
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
}

.bb-smart-form__eyebrow {
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bb-smart-label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 700;
    color: #475569;
}

.bb-smart-form__select,
.bb-smart-input {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
    color: #0f172a;
    font-size: 15px;
    line-height: 1.3;
}

.bb-smart-form__select {
    padding: 13px 44px 13px 14px;
    margin-bottom: 16px;
    font-weight: 800;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

.bb-smart-input {
    padding: 12px 13px;
}

.bb-smart-textarea {
    min-height: 82px;
    resize: vertical;
}

.bb-smart-form__select:focus,
.bb-smart-input:focus {
    border-color: #2563eb;
    outline: none;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .10);
}

.bb-smart-panel {
    display: none;
    margin: 0 0 16px;
    padding: 15px;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #eff6ff;
}

.bb-smart-panel.is-active {
    display: block;
}

.bb-smart-panel__title {
    margin-bottom: 4px;
    color: #1e3a8a;
    font-weight: 900;
}

.bb-smart-panel p {
    margin: 0 0 12px;
    color: #475569;
    font-size: 14px;
    line-height: 1.45;
}

.bb-smart-panel p:last-child {
    margin-bottom: 0;
}

.bb-smart-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.bb-smart-form__grid--base {
    margin-top: 16px;
}

.bb-smart-field {
    display: block;
}

.bb-smart-field--wide {
    grid-column: 1 / -1;
}

.bb-smart-consents {
    display: grid;
    gap: 10px;
    margin-top: 17px;
}

.bb-smart-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: #334155;
    font-size: 14px;
    line-height: 1.35;
}

.bb-smart-check input {
    margin-top: 2px;
}

@media (max-width: 720px) {
    .bb-smart-form {
        padding: 16px;
        border-radius: 16px;
    }

    .bb-smart-form__head {
        display: block;
    }

    .bb-smart-form__head p {
        margin-top: 8px;
        max-width: none;
    }

    .bb-smart-form__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* STEP 53.5H final checkout customer form layout START */
/*
   Финальный компактный слой для формы оформления заказа на /catalog/order-cart/.
   Назначение:
   - форма типа клиента не выходит за пределы правой колонки;
   - поля ИП/юрлица идут одной колонкой в узком сайдбаре;
   - кнопки "Отправить заявку", "Позвонить", "Написать менеджеру" стоят ровно и на всю ширину.
*/

#bb-order-checkout-form,
.bb-order-cart-form {
    min-width: 0;
}

#bb-order-checkout-form .bb-smart-form,
.bb-order-cart-form .bb-smart-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}

#bb-order-checkout-form .bb-smart-form__head,
.bb-order-cart-form .bb-smart-form__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

#bb-order-checkout-form .bb-smart-form__head h2,
.bb-order-cart-form .bb-smart-form__head h2,
#bb-order-checkout-form .bb-smart-form__head p,
.bb-order-cart-form .bb-smart-form__head p {
    max-width: 100%;
    overflow-wrap: anywhere;
}

#bb-order-checkout-form .bb-smart-form__select,
#bb-order-checkout-form .bb-smart-input,
.bb-order-cart-form .bb-smart-form__select,
.bb-order-cart-form .bb-smart-input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#bb-order-checkout-form .bb-smart-form__grid,
.bb-order-cart-form .bb-smart-form__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#bb-order-checkout-form .bb-smart-field,
#bb-order-checkout-form .bb-smart-field--wide,
.bb-order-cart-form .bb-smart-field,
.bb-order-cart-form .bb-smart-field--wide {
    grid-column: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#bb-order-checkout-form .bb-smart-panel,
.bb-order-cart-form .bb-smart-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#bb-order-checkout-form .bb-smart-consents,
.bb-order-cart-form .bb-smart-consents {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#bb-order-checkout-form .bb-smart-check,
.bb-order-cart-form .bb-smart-check {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#bb-order-checkout-form .bb-order-cart-submit,
.bb-order-cart-form .bb-order-cart-submit {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 56px;
    box-sizing: border-box;
    margin: 18px 0 10px;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
}

#bb-order-checkout-form .bb-order-cart-manager,
.bb-order-cart-form .bb-order-cart-manager {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 12px 0 0;
    padding: 0;
    box-sizing: border-box;
}

#bb-order-checkout-form .bb-order-cart-manager__call,
#bb-order-checkout-form .bb-order-cart-manager__write,
.bb-order-cart-form .bb-order-cart-manager__call,
.bb-order-cart-form .bb-order-cart-manager__write {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    height: auto;
    box-sizing: border-box;
    margin: 0;
    padding: 13px 16px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
}

@media (max-width: 1180px) {
    #bb-order-checkout-form .bb-smart-form__grid,
    .bb-order-cart-form .bb-smart-form__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* STEP 53.5H final checkout customer form layout END */


/* STEP 57C-R: public cart conversion terms */
.bb-cart-commercial-terms,
.bb-cart-legal-consent {
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 0%, rgba(239, 36, 36, .08), transparent 28%),
        linear-gradient(135deg, #ffffff, #f8fafc);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
    padding: 22px;
    margin: 18px 0;
}

.bb-cart-commercial-terms__head span {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(239, 36, 36, .10);
    color: #b91c1c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bb-cart-commercial-terms__head h2 {
    margin: 12px 0 8px;
    color: #0f172a;
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.08;
}

.bb-cart-commercial-terms__head p,
.bb-cart-legal-consent p {
    margin: 0;
    color: #475569;
    line-height: 1.55;
}

.bb-cart-discount-ladder {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.bb-cart-discount-ladder div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 92px;
    border-radius: 18px;
    padding: 14px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .28);
}

.bb-cart-discount-ladder b {
    color: #334155;
    font-size: 13px;
}

.bb-cart-discount-ladder strong {
    color: #b91c1c;
    font-size: 24px;
    line-height: 1;
}

.bb-cart-next-discount {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 18px;
    background: #fff7ed;
    color: #7c2d12;
    border: 1px solid rgba(249, 115, 22, .24);
}

.bb-cart-delivery-terms {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.bb-cart-delivery-terms article {
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .24);
    padding: 14px;
}

.bb-cart-delivery-terms strong,
.bb-cart-delivery-terms span {
    display: block;
}

.bb-cart-delivery-terms strong {
    color: #0f172a;
    margin-bottom: 6px;
}

.bb-cart-delivery-terms span {
    color: #475569;
    line-height: 1.42;
    font-size: 14px;
}

.bb-cart-delivery-terms__warning {
    background: #fff7ed !important;
    border-color: rgba(249, 115, 22, .30) !important;
}

.bb-cart-legal-consent {
    background: #ffffff;
}

.bb-cart-legal-consent strong {
    display: block;
    margin-bottom: 8px;
    color: #0f172a;
}

.bb-cart-legal-consent a {
    color: #b91c1c;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 980px) {
    .bb-cart-discount-ladder,
    .bb-cart-delivery-terms {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .bb-cart-commercial-terms,
    .bb-cart-legal-consent {
        border-radius: 20px;
        padding: 16px;
    }

    .bb-cart-discount-ladder,
    .bb-cart-delivery-terms {
        grid-template-columns: 1fr;
    }
}


/* STEP 57D: order success Telegram CTA */
.bb-order-success-telegram {
    margin: 22px 0;
    border-radius: 28px;
    padding: 26px;
    border: 1px solid rgba(37, 99, 235, .20);
    background:
        radial-gradient(circle at 12% 0%, rgba(37, 99, 235, .12), transparent 30%),
        linear-gradient(135deg, #ffffff, #eff6ff);
    box-shadow: 0 20px 48px rgba(15, 23, 42, .10);
}

.bb-order-success-telegram__content {
    max-width: 820px;
}

.bb-order-success-telegram__badge {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .10);
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bb-order-success-telegram h2 {
    margin: 14px 0 10px;
    color: #0f172a;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.08;
}

.bb-order-success-telegram p {
    margin: 0;
    color: #475569;
    line-height: 1.6;
}

.bb-order-success-telegram__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

@media (max-width: 620px) {
    .bb-order-success-telegram {
        border-radius: 22px;
        padding: 18px;
    }

    .bb-order-success-telegram__actions .bb-btn {
        width: 100%;
        justify-content: center;
    }
}


/* STEP 57H: delivery method field in cart */
.bb-delivery-method-field {
    position: relative;
}

.bb-delivery-method-field select.bb-smart-input {
    min-height: 48px;
    cursor: pointer;
}

.bb-smart-help {
    display: block;
    margin-top: 7px;
    color: #92400e;
    font-size: 13px;
    line-height: 1.45;
}

/* STEP 57H-S: fix cart sidebar commercial block layout */
.bb-cart-commercial-terms {
    overflow: hidden;
}

.bb-cart-commercial-terms .bb-cart-discount-ladder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bb-cart-commercial-terms .bb-cart-delivery-terms {
    grid-template-columns: 1fr;
}

.bb-cart-commercial-terms .bb-cart-delivery-terms article {
    min-width: 0;
}

.bb-cart-commercial-terms .bb-cart-delivery-terms span {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.bb-delivery-method-field + .bb-smart-field {
    margin-top: 0;
}

@media (max-width: 620px) {
    .bb-cart-commercial-terms .bb-cart-discount-ladder {
        grid-template-columns: 1fr;
    }
}

/* STEP 57I-R: normalize order cart summary with live discount */
.bb-order-cart-summary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    align-items: stretch;
}

.bb-order-cart-summary .bb-order-cart-kpi {
    min-width: 0;
    border-radius: 18px;
    padding: 13px 14px;
}

.bb-order-cart-summary .bb-order-cart-kpi span {
    display: block;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.25;
}

.bb-order-cart-summary .bb-order-cart-kpi strong {
    display: block;
    margin-top: 5px;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.12;
}

.bb-order-cart-summary .bb-order-cart-kpi:nth-child(3),
.bb-order-cart-summary .bb-order-cart-kpi--discount,
.bb-order-cart-summary .bb-order-cart-kpi--final {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.bb-order-cart-summary .bb-order-cart-kpi:nth-child(3) strong,
.bb-order-cart-summary .bb-order-cart-kpi--discount strong,
.bb-order-cart-summary .bb-order-cart-kpi--final strong {
    margin-top: 0;
    text-align: right;
}

.bb-order-cart-summary .bb-order-cart-kpi--discount {
    background: #fff7ed;
    border-color: rgba(249, 115, 22, .28);
}

.bb-order-cart-summary .bb-order-cart-kpi--discount strong {
    color: #b45309;
}

.bb-order-cart-summary .bb-order-cart-kpi--final {
    background: linear-gradient(135deg, #0f172a, #1e293b);
    border-color: rgba(15, 23, 42, .18);
}

.bb-order-cart-summary .bb-order-cart-kpi--final span,
.bb-order-cart-summary .bb-order-cart-kpi--final strong {
    color: #ffffff;
}

.bb-order-cart-discount-note {
    grid-column: 1 / -1;
    margin: 0;
    padding: 11px 13px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .24);
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 520px) {
    .bb-order-cart-summary {
        grid-template-columns: 1fr;
    }

    .bb-order-cart-summary .bb-order-cart-kpi:nth-child(3),
    .bb-order-cart-summary .bb-order-cart-kpi--discount,
    .bb-order-cart-summary .bb-order-cart-kpi--final {
        display: block;
    }

    .bb-order-cart-summary .bb-order-cart-kpi:nth-child(3) strong,
    .bb-order-cart-summary .bb-order-cart-kpi--discount strong,
    .bb-order-cart-summary .bb-order-cart-kpi--final strong {
        margin-top: 5px;
        text-align: left;
    }
}

/* STEP 57I-T: keep commercial terms inside checkout form */
#bb-order-checkout-form .bb-cart-commercial-terms {
    margin: 12px 0;
    padding: 16px;
    border-radius: 20px;
}

#bb-order-checkout-form .bb-cart-commercial-terms__head h2 {
    font-size: 22px;
    line-height: 1.12;
    margin: 10px 0 6px;
}

#bb-order-checkout-form .bb-cart-commercial-terms__head p {
    font-size: 14px;
    line-height: 1.45;
}

#bb-order-checkout-form .bb-cart-discount-ladder {
    margin-top: 12px;
}

#bb-order-checkout-form .bb-cart-next-discount {
    margin-top: 12px;
}

#bb-order-checkout-form .bb-cart-delivery-terms {
    margin-top: 12px;
}

/* STEP 58B: make next discount hint more noticeable */
.bb-order-cart-discount-note {
    position: relative;
    overflow: hidden;
    padding: 13px 14px 13px 44px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(249, 115, 22, .34) !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(249, 115, 22, .18), transparent 34%),
        linear-gradient(135deg, #fff7ed, #ffffff) !important;
    color: #7c2d12 !important;
    font-size: 14px !important;
    font-weight: 750;
    line-height: 1.45 !important;
    box-shadow: 0 12px 28px rgba(249, 115, 22, .12);
    animation: bb-discount-hint-pulse 2.8s ease-in-out infinite;
}

.bb-order-cart-discount-note::before {
    content: "₽";
    position: absolute;
    left: 13px;
    top: 50%;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f97316;
    color: #fff;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .26);
}

.bb-order-cart-discount-note::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.55) 42%, transparent 70%);
    transform: translateX(-120%);
    animation: bb-discount-hint-shine 4.2s ease-in-out infinite;
    pointer-events: none;
}

.bb-order-cart-kpi--discount {
    box-shadow: 0 10px 24px rgba(249, 115, 22, .10);
}

.bb-order-cart-kpi--final {
    box-shadow: 0 14px 34px rgba(15, 23, 42, .18);
}

@keyframes bb-discount-hint-pulse {
    0%, 100% {
        transform: translateY(0);
        box-shadow: 0 12px 28px rgba(249, 115, 22, .12);
    }
    50% {
        transform: translateY(-1px);
        box-shadow: 0 16px 34px rgba(249, 115, 22, .20);
    }
}

@keyframes bb-discount-hint-shine {
    0%, 55% {
        transform: translateX(-120%);
    }
    72%, 100% {
        transform: translateX(120%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bb-order-cart-discount-note,
    .bb-order-cart-discount-note::after {
        animation: none !important;
    }
}


/* STEP 58C: delivery choice buttons under cart summary */
.bb-cart-delivery-choice {
    margin-top: 12px;
    padding: 14px;
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, .28);
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
}
.bb-cart-delivery-choice__head span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(220, 38, 38, .08);
    color: #b91c1c;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.bb-cart-delivery-choice__head strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 18px;
}
.bb-cart-delivery-choice__head p {
    margin: 5px 0 12px;
    color: #64748b;
    font-size: 13px;
}
.bb-cart-delivery-choice__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.bb-cart-delivery-option {
    position: relative;
    display: block;
    padding: 13px 13px 13px 42px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .34);
    background: #f8fafc;
    cursor: pointer;
}
.bb-cart-delivery-option input {
    position: absolute;
    left: 13px;
    top: 15px;
    width: 18px;
    height: 18px;
    accent-color: #dc2626;
}
.bb-cart-delivery-option:has(input:checked) {
    border-color: rgba(220, 38, 38, .70);
    background: #fff1f2;
    box-shadow: 0 12px 28px rgba(220, 38, 38, .12);
}
.bb-cart-delivery-option strong,
.bb-cart-delivery-option span,
.bb-cart-delivery-option em {
    display: block;
}
.bb-cart-delivery-option strong { color: #0f172a; font-size: 14px; line-height: 1.25; }
.bb-cart-delivery-option span { margin-top: 4px; color: #475569; font-size: 13px; line-height: 1.35; }
.bb-cart-delivery-option em { margin-top: 6px; color: #15803d; font-style: normal; font-size: 12px; font-weight: 850; }
.bb-cart-delivery-option--warning { background: #fff7ed; border-color: rgba(249, 115, 22, .34); }
.bb-cart-delivery-option--warning em { color: #b45309; }
@media (max-width: 720px) {
    .bb-cart-delivery-choice__grid { grid-template-columns: 1fr; }
}


/* STEP 58C-R: terminal-free delivery threshold state */
.bb-cart-delivery-option.is-disabled {
    opacity: .62;
    cursor: not-allowed;
    background: #f1f5f9;
    border-color: rgba(148, 163, 184, .28);
}

.bb-cart-delivery-option.is-disabled input {
    cursor: not-allowed;
}

.bb-cart-delivery-option.is-disabled strong,
.bb-cart-delivery-option.is-disabled span,
.bb-cart-delivery-option.is-disabled em {
    color: #64748b;
}

.bb-cart-delivery-option small {
    display: block;
    margin-top: 7px;
    color: #b45309;
    font-size: 12px;
    font-weight: 850;
}


/* STEP 58D-B: visual checkout customer steps */
.bb-checkout-step {
    margin-top: 14px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(148, 163, 184, .28);
    background: #f8fafc;
}

.bb-checkout-step:first-of-type {
    margin-top: 0;
}

.bb-checkout-step__head {
    margin-bottom: 12px;
}

.bb-checkout-step__head span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .09);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.bb-checkout-step__head strong {
    display: block;
    margin-top: 8px;
    color: #0f172a;
    font-size: 18px;
    line-height: 1.15;
}

.bb-checkout-step__head p {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.bb-checkout-step .bb-smart-form__select {
    margin-bottom: 12px;
}

.bb-checkout-step .bb-smart-panel {
    margin-bottom: 0;
}

.bb-checkout-step .bb-smart-form__grid--base,
.bb-checkout-step .bb-smart-consents {
    margin-top: 0;
}

.bb-checkout-step--consents {
    background: #fff7ed;
    border-color: rgba(249, 115, 22, .28);
}

.bb-checkout-step--consents .bb-checkout-step__head span {
    background: rgba(249, 115, 22, .12);
    color: #b45309;
}


/* STEP 58D-C: progressive checkout step focus */
.bb-checkout-step {
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.bb-checkout-step:not(.is-active) {
    opacity: .74;
}

.bb-checkout-step.is-active {
    border-color: rgba(37, 99, 235, .32);
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .07);
}

.bb-checkout-step.is-complete .bb-checkout-step__head span::after {
    content: " ✓";
}

.bb-checkout-step.is-locked {
    opacity: .68;
    background: #f8fafc;
}

.bb-checkout-step.is-locked .bb-checkout-step__head::after {
    content: "Заполните имя, телефон и город — затем подтвердите условия.";
    display: block;
    margin-top: 9px;
    padding: 9px 11px;
    border-radius: 14px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.bb-checkout-step--contacts.is-active {
    border-color: rgba(34, 197, 94, .34);
}

.bb-checkout-step--contacts.is-active .bb-checkout-step__head span {
    background: rgba(34, 197, 94, .12);
    color: #15803d;
}

.bb-checkout-step--consents.is-active {
    opacity: 1;
    border-color: rgba(249, 115, 22, .38);
    box-shadow: 0 14px 30px rgba(249, 115, 22, .10);
}


/* STEP 58E: client type buttons */
.bb-client-type-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

#bb-client-type-select {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.bb-client-type-btn {
    text-align: left;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 18px;
    background: #ffffff;
    padding: 13px;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bb-client-type-btn:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, .38);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.bb-client-type-btn.is-active {
    border-color: rgba(37, 99, 235, .70);
    background: #eff6ff;
    box-shadow: 0 12px 28px rgba(37, 99, 235, .12);
}

.bb-client-type-btn strong,
.bb-client-type-btn span {
    display: block;
}

.bb-client-type-btn strong {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.2;
}

.bb-client-type-btn span {
    margin-top: 5px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 720px) {
    .bb-client-type-buttons {
        grid-template-columns: 1fr;
    }
}


/* STEP 58E-R: polish client type buttons in narrow checkout column */
.bb-client-type-buttons {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}

.bb-client-type-btn {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 12px 13px !important;
    min-width: 0;
    overflow: hidden;
}

.bb-client-type-btn strong,
.bb-client-type-btn span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

.bb-client-type-btn strong {
    font-size: 15px !important;
}

.bb-client-type-btn span {
    font-size: 13px !important;
}

.bb-client-type-btn.is-active {
    position: relative;
    padding-left: 40px !important;
}

.bb-client-type-btn.is-active::before {
    content: "✓";
    position: absolute;
    left: 14px;
    top: 14px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}


/* STEP 58F: soft progressive checkout reveal */
.bb-checkout-step.is-locked {
    opacity: .58;
}

.bb-checkout-step.is-locked .bb-smart-form__grid,
.bb-checkout-step.is-locked .bb-smart-consents {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-top: 0 !important;
    pointer-events: none;
    transition: max-height .22s ease, opacity .18s ease;
}

.bb-checkout-step.is-active .bb-smart-form__grid,
.bb-checkout-step.is-active .bb-smart-consents {
    max-height: 900px;
    opacity: 1;
    pointer-events: auto;
    transition: max-height .24s ease, opacity .2s ease;
}

.bb-checkout-step--contacts.is-locked .bb-checkout-step__head::after {
    content: "Сначала выберите тип покупателя.";
    display: block;
    margin-top: 9px;
    padding: 9px 11px;
    border-radius: 14px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

