/**
 * RDW Store Suite — Cart & Checkout skin.
 *
 * Implements rdw-responsive-mockups/basket.html + checkout.html verbatim on the
 * real WooCommerce markup the plugin renders. Mobile-first: the base rules are
 * the phone layout; the two `@media (min-width:…)` blocks only ADD to it, never
 * undo it. Tokens, sizes, radii and breakpoints are copied from the mockup spec
 * (PROMPT-basket-checkout.md appendix) — do not round them.
 *
 * Breakpoints: base · 768 · 1200. Nothing else.
 *
 * @package RDW_Store_Suite
 * @since   1.26.4
 */

/* ============================================================= *
 * Tokens (sampled from dev.resindriveway.shop — exact values)
 * ============================================================= */
.rdw-cart,
.rdw-checkout {
    --navy:     #0D3577;
    --navy-d:   #0A2757;
    --navy-l:   #436EAB;
    --yellow:   #FFCA00;
    --orange:   #E96E20;
    --orange2:  #F94D00;
    --cardblue: #C0DBF0;
    --ink:      #34353C;
    --muted:    #5C6880;
    --line:     #E4E8F0;
    --soft:     #F5F7FB;

    /* Back-compat aliases: older rules / other files reference --rdw-*. */
    --rdw-accent: var(--orange);
    --rdw-accent-ink: #ffffff;
    --rdw-navy: var(--navy);
    --rdw-ink: var(--ink);
    --rdw-muted: var(--muted);
    --rdw-line: var(--line);
    --rdw-bg: #ffffff;
    --rdw-panel: var(--soft);
    --rdw-radius: 20px;
    --rdw-shadow: 0 6px 22px rgba(10, 39, 87, .10);

    color: var(--ink);
    font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.rdw-cart *,
.rdw-checkout *,
.rdw-cart *::before,
.rdw-cart *::after,
.rdw-checkout *::before,
.rdw-checkout *::after { box-sizing: border-box; }

/* ============================================================= *
 * Buttons — 48px pill, 44px minimum tap target
 * ============================================================= */
.rdw-cart .woocommerce .button,
.rdw-cart .woocommerce a.button,
.rdw-cart .woocommerce button.button,
.rdw-cart .woocommerce a.button.alt,
.rdw-cart .woocommerce .checkout-button,
.rdw-checkout .woocommerce #place_order,
.rdw-checkout .woocommerce button#place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background-color: var(--orange);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    transition: filter .15s ease;
}
.rdw-cart .woocommerce .button:hover,
.rdw-cart .woocommerce a.button:hover,
.rdw-cart .woocommerce button.button:hover,
.rdw-cart .woocommerce .checkout-button:hover,
.rdw-checkout .woocommerce #place_order:hover { filter: brightness(.94); color: #fff; }

/* ============================================================= *
 * Progress steps  (.rdw-steps rendered by the RDW Cart/Checkout widget)
 * spec: .steps / .step / .step__n / .step__l / .step__bar
 * ============================================================= */
