/* Keep checkout progress visible on a neutral surface; WoodMart's
         * light color scheme otherwise paints a bright blue title band. */
        body.woocommerce-cart .wd-page-title,
        body.woocommerce-checkout .wd-page-title {
            background: #f4f6f2 !important;
            color: #244c3d !important;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps,
        body.woocommerce-cart .wd-page-title .wd-checkout-steps a,
        body.woocommerce-cart .wd-page-title .wd-checkout-steps span,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps a,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps span {
            color: #244c3d !important;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps .step-inactive,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps .step-inactive {
            color: #718178 !important;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps .step-active,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps .step-active {
            color: #173f34 !important;
        }

        /* Remove demo-only checkout furniture and keep the form focused. */
        body.woocommerce-checkout .woocommerce-form-coupon-toggle,
        body.woocommerce-checkout #ship-to-different-address,
        body.woocommerce-checkout #billing_country_field,
        body.woocommerce-checkout #billing_address_1_field,
        body.woocommerce-checkout .elementor-element-12f9097 {
            display: none !important;
        }

        body.woocommerce-checkout.matras-kyiv-delivery-selected #billing_address_1_field {
            display: block !important;
        }

        /* This imported cart column contains the unused English FAQ/demo copy. */
        body.woocommerce-cart .elementor-element-49d0e5d {
            display: none !important;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table {
            margin-top: 0;
        }

        body.woocommerce-checkout .matras-shipping-choice {
            margin: 24px 0 18px;
            padding: 18px;
            border: 1px solid #d6e6da;
            border-radius: 14px;
            background: #f7fbf8;
        }

        body.woocommerce-checkout .matras-shipping-choice-title {
            margin: 0 0 12px;
            color: #244c3d;
            font-size: 20px;
            font-weight: 700;
        }

        body.woocommerce-checkout .matras-shipping-choice-list {
            display: grid;
            gap: 10px;
        }

        body.woocommerce-checkout .matras-shipping-choice-option {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            width: 100%;
            padding: 12px 14px;
            border: 1px solid #c8ddd0;
            border-radius: 10px;
            background: #fff;
            color: #244c3d;
            text-align: start;
            text-transform: none;
            font-size: 15px;
            line-height: 1.35;
        }

        body.woocommerce-checkout .matras-shipping-choice-option:hover,
        body.woocommerce-checkout .matras-shipping-choice-option.is-selected {
            border-color: #1f6a51;
            background: #eaf5ed;
            color: #143e30;
        }

        body.woocommerce-checkout .matras-shipping-choice-option-detail {
            margin-top: 2px;
            color: #60766b;
            font-size: 13px;
            font-weight: 400;
        }

        body.woocommerce-checkout .matras-shipping-choice-hint {
            margin: 12px 0 0;
            color: #60766b;
            font-size: 13px;
            line-height: 1.45;
        }

        /*
         * Cart and checkout are a single purchase flow. These tokens are
         * deliberately scoped to the two WooCommerce pages so they never
         * interfere with the catalogue, product cards, or Elementor content.
         */
        body.woocommerce-cart,
        body.woocommerce-checkout {
            --matras-flow-ink: #173f34;
            --matras-flow-muted: #66776f;
            --matras-flow-line: #dce7df;
            --matras-flow-ground: #f5f7f4;
            --matras-flow-surface: #ffffff;
            --matras-flow-soft: #edf4ef;
            --matras-flow-accent: #21654f;
            --matras-flow-accent-strong: #174f3e;
            --matras-flow-radius: 16px;
            --matras-flow-shadow: 0 10px 28px rgba(23, 63, 52, .07);
        }

        body.woocommerce-cart .content-layout-wrapper,
        body.woocommerce-checkout .content-layout-wrapper {
            color: var(--matras-flow-ink);
        }

        /* Compact, quiet checkout progress instead of a promotional banner. */
        body.woocommerce-cart .wd-page-title,
        body.woocommerce-checkout .wd-page-title {
            min-height: 0;
            padding: 26px 0;
            border-top: 1px solid #ebf0ec;
            border-bottom: 1px solid #e1e9e3;
            background: var(--matras-flow-ground) !important;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0;
            margin: 0;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li {
            display: flex;
            align-items: center;
            color: var(--matras-flow-muted);
            font-size: 14px;
            font-weight: 600;
            letter-spacing: .01em;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li::before,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li::before {
            display: inline-grid;
            place-items: center;
            width: 26px;
            height: 26px;
            margin-right: 9px;
            border: 1px solid #b7c9bd;
            border-radius: 50%;
            color: var(--matras-flow-muted);
            background: #fff;
            font-size: 12px;
            font-weight: 700;
            line-height: 1;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li:nth-child(1)::before,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:nth-child(1)::before {
            content: '1';
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li:nth-child(2)::before,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:nth-child(2)::before {
            content: '2';
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li:nth-child(3)::before,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:nth-child(3)::before {
            content: '3';
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps li:not(:last-child)::after,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:not(:last-child)::after {
            content: '';
            width: 34px;
            height: 1px;
            margin: 0 16px;
            background: #bfd0c4;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps .step-active,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps .step-active {
            color: var(--matras-flow-accent-strong) !important;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps .step-active::before,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps .step-active::before {
            border-color: var(--matras-flow-accent);
            color: #fff;
            background: var(--matras-flow-accent);
            box-shadow: 0 0 0 4px rgba(33, 101, 79, .10);
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps a,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps a {
            color: inherit !important;
            text-decoration: none;
        }

        body.woocommerce-cart .wd-page-title .wd-checkout-steps a:focus-visible,
        body.woocommerce-checkout .wd-page-title .wd-checkout-steps a:focus-visible,
        body.woocommerce-cart .woocommerce a:focus-visible,
        body.woocommerce-checkout .woocommerce a:focus-visible,
        body.woocommerce-cart .woocommerce button:focus-visible,
        body.woocommerce-checkout .woocommerce button:focus-visible,
        body.woocommerce-checkout .woocommerce input:focus-visible,
        body.woocommerce-checkout .woocommerce textarea:focus-visible {
            outline: 3px solid rgba(33, 101, 79, .32);
            outline-offset: 3px;
        }

        /* Cart: product list and total stay visually distinct on desktop. */
        body.woocommerce-cart .elementor-element-6c3a904 > .e-con-inner {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
            gap: 32px;
            align-items: start;
        }

        body.woocommerce-cart .elementor-element-5b0a6ef,
        body.woocommerce-cart .elementor-element-51504b5 {
            width: auto !important;
            min-width: 0;
        }

        body.woocommerce-cart .elementor-element-51504b5 {
            position: sticky;
            top: 112px;
            padding: 22px;
            border: 1px solid var(--matras-flow-line);
            border-radius: var(--matras-flow-radius);
            background: var(--matras-flow-surface);
            box-shadow: var(--matras-flow-shadow);
        }

        body.woocommerce-cart .elementor-element-51504b5 > .e-con-inner {
            gap: 0;
        }

        body.woocommerce-cart .elementor-element-9da5c9f {
            margin-bottom: 6px;
        }

        body.woocommerce-cart .elementor-element-9da5c9f .title {
            margin: 0;
            color: var(--matras-flow-ink);
            font-size: 22px;
            font-weight: 700;
            letter-spacing: -.02em;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents {
            overflow: hidden;
            margin: 0;
            border: 1px solid var(--matras-flow-line);
            border-radius: var(--matras-flow-radius);
            background: var(--matras-flow-surface);
            box-shadow: var(--matras-flow-shadow);
        }

        body.woocommerce-cart .woocommerce-cart-form__contents thead th {
            padding: 18px 14px;
            border-bottom: 1px solid var(--matras-flow-line);
            color: var(--matras-flow-muted);
            background: #fbfcfb;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .cart_item > td {
            padding-top: 20px;
            padding-bottom: 20px;
            vertical-align: middle;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail img {
            width: 88px;
            height: 88px;
            border: 1px solid #edf1ee;
            border-radius: 12px;
            object-fit: contain;
            background: #fff;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-name a {
            color: var(--matras-flow-ink);
            font-weight: 650;
            line-height: 1.4;
            text-decoration: none;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-price,
        body.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
            color: var(--matras-flow-ink);
            font-variant-numeric: tabular-nums;
            font-weight: 650;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
            font-size: 16px;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-remove .remove {
            display: inline-grid;
            place-items: center;
            width: 32px;
            height: 32px;
            border: 1px solid #e4ece6;
            border-radius: 50%;
            color: #7d5b53 !important;
            background: #fff;
            font-size: 21px;
            line-height: 1;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .product-remove .remove:hover {
            border-color: #edc9bf;
            color: #a5432f !important;
            background: #fff7f4;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .quantity {
            display: inline-flex;
            min-height: 42px;
            overflow: hidden;
            border: 1px solid #d7e3da;
            border-radius: 10px;
            background: #fff;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .quantity .btn,
        body.woocommerce-cart .woocommerce-cart-form__contents .quantity .qty {
            width: 38px;
            min-height: 40px;
            margin: 0;
            border: 0;
            color: var(--matras-flow-ink);
            background: transparent;
            font-size: 15px;
            text-align: center;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .quantity .btn {
            cursor: pointer;
            touch-action: manipulation;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .quantity .btn:hover {
            background: var(--matras-flow-soft);
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .wd-cart-action-row td {
            padding: 16px 18px;
            border-top: 1px solid var(--matras-flow-line);
            background: #fbfcfb;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .coupon {
            display: flex;
            align-items: center;
            gap: 8px;
            max-width: 420px;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .coupon .input-text {
            min-height: 44px;
            border: 1px solid #d7e3da;
            border-radius: 9px;
            background: #fff;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .coupon .button,
        body.woocommerce-cart .cart_totals .checkout-button,
        body.woocommerce-checkout #place_order {
            min-height: 48px;
            border: 1px solid var(--matras-flow-accent) !important;
            border-radius: 9px;
            color: #fff !important;
            background: var(--matras-flow-accent) !important;
            box-shadow: none;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0;
            text-transform: none;
            transition: background .18s ease, border-color .18s ease, transform .18s ease;
        }

        body.woocommerce-cart .woocommerce-cart-form__contents .coupon .button:hover,
        body.woocommerce-cart .cart_totals .checkout-button:hover,
        body.woocommerce-checkout #place_order:hover {
            border-color: var(--matras-flow-accent-strong) !important;
            background: var(--matras-flow-accent-strong) !important;
            transform: translateY(-1px);
        }

        body.woocommerce-cart .cart_totals {
            margin: 0;
        }

        body.woocommerce-cart .cart_totals table {
            margin: 0;
        }

        body.woocommerce-cart .cart_totals th,
        body.woocommerce-cart .cart_totals td {
            padding: 15px 0;
            border-color: var(--matras-flow-line);
            color: var(--matras-flow-ink);
            font-size: 14px;
        }

        body.woocommerce-cart .cart_totals th {
            font-weight: 600;
        }

        body.woocommerce-cart .cart_totals td {
            text-align: right;
            font-variant-numeric: tabular-nums;
        }

        body.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
            display: grid;
            gap: 8px;
            margin: 0;
            text-align: left;
        }

        body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
            display: flex;
            align-items: flex-start;
            gap: 7px;
            line-height: 1.4;
        }

        body.woocommerce-cart .cart_totals .woocommerce-shipping-methods input {
            width: 16px;
            height: 16px;
            margin: 2px 0 0;
            accent-color: var(--matras-flow-accent);
        }

        body.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
            color: var(--matras-flow-ink);
            font-size: 13px;
            text-align: left;
        }

        body.woocommerce-cart .cart_totals .order-total th,
        body.woocommerce-cart .cart_totals .order-total td {
            padding-top: 20px;
            color: var(--matras-flow-accent-strong);
            font-size: 17px;
            font-weight: 750;
        }

        body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
            padding: 8px 0 0;
        }

        body.woocommerce-cart .cart_totals .checkout-button {
            width: 100%;
            margin: 0;
            text-align: center;
        }

        /* A cart is a decision page, so gallery-style cross-sells and demo FAQ
         * are removed from this route. Relevant accessories stay on products. */
        body.woocommerce-cart .elementor-element-05bea09,
        body.woocommerce-cart .elementor-element-aba5dce,
        body.woocommerce-cart .elementor-element-5eb81b7 {
            display: none !important;
        }

        /* Checkout: readable form cards and one quiet, sticky order summary. */
        body.woocommerce-checkout .elementor-element-f9211dc > .e-con-inner {
            display: grid !important;
            grid-template-columns: minmax(0, 1.24fr) minmax(320px, .76fr);
            gap: 32px;
            align-items: start;
        }

        body.woocommerce-checkout .elementor-element-5b69235,
        body.woocommerce-checkout .elementor-element-bf9235e {
            width: auto !important;
            min-width: 0;
        }

        body.woocommerce-checkout .elementor-element-9d6f1a7,
        body.woocommerce-checkout .elementor-element-695ea74 {
            padding: 28px !important;
            border: 1px solid var(--matras-flow-line);
            border-radius: var(--matras-flow-radius) !important;
            background: var(--matras-flow-surface) !important;
            box-shadow: var(--matras-flow-shadow);
        }

        /* City and branch suggestion lists extend below their inputs. Keep
         * the contact-details card open so every suggestion stays visible
         * and can be tapped. */
        body.woocommerce-checkout .elementor-element-9d6f1a7 {
            overflow: visible;
        }

        body.woocommerce-checkout .elementor-element-695ea74 {
            margin-top: 20px;
            overflow: hidden;
        }

        body.woocommerce-checkout .elementor-element-9d6f1a7 .title::before,
        body.woocommerce-checkout .elementor-element-695ea74 .title::before {
            display: block;
            margin-bottom: 6px;
            color: var(--matras-flow-accent);
            font-size: 11px;
            font-weight: 750;
            letter-spacing: .11em;
            text-transform: uppercase;
        }

        body.woocommerce-checkout .elementor-element-9d6f1a7 .title::before {
            content: 'Крок 1';
        }

        body.woocommerce-checkout .elementor-element-695ea74 .title::before {
            content: 'Крок 3';
        }

        body.woocommerce-checkout .elementor-element-9d6f1a7 .title,
        body.woocommerce-checkout .elementor-element-695ea74 .title,
        body.woocommerce-checkout .elementor-element-f57a155 .title {
            margin: 0;
            color: var(--matras-flow-ink);
            font-size: 22px;
            font-weight: 700;
            letter-spacing: -.02em;
        }

        body.woocommerce-checkout .woocommerce-billing-fields > h3 {
            display: none;
        }

        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: 16px;
            row-gap: 2px;
        }

        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide {
            grid-column: 1 / -1;
        }

        /* WoodMart gives all checkout rows a spanning grid rule. Restore a
           compact two-column contact block on desktop while mobile keeps the
           single-column rule below. */
        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name_field,
        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,
        body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field {
            float: none !important;
            width: auto !important;
            grid-column: auto / span 1 !important;
        }

        body.woocommerce-checkout .woocommerce form .form-row {
            margin: 0 0 15px;
        }

        body.woocommerce-checkout .woocommerce form .form-row label {
            display: flex;
            gap: 3px;
            margin-bottom: 7px;
            color: var(--matras-flow-ink);
            font-size: 13px;
            font-weight: 650;
        }

        body.woocommerce-checkout .woocommerce form .form-row .required {
            color: #b94835;
        }

        body.woocommerce-checkout .woocommerce form .input-text,
        body.woocommerce-checkout .woocommerce form textarea,
        body.woocommerce-checkout .zen-ui-select__value {
            min-height: 48px;
            border: 1px solid #d2dfd6 !important;
            border-radius: 9px !important;
            color: var(--matras-flow-ink);
            background: #fff !important;
            box-shadow: none !important;
            font-size: 16px;
            line-height: 1.35;
        }

        body.woocommerce-checkout .woocommerce form textarea {
            min-height: 128px;
            padding-top: 13px;
            resize: vertical;
        }

        body.woocommerce-checkout .woocommerce form .input-text::placeholder,
        body.woocommerce-checkout .woocommerce form textarea::placeholder {
            color: #8b9890;
            opacity: 1;
        }

        body.woocommerce-checkout .woocommerce form .input-text:focus,
        body.woocommerce-checkout .woocommerce form textarea:focus,
        body.woocommerce-checkout .zen-ui-select:focus-within .zen-ui-select__value {
            border-color: var(--matras-flow-accent) !important;
            box-shadow: 0 0 0 3px rgba(33, 101, 79, .12) !important;
        }

        body.woocommerce-checkout .matras-shipping-choice {
            margin: 10px 0 22px;
            padding: 20px;
            border: 1px solid #d5e5da;
            border-radius: 14px;
            background: #f8fbf8;
        }

        body.woocommerce-checkout .matras-shipping-choice-title {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 14px;
            color: var(--matras-flow-ink);
            font-size: 17px;
            font-weight: 700;
        }

        body.woocommerce-checkout .matras-shipping-choice-title::before {
            content: 'Крок 2';
            padding: 4px 7px;
            border-radius: 999px;
            color: var(--matras-flow-accent);
            background: #e2efe6;
            font-size: 10px;
            font-weight: 750;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        body.woocommerce-checkout .matras-shipping-choice-list {
            grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
            gap: 10px;
        }

        body.woocommerce-checkout .matras-shipping-choice-option {
            position: relative;
            min-height: 92px;
            padding: 14px !important;
            border: 1px solid #cfddd4;
            border-radius: 11px;
            color: var(--matras-flow-ink) !important;
            background: #fff !important;
            font-size: 14px;
            font-weight: 650;
            text-align: left;
            cursor: pointer;
            touch-action: manipulation;
            transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
        }

        body.woocommerce-checkout .matras-shipping-choice-option:hover {
            border-color: #78a893;
            background: #fcfefd !important;
            transform: translateY(-1px);
        }

        body.woocommerce-checkout .matras-shipping-choice-option.is-selected {
            border-color: var(--matras-flow-accent);
            background: #edf7f0 !important;
            box-shadow: inset 0 0 0 1px var(--matras-flow-accent);
        }

        body.woocommerce-checkout .matras-shipping-choice-option-main {
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }

        body.woocommerce-checkout .matras-shipping-choice-icon {
            display: inline-grid;
            flex: 0 0 auto;
            place-items: center;
            width: 30px;
            height: 30px;
            border-radius: 8px;
            color: var(--matras-flow-accent);
            background: #e4f0e8;
        }

        body.woocommerce-checkout .matras-shipping-choice-icon svg {
            width: 17px;
            height: 17px;
            stroke: currentColor;
            stroke-width: 1.8;
            fill: none;
        }

        body.woocommerce-checkout .matras-shipping-choice-option-detail {
            display: block;
            margin: 8px 0 0 40px;
            color: var(--matras-flow-muted) !important;
            font-size: 12px;
            font-weight: 500;
            line-height: 1.35;
        }

        body.woocommerce-checkout .matras-shipping-choice-hint {
            margin: 13px 0 0;
            color: var(--matras-flow-muted);
            font-size: 12px;
            line-height: 1.5;
        }

        body.woocommerce-checkout .matras-kyiv-address-slot #billing_address_1_field {
            margin: 14px 0 0;
        }

        body.woocommerce-checkout #wcus-billing-fields {
            margin-top: 4px;
        }

        /* Nova Poshta selectors belong only to the Nova Poshta route. Keeping
           them out of the form for pickup and courier delivery prevents a
           customer from seeing an irrelevant second address form. */
        body.woocommerce-checkout.matras-delivery-non-nova #wcus-billing-fields {
            display: none !important;
        }

        body.woocommerce-checkout #wcus-billing-fields h3 {
            margin: 0 0 14px;
            color: var(--matras-flow-ink);
            font-size: 17px;
            font-weight: 700;
        }

        body.woocommerce-checkout #wcus-billing-fields .zen-ui-select {
            margin-bottom: 12px;
        }

        body.woocommerce-checkout .elementor-element-bf9235e {
            position: sticky;
            top: 112px;
        }

        body.woocommerce-checkout .elementor-element-f57a155 {
            padding: 24px !important;
            border: 1px solid var(--matras-flow-line);
            border-radius: var(--matras-flow-radius) !important;
            background: var(--matras-flow-surface) !important;
            box-shadow: var(--matras-flow-shadow);
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table {
            margin: 16px 0 0;
        }

        /* Delivery is selected once in the dedicated Step 2 cards. The native
           table row repeats the same radio controls in the order summary. */
        body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals {
            display: none !important;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
        body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
            padding: 13px 0;
            border-color: var(--matras-flow-line);
            color: var(--matras-flow-ink);
            font-size: 13px;
            vertical-align: top;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
            color: var(--matras-flow-muted);
            font-size: 10px;
            font-weight: 750;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
            font-weight: 600;
            line-height: 1.45;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
        body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
            font-variant-numeric: tabular-nums;
            font-weight: 700;
            text-align: right;
        }

        body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
        body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
            padding-top: 18px;
            color: var(--matras-flow-accent-strong);
            font-size: 16px;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid var(--matras-flow-line);
            background: transparent;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
            margin: 0;
            padding: 0;
            border: 0;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment li.wc_payment_method {
            padding: 14px;
            border: 1px solid #d5e2d9;
            border-radius: 11px;
            background: #fbfdfb;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment input[type='radio'] {
            width: 16px;
            height: 16px;
            accent-color: var(--matras-flow-accent);
        }

        body.woocommerce-checkout .woocommerce-checkout-payment label {
            color: var(--matras-flow-ink);
            font-size: 15px;
            font-weight: 700;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment .payment_box {
            margin: 12px 0 0;
            padding: 0;
            color: var(--matras-flow-muted);
            background: transparent !important;
            font-size: 13px;
            line-height: 1.5;
        }

        body.woocommerce-checkout .woocommerce-checkout-payment .payment_box::before {
            display: none;
        }

        body.woocommerce-checkout .woocommerce-privacy-policy-text {
            margin: 16px 0;
            color: var(--matras-flow-muted);
            font-size: 12px;
            line-height: 1.5;
        }

        body.woocommerce-checkout .woocommerce-privacy-policy-text a {
            color: var(--matras-flow-accent-strong);
            font-weight: 600;
        }

        body.woocommerce-checkout #place_order {
            width: 100%;
            margin: 2px 0 0;
        }

        @media (max-width: 1024px) {
            body.woocommerce-cart .elementor-element-6c3a904 > .e-con-inner,
            body.woocommerce-checkout .elementor-element-f9211dc > .e-con-inner {
                gap: 22px;
            }

            body.woocommerce-cart .elementor-element-6c3a904 > .e-con-inner {
                grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
            }

            body.woocommerce-checkout .elementor-element-f9211dc > .e-con-inner {
                grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
            }
        }

        @media (max-width: 767px) {
            body.woocommerce-cart .wd-page-title,
            body.woocommerce-checkout .wd-page-title {
                padding: 20px 0;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps {
                justify-content: flex-start;
                overflow-x: auto;
                padding: 0 16px;
                scrollbar-width: none;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps::-webkit-scrollbar,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps::-webkit-scrollbar {
                display: none;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps li,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps li {
                flex: 0 0 auto;
                width: auto !important;
                font-size: 12px;
                white-space: nowrap;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps li::before,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps li::before {
                width: 23px;
                height: 23px;
                margin-right: 6px;
                font-size: 11px;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps li:not(:last-child)::after,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:not(:last-child)::after {
                width: 16px;
                margin: 0 9px;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps li:nth-child(3),
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:nth-child(3) {
                display: none;
            }

            body.woocommerce-cart .wd-page-title .wd-checkout-steps li:nth-child(2)::after,
            body.woocommerce-checkout .wd-page-title .wd-checkout-steps li:nth-child(2)::after {
                display: none;
            }

            body.woocommerce-cart .elementor-element-6c3a904 > .e-con-inner,
            body.woocommerce-checkout .elementor-element-f9211dc > .e-con-inner {
                display: flex !important;
                flex-direction: column;
                gap: 16px;
            }

            body.woocommerce-cart .elementor-element-51504b5,
            body.woocommerce-checkout .elementor-element-bf9235e {
                position: static;
                width: 100% !important;
            }

            body.woocommerce-cart .elementor-element-51504b5 {
                padding: 18px;
                border-radius: 14px;
            }

            body.woocommerce-cart .elementor-element-9da5c9f .title {
                font-size: 19px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents {
                border-radius: 14px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents thead {
                display: none;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .cart_item {
                position: relative;
                display: grid !important;
                grid-template-columns: 88px minmax(0, 1fr);
                column-gap: 12px;
                padding: 18px 16px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .cart_item > td {
                display: block !important;
                width: auto !important;
                min-width: 0;
                padding: 0 !important;
                border: 0 !important;
                text-align: left !important;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail {
                grid-row: 1 / span 4;
                grid-column: 1;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-thumbnail img {
                width: 88px;
                height: 88px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-remove {
                position: absolute;
                top: 12px;
                right: 12px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-remove .remove {
                width: 28px;
                height: 28px;
                font-size: 19px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-name {
                grid-column: 2;
                padding-right: 34px !important;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-name a {
                display: block;
                font-size: 14px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-price,
            body.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
                grid-column: 2;
                margin-top: 7px;
                color: var(--matras-flow-muted);
                font-size: 13px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-subtotal {
                color: var(--matras-flow-accent-strong);
                font-size: 15px;
                font-weight: 750;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .product-quantity {
                grid-column: 2;
                margin-top: 10px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .wd-cart-action-row {
                display: block !important;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .wd-cart-action-row td {
                display: block !important;
                padding: 14px 16px;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .coupon {
                display: grid;
                grid-template-columns: 1fr;
                max-width: none;
            }

            body.woocommerce-cart .woocommerce-cart-form__contents .coupon .button {
                width: 100%;
            }

            body.woocommerce-checkout .elementor-element-9d6f1a7,
            body.woocommerce-checkout .elementor-element-695ea74,
            body.woocommerce-checkout .elementor-element-f57a155 {
                padding: 19px !important;
                border-radius: 14px !important;
            }

            body.woocommerce-checkout .elementor-element-9d6f1a7 .title,
            body.woocommerce-checkout .elementor-element-695ea74 .title,
            body.woocommerce-checkout .elementor-element-f57a155 .title {
                font-size: 19px;
            }

            body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
                display: block !important;
            }

            body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
            body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
            body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
            body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide {
                float: none !important;
                width: 100% !important;
                clear: both;
            }

            body.woocommerce-checkout .matras-shipping-choice {
                margin-top: 5px;
                padding: 15px;
                border-radius: 12px;
            }

            body.woocommerce-checkout .matras-shipping-choice-list {
                grid-template-columns: 1fr;
            }

            body.woocommerce-checkout .matras-shipping-choice-option {
                min-height: 76px;
            }

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

        @media (prefers-reduced-motion: reduce) {
            body.woocommerce-cart .woocommerce-cart-form__contents .coupon .button,
            body.woocommerce-cart .cart_totals .checkout-button,
            body.woocommerce-checkout #place_order,
            body.woocommerce-checkout .matras-shipping-choice-option {
                transition: none;
            }
        }

        /*
         * Public Nova Poshta directory picker. The active shipping plugin
         * keeps its hidden data fields for validation and order meta, while
         * the visible selector below gives customers a reliable city, branch
         * and parcel-locker search without a private merchant API key.
         */
        body.woocommerce-checkout #wcus-billing-fields.matras-np-legacy-fields-hidden {
            margin: 0 !important;
        }

        body.woocommerce-checkout #wcus-billing-fields.matras-np-legacy-fields-hidden .wcus-checkout-np-fields {
            display: none !important;
        }

        body.woocommerce-checkout .matras-np-public-picker {
            margin: 0 0 22px;
            padding: 20px;
            border: 1px solid #d8e4dc;
            border-radius: 14px;
            color: #1d352b;
            background: #ffffff;
            box-shadow: 0 10px 28px rgba(26, 63, 47, .05);
            position: relative;
            z-index: 3;
        }

        body.woocommerce-checkout .matras-np-public-picker[hidden] {
            display: none !important;
        }

        body.woocommerce-checkout.matras-delivery-non-nova .matras-np-public-picker {
            display: none !important;
        }

        body.woocommerce-checkout .matras-np-public-heading h3 {
            margin: 0;
            color: #1e4e3a;
            font-size: 17px;
            font-weight: 750;
            line-height: 1.25;
        }

        body.woocommerce-checkout .matras-np-public-heading p {
            margin: 5px 0 0;
            color: #65776d;
            font-size: 13px;
            line-height: 1.45;
        }

        body.woocommerce-checkout .matras-np-public-mode {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
            margin: 16px 0;
        }

        body.woocommerce-checkout .matras-np-public-mode button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 9px 12px;
            border: 1px solid #cbdad0;
            border-radius: 9px;
            color: #244c3d;
            background: #ffffff;
            font-size: 13px;
            font-weight: 700;
            line-height: 1.2;
            cursor: pointer;
            transition: color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
        }

        body.woocommerce-checkout .matras-np-public-mode button:hover {
            border-color: #78a893;
            color: #1d4c39;
            background: #f5faf6;
        }

        body.woocommerce-checkout .matras-np-public-mode button.is-selected {
            border-color: #1f684f;
            color: #ffffff;
            background: #1f684f;
            box-shadow: inset 0 0 0 1px #1f684f;
        }

        body.woocommerce-checkout .matras-np-public-mode button:focus-visible,
        body.woocommerce-checkout .matras-np-public-field input:focus-visible,
        body.woocommerce-checkout .matras-np-public-result:focus-visible {
            outline: 0;
            box-shadow: 0 0 0 3px rgba(31, 104, 79, .2);
        }

        body.woocommerce-checkout .matras-np-public-fields {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        body.woocommerce-checkout .matras-np-public-field {
            position: relative;
            display: block;
            min-width: 0;
            margin: 0;
            color: #334c40;
            font-size: 12px;
            font-weight: 700;
            line-height: 1.35;
        }

        body.woocommerce-checkout .matras-np-public-field input {
            display: block;
            width: 100%;
            min-height: 44px;
            margin: 6px 0 0;
            padding: 10px 12px;
            border: 1px solid #bfcec4;
            border-radius: 9px;
            color: #223c30;
            background: #ffffff;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.3;
        }

        body.woocommerce-checkout .matras-np-public-field input::placeholder {
            color: #86968d;
        }

        body.woocommerce-checkout .matras-np-public-field input:disabled {
            border-color: #e0e8e2;
            color: #8a9a91;
            background: #f6f8f6;
            cursor: not-allowed;
        }

        body.woocommerce-checkout .matras-np-public-results {
            position: absolute;
            z-index: 60;
            top: calc(100% + 4px);
            right: 0;
            left: 0;
            max-height: 240px;
            overflow-y: auto;
            border: 1px solid #c9d8ce;
            border-radius: 10px;
            background: #ffffff;
            box-shadow: 0 14px 30px rgba(25, 54, 41, .16);
        }

        body.woocommerce-checkout .matras-np-public-results[hidden] {
            display: none !important;
        }

        body.woocommerce-checkout .matras-np-public-result {
            display: block;
            width: 100%;
            padding: 10px 12px;
            border: 0;
            border-bottom: 1px solid #edf1ee;
            color: #254839;
            background: #ffffff;
            font: inherit;
            text-align: left;
            cursor: pointer;
        }

        body.woocommerce-checkout .matras-np-public-result:last-child {
            border-bottom: 0;
        }

        body.woocommerce-checkout .matras-np-public-result:hover {
            color: #173c2d;
            background: #f2f8f4;
        }

        body.woocommerce-checkout .matras-np-public-result-title,
        body.woocommerce-checkout .matras-np-public-result-detail {
            display: block;
        }

        body.woocommerce-checkout .matras-np-public-result-title {
            font-size: 13px;
            font-weight: 700;
            line-height: 1.35;
        }

        body.woocommerce-checkout .matras-np-public-result-detail {
            margin-top: 2px;
            color: #6f8076;
            font-size: 12px;
            font-weight: 500;
            line-height: 1.35;
        }

        body.woocommerce-checkout .matras-np-public-status {
            min-height: 18px;
            margin: 10px 0 0;
            color: #66776d;
            font-size: 12px;
            line-height: 1.45;
        }

        body.woocommerce-checkout .matras-np-public-status[data-kind="error"] {
            color: #a64036;
        }

        body.woocommerce-checkout .matras-np-public-status[data-kind="success"] {
            color: #39735a;
        }

        body.woocommerce-checkout .matras-np-public-summary {
            margin: 2px 0 0;
            padding: 10px 12px;
            border: 1px solid #cce0d2;
            border-radius: 9px;
            color: #1f5d43;
            background: #edf7f0;
            font-size: 13px;
            font-weight: 700;
            line-height: 1.45;
        }

        @media (max-width: 767px) {
            body.woocommerce-checkout .matras-np-public-picker {
                margin-bottom: 18px;
                padding: 16px;
                border-radius: 12px;
            }

            body.woocommerce-checkout .matras-np-public-fields {
                grid-template-columns: 1fr;
                gap: 11px;
            }
        }
