/* ==========================================================================
   PARACHRONO CART SIDEBAR — v1.0
   
   AN Theme structure:
   div.sb-menu-right
     div.sb-close-btn > i.material-icons
     div#js-cart-sidebar.cart-preview
       div.cart-dropdown-wrapper
         div.cart-title > p.h4
         ul.cart-items > li.cart-product-line
           span.product-image > img
           div.product-infos
             a.product-name
             div.product-qty > div.product-qty-container
               div.quantity-down / input / div.quantity-up
             span.product-price
             span.product-quantity
           div.product-remove > a.remove-from-cart > i.material-icons
         div.cart-bottom
           div.cart-subtotals > div.total-line
           div.cart-total.total-line
           div.cart-action > a.btn.btn-primary
   ========================================================================== */

:root {
    --pc-cart-primary: #0891B2;
    --pc-cart-primary-dark: #0E7490;
    --pc-cart-primary-subtle: rgba(8, 145, 178, 0.06);
    --pc-cart-heading: #1A202C;
    --pc-cart-text: #4A5568;
    --pc-cart-text-light: #718096;
    --pc-cart-text-muted: #A0AEC0;
    --pc-cart-bg: #ffffff;
    --pc-cart-bg-light: #F7FAFC;
    --pc-cart-border: #E2E8F0;
    --pc-cart-border-light: #EDF2F7;
    --pc-cart-danger: #E53E3E;
    --pc-cart-success: #38A169;
    --pc-cart-radius: 10px;
    --pc-cart-radius-sm: 8px;
    --pc-cart-radius-xs: 6px;
    --pc-cart-shadow: 0 4px 24px rgba(0,0,0,0.12);
    --pc-cart-transition: 0.2s ease;
}

/* ── SIDEBAR CONTAINER ──────────────────────────────────────────── */
.sb-menu-right {
    background: var(--pc-cart-bg) !important;
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.15) !important;
    width: 420px !important;
    max-width: 92vw !important;
}

/* ── CLOSE BUTTON ───────────────────────────────────────────────── */
.sb-menu-right .sb-close-btn {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 10 !important;
    cursor: pointer !important;
    width: 32px !important;
    height: 32px !important;
}

.sb-menu-right .sb-close-btn i.material-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: var(--pc-cart-bg-light) !important;
    color: var(--pc-cart-text-light) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: all var(--pc-cart-transition) !important;
    border: 1px solid var(--pc-cart-border) !important;
    padding: 0 !important;
}

.sb-menu-right .sb-close-btn:hover i.material-icons {
    background: var(--pc-cart-border) !important;
    color: var(--pc-cart-heading) !important;
}

/* ── CART TITLE ──────────────────────────────────────────────────── */
.cart-dropdown-wrapper .cart-title {
    padding: 24px 24px 16px !important;
    border-bottom: 1px solid var(--pc-cart-border) !important;
    margin-bottom: 0 !important;
}

.cart-dropdown-wrapper .cart-title p.h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    margin: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}

/* ── CART ITEMS LIST ────────────────────────────────────────────── */
.cart-dropdown-wrapper ul.cart-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 320px) !important;
    scrollbar-width: thin !important;
    scrollbar-color: var(--pc-cart-border) transparent !important;
}

/* ── SINGLE PRODUCT LINE ────────────────────────────────────────── */
.cart-dropdown-wrapper li.cart-product-line {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid var(--pc-cart-border-light) !important;
    position: relative !important;
    transition: background var(--pc-cart-transition) !important;
}

.cart-dropdown-wrapper li.cart-product-line:hover {
    background: var(--pc-cart-bg-light) !important;
}

.cart-dropdown-wrapper li.cart-product-line:last-child {
    border-bottom: none !important;
}

/* ── PRODUCT IMAGE ──────────────────────────────────────────────── */
.cart-product-line span.product-image {
    flex-shrink: 0 !important;
    width: 72px !important;
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--pc-cart-bg-light) !important;
    border: 1px solid var(--pc-cart-border-light) !important;
    border-radius: var(--pc-cart-radius-sm) !important;
    overflow: hidden !important;
    padding: 4px !important;
}