.rdw-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 26px;
    padding: 0;
    list-style: none;
}
.rdw-step { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; font-weight: 600; }
.rdw-step__num {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    background: #E4E6EB;
    color: var(--muted);
}
.rdw-step.is-active { color: var(--ink); }
.rdw-step.is-active .rdw-step__num { background: var(--orange); color: #fff; }
.rdw-step.is-done   .rdw-step__num { background: var(--navy);   color: #fff; }
.rdw-step__label { display: none; font-size: 14px; }
.rdw-step__bar { width: 26px; height: 1px; background: #D6DAE3; flex: 0 0 auto; }

/* ============================================================= *
 * BASKET
 * ============================================================= */

/* Two-rail layout: items, then summary. Single column until 1200. */
.rdw-cart .woocommerce {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}
.rdw-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.rdw-cart .woocommerce .cross-sells { grid-column: 1 / -1; }
.rdw-cart .rdw-cc-form { margin: 0; }
.rdw-cart .cart-collaterals { width: 100%; margin: 0; float: none; }
.rdw-cart .cart-collaterals .cart_totals { width: 100%; float: none; }

/* Items card — one white card holding the line items + coupon row. */
.rdw-cart .rdw-cc-items {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
}

/* Line item — thumbnail | text; controls drop to their own row on phones. */
.rdw-cart .citem {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 8px 14px;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid var(--line);
}
.rdw-cart .citem__thumb { align-self: center; }
.rdw-cart .rdw-cc-thumb--img { width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--soft); flex: 0 0 64px; }
.rdw-cart .rdw-cc-thumb--img img { width: 64px; height: 64px; object-fit: cover; display: block; }
.rdw-cart .rdw-cc-thumb--img a { display: block; line-height: 0; }

.rdw-cart .citem__txt { min-width: 0; }
.rdw-cart .citem__txt > a,
.rdw-cart .citem__txt > a:first-child {
    display: block;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--navy);
    text-decoration: none;
    margin: 0;
}
/* Variation line (the plugin's config sub-line). */
.rdw-cart .citem__txt .citem__var,
.rdw-cart .citem__txt .rdw-cart-item-config {
    display: block;
    margin: 5px 0 0;
    font-size: 15px;
    line-height: 1.45;
    color: #6C7686;
    font-weight: 400;
}
/* Meta — one comma-separated run. */
.rdw-cart .citem__txt .meta,
.rdw-cart .rdw-cc-meta {
    margin: 9px 0 0;
    font-size: 12.5px;
    line-height: 1.65;
    color: var(--muted);
    text-wrap: pretty;
}

/* Controls row: full width below the text on phones. */
.rdw-cart .citem__ctl {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    margin-top: 4px;
}
.rdw-cart .citem__ctl .rdw-cc-price {
    font-weight: 700;
    font-size: 17px;
    color: var(--ink);
    white-space: nowrap;
}

/* Quantity stepper — 44×44 −/+ on a #EDEFF4 pill, 52px value on white. */
.rdw-cart .rdw-cc-qty { display: inline-flex; align-items: center; }
.rdw-cart .rdw-cc-qty .quantity { display: inline-flex; align-items: center; margin: 0; }
.rdw-cart .rdw-cc-qty .quantity.rdw-cc-stepper {
    background: #EDEFF4;
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
}
.rdw-cart .rdw-cc-qty .rdw-cc-step {
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex: 0 0 44px;
    border: 0;
    border-radius: 50%;
    background: #D6DAE3;
    color: #3A4256;
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background .12s ease;
}
.rdw-cart .rdw-cc-qty .rdw-cc-step:hover { background: #C7CCD8; }
.rdw-cart .rdw-cc-qty .quantity.rdw-cc-stepper input.qty {
    -moz-appearance: textfield;
    width: 52px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--navy);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    padding: 0 4px;
}
.rdw-cart .rdw-cc-qty input.qty::-webkit-outer-spin-button,
.rdw-cart .rdw-cc-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* No-JS fallback: the plain qty field before the stepper is built. */
.rdw-cart .rdw-cc-qty .quantity:not(.rdw-cc-stepper) input.qty {
    width: 64px; height: 44px; border: 1px solid var(--line); border-radius: 999px;
    text-align: center; font-weight: 700; color: var(--navy); background: #fff; padding: 0 6px;
}

/* Remove — 44×44, #C0392B glyph. */
.rdw-cart .rdw-cc-remove { flex: 0 0 auto; }
.rdw-cart .rdw-cc-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 20px;
    line-height: 1;
    font-weight: 400;
    color: #C0392B;
    text-decoration: none;
    border: 0;
    background: transparent;
    transition: color .15s ease, transform .12s ease;
}
.rdw-cart .rdw-cc-remove a.remove:hover { color: #A5281B; background: transparent; transform: scale(1.06); }

/* Coupon / actions row — stacks on phones, inline from 768. */
.rdw-cart .rdw-cc-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    margin: 0;
    border: 0;
}
.rdw-cart .rdw-cc-actions .coupon { display: flex; flex-direction: column; gap: 10px; }
.rdw-cart .rdw-cc-actions #coupon_code,
.rdw-cart .rdw-cc-actions input#coupon_code.input-text {
    min-height: 48px;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0 18px;
    background: #fff;
    color: var(--ink);
    font-size: 15px;
    width: 100%;
}
.rdw-cart .rdw-cc-actions button[name="apply_coupon"] {
    background: var(--orange);
    color: #fff;
    border: 0;
    border-radius: 999px;
    min-height: 48px;
    padding: 0 22px;
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
    cursor: pointer;
}
/* Clear basket — navy outline pill. */
.rdw-cart .rdw-cc-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 48px;
    padding: 0 22px;
    background: transparent;
    color: var(--navy);
    border: 2px solid var(--navy);
    border-radius: 999px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.rdw-cart .rdw-cc-clear__icon { flex: 0 0 auto; }
