/* Оформление заказа simplecheckout (+кастомный селект, select2) */

/* ===== Контейнер: высота и рамка как у обычных .form-control ===== */
.simplecheckout .select2-container--default .select2-selection--single {
    height: 42px;
    border: 1px solid #c8d0c8; /* --rf-neutral-300 */
    border-radius: 8px; /* --rf-radius-sm */
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.simplecheckout .select2-container--default .select2-selection--single:hover {
    border-color: #9aa49a; /* --rf-neutral-400 */
}

.simplecheckout .select2-container--default.select2-container--focus .select2-selection--single,
.simplecheckout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #2d6a3e; /* --rf-accent */
    box-shadow: 0 0 0 3px rgba(45, 106, 62, .15);
    outline: none;
}

/* Текст выбранного значения */
.simplecheckout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1a1f1a; /* --rf-text */
    line-height: 40px;
    padding-left: 14px;
    padding-right: 36px;
    font-size: 15px;
}

.simplecheckout .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #9aa49a; /* --rf-neutral-400 */
}

/* Стрелка */
.simplecheckout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
    width: 36px;
    right: 2px;
}

.simplecheckout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #5a655a transparent transparent transparent; /* --rf-text-muted */
    border-width: 6px 5px 0 5px;
    margin-left: -5px;
    margin-top: -3px;
    transition: transform .2s ease;
}

.simplecheckout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: #2d6a3e transparent transparent transparent;
    transform: rotate(180deg);
    margin-top: -5px;
}

/* ===== Выпадающий список ===== */
.simplecheckout .select2-dropdown,
.select2-container--open .select2-dropdown {
    border: 1px solid #e3e8e3; /* --rf-border */
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(15, 30, 18, .08), 0 24px 50px rgba(15, 30, 18, .12);
    overflow: hidden;
    margin-top: 4px;
    background: #fff;
}

.select2-dropdown--above {
    margin-top: -4px;
}

/* Поле поиска внутри дропдауна */
.select2-container--default .select2-search--dropdown {
    padding: 10px 10px 6px;
    background: #f6f8f6; /* --rf-surface */
    border-bottom: 1px solid #e3e8e3;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    height: 38px;
    padding: 0 12px;
    border: 1px solid #c8d0c8;
    border-radius: 8px;
    font-size: 14px;
    color: #1a1f1a;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
    outline: none;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #2d6a3e;
    box-shadow: 0 0 0 3px rgba(45, 106, 62, .15);
}

.select2-container--default .select2-search--dropdown .select2-search__field::placeholder {
    color: #9aa49a;
}

/* Список результатов */
.select2-container--default .select2-results > .select2-results__options {
    max-height: 280px;
    padding: 6px;
}

.select2-container--default .select2-results__option {
    padding: 9px 12px;
    font-size: 14px;
    color: #1a1f1a;
    border-radius: 6px;
    margin: 1px 0;
    transition: background .12s ease, color .12s ease;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
    background: #e8f3ec; /* --rf-accent-soft */
    color: #1f4a2c; /* --rf-accent-dark */
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: #2d6a3e; /* --rf-accent */
    color: #fff;
    font-weight: 600;
}

.select2-container--default .select2-results__option[aria-selected=true].select2-results__option--highlighted {
    background: #1f4a2c;
    color: #fff;
}

/* «Ничего не найдено» */
.select2-container--default .select2-results__message,
.select2-container--default .select2-results__option.loading-results {
    color: #5a655a;
    padding: 12px;
    font-size: 14px;
    text-align: center;
}

/* Если у simplecheckout есть .has-error — подсветим Select2 красным */
.simplecheckout .has-error .select2-container--default .select2-selection--single {
    border-color: #c8342a; /* --rf-danger */
}

.simplecheckout .has-error .select2-container--default.select2-container--focus .select2-selection--single {
    box-shadow: 0 0 0 3px rgba(200, 52, 42, .12);
}

/* Мобильная адаптация */
@media (max-width: 480px) {
    .simplecheckout .select2-container--default .select2-selection--single {
        height: 44px;
    }

    .simplecheckout .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 42px;
    }
}

/* ============================================
   ROST-FARMA · SIMPLECHECKOUT
   Полные стили оформления заказа.
   Все стили заскоплены под .simplecheckout
   (кроме Select2, у которого dropdown может всплывать вне DOM).
   ============================================ */

