/* ═══════════════════════════════════════════════════════════════════════════════════
   CART & CHECKOUT PAGE STYLES — Artisan Duka
   Comprehensive styling for both WooCommerce block-based and classic cart/checkout
   ═══════════════════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────────────────────────
   SHARED: Page layout, progress bar, trust signals
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Page background */
.woocommerce-cart,
.woocommerce-checkout {
    background-color: var(--ad-sand-light);
    min-height: 100vh;
    padding-bottom: 60px;
}

/* Progress steps indicator — uses sibling connectors in flex layout */
.ad-progress-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin: 40px auto;
    padding: 0 20px;
    max-width: 500px;
}

.ad-progress-steps__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.ad-progress-steps__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--ad-gray-100);
    color: var(--ad-gray-500);
    transition: all 0.3s var(--ad-ease);
    flex-shrink: 0;
}

.ad-progress-steps__step.ad-active .ad-progress-steps__icon {
    background-color: var(--ad-gold);
    color: var(--ad-white);
    box-shadow: 0 4px 12px rgba(212, 162, 76, 0.3);
}

.ad-progress-steps__step.ad-completed .ad-progress-steps__icon {
    background-color: var(--ad-green);
    color: var(--ad-white);
}

.ad-progress-steps__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--ad-gray-500);
    white-space: nowrap;
    transition: color 0.3s var(--ad-ease);
}

.ad-progress-steps__step.ad-active .ad-progress-steps__label {
    color: var(--ad-gold-dark);
}

.ad-progress-steps__step.ad-completed .ad-progress-steps__label {
    color: var(--ad-green);
}

/* Connector lines between steps — rendered as sibling <span> */
.ad-progress-steps__connector {
    display: block;
    height: 2px;
    width: 60px;
    flex-shrink: 0;
    background-color: var(--ad-gray-200);
    margin-bottom: 24px; /* push down to align with icon centres */
    transition: background-color 0.3s var(--ad-ease);
}

.ad-progress-steps__step.ad-completed + .ad-progress-steps__connector {
    background-color: var(--ad-green);
}

/* Trust signals bar */
.ad-cart-trust {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 24px;
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

.ad-cart-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}

.ad-cart-trust__item svg {
    color: var(--ad-gold);
    flex-shrink: 0;
}

.ad-cart-trust__item span {
    font-size: 13px;
    font-weight: 500;
    color: var(--ad-gray-700);
    line-height: 1.4;
}

@media (max-width: 768px) {
    .ad-progress-steps {
        margin: 30px auto;
        gap: 12px;
    }

    .ad-progress-steps__connector {
        width: 30px;
        margin-bottom: 22px;
    }

    .ad-progress-steps__icon {
        width: 42px;
        height: 42px;
    }

    .ad-progress-steps__step {
        gap: 6px;
    }

    .ad-progress-steps__label {
        font-size: 12px;
    }

    .ad-cart-trust {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin: 30px auto;
    }

    .ad-cart-trust__item svg {
        width: 18px;
        height: 18px;
    }
}

/* ───────────────────────────────────────────────────────────────────────────────────
   HIDE BLOCKSY'S DEFAULT QUANTITY BUTTONS (we use our own stepper)
   ─────────────────────────────────────────────────────────────────────────────────── */
.woocommerce-cart .quantity .ct-increase,
.woocommerce-cart .quantity .ct-decrease,
.woocommerce-checkout .quantity .ct-increase,
.woocommerce-checkout .quantity .ct-decrease {
    display: none !important;
}

/* Hide native number input spinners */
.woocommerce-cart .qty::-webkit-inner-spin-button,
.woocommerce-cart .qty::-webkit-outer-spin-button,
.woocommerce-checkout .qty::-webkit-inner-spin-button,
.woocommerce-checkout .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.woocommerce-cart .qty,
.woocommerce-checkout .qty {
    -moz-appearance: textfield;
}

/* ───────────────────────────────────────────────────────────────────────────────────
   CLASSIC CART — LAYOUT OVERRIDES
   Blocksy wraps cart in .ct-woocommerce-cart-form with its own grid.
   We override proportions and add spacing/polish.
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Outer wrapper — just a simple stack, NOT a grid (Blocksy handles inner grid) */
.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Blocksy's cart grid — override proportions: items left / totals right */
.woocommerce-cart .ct-woocommerce-cart-form {
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 28px !important;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}

/* Ensure the table inside doesn't overflow */
.woocommerce-cart .woocommerce-cart-form {
    min-width: 0;
    overflow-x: auto;
}

