/* ==========================================================================
   VeryMarts Reskin – Cart & Checkout  (v2 – based on Flatsome templates)
   Loaded only on is_cart() || is_checkout() (see inc/reskin-loader.php)
   Pure CSS: no template overrides, payment (CardShield) inner UI untouched.
   ========================================================================== */

:root {
    --vm-ink: #18181b;
    --vm-muted: #6b7280;
    --vm-line: #e5e7eb;
    --vm-soft: #f9fafb;
    --vm-soft-2: #f3f4f6;
    --vm-radius: 10px;
    --vm-radius-lg: 16px;
}

/* ---------- 1. Progress steps (Flatsome .checkout-breadcrumbs) ---------- */
.checkout-page-title.page-title {
    background: #fff !important;
    border-bottom: 1px solid var(--vm-line);
}
.checkout-page-title .page-title-inner { padding: 26px 0 !important; }
.checkout-breadcrumbs {
    counter-reset: vmstep;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .02em;
}
.checkout-breadcrumbs a {
    counter-increment: vmstep;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    color: #9ca3af !important;
    text-decoration: none !important;
}
.checkout-breadcrumbs a::before {
    content: counter(vmstep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px; height: 30px;
    border-radius: 50%;
    border: 2px solid var(--vm-line);
    background: #fff;
    color: #9ca3af;
    font-size: 13px;
    font-weight: 700;
}
.checkout-breadcrumbs a.current { color: var(--vm-ink) !important; }
.checkout-breadcrumbs a.current::before {
    background: var(--vm-ink); border-color: var(--vm-ink); color: #fff;
}
.checkout-breadcrumbs .divider {
    display: inline-block;
    width: 56px; height: 2px;
    margin: 0 16px !important;
    background: var(--vm-line);
    font-size: 0 !important;
    color: transparent !important;
}

/* ---------- 2. Focused checkout header (hide nav + search on checkout) ---------- */
body.woocommerce-checkout #wide-nav,
body.woocommerce-checkout .header-search-form,
body.woocommerce-checkout .header-nav-main .cart-item,
body.woocommerce-checkout [data-open="#main-menu"] {
    display: none !important;
}
body.woocommerce-checkout .header-main .flex-right::after {
    content: "\1F512  Secure checkout";
    font: 600 13px/1 'Poppins', sans-serif;
    color: var(--vm-muted);
    white-space: nowrap;
}

/* ---------- 3. Layout: wider main column ---------- */
.cart-container { padding-top: 32px !important; }
@media (min-width: 850px) {
    .woocommerce-cart .woocommerce.row > .col.large-7,
    .woocommerce-checkout form.checkout .row > .col.large-7 { flex-basis: 62%; max-width: 62%; }
    .woocommerce-cart .woocommerce.row > .cart-collaterals,
    .woocommerce-checkout form.checkout .row > .col.large-5 { flex-basis: 38%; max-width: 38%; }
}

/* ---------- 4. Cart items table ---------- */
.woocommerce-cart-form table.shop_table {
    border: 1px solid var(--vm-line) !important;
    border-radius: var(--vm-radius-lg);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}
.woocommerce-cart-form table.shop_table thead th {
    background: var(--vm-soft);
    font: 700 12px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--vm-muted) !important;
    padding: 14px 12px !important;
    border-bottom: 1px solid var(--vm-line) !important;
}
.woocommerce-cart-form table.shop_table td {
    padding: 20px 12px !important;
    border-top: 1px solid var(--vm-line) !important;
    border-bottom: 0 !important;
    vertical-align: middle;
}
.woocommerce-cart-form table.shop_table tbody tr:first-child td { border-top: 0 !important; }
.woocommerce-cart-form td.actions { background: var(--vm-soft); }
.woocommerce-cart-form td.product-remove { width: 44px; padding-right: 0 !important; }
.woocommerce-cart-form td.product-thumbnail { width: 96px; }
.woocommerce-cart-form td.product-thumbnail img {
    width: 80px !important; max-width: 80px; height: auto;
    border-radius: var(--vm-radius);
    background: var(--vm-soft-2);
}
.woocommerce-cart-form td.product-name { min-width: 200px; }
.woocommerce-cart-form td.product-name > a {
    font: 600 15px/1.4 'Poppins', sans-serif;
    color: var(--vm-ink) !important;
}
.woocommerce-cart-form td.product-name dl.variation,
.woocommerce-cart-form td.product-name .wcpa_cart_meta { color: var(--vm-muted); font-size: 13px; margin-top: 6px; }
.woocommerce-cart-form td.product-name dl.variation img { max-width: 48px; border-radius: 6px; }
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal { font-weight: 700; color: var(--vm-ink); white-space: nowrap; }
.woocommerce-cart-form a.remove {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 30px; height: 30px; line-height: 1 !important;
    border: 1px solid var(--vm-line) !important;
    color: var(--vm-muted) !important;
    border-radius: 50%;
    font-size: 16px !important;
    transition: all .2s;
}
.woocommerce-cart-form a.remove:hover {
    background: var(--vm-ink) !important; border-color: var(--vm-ink) !important; color: #fff !important;
}