/* ===== Фолбэк-переменные (если глобальные токены ещё не подключены) ===== */
.simplecheckout {
    --rf-bg: #ffffff;
    --rf-surface: #f6f8f6;
    --rf-surface-2: #ffffff;
    --rf-border: #e3e8e3;
    --rf-text: #1a1f1a;
    --rf-text-muted: #5a655a;
    --rf-accent: #2d6a3e;
    --rf-accent-dark: #1f4a2c;
    --rf-accent-deep: #1a3324;
    --rf-accent-soft: #e8f3ec;
    --rf-warn: #d49a18;
    --rf-warn-dark: #8a6300;
    --rf-warn-soft: #fff8e6;
    --rf-danger: #c8342a;
    --rf-danger-dark: #8a1f18;
    --rf-danger-soft: #fdecea;
    --rf-neutral-100: #f1f3f1;
    --rf-neutral-200: #e3e8e3;
    --rf-neutral-300: #c8d0c8;
    --rf-neutral-400: #9aa49a;
    --rf-neutral-500: #5a655a;
    --rf-radius-sm: 8px;
    --rf-radius: 14px;
    --rf-shadow: 0 1px 2px rgba(15, 30, 18, .04), 0 6px 18px rgba(15, 30, 18, .04);
    --rf-shadow-md: 0 4px 8px rgba(15, 30, 18, .06), 0 12px 30px rgba(15, 30, 18, .08);

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif;
    color: var(--rf-text);
    line-height: 1.55;
    font-size: 15px;
}

.simplecheckout *,
.simplecheckout *::before,
.simplecheckout *::after {
    box-sizing: border-box;
}

/* ===== РАЗМЕТКА ===== */
.simplecheckout-step {
    display: block;
}

.simplecheckout-left-column,
.simplecheckout-right-column {
    width: 50%;
    padding: 0 10px;
    float: left;
}

.simplecheckout #simplecheckout_cart,
.simplecheckout #simplecheckout_comment,
.simplecheckout #simplecheckout_payment_form {
    clear: both;
}

