/**
 * SkyLearner classic WooCommerce cart.
 * Visual-only enhancement of native WooCommerce cart behaviour.
 */
.woocommerce-cart {
    --sltk-navy: #102a5c;
    --sltk-navy-2: #173a78;
    --sltk-link: #0f4da8;
    --sltk-text: #17233d;
    --sltk-muted: #687386;
    --sltk-border: #e1e6ee;
    --sltk-soft: #f6f8fc;
    --sltk-success: #15905f;
    --sltk-radius: 14px;
    --sltk-shadow: 0 9px 26px rgba(15, 35, 75, .075);
}

.woocommerce-cart .woocommerce.sltk-classic-cart {
    width: 100%;
    max-width: 1320px;
    margin-inline: auto;
    color: var(--sltk-text);
}

.woocommerce-cart .sltk-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 405px);
    gap: clamp(28px, 3vw, 42px);
    align-items: start;
}

.woocommerce-cart .sltk-cart-main,
.woocommerce-cart .sltk-cart-sidebar { min-width: 0; }

.woocommerce-cart .sltk-cart-sidebar {
    position: sticky;
    top: 104px;
}

/* Product list */
.woocommerce-cart form.woocommerce-cart-form { margin: 0; }
.sltk-cart-intro {
    margin: 0 0 22px;
    color: var(--sltk-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}
.woocommerce-cart table.shop_table.cart {
    display: block;
    width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
}
.woocommerce-cart table.shop_table.cart thead,
.woocommerce-cart table.shop_table.cart tbody { display: block; width: 100%; }

.woocommerce-cart table.shop_table.cart thead tr,
.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    display: grid;
    width: 100%;
    align-items: center;
}

.woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart thead tr,
.woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 112px minmax(0, 1fr) 112px 112px;
}
.woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart thead tr,
.woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart tbody tr.cart_item {
    grid-template-columns: 112px minmax(0, 1fr) 104px 96px 112px;
}

.woocommerce-cart table.shop_table.cart thead tr { padding: 0 24px 11px; }
.woocommerce-cart table.shop_table.cart thead th {
    display: block;
    padding: 0 10px;
    border: 0;
    color: #626d7e;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .035em;
    line-height: 1.25;
    text-transform: uppercase;
}
.woocommerce-cart table.shop_table.cart thead .product-remove { display: none; }
.woocommerce-cart table.shop_table.cart thead .product-thumbnail {
    grid-column: 1;
    color: transparent;
}
.woocommerce-cart table.shop_table.cart thead .product-name { grid-column: 2; }
.woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart thead .product-price { grid-column: 3; }
.woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart thead .product-quantity { display: none; }
.woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart thead .product-subtotal { grid-column: 4; }
.woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart thead .product-price { grid-column: 3; }
.woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart thead .product-quantity { grid-column: 4; }
.woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart thead .product-subtotal { grid-column: 5; }
.woocommerce-cart table.shop_table.cart thead .product-price,
.woocommerce-cart table.shop_table.cart thead .product-quantity,
.woocommerce-cart table.shop_table.cart thead .product-subtotal { text-align: right; }

.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
    margin: 0 0 24px;
    min-height: 154px;
    padding: 22px 24px;
    border: 1px solid var(--sltk-border);
    border-radius: var(--sltk-radius);
    background: #fff;
    box-shadow: var(--sltk-shadow);
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
    display: block;
    width: auto !important;
    padding: 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    vertical-align: middle;
}
.woocommerce-cart td.product-remove { display: none !important; }
.woocommerce-cart td.product-thumbnail { grid-column: 1; }
.woocommerce-cart td.product-name { grid-column: 2; }
.woocommerce-cart .sltk-cart-no-quantity td.product-price { grid-column: 3; }
.woocommerce-cart .sltk-cart-no-quantity td.product-quantity { display: none !important; }
.woocommerce-cart .sltk-cart-no-quantity td.product-subtotal { grid-column: 4; }
.woocommerce-cart .sltk-cart-has-quantity td.product-price { grid-column: 3; }
.woocommerce-cart .sltk-cart-has-quantity td.product-quantity { grid-column: 4; }
.woocommerce-cart .sltk-cart-has-quantity td.product-subtotal { grid-column: 5; }

.woocommerce-cart td.product-thumbnail img {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 7px;
}
.woocommerce-cart td.product-name a {
    color: var(--sltk-navy);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.42;
    text-decoration: none;
}
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-quantity,
.woocommerce-cart td.product-subtotal {
    color: var(--sltk-text);
    font-size: 15px;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}