.cart-product-line span.product-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
}

/* ── PRODUCT INFOS ──────────────────────────────────────────────── */
.cart-product-line div.product-infos {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* Product name */
.cart-product-line a.product-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--pc-cart-heading) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color var(--pc-cart-transition) !important;
    padding-right: 30px !important;
}

.cart-product-line a.product-name:hover {
    color: var(--pc-cart-primary) !important;
}

/* ── QUANTITY CONTROLS ──────────────────────────────────────────── */
.cart-product-line div.product-qty {
    margin: 0 !important;
}

.cart-product-line .product-qty-container {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--pc-cart-border) !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    overflow: hidden !important;
    height: 32px !important;
}

.cart-product-line .quantity-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 32px !important;
    background: var(--pc-cart-bg-light) !important;
    color: var(--pc-cart-text) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all var(--pc-cart-transition) !important;
    user-select: none !important;
    border: none !important;
    line-height: 1 !important;
}

.cart-product-line .quantity-button:hover {
    background: var(--pc-cart-primary-subtle) !important;
    color: var(--pc-cart-primary) !important;
}

.cart-product-line .product-qty-input {
    width: 36px !important;
    height: 32px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid var(--pc-cart-border) !important;
    border-right: 1px solid var(--pc-cart-border) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--pc-cart-heading) !important;
    background: var(--pc-cart-bg) !important;
    outline: none !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}

.cart-product-line .product-qty-input::-webkit-outer-spin-button,
.cart-product-line .product-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ── PRICE + QUANTITY TEXT ───────────────────────────────────────── */
.cart-product-line span.product-price {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    display: inline !important;
}

.cart-product-line span.product-quantity {
    display: none !important;
}

/* ── REMOVE BUTTON ──────────────────────────────────────────────── */
.cart-product-line div.product-remove {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    z-index: 2 !important;
}

.cart-product-line a.remove-from-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: var(--pc-cart-border-light) !important;
    color: var(--pc-cart-text-muted) !important;
    transition: all var(--pc-cart-transition) !important;
    text-decoration: none !important;
}

.cart-product-line a.remove-from-cart:hover {
    background: rgba(229, 62, 62, 0.12) !important;
    color: var(--pc-cart-danger) !important;
}

.cart-product-line a.remove-from-cart i.material-icons {
    font-size: 14px !important;
    line-height: 1 !important;
}

/* ── CART BOTTOM — Totals & CTA ─────────────────────────────────── */
.cart-dropdown-wrapper .cart-bottom {
    padding: 16px 24px 24px !important;
    background: var(--pc-cart-bg) !important;
    border-top: 1px solid var(--pc-cart-border) !important;
}

/* Subtotals */
.cart-bottom .cart-subtotals {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.cart-bottom .total-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 !important;
}

.cart-bottom .total-line .label {
    font-size: 13px !important;
    color: var(--pc-cart-text-light) !important;
    font-weight: 400 !important;
    background: none !important;
    padding: 0 !important;
    display: inline !important;
    border-radius: 0 !important;
}

.cart-bottom .total-line .value.price {
    font-size: 13px !important;
    color: var(--pc-cart-text) !important;
    font-weight: 500 !important;
}

/* Separator */
.cart-bottom hr {
    border: none !important;
    border-top: 1px solid var(--pc-cart-border) !important;
    margin: 12px 0 !important;
}

/* Grand total */
.cart-bottom .cart-total {
    padding: 0 !important;
    margin-bottom: 20px !important;
}

.cart-bottom .cart-total .label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    background: none !important;
    padding: 0 !important;
    display: inline !important;
    border-radius: 0 !important;
}

.cart-bottom .cart-total .value.price-total {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--pc-cart-heading) !important;
}