/* Product name — allow more room */
.woocommerce-cart .shop_table.cart td.product-name {
    max-width: 220px;
    word-wrap: break-word;
}

/* Price column — prevent wrapping */
.woocommerce-cart .shop_table.cart td.product-subtotal {
    white-space: nowrap;
    font-weight: 600;
}

/* Cart totals — ensure it doesn't clip */
.woocommerce-cart .cart_totals {
    min-width: 0;
    overflow: hidden;
}

/* Hide the "Cart" page title — progress steps replace it */
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-cart h1.wp-block-post-title {
    font-size: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    height: 0;
    overflow: hidden;
}

/* "Update cart" button styling — override Blocksy defaults */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
    padding: 10px 24px !important;
    background-color: var(--ad-gray-100) !important;
    color: var(--ad-gray-700) !important;
    border: 1px solid var(--ad-gray-200) !important;
    border-radius: var(--ad-radius) !important;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    white-space: nowrap;
}

.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart input[name="update_cart"]:hover {
    background-color: var(--ad-gold-light) !important;
    color: var(--ad-gold-dark) !important;
    border-color: var(--ad-gold) !important;
}

.woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart input[name="update_cart"]:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed;
}

/* Actions row (coupon + update cart) */
.woocommerce-cart .shop_table .actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 16px;
    background: var(--ad-white);
    border-radius: 0 0 var(--ad-radius) var(--ad-radius);
}

.woocommerce-cart .shop_table .actions .coupon {
    margin: 0;
    padding: 0;
    background: none;
    flex: 1;
}

@media (max-width: 960px) {
    .woocommerce-cart .ct-woocommerce-cart-form {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

/* ───────────────────────────────────────────────────────────────────────────────────
   QUANTITY STEPPER — Custom +/- buttons for both block and classic carts
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Ensure Blocksy's .quantity wrapper doesn't constrain our stepper */
.woocommerce-cart .quantity[data-type],
.woocommerce-checkout .quantity[data-type] {
    width: auto !important;
    min-width: 120px;
    display: inline-flex !important;
    align-items: center;
}

.ad-qty-wrap {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    overflow: visible;
    background-color: var(--ad-white);
    min-width: 120px;
}

.ad-qty-btn {
    width: 32px;
    height: 34px;
    border: none;
    background-color: transparent;
    color: var(--ad-gray-700);
    cursor: pointer;
    font-size: 18px;
    font-weight: 300;
    padding: 0;
    transition: all 0.2s var(--ad-ease);
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ad-qty-btn:hover {
    background-color: var(--ad-sand-light);
    color: var(--ad-gold);
}

.ad-qty-btn:active {
    background-color: var(--ad-gold-light);
}

.ad-qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    color: var(--ad-gray-200);
}

.ad-qty-wrap input {
    width: 40px !important;
    height: 34px !important;
    border: none !important;
    background-color: transparent !important;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--ad-gray-800);
    padding: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield;
}
.ad-qty-wrap input::-webkit-inner-spin-button,
.ad-qty-wrap input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ad-qty-wrap input:focus {
    outline: none;
}

/* ───────────────────────────────────────────────────────────────────────────────────
   CART PAGE — BLOCK-BASED (WooCommerce Blocks)
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Main cart container */
.wc-block-cart,
.wp-block-woocommerce-cart {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 2-column layout: items left, totals right */
.wc-block-cart__main,
.wp-block-woocommerce-cart__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

@media (max-width: 960px) {
    .wc-block-cart__main,
    .wp-block-woocommerce-cart__main {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Cart items section */
.wc-block-cart-items,
.wc-block-cart__items,
.wp-block-woocommerce-cart__items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Individual cart item */
.wc-block-cart-items__row,
.wc-block-cart-item,
.wp-block-woocommerce-cart-items__row {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius);
    padding: 20px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    transition: all 0.2s var(--ad-ease);
    border-bottom: 1px solid var(--ad-gray-100);
}

.wc-block-cart-items__row:last-child,
.wc-block-cart-item:last-child,
.wp-block-woocommerce-cart-items__row:last-child {
    border-bottom: none;
}

.wc-block-cart-items__row:hover,
.wc-block-cart-item:hover,
.wp-block-woocommerce-cart-items__row:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Product thumbnail */
.wc-block-cart-item__image,
.wc-block-components-product-image,
.wp-block-woocommerce-cart-item__image {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: var(--ad-radius);
    overflow: hidden;
    background-color: var(--ad-gray-50);
}

.wc-block-cart-item__image img,
.wc-block-components-product-image img,
.wp-block-woocommerce-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Product info wrapper */
.wc-block-cart-item__details,
.wc-block-cart-item__content,
.wp-block-woocommerce-cart-item__content {
    flex: 1;
    min-width: 0;
}

/* Product name / title */
.wc-block-components-product-name,
.wc-block-cart-item__product-name,
.wp-block-woocommerce-cart-item__product-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--ad-gray-900);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.wc-block-components-product-name a,
.wc-block-cart-item__product-name a,
.wp-block-woocommerce-cart-item__product-name a {
    color: var(--ad-gray-900);
    text-decoration: none;
    transition: color 0.2s var(--ad-ease);
}

.wc-block-components-product-name a:hover,
.wc-block-cart-item__product-name a:hover,
.wp-block-woocommerce-cart-item__product-name a:hover {
    color: var(--ad-gold);
}

/* Price */
.wc-block-components-product-price,
.wc-block-cart-item__price,
.wp-block-woocommerce-cart-item__price {
    font-size: 14px;
    color: var(--ad-gray-700);
    margin: 0 0 12px 0;
}

.wc-block-components-product-price .wc-block-components-formatted-money,
.wc-block-cart-item__price .wc-block-components-formatted-money {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Quantity selector */
.wc-block-components-quantity-selector,
.wc-block-cart-item__quantity {
    margin: 0 0 12px 0;
}

.wc-block-components-quantity-selector input[type="number"],
.wc-block-cart-item__quantity input[type="number"] {
    width: 60px;
}

/* Remove button */
.wc-block-cart-item__remove-button,
.wp-block-woocommerce-cart-item__remove-button {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    color: var(--ad-gray-500);
    cursor: pointer;
    padding: 4px;
    font-size: 20px;
    transition: color 0.2s var(--ad-ease);
}

.wc-block-cart-item__remove-button:hover,
.wp-block-woocommerce-cart-item__remove-button:hover {
    color: var(--ad-terracotta);
}

/* Sidebar / Totals */
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart__sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.wc-block-cart-totals,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-totals {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: sticky;
    top: 20px;
    z-index: 10;
}

/* Totals items (subtotal, shipping, tax, total) */
.wc-block-components-totals-item,
.wc-block-cart-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--ad-gray-100);
    font-size: 14px;
}

.wc-block-components-totals-item:last-child,
.wc-block-cart-totals__row:last-child {
    border-bottom: none;
    padding-top: 12px;
    padding-bottom: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--ad-gray-900);
}