/* ===== БЛОКИ-КАРТОЧКИ ===== */
.simplecheckout-block {
    background: var(--rf-surface-2);
    border: 1px solid var(--rf-border);
    border-radius: var(--rf-radius);
    box-shadow: var(--rf-shadow);
    margin-bottom: 20px;
    overflow: hidden;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.simplecheckout-block:hover {
    box-shadow: var(--rf-shadow-md);
}

.simplecheckout .checkout-heading,
.simplecheckout .panel-heading {
    background: var(--rf-surface);
    color: var(--rf-text);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -.01em;
    padding: 14px 20px;
    border: 0;
    border-bottom: 1px solid var(--rf-border);
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.simplecheckout .checkout-heading-button a,
.simplecheckout .checkout-heading a {
    font-size: 13px;
    font-weight: 600;
    color: var(--rf-accent);
    text-decoration: none;
    border-bottom: 1px dashed currentColor;
    transition: color .2s;
}

.simplecheckout .checkout-heading a:hover {
    color: var(--rf-accent-dark);
}

.simplecheckout-block-content {
    padding: 20px;
}

/* «Вы будете зарегистрированы!» */
.simplecheckout .you-will-be-registered {
    background: var(--rf-accent-soft);
    color: var(--rf-accent-dark);
    border-radius: var(--rf-radius-sm);
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

/* ===== ФОРМЫ ===== */
.simplecheckout .form-horizontal {
    margin: 0;
}

.simplecheckout .form-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 0 14px;
    padding: 0;
}

.simplecheckout .form-group:last-child {
    margin-bottom: 0;
}

.simplecheckout .control-label {
    width: 38%;
    padding: 9px 12px 0 0;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    color: var(--rf-text);
    line-height: 1.4;
    margin: 0;
}

.simplecheckout .form-group .col-sm-8,
.simplecheckout .form-group > .col-sm-8 {
    width: 62%;
    padding: 0;
    float: none;
}

.simplecheckout .form-group.required .control-label::after {
    content: " *";
    color: var(--rf-danger);
    font-weight: 700;
}

/* Инпуты */
.simplecheckout .form-control,
.simplecheckout input[type="text"].form-control,
.simplecheckout input[type="email"].form-control,
.simplecheckout input[type="password"].form-control,
.simplecheckout textarea.form-control,
.simplecheckout select.form-control {
    height: 42px;
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--rf-text);
    background: #fff;
    border: 1px solid var(--rf-neutral-300);
    border-radius: var(--rf-radius-sm);
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
    appearance: none;
    -webkit-appearance: none;
}

.simplecheckout textarea.form-control {
    height: auto;
    min-height: 96px;
    resize: vertical;
    padding: 12px 14px;
    line-height: 1.5;
}

.simplecheckout .form-control:hover {
    border-color: var(--rf-neutral-400);
}

.simplecheckout .form-control:focus {
    border-color: var(--rf-accent);
    box-shadow: 0 0 0 3px rgba(45, 106, 62, .15);
    outline: none;
}

.simplecheckout .form-control::placeholder {
    color: var(--rf-neutral-400);
}

/* Нативные select — стрелка */
.simplecheckout select.form-control:not(.select2-hidden-accessible) {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%235a655a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

/* Тултипы (подсказки под полем) */
.simplecheckout .simplecheckout-tooltip {
    font-size: 12px;
    color: var(--rf-text-muted);
    margin-top: 6px;
    line-height: 1.4;
}

/* Ошибки */
.simplecheckout .simplecheckout-error-text {
    font-size: 12px;
    color: var(--rf-danger-dark);
    margin-top: 6px;
    font-weight: 500;
}

.simplecheckout .has-error .form-control,
.simplecheckout .has-error .form-control:focus {
    border-color: var(--rf-danger);
}

.simplecheckout .has-error .form-control:focus {
    box-shadow: 0 0 0 3px rgba(200, 52, 42, .12);
}

/* ===== АЛЕРТЫ ===== */
.simplecheckout .alert,
.simplecheckout .simplecheckout-warning-block {
    border: 0;
    border-left: 3px solid;
    border-radius: var(--rf-radius-sm);
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
}

.simplecheckout .alert-danger,
.simplecheckout .simplecheckout-warning-block {
    background: var(--rf-danger-soft);
    border-left-color: var(--rf-danger);
    color: var(--rf-danger-dark);
    font-weight: 500;
}

.simplecheckout #simplecheckout_cart > .alert-danger {
    margin: 18px 18px 0;
}

/* ===== КОРЗИНА ===== */
.simplecheckout #simplecheckout_cart {
    padding: 0;
}

.simplecheckout .table-responsive {
    margin: 0;
    border: 0;
}

.simplecheckout table.simplecheckout-cart {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.simplecheckout table.simplecheckout-cart thead th {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--rf-border);
    padding: 12px 10px;
    font-size: 11px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--rf-text-muted);
    text-align: left;
}


.simplecheckout table.simplecheckout-cart tbody td {
    padding: 16px 10px;
    border: 0;
    border-bottom: 1px solid var(--rf-border);
    vertical-align: middle;
    font-size: 14px !important;
    color: var(--rf-text);
}

.simplecheckout table.simplecheckout-cart tbody tr:last-child td {
    border-bottom: 0;
}

.simplecheckout table.simplecheckout-cart td.name a {
    color: var(--rf-text);
    font-weight: 600;
    text-decoration: none;
    transition: color .2s;
}

.simplecheckout-cart colgroup col {
    display: table-column !important;
}

.simplecheckout-cart .name {
    text-align: left !important;
}

.simplecheckout-cart .model {
    text-align: center !important;

}
.simplecheckout-cart col.model {
    width: 15% !important;
}
.simplecheckout-cart .quantity {
    text-align: center !important;
}

.simplecheckout-cart .price {
    text-align: right !important;
}

.simplecheckout-cart .total {
    text-align: right !important;

}

.simplecheckout-cart .quantity {

}

.simplecheckout table.simplecheckout-cart td.name a:hover {
    color: var(--rf-accent);
}

.simplecheckout table.simplecheckout-cart td.model {
    color: var(--rf-text-muted);
    font-size: 13px;
}
.simplecheckout .quantity {
    width: 200px;
    min-width: 155px !important;
}
@media only screen and (max-width: 1000px) {

    .simplecheckout-cart col.model, .simplecheckout-cart th.model, .simplecheckout-cart td.model {
        display: none !important;
    }
}