/* Quantity stepper */
.woocommerce-cart-form .quantity.buttons_added {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid var(--vm-line);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}
.woocommerce-cart-form .quantity.buttons_added .button,
.woocommerce-cart-form .quantity.buttons_added input.qty {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    height: 38px !important;
    min-height: 38px;
    margin: 0 !important;
}
.woocommerce-cart-form .quantity.buttons_added .button { width: 34px; padding: 0 !important; color: var(--vm-ink) !important; font-weight: 700; }
.woocommerce-cart-form .quantity.buttons_added .button:hover { background: var(--vm-soft-2) !important; }
.woocommerce-cart-form .quantity.buttons_added input.qty { width: 36px !important; padding: 0 !important; font-weight: 700; }

/* Continue shopping / update cart buttons */
.woocommerce-cart-form .actions .button {
    height: 44px !important;
    line-height: 42px !important;
    border-radius: var(--vm-radius) !important;
    border: 1px solid var(--vm-ink) !important;
    background: #fff !important;
    color: var(--vm-ink) !important;
    font: 700 12px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 0 18px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.woocommerce-cart-form .actions .button:hover:not([disabled]) { background: var(--vm-ink) !important; color: #fff !important; }

/* ---------- 5. Summary card – ONE box only ---------- */
.woocommerce-cart .cart-sidebar.col-inner,
.woocommerce-checkout form.checkout .col.large-5 > .col-inner {
    background: var(--vm-soft) !important;
    border: 1px solid var(--vm-line) !important;
    border-radius: var(--vm-radius-lg);
    padding: 26px !important;
}
@media (min-width: 850px) {
    .woocommerce-cart .cart-sidebar.col-inner,
    .woocommerce-checkout form.checkout .col.large-5 > .col-inner { position: sticky; top: 24px; }
}
/* kill every nested box/border inside the summary */
.cart-sidebar .cart_totals,
.cart-sidebar table,
.checkout-sidebar,
.checkout-sidebar #order_review,
.checkout-sidebar table {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.cart-sidebar table, .checkout-sidebar table { width: 100%; margin-bottom: 16px !important; }
.cart-sidebar table th, .cart-sidebar table td,
.checkout-sidebar table th, .checkout-sidebar table td {
    border: 0 !important;
    border-bottom: 1px solid var(--vm-line) !important;
    padding: 14px 0 !important;
    font-size: 14px !important;
    vertical-align: top;
    background: transparent !important;
}
.cart-sidebar table tr:last-child th, .cart-sidebar table tr:last-child td,
.checkout-sidebar table tr:last-child th, .checkout-sidebar table tr:last-child td { border-bottom: 0 !important; }
.cart-sidebar table th, .checkout-sidebar tfoot th {
    font-weight: 600 !important; color: var(--vm-muted) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.cart-sidebar table td, .checkout-sidebar tfoot td { text-align: right; font-weight: 700; color: var(--vm-ink); }
.checkout-sidebar thead th {
    font: 700 11px 'Poppins', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .05em;
    color: var(--vm-muted) !important;
    padding-top: 0 !important;
}
.checkout-sidebar td.product-name { font-size: 13px !important; color: var(--vm-ink); font-weight: 500; }
.checkout-sidebar td.product-name img { max-width: 44px; border-radius: 6px; }
.checkout-sidebar td.product-total { text-align: right; font-weight: 700; white-space: nowrap; }
.cart-sidebar .woocommerce-shipping-destination,
.cart-sidebar .shipping-calculator-button { font-size: 12px; color: var(--vm-muted) !important; }
.cart-sidebar tr.order-total th, .cart-sidebar tr.order-total td,
.checkout-sidebar tr.order-total th, .checkout-sidebar tr.order-total td {
    border-top: 2px solid var(--vm-ink) !important;
    border-bottom: 0 !important;
    padding-top: 16px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--vm-ink) !important;
}
.cart-sidebar tr.order-total th, .checkout-sidebar tr.order-total th { font-size: 16px !important; }
.cart_totals table tbody tr:last-child::after,
.cart_totals .shipping td::after { display: none !important; }
.cart-sidebar hr, .checkout-sidebar hr { display: none !important; }

/* Summary headings */
.cart-sidebar .cart_totals > h2,
.cart-sidebar thead th,
.woocommerce-checkout #order_review_heading {
    font: 700 16px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--vm-ink) !important;
    border: 0 !important;
    padding: 0 0 12px !important;
    margin: 0 !important;
    text-align: left !important;
}

/* Primary CTA */
.wc-proceed-to-checkout { padding: 4px 0 0 !important; }
.wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    margin: 0 !important;
    border-radius: var(--vm-radius) !important;
    background: var(--vm-ink) !important;
    border: 0 !important;
    color: #fff !important;
    font: 700 15px 'Poppins', sans-serif !important;
    letter-spacing: .05em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px -10px rgba(24,24,27,.55) !important;
    transition: transform .15s, box-shadow .2s;
}
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover { transform: translateY(-1px); }
.wc-proceed-to-checkout::after,
.woocommerce-checkout .place-order::after {
    content: "\1F512  Secure SSL encrypted payment";
    display: block;
    text-align: center;
    margin-top: 10px;
    font-size: 12px;
    color: var(--vm-muted);
}