.woocommerce-cart td.product-subtotal { font-weight: 600; }
.woocommerce-cart .quantity .qty {
    width: 60px;
    min-height: 42px;
    border: 1px solid var(--sltk-border);
    border-radius: 8px;
    text-align: center;
}
.woocommerce-cart .quantity--readonly .qty-nav { display: none; }

.sltk-cart-item-benefit {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 10px;
    color: var(--sltk-success);
    font-size: 13px;
    font-weight: 500;
}
.sltk-cart-item-benefit span {
    display: inline-grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 11px;
}
.sltk-cart-item-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    min-height: 24px;
}
.woocommerce-cart .sltk-cart-item-actions a.remove,
.sltk-save-for-later {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: var(--sltk-link) !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}
.woocommerce-cart .sltk-cart-item-actions a.remove:hover,
.sltk-save-for-later:hover { color: var(--sltk-navy) !important; text-decoration: underline; }
.sltk-cart-item-actions__separator {
    width: 1px;
    height: 17px;
    background: #cfd6e1;
}

/* Coupon */
.woocommerce-cart table.shop_table.cart tbody tr:not(.cart_item) { display: block; width: 100%; }
.woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 92px;
    padding: 18px 20px;
    border: 1px solid var(--sltk-border);
    border-radius: var(--sltk-radius);
    background: #fff;
    box-shadow: var(--sltk-shadow);
}
.woocommerce-cart .coupon {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(220px, 1fr) minmax(170px, 210px) 112px;
    align-items: center;
    gap: 0 14px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
}
.woocommerce-cart .coupon::before {
    content: "♧";
    grid-column: 1;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #f1f4fa;
    color: var(--sltk-navy);
    font-size: 25px;
}
.woocommerce-cart .coupon::after { content: none; }
.sltk-coupon-copy {
    grid-column: 2;
    display: block;
    min-width: 0;
    color: var(--sltk-navy);
    line-height: 1.4;
}
.sltk-coupon-copy strong,
.sltk-coupon-copy small { display: block; }
.sltk-coupon-copy strong {
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}
.sltk-coupon-copy small {
    color: var(--sltk-text);
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
}
.woocommerce-cart .coupon input.input-text { grid-column: 3; }
.woocommerce-cart .coupon button.button { grid-column: 4; }
.woocommerce-cart .coupon input.input-text {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--sltk-border);
    border-radius: 7px 0 0 7px;
    box-shadow: none;
}
.woocommerce-cart button.button,
.woocommerce-cart a.button {
    min-height: 46px;
    border-radius: 7px !important;
    font-weight: 600 !important;
}
.woocommerce-cart .coupon button.button {
    min-height: 48px;
    margin: 0;
    border-radius: 0 7px 7px 0 !important;
    border-color: var(--sltk-navy-2) !important;
    background: var(--sltk-navy-2) !important;
    color: #fff !important;
}
.woocommerce-cart button[name="update_cart"] {
    flex: 0 0 auto;
    min-width: 126px;
    margin-left: auto;
    background: #f1f3f6 !important;
    color: #657084 !important;
}
.woocommerce-cart button[name="update_cart"]:disabled { display: none; }