.simplecheckout table.simplecheckout-cart td.total {
    font-weight: 700;
}

/* Кнопки +/- в корзине */
.simplecheckout .input-group {
    display: flex;
    width: auto;
    max-width: 160px;
    border-radius: var(--rf-radius-sm);
    overflow: hidden;
    border: 1px solid var(--rf-neutral-300);
    background: #fff;
}

.simplecheckout .input-group .form-control {
    height: 36px;
    border: 0;
    border-left: 1px solid var(--rf-border);
    border-right: 1px solid var(--rf-border);
    border-radius: 0;
    text-align: center;
    width: 50px;
    padding: 0 4px;
    background: #fff;
}

.simplecheckout .input-group .input-group-btn {
    display: inline-flex;
    width: auto;
}

.simplecheckout .input-group .btn {
    height: 100%;
    width: 34px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: var(--rf-surface);
    color: var(--rf-text);
    font-size: 12px;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
}

.simplecheckout .input-group .btn-primary:hover {
    background: var(--rf-accent);
    color: #fff;
}

.simplecheckout .input-group .btn-danger {
    background: var(--rf-surface);
    color: var(--rf-text-muted);
    border-left: 1px solid var(--rf-border);
}

.simplecheckout .input-group .btn-danger:hover {
    background: var(--rf-danger);
    color: #fff;
}

/* Итоги корзины */
.simplecheckout-cart-total {
    align-items: center;
    gap: 16px;
    padding: 10px 18px;
    border-top: 1px solid var(--rf-border);
    font-size: 14px;
    color: var(--rf-text);
}

.simplecheckout-cart-total:first-of-type {
    border-top: 1px solid var(--rf-border);
    margin-top: 4px;
}

.simplecheckout-cart-total b {
    font-weight: 500;
}

.simplecheckout-cart-total-value {
    font-weight: 600;
    min-width: 110px;
    text-align: right;
}

.simplecheckout-cart-total#total_total {
    background: var(--rf-surface);
    padding: 14px 18px;
}

.simplecheckout-cart-total.coupon-total {
    padding: 14px 18px;
}

.simplecheckout-cart-total.cart-update {
    padding: 14px 18px;
}

.simplecheckout-cart-total#total_total b,
.simplecheckout-cart-total#total_total .simplecheckout-cart-total-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--rf-accent-dark);
}

/* Купон + кнопка «Обновить» */
.simplecheckout-cart-total .inputs {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
}

.simplecheckout-cart-total .inputs .form-control {
    width: 200px;
    height: 38px;
}

.simplecheckout-cart-buttons {
    padding-bottom: 16px;
}

/* ===== КНОПКИ ===== */
.simplecheckout .btn,
.simplecheckout .button,
.simplecheckout .button_oc,
.simplecheckout input[type="button"].btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 22px;
    font-size: 14px;
    font-weight: 600;
    border-radius: var(--rf-radius-sm);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s;
    text-decoration: none;
    line-height: 1;
    box-shadow: none;
    white-space: nowrap;
}

.simplecheckout .btn-primary,
.simplecheckout .button.btn-primary,
.simplecheckout input.btn-primary {
    background: var(--rf-accent);
    border-color: var(--rf-accent);
    color: #fff;
}

.simplecheckout .btn-primary:hover,
.simplecheckout .btn-primary:focus {
    background: var(--rf-accent-dark);
    border-color: var(--rf-accent-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--rf-shadow-md);
}

.simplecheckout .btn-primary[disabled],
.simplecheckout .btn[disabled] {
    background: var(--rf-neutral-100);
    border-color: var(--rf-neutral-200);
    color: var(--rf-neutral-400);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* ===== РАДИО (оплата / доставка) ===== */
.simplecheckout #simplecheckout_payment .radio,
.simplecheckout #simplecheckout_shipping .radio {
    margin: 0 0 10px;
    padding: 0;
}

.simplecheckout #simplecheckout_payment .radio:last-child,
.simplecheckout #simplecheckout_shipping .radio:last-child {
    margin-bottom: 0;
}