.wc-block-components-totals-item__label {
    color: var(--ad-gray-700);
    font-weight: 500;
}

.wc-block-components-totals-item__value {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Proceed to checkout button */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart__checkout-button {
    width: 100%;
    padding: 14px 20px;
    background-color: var(--ad-gold);
    color: var(--ad-black);
    border: none;
    border-radius: var(--ad-radius);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s var(--ad-ease);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 12px;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-cart__checkout-button:hover {
    background-color: var(--ad-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 162, 76, 0.3);
}

.wc-block-cart__submit-button:active,
.wc-block-cart__submit-container button:active,
.wc-block-components-checkout-place-order-button:active,
.wp-block-woocommerce-cart__checkout-button:active {
    transform: translateY(0);
}

/* Coupon form */
.wc-block-components-coupon,
.wc-block-cart__coupon {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.wc-block-components-coupon-form,
.wc-block-cart__coupon-form {
    display: flex;
    gap: 8px;
}

.wc-block-components-coupon-form input,
.wc-block-cart__coupon-form input {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    font-size: 14px;
    background-color: var(--ad-offwhite);
    transition: all 0.2s var(--ad-ease);
}

.wc-block-components-coupon-form input:focus,
.wc-block-cart__coupon-form input:focus {
    outline: none;
    border-color: var(--ad-teal);
    background-color: var(--ad-white);
    box-shadow: 0 0 0 3px var(--ad-teal-light);
}

.wc-block-components-coupon-form button,
.wc-block-cart__coupon-form button {
    padding: 10px 20px;
    background-color: var(--ad-gray-100);
    color: var(--ad-gray-700);
    border: none;
    border-radius: var(--ad-radius);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    white-space: nowrap;
}

.wc-block-components-coupon-form button:hover,
.wc-block-cart__coupon-form button:hover {
    background-color: var(--ad-gold-light);
    color: var(--ad-gold);
}

/* Empty cart */
.wc-block-cart__empty-cart,
.wp-block-woocommerce-cart__empty-cart {
    text-align: center;
    padding: 60px 20px;
}

.wc-block-cart__empty-cart h3,
.wp-block-woocommerce-cart__empty-cart h3 {
    font-size: 24px;
    color: var(--ad-gray-900);
    margin: 20px 0;
}

.wc-block-cart__empty-cart p,
.wp-block-woocommerce-cart__empty-cart p {
    color: var(--ad-gray-700);
    margin-bottom: 20px;
}

.wc-block-cart__empty-cart a,
.wp-block-woocommerce-cart__empty-cart a {
    display: inline-block;
    padding: 12px 24px;
    background-color: var(--ad-gold);
    color: var(--ad-black);
    text-decoration: none;
    border-radius: var(--ad-radius);
    font-weight: 600;
    transition: all 0.2s var(--ad-ease);
}

.wc-block-cart__empty-cart a:hover,
.wp-block-woocommerce-cart__empty-cart a:hover {
    background-color: var(--ad-gold-dark);
}

/* ───────────────────────────────────────────────────────────────────────────────────
   CART PAGE — CLASSIC (WooCommerce Table)
   ─────────────────────────────────────────────────────────────────────────────────── */

.woocommerce-cart .shop_table.cart {
    background-color: transparent;
    border: none;
    border-spacing: 0;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 20px;
}

/* Column widths — force table to fit within container */
.woocommerce-cart .shop_table.cart th.product-name,
.woocommerce-cart .shop_table.cart td.product-name {
    width: auto;
}
.woocommerce-cart .shop_table.cart th.product-quantity,
.woocommerce-cart .shop_table.cart td.product-quantity {
    width: 140px;
}
.woocommerce-cart .shop_table.cart th.product-subtotal,
.woocommerce-cart .shop_table.cart td.product-subtotal {
    width: 120px;
}
.woocommerce-cart .shop_table.cart th.product-remove,
.woocommerce-cart .shop_table.cart td.product-remove {
    width: 48px;
}

.woocommerce-cart .shop_table.cart td,
.woocommerce-cart .shop_table.cart th {
    padding: 16px 12px;
    border: none;
    border-bottom: 1px solid var(--ad-gray-100);
    background-color: var(--ad-white);
    font-size: 14px;
    vertical-align: middle;
}

.woocommerce-cart .shop_table.cart th {
    background-color: var(--ad-sand-light);
    font-weight: 600;
    color: var(--ad-gray-900);
    text-align: left;
}

.woocommerce-cart .shop_table.cart tr:first-child th {
    border-radius: var(--ad-radius) var(--ad-radius) 0 0;
}

.woocommerce-cart .shop_table.cart tr:last-child td {
    border-bottom: none;
    border-radius: 0 0 var(--ad-radius) var(--ad-radius);
}

/* Product name cell — image + name + price layout */
.woocommerce-cart .shop_table.cart td.product-name {
    overflow: hidden;
}

/* Product thumbnail */
.woocommerce-cart .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: var(--ad-radius);
}

/* Product name */
.woocommerce-cart .product-name a {
    color: var(--ad-gray-900);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s var(--ad-ease);
}

.woocommerce-cart .product-name a:hover {
    color: var(--ad-gold);
}

/* Price */
.woocommerce-cart .product-price {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Quantity input — inside our stepper, remove standalone styles */
.woocommerce-cart .ad-qty-wrap .qty {
    width: 50px !important;
    height: 36px;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--ad-gray-800);
    padding: 0 !important;
    box-shadow: none !important;
}

/* Standalone qty without stepper fallback */
.woocommerce-cart .qty:not(.ad-qty-wrap .qty) {
    width: 60px;
    padding: 8px 4px;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    text-align: center;
    font-size: 14px;
}

/* Quantity wrapper — Blocksy's .quantity container */
.woocommerce-cart .quantity[data-type] {
    display: inline-flex;
    align-items: center;
    position: relative;
}

/* Remove button */
.woocommerce-cart .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--ad-gray-500);
    text-decoration: none;
    border-radius: 50%;
    transition: all 0.2s var(--ad-ease);
    font-size: 18px;
}