/* Order summary */
.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    padding: 28px;
    border: 1px solid var(--sltk-border);
    border-radius: var(--sltk-radius);
    background: #fff;
    box-shadow: var(--sltk-shadow);
}
.sltk-summary-heading {
    margin: 0 0 8px;
    color: var(--sltk-navy);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.25;
}
.woocommerce-cart .cart_totals table.shop_table {
    width: 100%;
    margin: 0 0 18px;
    border: 0;
    border-collapse: collapse;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 17px 0;
    border: 0;
    border-bottom: 1px solid var(--sltk-border);
    color: var(--sltk-text);
    font-size: 15px;
    font-weight: 500;
}
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart_totals .order-total th {
    color: var(--sltk-navy);
    font-size: 20px;
    font-weight: 700;
}
.woocommerce-cart .cart_totals .order-total td {
    color: var(--sltk-navy);
    font-size: 26px;
    font-weight: 700;
}
.sltk-total-currency {
    display: block;
    margin-top: 2px;
    color: var(--sltk-muted);
    font-size: 11px;
    font-weight: 500;
}
.sltk-no-hidden-fees {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 8px 0 22px;
    padding: 15px 16px;
    border: 1px solid #cfe9df;
    border-radius: 9px;
    background: #eef9f4;
    color: var(--sltk-text);
}
.sltk-no-hidden-fees__icon {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: 1px solid var(--sltk-success);
    border-radius: 50%;
    color: var(--sltk-success);
}
.sltk-no-hidden-fees strong,
.sltk-no-hidden-fees small,
.sltk-cart-help strong,
.sltk-cart-help small { display: block; }
.sltk-no-hidden-fees strong { font-size: 14px; font-weight: 700; }
.sltk-no-hidden-fees small,
.sltk-cart-help small { color: var(--sltk-muted); font-size: 13px; }
.woocommerce-cart .wc-proceed-to-checkout {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    order: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 57px;
    margin: 0;
    border-color: var(--sltk-navy-2) !important;
    background: var(--sltk-navy-2) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600 !important;
}
.woocommerce-cart #wc-stripe-express-checkout-element { margin-top: 0 !important; }
.sltk-payment-secure {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
    color: var(--sltk-muted);
    font-size: 12px;
    text-align: center;
}
.sltk-cart-help {
    display: flex;
    gap: 12px;
    margin-top: 22px;
    padding: 17px;
    border: 1px solid var(--sltk-border);
    border-radius: 10px;
    background: var(--sltk-soft);
}
.sltk-cart-help__icon {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #eaf0fb;
    color: var(--sltk-navy);
    font-weight: 700;
}
.sltk-cart-help strong { color: var(--sltk-text); font-size: 15px; font-weight: 700; }
.sltk-cart-help a { display: inline-block; margin-top: 7px; color: var(--sltk-link); font-size: 14px; font-weight: 600; }

/* Cross-sells and saved items */
.woocommerce-cart .cross-sells,
.sltk-saved-items {
    float: none !important;
    width: 100% !important;
    margin-top: 26px;
    padding: 24px;
    border: 1px solid var(--sltk-border);
    border-radius: var(--sltk-radius);
    background: #fff;
    box-shadow: var(--sltk-shadow);
}
.woocommerce-cart .cross-sells > h2,
.sltk-saved-items h2 { margin: 0 0 18px; color: var(--sltk-navy); font-size: 20px; font-weight: 700; }
.woocommerce-cart .cross-sells ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.woocommerce-cart .cross-sells ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    padding: 16px;
    border: 1px solid var(--sltk-border);
    border-radius: 10px;
}
.sltk-saved-items__grid { display: grid; gap: 12px; }
.sltk-saved-item { display: flex; gap: 14px; align-items: center; }
.sltk-saved-item img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; }
.sltk-saved-item strong,
.sltk-saved-item span,
.sltk-saved-item a { display: block; }
.sltk-saved-item a { margin-top: 4px; color: var(--sltk-link); font-weight: 600; }

/* Trust row */
.sltk-cart-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
    margin-top: 30px;
    padding: 18px 14px 4px;
}
.sltk-cart-trust__item { display: flex; gap: 11px; align-items: center; }
.sltk-cart-trust__item strong,
.sltk-cart-trust__item small { display: block; }
.sltk-cart-trust__item strong { color: var(--sltk-text); font-size: 14px; font-weight: 600; }
.sltk-cart-trust__item small { color: var(--sltk-muted); font-size: 12px; }
.sltk-cart-trust__icon {
    position: relative;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1.5px solid var(--sltk-navy);
    border-radius: 9px;
}
.sltk-cart-trust__icon::after { position: absolute; inset: 0; display: grid; place-items: center; color: var(--sltk-navy); font-weight: 700; }
.sltk-cart-trust__icon--lock::after { content: "✓"; }
.sltk-cart-trust__icon--shield::after { content: "◇"; }
.sltk-cart-trust__icon--bolt::after { content: "↗"; }
.sltk-cart-trust__icon--badge::after { content: "★"; }