.simplecheckout #simplecheckout_payment .radio label,
.simplecheckout #simplecheckout_shipping .radio label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--rf-border);
    border-radius: var(--rf-radius-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--rf-text);
    cursor: pointer;
    transition: border-color .2s, background .2s;
    margin: 0;
}

.simplecheckout #simplecheckout_payment .radio label:hover,
.simplecheckout #simplecheckout_shipping .radio label:hover {
    border-color: var(--rf-accent);
    background: var(--rf-surface);
}

.simplecheckout #simplecheckout_payment .radio input[type="radio"],
.simplecheckout #simplecheckout_shipping .radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid var(--rf-neutral-300);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: border-color .2s;
}

.simplecheckout #simplecheckout_payment .radio input[type="radio"]:checked,
.simplecheckout #simplecheckout_shipping .radio input[type="radio"]:checked {
    border-color: var(--rf-accent);
}

.simplecheckout #simplecheckout_payment .radio input[type="radio"]:checked::after,
.simplecheckout #simplecheckout_shipping .radio input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rf-accent);
    transform: translate(-50%, -50%);
}

.simplecheckout #simplecheckout_payment .radio label:has(input:checked),
.simplecheckout #simplecheckout_shipping .radio label:has(input:checked) {
    border-color: var(--rf-accent);
    background: var(--rf-accent-soft);
}

/* Подзаголовок «Стандартная доставка почтой (7-10 дней)» */
.simplecheckout #simplecheckout_shipping > .simplecheckout-block-content > p {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rf-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
}

.simplecheckout #simplecheckout_shipping > .simplecheckout-block-content > p b {
    font-weight: 600;
}

/* ===== КНОПКА «ОФОРМИТЬ ЗАКАЗ» ===== */
.simplecheckout-button-block {
    clear: both;
    display: flex;
    justify-content: flex-end;
    padding: 20px 0;
    gap: 12px;
    border-top: 1px solid var(--rf-border);
    margin-top: 20px;
}

.simplecheckout-button-block .btn,
.simplecheckout-button-block .button {
    height: 50px;
    padding: 0 32px;
    font-size: 15px;
    font-weight: 700;
}

.simplecheckout-proceed-payment {
    text-align: center;
    padding: 20px;
    color: var(--rf-accent-dark);
    font-weight: 600;
    background: var(--rf-accent-soft);
    border-radius: var(--rf-radius-sm);
    margin-top: 20px;
}

/* ===== SELECT2 (универсально, под --bootstrap и --default) ===== */
.simplecheckout .select2-container .select2-selection--single,
.simplecheckout .select2-container--bootstrap .select2-selection--single,
.simplecheckout .select2-container--default .select2-selection--single {
    height: 42px;
    line-height: 40px;
    border: 1px solid var(--rf-neutral-300);
    border-radius: var(--rf-radius-sm);
    background: #fff;
    padding: 0;
    box-shadow: none;
    transition: border-color .2s, box-shadow .2s;
}

.simplecheckout .select2-container .select2-selection--single:hover {
    border-color: var(--rf-neutral-400);
}

.simplecheckout .select2-container--open .select2-selection--single,
.simplecheckout .select2-container--focus .select2-selection--single {
    border-color: var(--rf-accent) !important;
    box-shadow: 0 0 0 3px rgba(45, 106, 62, .15);
    outline: none;
}

.simplecheckout .select2-container .select2-selection__rendered {
    padding-left: 14px;
    padding-right: 36px;
    color: var(--rf-text);
    font-size: 14px;
    line-height: 40px;
}

.simplecheckout .select2-container .select2-selection__placeholder {
    color: var(--rf-neutral-400);
}

.simplecheckout .select2-container .select2-selection__arrow {
    height: 40px;
    width: 36px;
    right: 2px;
    top: 0;
}

.simplecheckout .select2-container .select2-selection__arrow b {
    border-color: var(--rf-text-muted) transparent transparent transparent;
    border-width: 6px 5px 0 5px;
    margin-left: -5px;
    margin-top: -3px;
    transition: transform .2s;
}

.simplecheckout .select2-container--open .select2-selection__arrow b {
    border-color: var(--rf-accent) transparent transparent transparent;
    transform: rotate(180deg);
    margin-top: -5px;
}

/* Состояние ошибки */
.simplecheckout .has-error .select2-container .select2-selection--single {
    border-color: var(--rf-danger);
}