/* ── CHECKOUT BUTTON ────────────────────────────────────────────── */
.cart-bottom .cart-action {
    margin: 0 !important;
}

.cart-bottom .cart-action .btn.btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 24px !important;
    background: var(--pc-cart-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--pc-cart-radius-sm) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    transition: all var(--pc-cart-transition) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.cart-bottom .cart-action .btn.btn-primary:hover {
    background: var(--pc-cart-primary-dark) !important;
    box-shadow: 0 4px 16px rgba(8, 145, 178, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* Hide the caret icon if present */
.cart-bottom .cart-action .btn.btn-primary .caret-right {
    display: none !important;
}

/* ── EMPTY CART STATE ───────────────────────────────────────────── */
.cart-dropdown-wrapper .no-items,
.cart-dropdown-wrapper .cart-empty {
    text-align: center !important;
    padding: 48px 24px !important;
    color: var(--pc-cart-text-muted) !important;
    font-size: 15px !important;
}

/* ── FREE SHIPPING PROGRESS (if present) ────────────────────────── */
.cart-bottom .free-shipping-bar,
.cart-dropdown-wrapper .free-shipping {
    background: var(--pc-cart-bg-light) !important;
    border: 1px solid var(--pc-cart-border-light) !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
    color: var(--pc-cart-text-light) !important;
    text-align: center !important;
    margin-bottom: 12px !important;
}

.cart-bottom .free-shipping-bar .progress-bar,
.cart-dropdown-wrapper .free-shipping .progress-bar {
    background: var(--pc-cart-primary) !important;
    border-radius: 4px !important;
    height: 4px !important;
}

/* ── "Livraison gratuit" highlight ──────────────────────────────── */
.cart-bottom .total-line.shipping .value.price {
    color: var(--pc-cart-success) !important;
    font-weight: 600 !important;
}

/* ── OVERLAY BACKDROP ───────────────────────────────────────────── */
.sb-overlay {
    background: rgba(26, 32, 44, 0.4) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 480px) {
    .sb-menu-right {
        width: 100vw !important;
    }

    .cart-dropdown-wrapper .cart-title {
        padding: 20px 16px 14px !important;
    }

    .cart-dropdown-wrapper li.cart-product-line {
        padding: 14px 16px !important;
        gap: 10px !important;
    }

    .cart-product-line span.product-image {
        width: 60px !important;
        height: 60px !important;
    }

    .cart-product-line a.product-name {
        font-size: 12px !important;
    }

    .cart-bottom .cart-action .btn.btn-primary {
        padding: 12px 20px !important;
        font-size: 14px !important;
    }
}


/* ==========================================================================
   FULL CART PAGE — /panier?action=show
   
   Real AN Theme structure:
   div.cart-grid.row
     div.cart-grid-body.col-lg-8
       div.card.cart-container
         div.card-block > h1.h4
         hr.separator
         div.cart-overview.js-cart > ul.cart-items > li.cart-item
           div.product-line-grid
             div.product-line-grid-img.col-md-2 > span.product-image > img
             div.product-line-grid-left.col-md-6
               div.product-line-grid-body
                 div.product-line-info > a.label
                 div.product-line-price > span.price
             div.product-line-grid-right.product-line-actions.col-md-6
               div.row.vertical-centered
                 div.col-md-9 > div.row.qty-wrap
                   div.col-md-8 > div.qty > div.input-group.bootstrap-touchspin
                   div.col-md-4.price > span.product-price
                 div.col-md-3.remove-item-wrap > a.remove-from-cart > i.material-icons
       div.shopping-continue > a.btn.btn-primary
     div.cart-grid-right.col-lg-4
       div.card.cart-summary
         div.cart-detailed-totals > div.card-block
           div.cart-summary-line#cart-subtotal-products
           div.cart-summary-line#cart-subtotal-shipping
         div.card-block.cart-summary-totals > div.cart-total
         div.block-promo > div.cart-voucher
         div.checkout.cart-detailed-actions > a.btn.btn-primary
   ========================================================================== */

/* ── PAGE BACKGROUND ────────────────────────────────────────────── */
body#cart #wrapper {
    background: var(--pc-cart-bg-light) !important;
}

/* ── CART GRID LAYOUT ───────────────────────────────────────────── */
.cart-grid {
    gap: 24px !important;
}

/* ── LEFT: CART CONTAINER ───────────────────────────────────────── */
.cart-grid-body .card.cart-container {
    background: var(--pc-cart-bg) !important;
    border: 1px solid var(--pc-cart-border-light) !important;
    border-radius: var(--pc-cart-radius) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03) !important;
    overflow: hidden !important;
}