/* Cart sidebar coupon */
.ux-cart-coupon {
    margin-top: 22px !important;
    padding-top: 20px;
    border-top: 1px solid var(--vm-line);
}
.ux-cart-coupon .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.ux-cart-coupon .widget-title {
    flex: 0 0 100%;
    margin: 0 0 4px !important;
    font: 600 13px 'Poppins', sans-serif !important;
    color: var(--vm-ink) !important;
    text-transform: none !important;
    border: 0 !important;
}
.ux-cart-coupon .widget-title::after { display: none !important; }
.ux-cart-coupon .widget-title .icon-tag { display: none; }
.ux-cart-coupon input.input-text,
.woocommerce-checkout .checkout_coupon input.input-text {
    flex: 1 1 auto;
    width: auto !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: var(--vm-radius) !important;
    border: 1px solid var(--vm-line) !important;
    background: #fff !important;
    box-shadow: none !important;
}
.ux-cart-coupon .button,
.woocommerce-checkout .checkout_coupon .button {
    flex: 0 0 auto;
    width: auto !important;
    height: 46px !important;
    line-height: 44px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: var(--vm-radius) !important;
    border: 1px solid var(--vm-ink) !important;
    background: var(--vm-ink) !important;
    color: #fff !important;
    font: 700 12px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    white-space: nowrap;
}