.woocommerce-cart .product-remove a:hover {
    background-color: var(--ad-terracotta-light);
    color: var(--ad-terracotta);
}

/* Coupon section */
.woocommerce-cart .coupon {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    gap: 12px;
    align-items: center;
}

@media (max-width: 600px) {
    .woocommerce-cart .coupon {
        flex-direction: column;
    }
}

.woocommerce-cart .coupon input[type="text"] {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    font-size: 14px;
    background-color: var(--ad-offwhite);
    transition: all 0.2s var(--ad-ease);
}

.woocommerce-cart .coupon input[type="text"]:focus {
    outline: none;
    border-color: var(--ad-teal);
    background-color: var(--ad-white);
    box-shadow: 0 0 0 3px var(--ad-teal-light);
}

.woocommerce-cart .coupon button,
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon input[type="submit"] {
    padding: 10px 20px !important;
    background-color: var(--ad-teal) !important;
    color: var(--ad-white) !important;
    border: none !important;
    border-radius: var(--ad-radius) !important;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    white-space: nowrap;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart .coupon input[type="submit"]:hover {
    background-color: var(--ad-gold-dark) !important;
    color: var(--ad-white) !important;
}

/* Cart totals sidebar */
.woocommerce-cart .cart_totals {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: sticky;
    top: 20px;
    z-index: 10;
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    border-spacing: 0;
}

.woocommerce-cart .cart_totals table tr {
    border: none;
    border-bottom: 1px solid var(--ad-gray-100);
}

.woocommerce-cart .cart_totals table tr:last-child {
    border-bottom: none;
}

.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th {
    padding: 12px 0;
    font-size: 14px;
    border: none;
}

.woocommerce-cart .cart_totals table th {
    text-align: left;
    color: var(--ad-gray-700);
    font-weight: 500;
}

.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
    font-size: 16px;
    font-weight: 700;
    color: var(--ad-gray-900);
    padding-top: 12px;
}