@media (max-width: 1180px) {
    .woocommerce-cart .sltk-cart-layout { grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; }
    .woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart thead tr,
    .woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart tbody tr.cart_item { grid-template-columns: 98px minmax(0, 1fr) 92px 98px; }
    .woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart thead tr,
    .woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart tbody tr.cart_item { grid-template-columns: 98px minmax(0, 1fr) 82px 82px 92px; }
    .woocommerce-cart td.product-thumbnail img { width: 76px; height: 76px; }
    .woocommerce-cart .coupon { grid-template-columns: 46px minmax(205px, 1fr) minmax(140px, 170px) 102px; gap: 0 10px; }
    .woocommerce-cart .coupon::before { width: 46px; height: 46px; }
    .woocommerce-cart .cross-sells ul.products { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .woocommerce-cart .sltk-cart-layout { grid-template-columns: 1fr; }
    .woocommerce-cart .sltk-cart-sidebar { position: static; }
    .sltk-cart-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .woocommerce-cart table.shop_table.cart thead { display: none; }
    .woocommerce-cart .sltk-cart-no-quantity table.shop_table.cart tbody tr.cart_item,
    .woocommerce-cart .sltk-cart-has-quantity table.shop_table.cart tbody tr.cart_item {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 4px 14px;
        min-height: 0;
        padding: 18px;
    }
    .woocommerce-cart table.shop_table.cart tbody tr.cart_item td { padding: 3px 0 !important; text-align: left !important; }
    .woocommerce-cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 4; }
    .woocommerce-cart td.product-thumbnail img { width: 68px; height: 68px; }
    .woocommerce-cart td.product-name { grid-column: 2; grid-row: 1; }
    .woocommerce-cart td.product-price,
    .woocommerce-cart td.product-quantity,
    .woocommerce-cart td.product-subtotal { grid-column: 2 !important; }
    .woocommerce-cart td[data-title]::before { float: none; margin-right: 7px; color: var(--sltk-muted); font-size: 11px; text-transform: uppercase; }
    .sltk-cart-item-actions { flex-wrap: wrap; }
    .woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions { flex-direction: column; align-items: stretch; }
    .woocommerce-cart .coupon {
        grid-template-columns: 54px minmax(0, 1fr) 104px;
        grid-template-rows: auto auto;
        width: 100%;
        gap: 12px 10px;
    }
    .woocommerce-cart .coupon::before { grid-column: 1; grid-row: 1; }
    .sltk-coupon-copy { grid-column: 2 / 4; grid-row: 1; }
    .woocommerce-cart .coupon input.input-text { grid-column: 1 / 3; grid-row: 2; min-width: 0; border-radius: 7px 0 0 7px; }
    .woocommerce-cart .coupon button.button { grid-column: 3; grid-row: 2; }
    .sltk-coupon-copy strong, .sltk-coupon-copy small { white-space: normal; }
    .woocommerce-cart button[name="update_cart"] { width: 100%; margin-left: 0; }
    .woocommerce-cart .cart_totals { padding: 22px; }
}

@media (max-width: 420px) {
    .woocommerce-cart .coupon {
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }
    .woocommerce-cart .coupon::before { width: 48px; height: 48px; }
    .sltk-coupon-copy { grid-column: 2; grid-row: 1; }
    .woocommerce-cart .coupon input.input-text {
        grid-column: 1 / 3;
        grid-row: 2;
        border-radius: 7px;
    }
    .woocommerce-cart .coupon button.button {
        grid-column: 1 / 3;
        grid-row: 3;
        width: 100%;
        border-radius: 7px !important;
    }
}