.rdw-cart .rdw-cc-clear:hover { color: #C0392B; border-color: #E6B8B2; background: rgba(192, 57, 43, .05); }
/* Update-cart button hidden once JS auto-update is active. */
.rdw-cc-auto .rdw-cc-actions button[name="update_cart"] { display: none; }

/* Summary card. */
.rdw-cart .rdw-cc-summary {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 20px;
}
.rdw-cart .rdw-cc-summary .rdw-cc-sumrow {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    font-size: 14.5px;
    color: var(--ink);
}
.rdw-cart .rdw-cc-summary .rdw-cc-sumrow .rdw-cc-price { font-weight: 600; white-space: nowrap; }
.rdw-cart .rdw-cc-summary .rdw-cc-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    border-top: 1px solid var(--line);
    margin-top: 6px;
    padding-top: 14px;
    font-weight: 700;
    color: var(--navy);
}
.rdw-cart .rdw-cc-summary .rdw-cc-total .rdw-cc-price { color: var(--orange); font-size: 22px; font-weight: 800; }
.rdw-cart .rdw-cc-summary .wc-proceed-to-checkout { padding: 16px 0 0; }
.rdw-cart .rdw-cc-summary .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; }
/* Shipping block inside the summary (Woo outputs a <tr>). */
.rdw-cart .rdw-cc-summary .rdw-cc-shipping,
.rdw-cart .rdw-cc-summary .rdw-cc-shipping tr,
.rdw-cart .rdw-cc-summary .rdw-cc-shipping th,
.rdw-cart .rdw-cc-summary .rdw-cc-shipping td { display: block; padding: 0; text-align: left; }
.rdw-cart .rdw-cc-summary .rdw-cc-shipping th { font-weight: 600; padding: 8px 0 4px; }
.rdw-cart .rdw-cc-summary ul#shipping_method { list-style: none; margin: 4px 0 0; padding: 0; }
.rdw-cart .rdw-cc-summary ul#shipping_method li { padding: 2px 0; }

/* Saving state while the background basket update is in flight. */
.rdw-cc-updating .rdw-cc-items { opacity: .55; pointer-events: none; transition: opacity .15s ease; }
.rdw-cc-updating .cart_totals { opacity: .55; transition: opacity .15s ease; }

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

/* Form | order rail. Single column until 1200. */
.rdw-checkout-page .rdw-co {
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}
.rdw-checkout-page .rdw-co__main,
.rdw-checkout-page .rdw-co__side { min-width: 0; }
/* The .rdw-co grid owns the columns — keep the form itself a plain block. */
.rdw-checkout form.checkout.rdw-cc-checkout { display: block; }

/* Section headings ("Billing details", "Additional information"). */
.rdw-checkout-page #customer_details h3,
.rdw-checkout-page .woocommerce-billing-fields > h3 {
    color: var(--ink);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 16px;
}
.rdw-checkout-page .woocommerce-additional-fields > h3 { font-size: 18px; margin: 12px 0; }

/* Billing / shipping / notes stack as ONE column (Woo floats them by default). */
.rdw-checkout .col2-set,
.rdw-checkout #customer_details.col2-set { display: block; }
.rdw-checkout .col2-set .col-1,
.rdw-checkout .col2-set .col-2 { float: none; width: 100%; max-width: 100%; padding: 0; margin: 0; }
.rdw-checkout .col2-set .col-2 { margin-top: 6px; }

/* Fields — label above, 52px input, single column on phones. */
.rdw-checkout .woocommerce-billing-fields__field-wrapper,
.rdw-checkout .woocommerce-shipping-fields__field-wrapper,
.rdw-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}
.rdw-checkout .form-row { margin: 0; padding: 0; }
.rdw-checkout .form-row label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #3A445C;
    margin: 0 0 6px;
}
.rdw-checkout .woocommerce-checkout .input-text,
.rdw-checkout .woocommerce-checkout select,
.rdw-checkout .woocommerce-checkout textarea,
.rdw-checkout .select2-container .select2-selection--single {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 12px 16px;
    background: #fff;
    color: var(--ink);
    font-size: 15px;
}
.rdw-checkout .woocommerce-checkout textarea { min-height: 96px; }
.rdw-checkout .woocommerce-checkout ::placeholder { color: #6B7280; opacity: 1; }
.rdw-checkout .woocommerce-checkout .input-text:focus,
.rdw-checkout .woocommerce-checkout select:focus,
.rdw-checkout .woocommerce-checkout textarea:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(233, 110, 32, .12);
    outline: 0;
}
/* select2 vertical centring to match the 52px inputs. */
.rdw-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; padding: 0; color: var(--ink); }
.rdw-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }

/* "Ship to a different address?" — a 56px toggle row, not a heading + checkbox. */
.rdw-checkout #ship-to-different-address {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 6px 0;
    margin: 8px 0 0;
    border-top: 1px solid var(--line);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
}
.rdw-checkout #ship-to-different-address label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    cursor: pointer;
}
.rdw-checkout #ship-to-different-address input[type="checkbox"] {
    order: 2;
    -webkit-appearance: none;
    appearance: none;
    flex: 0 0 52px;
    width: 52px;
    height: 30px;
    margin: 0;
    border: 0;
    border-radius: 15px;
    background: #DDE1E9;
    position: relative;
    cursor: pointer;
    transition: background .15s ease;
}
.rdw-checkout #ship-to-different-address input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    transition: left .15s ease;
}
.rdw-checkout #ship-to-different-address input[type="checkbox"]:checked { background: var(--orange); }
.rdw-checkout #ship-to-different-address input[type="checkbox"]:checked::before { left: 25px; }

/* Order-review card ("Your order"). */
.rdw-checkout #order_review {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 22px;
}
.rdw-checkout #order_review_heading {
    color: var(--navy);
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 14px;
}
/* Order review = list of rows, not a table. Nothing escapes the card. */
.rdw-checkout .rdw-orderrev { display: block; width: 100%; }
.rdw-checkout .orow {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 14px;
    line-height: 1.5;
    padding: 10px 0;
}
.rdw-checkout .orow > span:last-child,
.rdw-checkout .orow .orow__val { white-space: nowrap; font-weight: 600; }
.rdw-checkout .orow--head {
    border-bottom: 1px solid var(--line);
    font-weight: 700;
    color: var(--navy);
}
.rdw-checkout .orow--item { align-items: flex-start; border-bottom: 1px solid var(--line); }
.rdw-checkout .orow__name { min-width: 0; color: var(--ink); }
.rdw-checkout .orow__name .product-quantity { color: var(--navy); }
.rdw-checkout .orow__name .rdw-cart-item-config,
.rdw-checkout .orow__name .citem__var { display: block; margin: 4px 0 0; font-size: 15px; line-height: 1.45; color: #6C7686; }
.rdw-checkout .orow__name .meta,
.rdw-checkout .orow__name .rdw-cc-meta { display: block; margin: 6px 0 0; font-size: 12.5px; line-height: 1.65; color: var(--muted); text-wrap: pretty; }
.rdw-checkout .orow--item .orow__val { font-weight: 700; color: var(--ink); }
/* Shipping inside the review (Woo outputs a <tr>) → flatten to a block row. */
.rdw-checkout .orow--shipping { display: block; }
.rdw-checkout .orow--shipping tr,
.rdw-checkout .orow--shipping th,
.rdw-checkout .orow--shipping td { display: block; padding: 0; text-align: left; border: 0; }
.rdw-checkout .orow--shipping th { font-weight: 600; padding-bottom: 4px; }
.rdw-checkout .orow--shipping ul#shipping_method { list-style: none; margin: 4px 0 0; padding: 0; }
.rdw-checkout .orow.order-total {
    border-top: 1px solid var(--line);
    margin-top: 4px;
    padding-top: 14px;
    font-size: 17px;
    font-weight: 700;
    color: var(--navy);
    align-items: center;
}
.rdw-checkout .orow.order-total .orow__val,
.rdw-checkout .orow.order-total .amount { color: var(--orange); font-size: 22px; font-weight: 800; }

/* Payment — soft box, ordinary look. */
.rdw-checkout #payment {
    background: var(--soft);
    border: 0;
    border-radius: 12px;
    padding: 16px;
    margin-top: 16px;
}
.rdw-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0; }
.rdw-checkout #payment .payment_box { background: #fff; border-radius: 8px; }
.rdw-checkout #payment div.form-row.place-order { padding: 12px 0 0; margin: 0; }
.rdw-checkout #place_order { width: 100%; }

/* ============================================================= *
 * TABLET  ≥768
 * ============================================================= */