.woocommerce-cart .cart_totals table .woocommerce-Price-amount {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Proceed to checkout button — override Blocksy defaults */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .button {
    width: 100% !important;
    padding: 16px 20px !important;
    background-color: var(--ad-gold) !important;
    color: var(--ad-white) !important;
    border: none !important;
    border-radius: var(--ad-radius) !important;
    font-size: 15px !important;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none !important;
    display: block;
    text-align: center;
    margin-top: 16px;
    transition: all 0.3s var(--ad-ease);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart .wc-proceed-to-checkout .button:hover {
    background-color: var(--ad-gold-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 162, 76, 0.3);
    text-decoration: none !important;
    color: var(--ad-white) !important;
}

/* Continue shopping button */
.woocommerce-cart .return-to-shop a {
    display: inline-block;
    padding: 12px 20px;
    background-color: var(--ad-white);
    color: var(--ad-gold);
    border: 1px solid var(--ad-gold);
    border-radius: var(--ad-radius);
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s var(--ad-ease);
}

.woocommerce-cart .return-to-shop a:hover {
    background-color: var(--ad-gold-light);
}

/* Empty cart message */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 60px 20px;
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    margin: 20px;
}

.woocommerce-cart .cart-empty p {
    color: var(--ad-gray-700);
    font-size: 16px;
    margin-bottom: 20px;
}

/* ───────────────────────────────────────────────────────────────────────────────────
   CHECKOUT PAGE — BLOCK-BASED (WooCommerce Blocks)
   ─────────────────────────────────────────────────────────────────────────────────── */

.wc-block-checkout,
.wp-block-woocommerce-checkout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 2-column layout */
.wc-block-checkout__main,
.wp-block-woocommerce-checkout__main {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

@media (max-width: 960px) {
    .wc-block-checkout__main,
    .wp-block-woocommerce-checkout__main {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Form section */
.wc-block-checkout__form,
.wp-block-woocommerce-checkout__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Form group / section */
.wc-block-checkout-form__billing-fields,
.wc-block-checkout-form__shipping-fields,
.wc-block-checkout-form__payment-method,
.wc-block-checkout-form__additional-information {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Form field */
.wc-block-components-form-step {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
}

.wc-block-components-form-step:last-child {
    margin-bottom: 0;
}

/* Input/select/textarea */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select-input select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    font-size: 14px;
    font-family: var(--ad-font);
    background-color: var(--ad-offwhite);
    transition: all 0.2s var(--ad-ease);
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select-input select:focus {
    outline: none;
    border-color: var(--ad-teal);
    background-color: var(--ad-white);
    box-shadow: 0 0 0 3px var(--ad-teal-light);
}

/* Label */
.wc-block-components-form-step label {
    font-size: 14px;
    font-weight: 600;
    color: var(--ad-gray-900);
}

.wc-block-components-form-step label .wc-block-components-form-step__required-asterisk {
    color: var(--ad-terracotta);
}

/* Radio buttons / Payment methods */
.wc-block-components-radio-control {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wc-block-components-radio-control-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 2px solid var(--ad-gray-100);
    border-radius: var(--ad-radius);
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    background-color: var(--ad-offwhite);
}

.wc-block-components-radio-control-option:hover {
    border-color: var(--ad-gold);
    background-color: var(--ad-white);
}

.wc-block-components-radio-control-option input[type="radio"] {
    margin-top: 4px;
    cursor: pointer;
    accent-color: var(--ad-gold);
}

.wc-block-components-radio-control-option input[type="radio"]:checked + label {
    font-weight: 600;
    color: var(--ad-gold);
}

/* Checkbox */
.wc-block-components-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wc-block-components-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--ad-gold);
}

/* Order summary sidebar */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout__sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.wc-block-components-order-summary,
.wc-block-checkout-order-summary,
.wp-block-woocommerce-checkout-order-summary {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: sticky;
    top: 20px;
    z-index: 10;
}

/* Order summary heading */
.wc-block-components-order-summary-heading {
    font-size: 16px;
    font-weight: 700;
    color: var(--ad-gray-900);
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ad-gray-100);
}

/* Summary items */
.wc-block-components-order-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ad-gray-100);
    font-size: 14px;
}