@media (max-width: 560px) {
    .sltk-cart-trust { grid-template-columns: 1fr; }
    .woocommerce-cart .cart_totals .order-total td { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
    .woocommerce-cart *, .woocommerce-cart *::before, .woocommerce-cart *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Finite subscription payment plans: keep long WooCommerce subscription text inside the card. */
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal,
.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals .subscription-details,
.woocommerce-cart .cart_totals .recurring-totals,
.woocommerce-cart .cart_totals .first-payment-date {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.woocommerce-cart .sltk-plan-price-note {
    display: block;
    margin-top: 2px;
    color: var(--sltk-muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
}
.sltk-payment-plan-summary {
    margin-top: 9px;
    max-width: 620px;
    color: var(--sltk-text);
    font-size: 13px;
    line-height: 1.45;
}
.sltk-payment-plan-access {
    margin-top: 3px;
    max-width: 620px;
    color: var(--sltk-muted);
    font-size: 12px;
    line-height: 1.45;
}

.sltk-payment-plan-schedule {
    display: grid;
    gap: 3px;
    margin-top: 5px;
    font-size: 0.88rem;
    line-height: 1.35;
    color: #46556f;
}
.sltk-payment-plan-schedule span { display: block; }
.sltk-plan-final-payment { display:block; margin-top:3px; font-size:.82em; font-weight:500; white-space:normal; }

/* 0.4.100: quantity limits and clearer mixed-cart totals. */
.woocommerce-cart .sltk-quantity-locked {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0 10px;
    border: 1px solid var(--sltk-border);
    border-radius: 8px;
    background: #f7f8fb;
    color: var(--sltk-text);
    font-weight: 600;
}

/* Keep the basket action area predictable. The update button gets its own line
   so it cannot collide with the coupon controls at tablet/desktop widths. */
.woocommerce-cart table.shop_table.cart tr:not(.cart_item) td.actions {
    flex-direction: column;
    align-items: stretch;
}
.woocommerce-cart .coupon { width: 100%; }
.woocommerce-cart button[name="update_cart"] {
    align-self: flex-end;
    margin: 12px 0 0;
}

/* Replace WooCommerce Subscriptions' dense recurring-total rows with the
   SkyLearner future-payment summary below today's total. */
.woocommerce-cart .cart_totals tr.recurring-totals,
.woocommerce-cart .cart_totals tr.recurring-total,
.woocommerce-cart .cart_totals tr.order-total.recurring-total {
    display: none !important;
}
.woocommerce-cart .cart_totals .sltk-due-today-heading th {
    padding: 18px 0 8px;
    border: 0;
    color: var(--sltk-navy);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .01em;
    text-align: left;
}
.woocommerce-cart .cart_totals .sltk-future-payments-row td {
    padding: 20px 0 4px;
    border-bottom: 0;
    text-align: left;
}
.sltk-future-payments {
    padding-top: 2px;
    border-top: 1px solid var(--sltk-border);
}
.sltk-future-payments h3 {
    margin: 18px 0 14px;
    color: var(--sltk-navy);
    font-size: 16px;
    font-weight: 700;
}
.sltk-future-payments__group + .sltk-future-payments__group {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--sltk-border);
}
.sltk-future-payments h4 {
    margin: 0 0 9px;
    color: var(--sltk-text);
    font-size: 13px;
    font-weight: 700;
}
.sltk-future-payments__rows,
.sltk-future-payments__subscriptions {
    display: grid;
    gap: 9px;
}
.sltk-future-payment-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: baseline;
    color: var(--sltk-text);
    font-size: 13px;
}
.sltk-future-payment-row strong { color: var(--sltk-navy); font-size: 13px; }
.sltk-future-subscription {
    display: grid;
    gap: 3px;
    padding: 10px 0;
}
.sltk-future-subscription strong {
    color: var(--sltk-text);
    font-size: 13px;
    line-height: 1.35;
}
.sltk-future-subscription span {
    color: var(--sltk-navy);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}
.sltk-future-subscription small {
    color: var(--sltk-muted);
    font-size: 12px;
    line-height: 1.4;
}
.sltk-cart-trust { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

@media (max-width: 768px) {
    .woocommerce-cart button[name="update_cart"] {
        align-self: stretch;
        width: 100%;
    }
    .woocommerce-cart .cart_totals .sltk-future-payments-row td { padding-top: 16px; }
    .sltk-future-payment-row { gap: 10px; }
}


/* 0.4.101: quantity edits update the basket automatically when JavaScript is
   active. Keep the native button in the DOM as the WooCommerce submission
   mechanism and no-JS fallback, but remove it from the enhanced UI. */
.woocommerce-cart .sltk-cart-auto-update button[name="update_cart"] {
    display: none !important;
}

/* Some WooCommerce fragment refreshes replace the totals table independently
   of our original enhancement pass. Hidden is enforced here as well so the
   native "Basket totals" heading cannot reappear after an update. */
.woocommerce-cart .sltk-classic-cart .cart_totals > h2[hidden] {
    display: none !important;
}


/* 0.4.102: keep the order-summary hierarchy stable on initial load and after
   WooCommerce cart fragment refreshes. */
.woocommerce-cart .sltk-classic-cart .cart_totals > h2 {
    display: none !important;
}
.woocommerce-cart .cart_totals .sltk-due-today-heading th {
    text-align: left !important;
    font-size: 16px;
    font-weight: 700;
}
.woocommerce-cart .sltk-future-payments h3 {
    text-align: left;
    font-size: 16px;
    font-weight: 700;
}
.woocommerce-cart .sltk-future-payments h4 {
    text-align: left;
    font-size: 13px;
    font-weight: 700;
}
.woocommerce-cart .sltk-future-payments__group,
.woocommerce-cart .sltk-future-payments__rows,
.woocommerce-cart .sltk-future-payments__subscriptions {
    text-align: left;
}