.simplecheckout .has-error .select2-container--open .select2-selection--single {
    box-shadow: 0 0 0 3px rgba(200, 52, 42, .12);
}

/* Dropdown — без скоупа .simplecheckout, т.к. может всплыть в body */
.select2-container--bootstrap .select2-dropdown,
.select2-container--default .select2-dropdown,
.select2-container .select2-dropdown {
    border: 1px solid var(--rf-border, #e3e8e3);
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(15, 30, 18, .08), 0 24px 50px rgba(15, 30, 18, .12);
    overflow: hidden;
    background: #fff;
}

.select2-container .select2-dropdown--below {
    margin-top: 4px;
}

.select2-container .select2-dropdown--above {
    margin-top: -4px;
}

.select2-container .select2-search--dropdown {
    padding: 10px 10px 6px;
    background: var(--rf-surface, #f6f8f6);
    border-bottom: 1px solid var(--rf-border, #e3e8e3);
}

.select2-container .select2-search--dropdown .select2-search__field {
    height: 38px;
    padding: 0 12px;
    border: 1px solid var(--rf-neutral-300, #c8d0c8);
    border-radius: 8px;
    font-size: 14px;
    color: var(--rf-text, #1a1f1a);
    background: #fff;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    box-shadow: none;
}

.select2-container .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--rf-accent, #2d6a3e);
    box-shadow: 0 0 0 3px rgba(45, 106, 62, .15);
}

.select2-container .select2-results > .select2-results__options {
    max-height: 280px;
    padding: 6px;
}

.select2-container .select2-results__option {
    padding: 9px 12px;
    font-size: 14px;
    color: var(--rf-text, #1a1f1a);
    border-radius: 6px;
    margin: 1px 0;
    transition: background .12s, color .12s;
}

.select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container .select2-results__option--highlighted {
    background: var(--rf-accent-soft, #e8f3ec);
    color: var(--rf-accent-dark, #1f4a2c);
}

.select2-container--bootstrap .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container .select2-results__option--selected {
    background: var(--rf-accent, #2d6a3e) !important;
    color: #fff !important;
    font-weight: 600;
}

/* ===== АДАПТИВ ===== */
@media (max-width: 900px) {
    .simplecheckout-left-column,
    .simplecheckout-right-column {
        width: 100%;
        float: none;
        padding: 0;
    }
}

@media (max-width: 600px) {
    .simplecheckout .form-group {
        display: block;
    }

    .simplecheckout .control-label,
    .simplecheckout .form-group .col-sm-8 {
        width: 100%;
        padding: 0;
    }

    .simplecheckout .control-label {
        margin-bottom: 6px;
    }

    .simplecheckout table.simplecheckout-cart thead {
        display: none;
    }

    .simplecheckout table.simplecheckout-cart,
    .simplecheckout table.simplecheckout-cart tbody,
    .simplecheckout table.simplecheckout-cart tr,
    .simplecheckout table.simplecheckout-cart td {
        display: block;
        width: 100%;
    }

    .simplecheckout table.simplecheckout-cart tbody tr {
        border: 1px solid var(--rf-border);

        padding: 12px;

    }

    .simplecheckout #comment {
        border-radius: 0;
        border: 0;
    }

    .simplecheckout table.simplecheckout-cart {
        border: 0;
    }

    .simplecheckout table.simplecheckout-cart tbody td {
        border: 0;
        padding: 6px 0;
        text-align: left !important;
    }

    .simplecheckout table.simplecheckout-cart td.price::before {
        content: "Цена: ";
        color: var(--rf-text-muted);
    }

    .simplecheckout table.simplecheckout-cart td.total::before {
        content: "Итого: ";
        color: var(--rf-text-muted);
    }

    .simplecheckout .div.required > .control-label:before {
        content: unset;
    }

    .simplecheckout-cart-total {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        text-align: right;
        border-left: 0;
        border-bottom: 0;
        border-right: 0;
    }

    .simplecheckout-cart-total .inputs {
        flex-direction: column;
        align-items: stretch;
    }

    .simplecheckout-cart-total .inputs .form-control {
        width: 100%;
    }

    .simplecheckout-button-block {
        padding: 16px 0;
    }

    .simplecheckout-button-block .btn {
        width: 100%;
    }
}