/* ---------- 6. Checkout form ---------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    background: var(--vm-soft) !important;
    border: 1px dashed #d1d5db !important;
    border-radius: var(--vm-radius);
    padding: 14px 18px !important;
    font-size: 14px;
    color: var(--vm-ink);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 20px !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 !important; }
.woocommerce-checkout .checkout_coupon {
    margin-bottom: 20px !important;
    border: 1px solid var(--vm-line) !important;
    border-radius: var(--vm-radius-lg);
    padding: 18px !important;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
    background: #fff;
    border: 1px solid var(--vm-line);
    border-radius: var(--vm-radius-lg);
    padding: 26px !important;
    margin-bottom: 18px;
}
/* Order notes: only the textarea border, no wrapping box */
.woocommerce-checkout .woocommerce-additional-fields {
    background: transparent; border: 0; padding: 0 !important; margin-bottom: 18px;
}
.woocommerce-checkout .woocommerce-additional-fields .form-row { margin: 0 !important; }

/* Payment block (moved to left column via hook in reskin-loader.php) */
.vm-checkout-payment {
    background: #fff;
    border: 1px solid var(--vm-line);
    border-radius: var(--vm-radius-lg);
    padding: 26px;
    margin-bottom: 18px;
}
.vm-checkout-payment > h3 {
    font: 700 16px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--vm-ink);
    margin: 0 0 16px !important;
}
.vm-checkout-payment #payment ul.payment_methods > li {
    border: 0 !important; background: transparent !important; padding: 0 !important;
}
.vm-checkout-payment #payment ul.payment_methods > li + li {
    border-top: 1px solid var(--vm-line) !important; padding-top: 14px !important; margin-top: 14px !important;
}
.vm-checkout-payment #payment div.payment_box { background: transparent !important; padding: 12px 0 0 !important; margin: 0 !important; }
.vm-checkout-payment #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(.shipping_address:not([style*="none"]))) { padding: 18px 26px !important; }
.woocommerce-checkout .woocommerce-shipping-fields h3 { margin: 0 !important; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font: 700 16px 'Poppins', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--vm-ink);
    margin: 0 0 18px !important;
}
.woocommerce-checkout #ship-to-different-address label { font: 600 14px 'Poppins', sans-serif; text-transform: none; }
.woocommerce-checkout form.checkout .form-row { margin-bottom: 14px !important; }
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-selection {
    min-height: 50px !important;
    border-radius: var(--vm-radius) !important;
    border: 1px solid var(--vm-line) !important;
    box-shadow: none !important;
    background: #fff !important;
    font-size: 15px !important;
}
.woocommerce-checkout form.checkout textarea.input-text { min-height: 90px !important; padding-top: 14px !important; }
.woocommerce-checkout form.checkout .select2-selection__rendered { line-height: 48px !important; padding-left: 14px !important; }
.woocommerce-checkout form.checkout .select2-selection__arrow { height: 48px !important; }
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus {
    border-color: var(--vm-ink) !important;
    box-shadow: 0 0 0 3px rgba(24,24,27,.08) !important;
}

/* Payment wrapper only – CardShield inner UI keeps its own settings */
.woocommerce-checkout #payment { background: transparent !important; border: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; }
.woocommerce-checkout #payment ul.payment_methods > li {
    border: 1px solid var(--vm-line);
    border-radius: var(--vm-radius);
    background: #fff;
    padding: 14px 16px !important;
    margin: 0 0 10px !important;
    list-style: none;
}
.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; background: transparent !important; }
.woocommerce-checkout #payment .place-order p,
.woocommerce-checkout #payment .place-order .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .place-order em,
.woocommerce-checkout #payment .place-order i {
    font-size: 12px !important;
    line-height: 1.5;
    font-style: normal !important;
    color: var(--vm-muted);
    text-align: center;
    margin: 12px 4px 0 !important;
    padding: 0 !important;
}