/* Cart title */
.cart-container > .card-block {
    padding: 20px 24px !important;
}

.cart-container .card-block h1.h4 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}

.cart-container hr.separator {
    border: none !important;
    border-top: 1px solid var(--pc-cart-border-light) !important;
    margin: 0 !important;
}

/* ── CART ITEMS LIST ────────────────────────────────────────────── */
.cart-container ul.cart-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── SINGLE CART ITEM ───────────────────────────────────────────── */
.cart-container li.cart-item {
    border-bottom: 1px solid var(--pc-cart-border-light) !important;
    transition: background var(--pc-cart-transition) !important;
}

.cart-container li.cart-item:last-child {
    border-bottom: none !important;
}

.cart-container li.cart-item:hover {
    background: var(--pc-cart-bg-light) !important;
}

/* Product line grid — override Bootstrap row */
.cart-container .product-line-grid {
    display: flex !important;
    align-items: center !important;
    padding: 16px 24px !important;
    gap: 0 !important;
    margin: 0 !important;
}

.cart-container .product-line-grid .clearfix {
    display: none !important;
}

/* ── PRODUCT IMAGE — col-md-2 ───────────────────────────────────── */
.cart-container .product-line-grid-img {
    flex: 0 0 80px !important;
    width: 80px !important;
    max-width: 80px !important;
    padding: 0 8px 0 0 !important;
}

.cart-container .product-line-grid-img .product-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 72px !important;
    background: var(--pc-cart-bg-light) !important;
    border: 1px solid var(--pc-cart-border-light) !important;
    border-radius: var(--pc-cart-radius-sm) !important;
    overflow: hidden !important;
    padding: 6px !important;
}

.cart-container .product-line-grid-img img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
}

/* ── PRODUCT INFO — col-md-6 (left) ─────────────────────────────── */
.cart-container .product-line-grid-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 16px 0 8px !important;
}

.cart-container .product-line-info a.label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pc-cart-heading) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: block !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    white-space: normal !important;
    transition: color var(--pc-cart-transition) !important;
}

.cart-container .product-line-info a.label:hover {
    color: var(--pc-cart-primary) !important;
}

/* Unit price below name */
.cart-container .product-line-price {
    margin-top: 4px !important;
}

.cart-container .product-line-price .price {
    font-size: 13px !important;
    color: var(--pc-cart-text-light) !important;
    font-weight: 400 !important;
}

/* ── QTY + TOTAL + REMOVE — col-md-6 (right) ───────────────────── */
.cart-container .product-line-grid-right.product-line-actions {
    flex: 0 0 auto !important;
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
}

.cart-container .product-line-grid-right .row.vertical-centered {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

.cart-container .product-line-grid-right .row.vertical-centered > .col-md-9 {
    flex: 1 !important;
    max-width: none !important;
    padding: 0 !important;
    width: auto !important;
}

.cart-container .qty-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
}

.cart-container .qty-wrap > .col-md-8 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.cart-container .qty-wrap > .col-md-4.price {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 0 0 16px !important;
}

/* ── TOUCHSPIN QUANTITY ─────────────────────────────────────────── */
.cart-container .input-group.bootstrap-touchspin {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1px solid var(--pc-cart-border) !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    overflow: hidden !important;
    background: var(--pc-cart-bg) !important;
    width: auto !important;
    flex-wrap: nowrap !important;
}

