/* =========================================================
   CHECKOUT LAYOUT
========================================================= */

/* Минималистичный checkout */

.woocommerce-checkout header#masthead,
.woocommerce-checkout footer#colophon {
    display: none;
}

/* Убрать город */

#billing_city_field {
    display: none !important;
}

/* Скрыть примечания */

.woocommerce-additional-fields {
    display: none;
}

/* Белые поля */

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    background: #fff;
    border-radius: 10px;
}

#order_comments {
    border-radius: 10px;
}

/* Mobile zoom fix */

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    font-size: 16px !important;
}


/* =========================================================
   BILLING BLOCK
========================================================= */

.woocommerce-billing-fields {
    background: #fff;
    padding: 30px;
    border-radius: 10px;
}


/* =========================================================
   ORDER REVIEW BLOCK
========================================================= */

#order_review_heading {

    background: #fff;

    border-radius: 10px 10px 0 0;

    margin-bottom: 0;

    padding: 30px 30px 0 30px;

    border: 1px solid #fff;
}

.woocommerce-checkout-review-order {

    background: #fff;

    border-radius: 0 0 10px 10px;

    padding: 0 30px 30px 30px;

    border: 1px solid #fff;
}

/* Тень */

.woocommerce-billing-fields,
#order_review_heading,
.woocommerce-checkout-review-order {
    box-shadow: 0 8px 12px -10px rgba(0,0,0,.8);
}


/* =========================================================
   ORDER TABLE
========================================================= */

.shop_table.woocommerce-checkout-review-order-table th,
.shop_table.woocommerce-checkout-review-order-table td {
    font-size: 13px;
}

/* Фото товара */

.woocommerce-checkout-review-order-table .product-name img {

    width: 56px;
    height: 56px;

    margin-right: 14px;
}

/* Итого */

tr.order-total th,
tr.order-total td,
tr.order-total .amount {

    font-size: 16px !important;
    font-weight: 700 !important;
}


/* =========================================================
   REGION SELECT
========================================================= */

#billing_region {

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    height: 45px;
    min-height: 47px;

    font-size: 16px !important;

    font-weight: 400 !important;

    padding-right: 48px !important;
}

#billing_region_field .woocommerce-input-wrapper {
    position: relative;
}

#billing_region_field .woocommerce-input-wrapper::after {

    content: "";

    position: absolute;

    right: 23px;
    top: 50%;

    width: 8px;
    height: 8px;

    border-right: 3px solid #000;
    border-bottom: 3px solid #000;

    transform: translateY(-70%) rotate(45deg);

    pointer-events: none;
}


/* =========================================================
   SHIPPING
========================================================= */

/* Цвет названий тарифов */

#shipping_method label {
    color: #008A00;
    font-weight: 600;
}
#shipping_method li .shipping-method-description {
    margin-top: -10px !important;
}

/* Заголовок */

.woocommerce-shipping-totals th {
    font-size: 0 !important;
}

.woocommerce-shipping-totals th::before {

    content: "Способ доставки";

    font-size: 16px;
    font-weight: 700;
    color: #000;
}

/* Радио */

.woocommerce-shipping-methods input[type="radio"] {
    accent-color: #008A00 !important;
}

/* Таблица */

tr.woocommerce-shipping-totals td {
    width: 50% !important;
}

.woocommerce-shipping-totals td {
    text-align: left !important;
}

/* Карточка */

#shipping_method li {

    width: 220px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 14px !important;

    padding: 15px 18px 0 38px !important;

    border: 1px solid #2a2a2a !important;
    border-radius: 15px !important;

    text-align: left !important;

    position: relative !important;

    transition: all .2s ease;
}

/* Выбранный */

#shipping_method li:has(input[type="radio"]:checked) {
    background: #f3f3f3 !important;
}

/* Радио */

#shipping_method li input[type="radio"] {

    position: absolute !important;

    left: 10px !important;
    top: 24px !important;

    margin: 0 !important;
}

/* Название */

#shipping_method li label {

    display: block !important;

    padding-left: 20px !important;

    margin: 0 !important;

    text-align: left !important;
}

/* Description */

#shipping_method li .shipping-method-description {

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    margin-left: 20px !important;

    padding-left: 0 !important;

    text-align: left !important;

    line-height: 1.5 !important;
}

#shipping_method li .shipping-method-description br {
    display: none !important;
}

/* Кликабельность */

#shipping_method li label::after {

    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    cursor: pointer !important;
}

/* IOS */

#shipping_method li,
#shipping_method li label {
    -webkit-tap-highlight-color: transparent !important;
}


/* =========================================================
   PAYMENT
========================================================= */

/* Заголовок */

#payment {

    position: relative;

    padding-top: 45px;
}

#payment::before {

    content: "Способ оплаты";

    position: absolute;

    top: 0;
    left: 0;

    font-size: 16px;
    font-weight: 700;
}