@media (min-width: 768px) {
    .rdw-step__label { display: inline; }
    .rdw-step__bar { width: 56px; }

    /* Line item: controls move inline to the right. */
    .rdw-cart .citem { grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; }
    .rdw-cart .citem__ctl { grid-column: auto; margin-top: 0; justify-content: flex-end; gap: 18px; }

    /* Coupon row goes inline. */
    .rdw-cart .rdw-cc-actions { flex-direction: row; align-items: center; }
    .rdw-cart .rdw-cc-actions .coupon { flex-direction: row; align-items: center; flex: 1 1 auto; }
    .rdw-cart .rdw-cc-actions #coupon_code { width: auto; min-width: 180px; flex: 1 1 auto; }

    /* Two-up form fields. */
    .rdw-checkout .woocommerce-billing-fields__field-wrapper,
    .rdw-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rdw-checkout .form-row-wide,
    .rdw-checkout .form-row-blank,
    .rdw-checkout .woocommerce-additional-fields__field-wrapper .form-row { grid-column: 1 / -1; }
}

/* ============================================================= *
 * DESKTOP  ≥1200
 * ============================================================= */
@media (min-width: 1200px) {
    /* Basket: items | 400px summary rail. */
    .rdw-cart .woocommerce { grid-template-columns: minmax(0, 1fr) 400px; gap: 32px; }
    .rdw-cart .rdw-cc-form { grid-column: 1; }
    .rdw-cart .cart-collaterals { grid-column: 2; }
    .rdw-cart .cart-collaterals .cart_totals { position: sticky; top: 20px; }

    /* Checkout: form | 440px order rail. */
    .rdw-checkout-page .rdw-co { grid-template-columns: minmax(0, 1fr) 440px; gap: 48px; }
    .rdw-checkout-page .rdw-co__side #order_review { position: sticky; top: 20px; }
}

/* ============================================================= *
 * Theme-override hardening
 * Live themes style #place_order / #order_review / .input-text by ID or with
 * !important; force the brand look so the mockup wins the cascade.
 * ============================================================= */
.rdw-cart .woocommerce a.button.alt,
.rdw-cart .woocommerce button.button.alt,
.rdw-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
.rdw-checkout .woocommerce #place_order,
.rdw-checkout .woocommerce button#place_order {
    background-color: var(--orange) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
}
.rdw-cart .woocommerce .wc-proceed-to-checkout .checkout-button,
.rdw-checkout .woocommerce #place_order {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.2 !important;
}
.rdw-checkout #order_review {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    padding: 22px !important;
}
.rdw-checkout .woocommerce-checkout .input-text,
.rdw-checkout .woocommerce-checkout select,
.rdw-checkout .woocommerce-checkout textarea {
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--ink) !important;
}
/* The active theme pads every .input-text (27px 34px), clipping the small qty
   digit out of view — reset just the quantity input. */
.rdw-cart .woocommerce .quantity input.qty,
.woocommerce-cart-form .quantity input.qty {
    min-height: 0 !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    overflow: visible !important;
}
/* Beat the theme's default a.remove colour so the glyph stays the mockup red. */
.rdw-cart .rdw-cc-remove a.remove { color: #C0392B !important; }
.rdw-cart .rdw-cc-remove a.remove:hover { color: #A5281B !important; }

/* ============================================================= *
 * Field-size hardening (v1.26.5)
 * The active theme applies padding:27px 34px + tall sizing to every input on
 * the live site, which inflated the checkout fields to ~79px and the ship-to
 * checkbox to 68x54 (verified live). The mockup wants 52px fields and a 52x30
 * toggle, so force the padding/size with !important. (Isolated CSS didn't need
 * this; the live theme does.)
 * ============================================================= */
.rdw-checkout .woocommerce-checkout .input-text,
.rdw-checkout .woocommerce-checkout select,
.rdw-checkout .woocommerce-checkout textarea {
    padding: 12px 16px !important;
    min-height: 52px !important;
    height: auto !important;
}
.rdw-checkout .woocommerce-checkout textarea { min-height: 96px !important; }

/* Ship-to toggle: force the 52x30 switch (theme padding was making it 68x54). */
.rdw-checkout #ship-to-different-address input[type="checkbox"] {
    width: 52px !important;
    height: 30px !important;
    min-height: 0 !important;
    padding: 0 !important;
}

/* Coupon field on the cart. */
.rdw-cart .rdw-cc-actions #coupon_code,
.rdw-cart .rdw-cc-actions input#coupon_code.input-text {
    padding: 0 18px !important;
    min-height: 48px !important;
    height: auto !important;
}

/* Quantity value chip in the stepper. */
.rdw-cart .rdw-cc-qty .quantity.rdw-cc-stepper input.qty {
    width: 52px !important;
    height: 44px !important;
    padding: 0 4px !important;
}