/* Hide prefix/postfix addons */
.cart-container .bootstrap-touchspin-prefix,
.cart-container .bootstrap-touchspin-postfix {
    display: none !important;
}

.cart-container .bootstrap-touchspin .form-control {
    width: 44px !important;
    height: 36px !important;
    text-align: center !important;
    border: none !important;
    border-right: 1px solid var(--pc-cart-border-light) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--pc-cart-heading) !important;
    background: var(--pc-cart-bg) !important;
    padding: 0 !important;
    outline: none !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    float: none !important;
}

.cart-container .bootstrap-touchspin .form-control::-webkit-outer-spin-button,
.cart-container .bootstrap-touchspin .form-control::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
}

/* Up/Down button stack */
.cart-container .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    white-space: nowrap !important;
    width: auto !important;
}

.cart-container .btn-touchspin {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 18px !important;
    background: var(--pc-cart-bg-light) !important;
    border: none !important;
    border-bottom: 1px solid var(--pc-cart-border-light) !important;
    cursor: pointer !important;
    transition: all var(--pc-cart-transition) !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
}

.cart-container .btn-touchspin:last-child {
    border-bottom: none !important;
}

.cart-container .btn-touchspin:hover {
    background: var(--pc-cart-primary-subtle) !important;
}

.cart-container .btn-touchspin i.material-icons {
    font-size: 14px !important;
    color: var(--pc-cart-text-light) !important;
    line-height: 1 !important;
}

.cart-container .btn-touchspin:hover i.material-icons {
    color: var(--pc-cart-primary) !important;
}

/* ── LINE TOTAL PRICE ───────────────────────────────────────────── */
.cart-container .qty-wrap .price span.product-price {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    white-space: nowrap !important;
}

/* ── REMOVE BUTTON ──────────────────────────────────────────────── */
.cart-container .remove-item-wrap {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 0 0 12px !important;
}

.cart-container .cart-line-product-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cart-container .cart-line-product-actions .remove-from-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: var(--pc-cart-border-light) !important;
    color: var(--pc-cart-text-muted) !important;
    text-decoration: none !important;
    transition: all var(--pc-cart-transition) !important;
    padding: 0 !important;
}

.cart-container .cart-line-product-actions .remove-from-cart:hover {
    background: rgba(229, 62, 62, 0.1) !important;
    color: var(--pc-cart-danger) !important;
}

.cart-container .cart-line-product-actions .remove-from-cart i.material-icons {
    font-size: 16px !important;
    line-height: 1 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── CONTINUE SHOPPING ──────────────────────────────────────────── */
.cart-grid-body .shopping-continue {
    margin-top: 16px !important;
}

.cart-grid-body .shopping-continue .btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--pc-cart-text-light) !important;
    background: var(--pc-cart-bg) !important;
    border: 1px solid var(--pc-cart-border) !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    text-decoration: none !important;
    transition: all var(--pc-cart-transition) !important;
}

.cart-grid-body .shopping-continue .btn:hover {
    border-color: var(--pc-cart-primary) !important;
    color: var(--pc-cart-primary) !important;
    background: var(--pc-cart-bg) !important;
}

.cart-grid-body .shopping-continue .btn i.material-icons {
    font-size: 18px !important;
}

/* ==========================================================================
   RIGHT: CART SUMMARY
   ========================================================================== */
.cart-grid-right .card.cart-summary {
    background: var(--pc-cart-bg) !important;
    border: 1px solid var(--pc-cart-border-light) !important;
    border-radius: var(--pc-cart-radius) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 20px !important;
}

/* ── SUBTOTAL LINES ─────────────────────────────────────────────── */
.cart-detailed-totals > .card-block {
    padding: 20px 24px 12px !important;
}

.cart-summary .cart-summary-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 6px 0 !important;
}

.cart-summary .cart-summary-line .label {
    font-size: 14px !important;
    color: var(--pc-cart-text-light) !important;
    font-weight: 400 !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
}