.wc-block-components-order-summary-item:last-child {
    border-bottom: none;
}

.wc-block-components-order-summary-item__quantity {
    color: var(--ad-gray-500);
    font-size: 12px;
}

.wc-block-components-order-summary-item__price {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Summary totals */
.wc-block-components-totals-wrapper {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ad-gray-100);
}

.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
}

.wc-block-components-totals-item:last-child {
    font-size: 16px;
    font-weight: 700;
    color: var(--ad-gray-900);
    padding-top: 8px;
}

.wc-block-components-totals-item__value {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Place order button */
.wc-block-checkout__actions,
.wc-block-components-checkout-place-order-button {
    width: 100%;
    padding: 14px 20px;
    background-color: var(--ad-gold);
    color: var(--ad-black);
    border: none;
    border-radius: var(--ad-radius);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s var(--ad-ease);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 16px;
}

.wc-block-checkout__actions:hover,
.wc-block-components-checkout-place-order-button:hover {
    background-color: var(--ad-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 162, 76, 0.3);
}

.wc-block-checkout__actions:active,
.wc-block-components-checkout-place-order-button:active {
    transform: translateY(0);
}

/* ───────────────────────────────────────────────────────────────────────────────────
   CHECKOUT PAGE — CLASSIC (Blocksy-compatible)
   ─────────────────────────────────────────────────────────────────────────────────── */

/* Reset the outer .woocommerce wrapper — Blocksy may apply a grid here
   but we don't want a 2-column outer grid; let the form handle its own layout */
.woocommerce-checkout .woocommerce {
    display: block !important;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}

/* Hide the default page title — progress steps replace it visually */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--ad-gray-900);
    margin-bottom: 0;
    letter-spacing: -0.02em;
}

/* Progress steps should be full width and centered */
.woocommerce-checkout .ad-progress-steps {
    max-width: 500px;
    margin: 40px auto;
}

/* Override Blocksy's form grid — .ct-woocommerce-checkout is the key wrapper */
.woocommerce-checkout form.ct-woocommerce-checkout,
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px !important;
    gap: 28px !important;
    align-items: start;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Customer details (billing + shipping) — left column */
.woocommerce-checkout .ct-customer-details,
.woocommerce-checkout #customer_details {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 32px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    min-width: 0;
}

/* Order review — right column (sticky sidebar) */
.woocommerce-checkout .ct-order-review {
    position: sticky !important;
    top: 100px;
    z-index: 10;
}

@media (max-width: 960px) {
    .woocommerce-checkout form.ct-woocommerce-checkout,
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .woocommerce-checkout .ct-order-review {
        position: static !important;
    }
}

.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last {
    width: 48%;
    display: inline-block;
}

.woocommerce-checkout .form-row.form-row-first {
    margin-right: 4%;
}

@media (max-width: 600px) {
    .woocommerce-checkout .form-row.form-row-first,
    .woocommerce-checkout .form-row.form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }
}

.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ad-gray-900);
}

.woocommerce-checkout .form-row label .required {
    color: var(--ad-terracotta);
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--ad-gray-200);
    border-radius: var(--ad-radius);
    font-size: 14px;
    font-family: var(--ad-font);
    background-color: var(--ad-offwhite);
    transition: all 0.2s var(--ad-ease);
    box-sizing: border-box;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: var(--ad-teal);
    background-color: var(--ad-white);
    box-shadow: 0 0 0 3px var(--ad-teal-light);
}