/* ============================================================= *
 * Checkout field pairing (v1.26.6) — match checkout.html's .fieldrow
 * WooCommerce's default classes float the paired rows at width:47% (so First/
 * Last only half-filled their grid columns) and mark Town/County/Postcode/Phone
 * as form-row-wide (full width, stacked). The mockup pairs First/Last,
 * Town + County, and Postcode + Phone two-up from 768. Neutralise the float and
 * let those four flow into the two-column grid.
 * ============================================================= */
.rdw-checkout .woocommerce-billing-fields .form-row,
.rdw-checkout .woocommerce-shipping-fields .form-row {
    float: none !important;
    width: auto !important;
}
@media (min-width: 768px) {
    .rdw-checkout #billing_city_field,
    .rdw-checkout #billing_state_field,
    .rdw-checkout #billing_postcode_field,
    .rdw-checkout #billing_phone_field,
    .rdw-checkout #shipping_city_field,
    .rdw-checkout #shipping_state_field,
    .rdw-checkout #shipping_postcode_field { grid-column: auto !important; }
}

/* ============================================================= *
 * Empty basket (v1.26.7) — matches basket-empty.html
 * Only the heading + dashed card. Mobile-first; 768 and 1200 add to it.
 * ============================================================= */

/* The empty state is one full-width block: reset the two-column cart grid and
   hide every element the RDW Cart widget renders around the cart (steps,
   delivery estimate, trust strip, payment chips, secure note). The mockup's
   empty basket is only the heading + card, so none of those belong on it. */
.rdw-cart .woocommerce > .rdw-ecart-wrap { grid-column: 1 / -1; }
.rdw-cart:has(.rdw-ecart-wrap) .rdw-steps,
.rdw-cart:has(.rdw-ecart-wrap) .rdw-delivery,
.rdw-cart:has(.rdw-ecart-wrap) .rdw-trust,
.rdw-cart:has(.rdw-ecart-wrap) .rdw-pay,
.rdw-cart:has(.rdw-ecart-wrap) .rdw-secure { display: none; }

.rdw-cart .rdw-ecart-title {
    color: var(--navy);
    font-size: 26px;
    line-height: 1.18;
    font-weight: 700;
    margin: 0 0 20px;
}

.rdw-cart .ecart {
    text-align: center;
    padding: 38px 20px 34px;
    background: #fff;
    border: 1px dashed #C6D2E6;
    border-radius: 20px;
}
.rdw-cart .ecart__i { display: block; margin: 0 auto 18px; }
.rdw-cart .ecart h2 { font-size: 21px; line-height: 1.25; color: var(--navy); margin: 0 0 10px; font-weight: 700; }
.rdw-cart .ecart p { font-size: 14.5px; line-height: 1.65; color: var(--muted); max-width: 44ch; margin: 0 auto 22px; }
.rdw-cart .ecart__acts { display: flex; flex-direction: column; gap: 12px; max-width: 340px; margin: 0 auto; }
.rdw-cart .ecart__acts .btn { width: 100%; }
/* .ecart p (0,2,1) outranks .ecart__note, so keep the note as p.ecart__note. */
.rdw-cart .ecart p.ecart__note { font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 46ch; margin: 26px auto 0; }

/* Buttons — the mockup's .btn (not WooCommerce .button). */
.rdw-cart .ecart .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 15px;
    border: 2px solid transparent;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    transition: filter .15s ease;
}
.rdw-cart .ecart .btn--o { background: var(--orange); color: #fff; border-color: transparent; }
.rdw-cart .ecart .btn--o:hover { filter: brightness(.94); color: #fff; }
.rdw-cart .ecart .btn--ghost { background: transparent; color: var(--navy); border-color: var(--navy); }
.rdw-cart .ecart .btn--ghost:hover { color: var(--navy); filter: none; }

@media (min-width: 768px) {
    .rdw-cart .rdw-ecart-title { font-size: 32px; }
    .rdw-cart .ecart { padding: 52px 32px 46px; }
    .rdw-cart .ecart h2 { font-size: 26px; }
    .rdw-cart .ecart__acts { flex-direction: row; justify-content: center; max-width: none; }
    .rdw-cart .ecart__acts .btn { width: auto; }
}
@media (min-width: 1200px) {
    .rdw-cart .rdw-ecart-title { font-size: 40px; }
    .rdw-cart .ecart { padding: 64px 40px 56px; }
    .rdw-cart .ecart h2 { font-size: 30px; }
}