/* ---------- 7. Mobile ---------- */
@media (max-width: 849px) {
    .checkout-breadcrumbs { font-size: 0 !important; gap: 10px; }        /* numbers only + current label */
    .checkout-breadcrumbs a.current { font-size: 13px !important; }
    .checkout-breadcrumbs .divider { width: 24px; margin: 0 10px !important; }
    .checkout-breadcrumbs a.current { margin-right: 0; }

    /* Focused header on mobile: logo + "Secure checkout" only */
    body.woocommerce-checkout #header ul.mobile-nav > li { display: none !important; }
    body.woocommerce-checkout .header-main .flex-right::after { font-size: 12px; }

    .woocommerce-cart-form td.product-name { min-width: 0; }
    .woocommerce-cart-form td.product-thumbnail img { width: 72px !important; }
    .woocommerce-cart .cart-sidebar.col-inner { margin-top: 20px; padding: 20px !important; }

    .woocommerce-cart .wc-proceed-to-checkout {
        position: fixed;
        left: 0; right: 0; bottom: 0;
        z-index: 98;
        margin: 0 !important;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
        background: #fff;
        box-shadow: 0 -6px 20px rgba(0,0,0,.08);
    }
    .woocommerce-cart .wc-proceed-to-checkout::after { display: none; }
    body.woocommerce-cart { padding-bottom: 90px; }

    .woocommerce-checkout #payment ul.payment_methods > li { padding: 12px !important; }
    .vm-checkout-payment { padding: 20px; }
    .vm-checkout-payment #payment ul.payment_methods > li { padding: 0 !important; }
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout form.checkout .col.large-5 > .col-inner { padding: 20px !important; }
}

/* ---------- 8. Compact step bar ---------- */
.checkout-page-title .page-title-inner { padding: 12px 0 !important; min-height: 0 !important; }
.checkout-breadcrumbs a::before { width: 24px; height: 24px; font-size: 12px; border-width: 1.5px; }
.checkout-breadcrumbs { font-size: 13px !important; }
.checkout-breadcrumbs .divider { width: 40px; margin: 0 12px !important; }
.cart-container { padding-top: 20px !important; }
@media (max-width: 849px) {
  .checkout-page-title .page-title-inner { padding: 8px 0 !important; }
  .checkout-breadcrumbs a::before { width: 22px; height: 22px; font-size: 11px; }
  .checkout-breadcrumbs a.current { font-size: 12px !important; }
  .checkout-breadcrumbs .divider { width: 16px; margin: 0 6px !important; }
  .cart-container { padding-top: 14px !important; }
}