/* Section headings within the form */
.woocommerce-checkout .ct-customer-details h3,
.woocommerce-checkout #customer_details h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--ad-gray-900);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ad-gold-light);
}

/* Ship to different address checkbox */
.woocommerce-checkout #ship-to-different-address {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 24px 0 16px;
    padding: 16px;
    background: var(--ad-sand-light);
    border-radius: var(--ad-radius);
    cursor: pointer;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
    accent-color: var(--ad-teal);
    width: 18px;
    height: 18px;
}

/* Shipping address section */
.woocommerce-checkout .shipping_address {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ad-gray-100);
}

/* Order notes */
.woocommerce-checkout #order_comments_field {
    margin-top: 24px;
}

.woocommerce-checkout #order_comments {
    min-height: 100px;
    resize: vertical;
}

/* Order review section */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
    background-color: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow-wrap: break-word;
    word-wrap: break-word;
    min-width: 0;
}

.woocommerce-checkout #order_review table {
    width: 100%;
    border-spacing: 0;
}

.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td {
    padding: 12px;
    border-bottom: 1px solid var(--ad-gray-100);
    text-align: left;
    font-size: 14px;
}

.woocommerce-checkout #order_review th {
    font-weight: 600;
    background-color: var(--ad-sand-light);
    color: var(--ad-gray-900);
}

.woocommerce-checkout #order_review tr:last-child td {
    border-bottom: none;
}

.woocommerce-checkout #order_review .woocommerce-Price-amount {
    color: var(--ad-gold);
    font-weight: 600;
}

/* Your order heading */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .ct-order-review > h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--ad-gray-900);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ad-gold-light);
}

/* Payment description text */
.woocommerce-checkout .payment_box p,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-size: 13px;
    line-height: 1.5;
    color: var(--ad-gray-500);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Payment section */
#payment {
    background-color: transparent;
    border: none;
    padding: 0;
}

#payment .payment_methods {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

#payment .payment_method {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 2px solid var(--ad-gray-100);
    border-radius: var(--ad-radius);
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    background-color: var(--ad-offwhite);
}

#payment .payment_method:hover {
    border-color: var(--ad-gold);
    background-color: var(--ad-white);
}

#payment .payment_method input[type="radio"] {
    margin-top: 4px;
    cursor: pointer;
    accent-color: var(--ad-gold);
}

#payment .payment_method input[type="radio"]:checked + label {
    font-weight: 600;
    color: var(--ad-gold);
}

#payment .payment_method label {
    margin: 0;
    font-size: 14px;
    cursor: pointer;
}

/* Place order button */
#place_order {
    width: 100%;
    padding: 14px 20px;
    background-color: var(--ad-gold);
    color: var(--ad-black);
    border: none;
    border-radius: var(--ad-radius);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s var(--ad-ease);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 16px;
}

#place_order:hover {
    background-color: var(--ad-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212, 162, 76, 0.3);
}

#place_order:active {
    transform: translateY(0);
}

/* ───────────────────────────────────────────────────────────────────────────────────
   ORDER PAY PAGE (PayStack / Payment gateway confirmation)
   ─────────────────────────────────────────────────────────────────────────────────── */

.woocommerce-order-pay .woocommerce {
    display: block !important;
    max-width: 640px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Order summary card */
.woocommerce-order-pay ul.order_details {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    background: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
}

.woocommerce-order-pay ul.order_details li {
    padding: 20px 24px;
    border-bottom: 1px solid var(--ad-gray-100);
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 14px;
    color: var(--ad-gray-500);
}

.woocommerce-order-pay ul.order_details li:nth-child(odd) {
    border-right: 1px solid var(--ad-gray-100);
}

.woocommerce-order-pay ul.order_details li:nth-last-child(-n+2) {
    border-bottom: none;
}

.woocommerce-order-pay ul.order_details li strong {
    font-size: 16px;
    font-weight: 700;
    color: var(--ad-gray-900);
}

/* Highlight the total amount */
.woocommerce-order-pay ul.order_details li.total strong .woocommerce-Price-amount,
.woocommerce-order-pay ul.order_details li:nth-child(3) strong {
    color: var(--ad-gold);
    font-size: 18px;
}

/* Payment form card */
.woocommerce-order-pay #wc-paystack-form,
.woocommerce-order-pay #order_review,
.woocommerce-order-pay form#order_review {
    background: var(--ad-white);
    border-radius: var(--ad-radius-lg);
    padding: 32px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.woocommerce-order-pay #wc-paystack-form p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--ad-gray-600);
    margin-bottom: 28px;
}