/* Карточки */

.wc_payment_methods .wc_payment_method {

    min-height: 48px !important;

    display: flex !important;
    align-items: center !important;

    padding: 0 18px !important;

    border-radius: 15px !important;

    transition: all .2s ease;
}

/* Выбранный */

.wc_payment_methods .wc_payment_method:has(input[type="radio"]:checked) {

    background: #f3f3f3 !important;

    border: 1px solid #2a2a2a !important;
}

/* Не выбранный */

.wc_payment_methods .wc_payment_method:not(:has(input[type="radio"]:checked)) {
    border: 1px solid transparent !important;
}

/* Радио */

.wc_payment_methods input[type="radio"] {
    accent-color: #008A00 !important;
}

/* Label */

.wc_payment_methods .wc_payment_method label {

    display: flex !important;
    align-items: center !important;

    width: 100% !important;

    min-height: 48px !important;

    margin: 0 !important;

    cursor: pointer !important;
}

/* IOS */

.wc_payment_methods .wc_payment_method,
.wc_payment_methods .wc_payment_method label {
    -webkit-tap-highlight-color: transparent !important;
}


/* =========================================================
   PAYME
========================================================= */

label[for="payment_method_payme"] {
    font-size: 0;
    position: relative;
    left: -2px;
}

label[for="payment_method_payme"] img {
    width: 65px;
    height: auto;
}

.payment_box.payment_method_payme {
    display: none !important;
}


/* =========================================================
   CLICK
========================================================= */

.payment_method_clickuz label {
    font-size: 0 !important;
}

.payment_method_clickuz label img {
    width: 65px !important;
}

label[for="payment_method_clickuz"] img {
    width: 95px;
    height: auto;
}

.payment_method_clickuz .payment_box {
    display: none !important;
}


/* =========================================================
   PLACE ORDER
========================================================= */

#place_order {

    background: #008A00;

    height: 45px;

    border-radius: 10px;

    font-size: 0 !important;
}

#place_order::after {

    content: "Заказать";

    font-size: 16px;
    font-weight: 700;
}

/* Privacy */

.woocommerce-privacy-policy-text {

    margin-top: 30px !important;

    padding-left: 12px !important;

    font-size: 9px;

    line-height: 1.5;
}

.woocommerce-privacy-policy-text a {
    color: #1e3a5f;
}

/* Payment hint */

.payment_box p {

    font-size: 10px;

    color: #5c5c5c;
}
/* =========================================================
   CHECKOUT — SHIPPING & PAYMENT SELECTION
========================================================= */

/* ==========================================
   SHIPPING METHODS
========================================== */

#shipping_method li {
    transition: border-color .2s ease !important;
}

#shipping_method li:has(input.shipping_method:checked) {
    border: var(--checkout-border-width)
            solid
            var(--checkout-border-color) !important;
}


/* ==========================================
   SHIPPING RADIO
========================================== */

#shipping_method input.shipping_method {

    appearance: none;
    -webkit-appearance: none;

    width: var(--checkout-radio-size);
    height: var(--checkout-radio-size);

    border-radius: 50%;

    border: var(--checkout-radio-fill) solid #666;

    background: #fff;
}

#shipping_method input.shipping_method:checked {

    border-color: var(--checkout-radio-color);

    background: #fff;

    box-shadow:
        inset 0 0 0 var(--checkout-radio-dot-size)
        var(--checkout-radio-color);
}


/* ==========================================
   PAYMENT BORDER
========================================== */

.wc_payment_methods .wc_payment_method {
    border: var(--checkout-border-width) solid transparent !important;
    transition: border-color .2s ease !important;
}

.wc_payment_methods .wc_payment_method:has(input.input-radio:checked) {
    border-color: var(--checkout-border-color) !important;
}


/* ==========================================
   PAYMENT RADIO
========================================== */

.wc_payment_methods input.input-radio {

    appearance: none;
    -webkit-appearance: none;

    width: var(--checkout-radio-size);
    height: var(--checkout-radio-size);

    border-radius: 50%;

    border: var(--checkout-radio-fill) solid #666;

    background: #fff;
}

.wc_payment_methods input.input-radio:checked {

    border-color: var(--checkout-radio-color);

    background: #fff;

    box-shadow:
        inset 0 0 0 var(--checkout-radio-dot-size)
        var(--checkout-radio-color);
}


/* ==========================================
   REGULATORS
========================================== */

:root {

    /* Размер кружков */
    --checkout-radio-size: 15px;

    /* Толщина внешнего кольца */
    --checkout-radio-fill: 2px;

    /* Размер зелёной точки */
    --checkout-radio-dot-size: 3px;

    /* Цвет выбора */
    --checkout-radio-color: #198f2d;

    /* Толщина рамки карточек */
    --checkout-border-width: 1px;

    /* Цвет рамки карточек */
    --checkout-border-color: #7bc487;
}