/* ================================================================
   QuintecCBD — Cart Page Theme  (clean, on-brand)
================================================================ */

/* ── Page wrapper ── */
.woocommerce-cart .entry-content,
.woocommerce-cart .page-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 24px 80px;
    box-sizing: border-box;
}

/* ── Suppress ALL WooCommerce error notices on cart page ── */
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .wc-block-components-notices,
.woocommerce-cart .wc-block-components-notice-banner--error,
.woocommerce-cart .components-notice.is-error,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error {
    display: none !important;
}

/* ── Shipping bar ── */
.quintec-cart-ship-wrap {
    margin-bottom: 28px;
}
.quintec-ship-bar {
    border-radius: 14px;
    padding: 14px 22px;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    transition: all .35s ease;
    box-sizing: border-box;
}
.quintec-ship-bar--progress {
    background: #14321e;
    border: 1px solid rgba(201,164,86,.2);
}
.quintec-ship-bar--qualified {
    background: linear-gradient(135deg, #14321e 0%, #0d2015 100%);
    border: 1px solid rgba(201,164,86,.35);
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d4b56a;
    font-weight: 600;
}
.quintec-ship-bar--qualified svg { color: #d4b56a; flex-shrink: 0; }
.quintec-ship-bar--qualified strong { color: #f5d98a; }
.quintec-ship-text { color: rgba(255,255,255,.88); margin-bottom: 8px; font-size: 13px; }
.quintec-ship-text strong { color: #f5d98a; font-weight: 700; }
.quintec-ship-track {
    width: 100%; height: 6px;
    background: rgba(255,255,255,.1);
    border-radius: 99px; overflow: hidden;
}
.quintec-ship-fill {
    height: 100%;
    background: linear-gradient(90deg, #c9a456, #f5d98a);
    border-radius: 99px;
    transition: width .6s ease;
    min-width: 3px;
}

/* ================================================================
   CLASSIC CART TABLE — no dark headers
================================================================ */
.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Poppins', sans-serif;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 12px rgba(0,0,0,.06);
    border: 1px solid #e8e8e4;
}

/* Table headers — light grey, no dark bg */
.woocommerce-cart table.shop_table th {
    background: #f8f9fa !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 13px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid #e8e8e4 !important;
    border-radius: 0 !important;
}
.woocommerce-cart table.shop_table td {
    padding: 18px 20px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    color: #1a1a2e;
    font-size: 14px;
}
.woocommerce-cart table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce-cart table.shop_table tr:hover td { background: #fafafa; }

/* Product image */
.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 72px; height: 72px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #e8e8e4;
}
/* Product name */
.woocommerce-cart table.shop_table .product-name a {
    color: #1a1a2e; font-weight: 600;
    text-decoration: none; font-size: 14px; line-height: 1.4;
}
.woocommerce-cart table.shop_table .product-name a:hover { color: #14321e; }
/* Price */
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    font-weight: 700; color: #14321e; font-size: 15px;
}
/* Qty */
.woocommerce-cart .quantity .qty {
    border: 2px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important; width: 64px; text-align: center; color: #1a1a2e;
}
.woocommerce-cart .quantity .qty:focus {
    border-color: #14321e !important; outline: none;
    box-shadow: 0 0 0 3px rgba(20,50,30,.1);
}
/* Remove */
.woocommerce-cart .product-remove a {
    color: #d1d5db !important; font-size: 18px !important;
    font-weight: 700 !important; border: none !important;
    background: transparent; transition: color .2s;
}
.woocommerce-cart .product-remove a:hover { color: #ef4444 !important; }

/* Coupon + update */
.woocommerce-cart .actions {
    padding: 14px 20px; background: #f8f9fa;
    border-top: 1px solid #e8e8e4;
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap; gap: 12px;
}
.woocommerce-cart .coupon { display: flex; gap: 10px; align-items: center; }
.woocommerce-cart .coupon label { display: none; }
.woocommerce-cart .coupon #coupon_code {
    border: 2px solid #e5e7eb; border-radius: 8px;
    padding: 8px 14px; font-family: 'Poppins', sans-serif;
    font-size: 13px; color: #1a1a2e; outline: none; transition: border-color .2s;
}
.woocommerce-cart .coupon #coupon_code:focus { border-color: #14321e; }
.woocommerce-cart .coupon .button,
.woocommerce-cart .actions .button[name="update_cart"] {
    background: #14321e !important; color: #fff !important;
    border: none !important; border-radius: 8px !important;
    padding: 8px 18px !important; font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important;
    cursor: pointer !important; transition: background .2s !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart .actions .button[name="update_cart"]:hover {
    background: #1a4d2e !important;
}

/* ── Cart totals panel — no dark header ── */
.woocommerce-cart .cart_totals {
    background: #fff; border-radius: 16px;
    border: 1px solid #e8e8e4;
    box-shadow: 0 1px 12px rgba(0,0,0,.06);
    overflow: hidden; font-family: 'Poppins', sans-serif;
}
/* Remove dark header — replace with simple border-bottom */
.woocommerce-cart .cart_totals h2 {
    background: #f8f9fa !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 13px 24px !important;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    border-bottom: 1px solid #e8e8e4 !important;
    border-radius: 0 !important;
}
.woocommerce-cart .cart_totals table {
    width: 100%; border-collapse: collapse;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 14px 24px; border-bottom: 1px solid #f1f5f9;
    font-size: 14px; text-align: left;
}
.woocommerce-cart .cart_totals table th {
    background: transparent !important; color: #6b7280 !important;
    font-weight: 600 !important; font-size: 13px !important;
    letter-spacing: 0 !important; text-transform: none !important;
}
.woocommerce-cart .cart_totals table .order-total th,
.woocommerce-cart .cart_totals table .order-total td {
    font-weight: 800; font-size: 16px; color: #1a1a2e;
    border-bottom: none; background: #fff !important;
    padding-top: 18px; padding-bottom: 4px;
}
.woocommerce-cart .cart_totals table .order-total .amount {
    color: #14321e; font-size: 20px;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
    margin: 0; padding: 12px 24px; border-bottom: 1px solid #f1f5f9;
}

/* Proceed to Checkout — dark green, white text */
.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    margin: 16px 24px 24px !important;
    padding: 15px 24px !important;
    background: #14321e !important;
    color: #fff !important;
    border-radius: 10px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important; font-weight: 700 !important;
    text-align: center !important; text-decoration: none !important;
    letter-spacing: .02em !important;
    box-shadow: 0 4px 16px rgba(20,50,30,.2) !important;
    transition: all .2s !important; border: none !important;
    cursor: pointer !important; box-sizing: border-box !important;
    width: calc(100% - 48px) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #1a4d2e !important;
    box-shadow: 0 6px 20px rgba(20,50,30,.3) !important;
    transform: translateY(-1px) !important; color: #fff !important;
}

/* ================================================================
   BLOCK CART — no dark headers
================================================================ */
.wp-block-woocommerce-cart { font-family: 'Poppins', sans-serif !important; }

/* Column headers (Product / Total) */
.wc-block-cart-items__header {
    background: #f8f9fa !important;
    color: #6b7280 !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 12px 20px !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .12em !important; text-transform: uppercase !important;
    border-bottom: 1px solid #e8e8e4 !important;
}
.wc-block-cart-items__header span { color: #6b7280 !important; }

.wc-block-cart-items {
    background: #fff !important;
    border-radius: 0 0 12px 12px !important;
    border: 1px solid #e8e8e4 !important;
    border-top: none !important;
    box-shadow: 0 1px 12px rgba(0,0,0,.06) !important;
    margin-bottom: 24px !important;
}
.wc-block-cart-item__product-name {
    font-weight: 600 !important; color: #1a1a2e !important; font-size: 14px !important;
}
.wc-block-cart-item__product-name a { color: inherit !important; text-decoration: none !important; }
.wc-block-cart-item__total .wc-block-formatted-money-amount {
    color: #14321e !important; font-weight: 700 !important; font-size: 15px !important;
}

/* Save badge */
.wc-block-cart-item__sale-badge,
.wc-block-components-sale-badge {
    background: #14321e !important; color: #fff !important;
    border-radius: 6px !important; font-size: 11px !important;
    font-weight: 700 !important; padding: 3px 8px !important;
    font-family: 'Poppins', sans-serif !important;
}

/* Totals panel — CART TOTALS header: light grey, no dark bg */
.wc-block-components-totals-wrapper {
    background: #fff !important; border-radius: 16px !important;
    border: 1px solid #e8e8e4 !important;
    box-shadow: 0 1px 12px rgba(0,0,0,.06) !important;
    overflow: hidden !important;
}
.wc-block-cart__totals-title {
    background: #f8f9fa !important;
    color: #6b7280 !important;
    padding: 13px 24px !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .12em !important; text-transform: uppercase !important;
    font-family: 'Poppins', sans-serif !important;
    margin: 0 !important; border-radius: 0 !important;
    border-bottom: 1px solid #e8e8e4 !important;
}
.wc-block-components-totals-item {
    padding: 13px 24px !important; border-bottom: 1px solid #f1f5f9 !important;
    font-size: 14px !important;
}
.wc-block-components-totals-item:last-child { border-bottom: none !important; }

/* Estimated total row */
.wc-block-components-totals-item--total {
    background: #fff !important;
    border-top: 1px solid #e8e8e4 !important;
    padding: 16px 24px !important;
    font-weight: 800 !important;
}
.wc-block-components-totals-item--total .wc-block-components-totals-item__label {
    color: #1a1a2e !important; font-weight: 700 !important; font-size: 15px !important;
}
.wc-block-components-totals-item--total .wc-block-formatted-money-amount {
    color: #14321e !important; font-size: 18px !important; font-weight: 800 !important;
}

/* Proceed to Checkout — dark green, white text */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-button {
    background: #14321e !important; color: #fff !important;
    border-radius: 10px !important; padding: 15px 24px !important;
    font-size: 15px !important; font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(20,50,30,.2) !important;
    transition: all .2s !important;
    font-family: 'Poppins', sans-serif !important;
    letter-spacing: .02em !important;
    width: 100% !important; display: block !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover {
    background: #1a4d2e !important;
    box-shadow: 0 6px 20px rgba(20,50,30,.3) !important;
    transform: translateY(-1px) !important; color: #fff !important;
}

/* Qty stepper */
.wc-block-components-quantity-selector {
    border: 2px solid #e5e7eb !important; border-radius: 8px !important; overflow: hidden !important;
}
.wc-block-components-quantity-selector__button {
    background: transparent !important; border: none !important;
    color: #14321e !important; font-weight: 700 !important;
    font-size: 16px !important; cursor: pointer !important;
    padding: 6px 12px !important; transition: background .2s !important;
}
.wc-block-components-quantity-selector__button:hover {
    background: rgba(20,50,30,.08) !important; color: #14321e !important;
}
.wc-block-components-quantity-selector__value {
    border: none !important; text-align: center !important;
    font-family: 'Poppins', sans-serif !important;
    color: #1a1a2e !important; font-weight: 600 !important;
}

/* Remove button */
.wc-block-cart-item__remove-link {
    color: #d1d5db !important; font-size: 13px !important; transition: color .2s !important;
}
.wc-block-cart-item__remove-link:hover { color: #ef4444 !important; }

/* Add coupons */
.wc-block-components-totals-coupon__button {
    color: #14321e !important; font-weight: 600 !important;
    text-decoration: underline !important; font-size: 13px !important;
}

/* ── Empty cart ── */
.woocommerce-cart .cart-empty {
    text-align: center; padding: 60px 20px;
    color: #6b7280; font-family: 'Poppins', sans-serif;
}
.woocommerce-cart .return-to-shop .button {
    background: #14321e !important; color: #fff !important;
    border-radius: 8px !important; padding: 12px 28px !important;
    font-family: 'Poppins', sans-serif !important; font-weight: 600 !important;
    text-decoration: none !important; display: inline-block !important;
    margin-top: 16px !important; transition: background .2s !important;
}
.woocommerce-cart .return-to-shop .button:hover { background: #1a4d2e !important; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .woocommerce-cart .entry-content { padding: 24px 16px 60px; }
    .woocommerce-cart .cart_totals { margin-top: 24px; }
    .wc-block-components-totals-wrapper { margin-top: 24px; }
}

/* ================================================================
   CART PAGE — ADDITIONAL FIXES
================================================================ */

/* ── Outer page background & wrapper ── */
.woocommerce-cart body,
body.woocommerce-cart {
    background: #f5f5f0;
}
.wp-block-woocommerce-cart,
.wc-block-cart {
    background: transparent !important;
}

/* ── Block cart totals outer panel — remove beige bg ── */
.wp-block-woocommerce-cart-totals-block,
.wc-block-cart__sidebar {
    background: transparent !important;
}

/* ── Save badge — specific selectors only (no wildcard) ── */
.wc-block-cart-item__sale-badge,
.wc-block-components-sale-badge {
    background: #f0fdf4 !important;
    color: #14321e !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 6px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    font-family: 'Poppins', sans-serif !important;
    display: inline-block !important;
    margin-top: 4px !important;
    letter-spacing: .01em !important;
}

/* ── Cart item total column — fix dark bg bleeding through ── */
.wc-block-cart-item__total,
.wc-block-cart-item__total .wc-block-formatted-money-amount,
.wc-block-cart-item__total .wc-block-cart-item__prices {
    background: transparent !important;
    color: #14321e !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ── "Save $X" text inside total column ── */
.wc-block-cart-item__total .wc-block-cart-item__sale-badge {
    background: #f0fdf4 !important;
    color: #14321e !important;
    border: 1px solid #bbf7d0 !important;
    display: inline-block !important;
    white-space: nowrap !important;
}

/* ── Product price in cart — regular & sale ── */
.wc-block-cart-item__prices .wc-block-formatted-money-amount {
    color: #14321e !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}
.wc-block-cart-item__prices del .wc-block-formatted-money-amount {
    color: #9ca3af !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    text-decoration: line-through !important;
}
.wc-block-cart-item__prices ins .wc-block-formatted-money-amount,
.wc-block-cart-item__prices ins {
    text-decoration: none !important;
    color: #14321e !important;
}

/* ── Cart totals panel — clean white card ── */
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart-sidebar {
    background: #fff !important;
    border-radius: 16px !important;
    border: 1px solid #e8e8e4 !important;
    box-shadow: 0 1px 12px rgba(0,0,0,.06) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* CART TOTALS heading — light grey label, no dark bg */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block p,
.wp-block-woocommerce-cart-order-summary-heading-block {
    background: #f8f9fa !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    padding: 13px 24px !important;
    margin: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    border-bottom: 1px solid #e8e8e4 !important;
    border-radius: 0 !important;
    display: block !important;
}

/* Add coupon row */
.wc-block-components-totals-coupon,
.wc-block-components-totals-coupon__form {
    padding: 12px 24px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
.wc-block-components-totals-coupon-link {
    color: #14321e !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
}
.wc-block-components-totals-coupon__input input {
    border: 2px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
}
.wc-block-components-totals-coupon__input input:focus {
    border-color: #14321e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(20,50,30,.1) !important;
}
.wc-block-components-totals-coupon__button {
    background: #14321e !important;
    color: #fff !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 8px 16px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: background .2s !important;
}
.wc-block-components-totals-coupon__button:hover {
    background: #1a4d2e !important;
}

/* Estimated total row */
.wc-block-components-totals-item {
    padding: 13px 24px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    font-size: 14px !important;
}
.wc-block-components-totals-item:last-child { border-bottom: none !important; }
.wc-block-components-totals-item__label { color: #374151 !important; font-weight: 500 !important; }
.wc-block-components-totals-item__value { color: #14321e !important; font-weight: 700 !important; font-size: 15px !important; }

/* Estimated TOTAL (last row) — emphasized */
.wc-block-components-totals-item--total {
    background: #f8fffe !important;
    border-top: 2px solid #e8e8e4 !important;
    padding: 16px 24px !important;
}
.wc-block-components-totals-item--total .wc-block-components-totals-item__label {
    color: #1a1a2e !important; font-weight: 700 !important; font-size: 15px !important;
}
.wc-block-components-totals-item--total .wc-block-formatted-money-amount {
    color: #14321e !important; font-size: 20px !important; font-weight: 800 !important;
}

/* Proceed to checkout */
.wp-block-woocommerce-proceed-to-checkout-block,
.wc-block-cart__submit-container {
    padding: 0 24px 24px !important;
    background: #fff !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background: #14321e !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 15px 24px !important;
    font-size: 15px !important; font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(20,50,30,.2) !important;
    transition: all .2s !important;
    font-family: 'Poppins', sans-serif !important;
    letter-spacing: .02em !important;
    width: 100% !important; display: block !important;
    cursor: pointer !important; text-decoration: none !important;
    text-align: center !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover {
    background: #1a4d2e !important;
    box-shadow: 0 6px 20px rgba(20,50,30,.3) !important;
    transform: translateY(-1px) !important; color: #fff !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .wc-block-components-totals-wrapper { margin-top: 20px !important; }
}
/* ================================================================
   END ADDITIONAL FIXES
================================================================ */