/* Pay Now button */
.woocommerce-order-pay #paystack-payment-button,
.woocommerce-order-pay #wc-paystack-form .button:not(.cancel) {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    padding: 16px 32px;
    background-color: var(--ad-gold) !important;
    color: var(--ad-white) !important;
    border: none !important;
    border-radius: var(--ad-radius) !important;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s var(--ad-ease);
    margin-bottom: 12px;
}

.woocommerce-order-pay #paystack-payment-button:hover,
.woocommerce-order-pay #wc-paystack-form .button:not(.cancel):hover {
    background-color: var(--ad-gold-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(212, 162, 76, 0.35);
}

/* Cancel button — same width as Pay Now for alignment */
.woocommerce-order-pay #paystack-cancel-payment-button,
.woocommerce-order-pay #wc-paystack-form .button.cancel {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    padding: 14px 32px;
    background-color: transparent !important;
    color: var(--ad-gray-500) !important;
    border: 1px solid var(--ad-gray-200) !important;
    border-radius: var(--ad-radius) !important;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s var(--ad-ease);
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
}

.woocommerce-order-pay #paystack-cancel-payment-button:hover,
.woocommerce-order-pay #wc-paystack-form .button.cancel:hover {
    background-color: var(--ad-gray-50) !important;
    color: var(--ad-terracotta) !important;
    border-color: var(--ad-terracotta) !important;
}

/* Button container */
.woocommerce-order-pay #wc-paystack-form > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Collapse the empty order_review form (renders as a spinner placeholder) */
.woocommerce-order-pay #wc-paystack-form form#order_review {
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Page title for order-pay */
.woocommerce-order-pay .entry-title,
.woocommerce-order-pay .page-title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: var(--ad-gray-900);
    margin-bottom: 8px;
}

@media (max-width: 600px) {
    .woocommerce-order-pay ul.order_details {
        grid-template-columns: 1fr;
    }
    .woocommerce-order-pay ul.order_details li:nth-child(odd) {
        border-right: none;
    }
    .woocommerce-order-pay ul.order_details li {
        border-bottom: 1px solid var(--ad-gray-100);
    }
    .woocommerce-order-pay ul.order_details li:last-child {
        border-bottom: none;
    }
}

/* ───────────────────────────────────────────────────────────────────────────────────
   RESPONSIVE ADJUSTMENTS
   ─────────────────────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .wc-block-cart,
    .wp-block-woocommerce-cart,
    .wc-block-checkout,
    .wp-block-woocommerce-checkout {
        padding: 24px 16px;
    }

    .wc-block-cart-items__row,
    .wc-block-cart-item,
    .wp-block-woocommerce-cart-items__row {
        flex-direction: column;
        text-align: center;
    }

    .wc-block-cart-item__image,
    .wc-block-components-product-image,
    .wp-block-woocommerce-cart-item__image {
        width: 100%;
        max-width: 100px;
        height: auto;
        margin: 0 auto;
    }

    .wc-block-cart-totals,
    .wc-block-components-totals-wrapper,
    .wp-block-woocommerce-cart-totals {
        position: static;
        top: auto;
    }

    .woocommerce-cart .cart_totals {
        position: static;
        top: auto;
        margin-top: 20px;
    }

    .wc-block-checkout-order-summary,
    .wp-block-woocommerce-checkout-order-summary {
        position: static;
        top: auto;
    }

    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-checkout-review-order {
        position: static;
        top: auto;
        margin-top: 20px;
    }

    .wc-block-cart__submit-button,
    .wc-block-cart__submit-container button,
    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        font-size: 14px;
        padding: 12px 16px;
    }

    .woocommerce-cart .shop_table.cart td,
    .woocommerce-cart .shop_table.cart th {
        padding: 12px 8px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .wc-block-cart-item__image,
    .wc-block-components-product-image,
    .wp-block-woocommerce-cart-item__image,
    .woocommerce-cart .product-thumbnail img {
        width: 60px;
        height: 60px;
    }

    .ad-progress-steps {
        gap: 8px;
        margin: 20px auto;
    }

    .ad-progress-steps__icon {
        width: 36px;
        height: 36px;
    }

    .ad-progress-steps__icon svg {
        width: 14px;
        height: 14px;
    }

    .ad-progress-steps__connector {
        width: 20px;
        margin-bottom: 20px;
    }

    .ad-cart-trust {
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 20px auto;
    }
}
