:root {
    --jfmx-red: #ff3b35;
    --jfmx-navy: #141b3d;
    --jfmx-border: #e4e7ec;
    --jfmx-surface: #f7f8fa;
}

.woocommerce-cart .cart_totals_inner,
.woocommerce-checkout .details-check,
.woocommerce-checkout .details-review {
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(20, 27, 61, .07);
}

.woocommerce-checkout .details-check,
.woocommerce-checkout .details-review {
    padding: 24px;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-cart .shipping-calculator-form input.input-text,
.woocommerce-cart .shipping-calculator-form select {
    min-height: 44px;
    border: 1px solid var(--jfmx-border) !important;
    border-radius: 7px !important;
    background: var(--jfmx-surface) !important;
    color: var(--jfmx-navy) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-cart .shipping-calculator-form input.input-text:focus,
.woocommerce-cart .shipping-calculator-form select:focus {
    border-color: var(--jfmx-red) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(255, 59, 53, .12) !important;
    outline: 0;
}

.woocommerce-checkout #order_review .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals tr.shipping {
    transition: opacity .18s ease;
}

.jfmx-shipping-updating #order_review .woocommerce-shipping-totals,
.cart_totals.jfmx-shipping-updating tr.shipping {
    opacity: .25;
    pointer-events: none;
}

.jfmx-shipping-updating #order_review,
.cart_totals.jfmx-shipping-updating .cart_totals_inner {
    cursor: progress;
}

.jfmx-shipping-needs-state .woocommerce-shipping-methods {
    display: none;
}

.jfmx-shipping-destination-message {
    display: block;
    padding: 11px 12px;
    border-left: 3px solid var(--jfmx-red);
    border-radius: 6px;
    background: #fff4f3;
    color: var(--jfmx-navy);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.woocommerce .jfmx-checkout-disabled,
.woocommerce #place_order:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
    pointer-events: none;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-cart .cart_totals h2 {
    color: var(--jfmx-navy);
    letter-spacing: .02em;
}

.woocommerce-checkout #order_review table,
.woocommerce-cart .cart_totals table {
    border-color: var(--jfmx-border) !important;
}

@media (max-width: 767px) {
    .woocommerce-checkout .details-check,
    .woocommerce-checkout .details-review {
        padding: 18px;
    }
}