/* ---------- 9. Mobile fixes: steps + cart item rows ---------- */
@media (max-width: 849px) {
  /* steps: numbers only + current label, kept inside the container */
  .checkout-breadcrumbs { font-size: 0 !important; padding: 0 16px !important; flex-wrap: nowrap; }
  .checkout-breadcrumbs a { white-space: nowrap; }
  .checkout-breadcrumbs a.current { font-size: 12px !important; }

  /* cart: card rows instead of table */
  .woocommerce-cart-form table.shop_table thead { display: none !important; }
  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart-form table.shop_table tbody { display: block !important; }
  .woocommerce-cart-form tr.cart_item {
    display: grid !important;
    grid-template-columns: 84px 1fr auto;
    grid-template-areas: "thumb name name" "thumb qty price";
    column-gap: 14px;
    row-gap: 10px;
    align-items: center;
    position: relative;
    padding: 16px !important;
    border-top: 1px solid var(--vm-line);
  }
  .woocommerce-cart-form tr.cart_item:first-child { border-top: 0; }
  .woocommerce-cart-form tr.cart_item td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .woocommerce-cart-form tr.cart_item td::before { display: none !important; }
  .woocommerce-cart-form td.product-remove {
    position: absolute !important;
    top: 12px; right: 12px;
    z-index: 2;
  }
  .woocommerce-cart-form td.product-remove a.remove {
    width: 24px !important; height: 24px !important;
    font-size: 14px !important;
    background: var(--vm-soft-2) !important;
    border: 0 !important;
  }
  .woocommerce-cart-form td.product-thumbnail { grid-area: thumb; align-self: start; }
  .woocommerce-cart-form td.product-thumbnail img { width: 84px !important; max-width: 84px; height: 84px !important; object-fit: cover; }
  .woocommerce-cart-form td.product-name { grid-area: name; padding-right: 30px !important; }
  .woocommerce-cart-form td.product-name > a {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
  .woocommerce-cart-form td.product-name dl.variation {
    display: flex !important; flex-wrap: wrap; gap: 2px 8px;
    margin: 4px 0 0 !important; font-size: 12px !important;
  }
  .woocommerce-cart-form td.product-name dl.variation dt,
  .woocommerce-cart-form td.product-name dl.variation dd { margin: 0 !important; padding: 0 !important; float: none !important; }
  .woocommerce-cart-form td.product-name dl.variation dd p { margin: 0 !important; display: inline; }
  .woocommerce-cart-form td.product-name dl.variation img,
  .woocommerce-cart-form td.product-name .wcpa_cart_img,
  .woocommerce-cart-form td.product-name .mobile-product-price { display: none !important; }
  .woocommerce-cart-form td.product-price { display: none !important; }
  .woocommerce-cart-form td.product-quantity { grid-area: qty; }
  .woocommerce-cart-form td.product-subtotal { grid-area: price; text-align: right !important; font-size: 15px; }

  /* actions: keep Continue shopping, hide Update cart (auto-update via JS) */
  .woocommerce-cart-form tr:not(.cart_item) { display: block !important; }
  .woocommerce-cart-form td.actions { display: block !important; padding: 12px 16px !important; }
  .woocommerce-cart-form td.actions button[name="update_cart"] {
    position: absolute !important; width: 1px !important; height: 1px !important;
    overflow: hidden; clip: rect(0 0 0 0); padding: 0 !important; border: 0 !important;
  }
}
@media (max-width: 849px) {
  .woocommerce-cart-form tr.cart_item td.product-price { display: none !important; }
  .woocommerce-cart-form tr.cart_item td.product-remove {
    position: absolute !important; top: 10px !important; right: 10px !important; left: auto !important;
  }
  .woocommerce-cart-form tr.cart_item td.product-remove a.remove {
    margin: 0 !important; float: none !important; position: static !important;
    display: inline-flex !important; transform: none !important;
  }
}
/* Cart item options: one option per row (label : value), works for 3-4+ options */
.woocommerce-cart-form td.product-name dl.variation {
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 2px 6px !important;
  align-items: baseline;
  margin: 6px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.45;
}
.woocommerce-cart-form td.product-name dl.variation dt,
.woocommerce-cart-form td.product-name dl.variation dd {
  margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important;
}
.woocommerce-cart-form td.product-name dl.variation dt { font-weight: 600; color: var(--vm-muted); white-space: nowrap; }
.woocommerce-cart-form td.product-name dl.variation dd { color: var(--vm-ink); min-width: 0; }
.woocommerce-cart-form td.product-name dl.variation dd *,
.woocommerce-cart-form td.product-name dl.variation dd p {
  display: inline !important; margin: 0 !important; padding: 0 !important;
  float: none !important; width: auto !important; height: auto !important;
}
.woocommerce-cart-form td.product-name dl.variation dd img { display: none !important; }
/* Long option labels: label column capped at 45%, both columns wrap normally */
.woocommerce-cart-form td.product-name dl.variation {
  grid-template-columns: fit-content(45%) minmax(0, 1fr) !important;
  width: 100%;
}
.woocommerce-cart-form td.product-name dl.variation dt {
  white-space: normal !important;
  word-break: normal;
  line-height: 1.35;
}
.woocommerce-cart-form td.product-name dl.variation dd {
  word-break: normal !important;
  overflow-wrap: break-word;
  white-space: normal !important;
  line-height: 1.35;
}
.woocommerce-cart-form td.product-name dl.variation dd * { white-space: normal !important; word-break: normal !important; }
/* keep the desktop table inside its column */
@media (min-width: 850px) {
  .woocommerce-cart-form table.shop_table { table-layout: auto; width: 100% !important; }
  .woocommerce-cart-form td.product-name { width: 100%; max-width: 0; min-width: 200px; }
  .woocommerce-cart-form td.product-price,
  .woocommerce-cart-form td.product-quantity,
  .woocommerce-cart-form td.product-subtotal { width: 1%; white-space: nowrap; }
}