.cart-summary .cart-summary-line .value {
    font-size: 14px !important;
    color: var(--pc-cart-text) !important;
    font-weight: 500 !important;
}

/* Free shipping highlight */
#cart-subtotal-shipping .value {
    color: var(--pc-cart-success) !important;
    font-weight: 600 !important;
}

/* ── TOTAL ───────────────────────────────────────────────────────── */
.cart-summary .card-block.cart-summary-totals {
    padding: 12px 24px 16px !important;
    border-top: 2px solid var(--pc-cart-border) !important;
}

.cart-summary .cart-summary-totals .cart-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 !important;
}

.cart-summary .cart-total .label {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--pc-cart-heading) !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: inline !important;
}

.cart-summary .cart-total .value {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--pc-cart-heading) !important;
}

/* ── PROMO CODE ─────────────────────────────────────────────────── */
.cart-summary .block-promo {
    border-top: 1px solid var(--pc-cart-border-light) !important;
}

.cart-summary .cart-voucher {
    padding: 16px 24px !important;
}

.cart-voucher .promo-code-button {
    font-size: 13px !important;
    color: var(--pc-cart-primary) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.cart-voucher .promo-code-button:hover {
    text-decoration: underline !important;
}

.cart-voucher .promo-input {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid var(--pc-cart-border) !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    font-size: 13px !important;
    color: var(--pc-cart-text) !important;
    outline: none !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
    transition: border-color var(--pc-cart-transition) !important;
}

.cart-voucher .promo-input:focus {
    border-color: var(--pc-cart-primary) !important;
    box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.1) !important;
}

.cart-voucher form .btn {
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    background: var(--pc-cart-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--pc-cart-radius-xs) !important;
    cursor: pointer !important;
    transition: all var(--pc-cart-transition) !important;
}

.cart-voucher form .btn:hover {
    background: var(--pc-cart-primary-dark) !important;
}

/* ── CHECKOUT BUTTON ────────────────────────────────────────────── */
.cart-summary .checkout.cart-detailed-actions {
    padding: 16px 24px 24px !important;
    border-top: 1px solid var(--pc-cart-border-light) !important;
}

.cart-detailed-actions .btn.btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--pc-cart-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--pc-cart-radius-sm) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    transition: all var(--pc-cart-transition) !important;
    text-decoration: none !important;
}

.cart-detailed-actions .btn.btn-primary:hover {
    background: var(--pc-cart-primary-dark) !important;
    box-shadow: 0 4px 16px rgba(8, 145, 178, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* ── STRIPE EXPRESS CHECKOUT ────────────────────────────────────── */
.cart-detailed-actions #stripe-express-checkout-element {
    margin-top: 12px !important;
}

/* ── CART PAGE RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 991px) {
    .cart-grid-right .card.cart-summary {
        position: static !important;
    }
}

@media (max-width: 767px) {
    .cart-container .product-line-grid {
        flex-wrap: wrap !important;
        padding: 14px 16px !important;
    }

    .cart-container .product-line-grid-img {
        flex: 0 0 64px !important;
        width: 64px !important;
        max-width: 64px !important;
    }

    .cart-container .product-line-grid-img .product-image {
        width: 56px !important;
        height: 56px !important;
    }

    .cart-container .product-line-grid-left {
        flex: 1 1 0 !important;
    }

    .cart-container .product-line-info a.label {
        font-size: 13px !important;
    }

    .cart-container .product-line-grid-right.product-line-actions {
        width: 100% !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        margin-top: 8px !important;
    }

    .cart-detailed-totals > .card-block {
        padding: 16px !important;
    }

    .cart-summary .card-block.cart-summary-totals {
        padding: 12px 16px !important;
    }

    .cart-summary .checkout.cart-detailed-actions {
        padding: 12px 16px 20px !important;
    }

    .cart-detailed-actions .btn.btn-primary {
        padding: 14px 20px !important;
        font-size: 14px !important;
    }
}
