/* ---------- Drawer shell: true full-height flex column ---------- */
#shoptimizerCartDrawer.shoptimizer-mini-cart-wrap {
    top: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    width: 430px !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #f8fafc !important;
    border-left: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
    font-family: var(--dv-font-sans, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif) !important;
    touch-action: pan-y;
    /* Closed: park the full 430px drawer (plus its shadow) completely off-screen.
       Shoptimizer only offsets it by -420px, which left a 10px sliver + shadow visible
       along the right edge of every page. */
    right: -480px !important;
    visibility: hidden;
    transition: right 0.32s cubic-bezier(0.16, 1, 0.3, 1), transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, visibility 0s linear 0.32s !important;
}
body.drawer-open #shoptimizerCartDrawer.shoptimizer-mini-cart-wrap {
    right: 0 !important;
    visibility: visible;
    box-shadow: -14px 0 40px rgba(6, 40, 61, 0.28) !important;
    transition: right 0.32s cubic-bezier(0.16, 1, 0.3, 1), transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, visibility 0s linear 0s !important;
}
@media (min-width: 783px) {
    .admin-bar #shoptimizerCartDrawer.shoptimizer-mini-cart-wrap { top: 32px !important; }
}
@media (min-width: 601px) and (max-width: 782px) {
    .admin-bar #shoptimizerCartDrawer.shoptimizer-mini-cart-wrap { top: 46px !important; }
}
@media (max-width: 480px) {
    #shoptimizerCartDrawer.shoptimizer-mini-cart-wrap { width: 100% !important; }
}
#shoptimizerCartDrawer.dv-drawer-swiping { transition: none !important; }
#shoptimizerCartDrawer a, #shoptimizerCartDrawer img { -webkit-user-drag: none; }

/* Header */
#shoptimizerCartDrawer .cart-drawer-heading {
    position: relative !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 15px 56px 15px 20px !important;
    background: linear-gradient(135deg, #06283d 0%, #0b3c78 55%, #1363df 100%) !important;
    border-bottom: 1px solid rgba(71, 181, 255, 0.28) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    letter-spacing: -0.01em !important;
    display: flex !important;
    align-items: center !important;
    min-height: 54px !important;
}
#shoptimizerCartDrawer .close-drawer {
    position: absolute !important;
    top: 11px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    cursor: pointer !important;
    transition: background 0.18s ease, border-color 0.18s ease, transform 0.15s ease !important;
    z-index: 25 !important;
}
#shoptimizerCartDrawer .close-drawer:hover,
#shoptimizerCartDrawer .close-drawer:focus-visible {
    background: rgba(255, 255, 255, 0.24) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: #ffffff !important;
}
#shoptimizerCartDrawer .close-drawer:active {
    transform: scale(0.94) !important;
}
#shoptimizerCartDrawer .close-drawer span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    pointer-events: none !important;
}
#shoptimizerCartDrawer .close-drawer svg {
    display: block !important;
    stroke: #ffffff !important;
    stroke-width: 2 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
}

/* Widget → fills remaining height; inner content is the 3-zone column */
#shoptimizerCartDrawer .widget_shopping_cart {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #f8fafc !important;
}
#shoptimizerCartDrawer .widget_shopping_cart_content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
/* Empty-state scrolls normally */
#shoptimizerCartDrawer .widget_shopping_cart_content:not(:has(.dv-mc-list)) {
    overflow-y: auto !important;
    padding: 0 20px 24px !important;
}

/* ---------- Zone 1: pinned top ---------- */
.dv-mc-top-pinned {
    flex: 0 0 auto !important;
    padding: 10px 14px 12px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 8px rgba(6, 40, 61, 0.04) !important;
    position: relative;
    z-index: 3;
}
.dv-mc-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}
.dv-mc-count-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #06283d !important;
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
}
.dv-mc-count-pill svg { width: 13px !important; height: 13px !important; color: #1363df !important; }
.dv-mc-swipe-hint {
    display: none;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #94a3b8;
    font-weight: 500;
    white-space: nowrap;
    min-width: 0;
    flex: 0 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dv-mc-swipe-hint svg { width: 12px; height: 12px; flex-shrink: 0; }
@media (hover: none) and (pointer: coarse) { .dv-mc-swipe-hint { display: inline-flex; } }
button.dv-mc-clear-btn {
    margin: 0 0 0 auto !important;
    padding: 4px 10px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    background: transparent !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    color: #64748b !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}
button.dv-mc-clear-btn:hover { background: #fef2f2 !important; border-color: #fecaca !important; color: #dc2626 !important; }

/* Unified Goals card */
.dv-mc-goals {
    border-radius: 12px;
    padding: 10px 12px 30px;
    border: 1px solid #dbeafe;
    background: linear-gradient(145deg, #f8fafc 0%, #eff6ff 100%);
}
.dv-mc-goals--locked   { border-color: #bfdbfe; background: linear-gradient(145deg, #f8fafc 0%, #eff6ff 100%); }
.dv-mc-goals--progress { border-color: #93c5fd; background: linear-gradient(145deg, #f0f9ff 0%, #e0f2fe 100%); }
.dv-mc-goals--complete { border-color: #a7f3d0; background: linear-gradient(145deg, #ecfdf5 0%, #d1fae5 100%); }
.dv-mc-goals-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.dv-mc-goals-icon {
    flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center; color: #fff;
}
.dv-mc-goals-icon svg { width: 16px; height: 16px; }
.dv-mc-goals--locked .dv-mc-goals-icon   { background: linear-gradient(135deg, #06283d 0%, #1363df 100%); }
.dv-mc-goals--progress .dv-mc-goals-icon { background: #1363df; }
.dv-mc-goals--complete .dv-mc-goals-icon { background: #10b981; }
.dv-mc-goals-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.dv-mc-goals-title { font-size: 13.5px; font-weight: 700; color: #06283d; }
.dv-mc-goals-title strong, .dv-mc-goals-title .amount { font-weight: 800; color: #1363df; }
.dv-mc-goals--complete .dv-mc-goals-title strong, .dv-mc-goals--complete .dv-mc-goals-title .amount { color: #047857; }
.dv-mc-goals-sub { font-size: 11.5px; color: #64748b; margin-top: 1px; }
.dv-mc-goals-sub .amount { font-weight: 700; color: #334155; }

.dv-mc-track {
    position: relative;
    height: 8px;
    margin: 0 12px 0 4px;
    border-radius: 999px;
    background: rgba(6, 40, 61, 0.1);
}
.dv-mc-track-fill {
    position: absolute; left: 0; top: 0; bottom: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #1363df 0%, #10b981 100%);
    transition: width 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.dv-mc-goals--locked .dv-mc-track-fill { background: linear-gradient(90deg, #06283d 0%, #1363df 65%, #47b5ff 100%); }
.dv-mc-goal { position: absolute; top: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; }
.dv-mc-goal-dot {
    width: 22px; height: 22px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #ffffff; color: #94a3b8;
    border: 2px solid #cbd5e1;
    box-shadow: 0 2px 6px rgba(6, 40, 61, 0.12);
    transition: all 0.25s ease;
}
.dv-mc-goal-dot svg { width: 11px; height: 11px; }
.dv-mc-goal.is-reached .dv-mc-goal-dot { background: #10b981; border-color: #10b981; color: #ffffff; }
.dv-mc-goal-label {
    position: absolute; top: 25px;
    font-size: 10.5px; font-weight: 600; color: #64748b; white-space: nowrap;
}
.dv-mc-goal-label b, .dv-mc-goal-label .amount { font-weight: 800; color: #06283d; }
.dv-mc-goal:last-child .dv-mc-goal-label { right: -10px; }
.dv-mc-goal.is-reached .dv-mc-goal-label { color: #047857; }

/* Undo bar */
.dv-mc-undo-bar {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin: 10px 14px 0;
    padding: 9px 10px 9px 13px;
    background: #06283d; color: #ffffff;
    border-radius: 11px;
    font-size: 12.5px; font-weight: 600;
    box-shadow: 0 6px 16px rgba(6, 40, 61, 0.22);
    animation: dvMcSlideIn 0.22s ease;
}
@keyframes dvMcSlideIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.dv-mc-undo-text { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #e2e8f0; }
button.dv-mc-undo-btn {
    flex: 0 0 auto; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
    padding: 5px 12px !important; border: 0 !important; border-radius: 999px !important;
    background: #10b981 !important; color: #fff !important; font-size: 12px !important; font-weight: 700 !important; cursor: pointer;
}

/* ---------- Zone 2: scrollable item list ---------- */
#shoptimizerCartDrawer .widget_shopping_cart ul.dv-mc-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 12px 14px 20px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    scrollbar-width: thin;
}
#shoptimizerCartDrawer .woocommerce-mini-cart.cart_list:before { display: none !important; }

#shoptimizerCartDrawer .widget_shopping_cart li.dv-mc-item {
    position: relative !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: transparent !important;
    min-height: 0 !important;
    font-size: 13px !important;
    transition: max-height 0.26s ease, opacity 0.22s ease, margin 0.26s ease !important;
}
/* Red "Remove" layer: hidden everywhere by default (prevents red flashes during cart refreshes
   or if the mini-cart markup renders outside the drawer). Only shown while swiping / revealed. */
.dv-mc-swipe-action {
    display: none;
}
#shoptimizerCartDrawer .dv-mc-item.dv-mc-dragging .dv-mc-swipe-action,
#shoptimizerCartDrawer .dv-mc-item.is-swiped-open .dv-mc-swipe-action,
#shoptimizerCartDrawer .dv-mc-item.dv-mc-flying .dv-mc-swipe-action {
    position: absolute; inset: 1px;
    display: flex; align-items: center; justify-content: flex-end;
    border-radius: 13px;
    background: linear-gradient(90deg, #f87171 0%, #dc2626 100%);
    padding-right: 6px;
    z-index: 0;
}
button.dv-mc-swipe-remove {
    width: 84px !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; color: #fff !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 3px !important;
    font-size: 11.5px !important; font-weight: 700 !important; cursor: pointer;
}
button.dv-mc-swipe-remove svg { width: 18px; height: 18px; transition: transform 0.2s ease; }
.dv-mc-item.dv-mc-past-threshold button.dv-mc-swipe-remove svg { transform: scale(1.25); }

.dv-mc-card {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 12px;
    padding: 12px 12px 12px 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(6, 40, 61, 0.04);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}
.dv-mc-item.dv-mc-dragging .dv-mc-card { transition: none; will-change: transform; }
.dv-mc-item.dv-mc-updating { opacity: 0.55 !important; pointer-events: none; }
.dv-mc-item.dv-mc-removing { max-height: 0 !important; opacity: 0 !important; margin-top: -10px !important; }

.dv-mc-thumb { flex: 0 0 60px; width: 60px; height: 60px; border-radius: 10px; background: #f8fafc; border: 1px solid #f1f5f9; overflow: hidden; display: block; }
#shoptimizerCartDrawer .dv-mc-thumb img {
    width: 100% !important; max-width: 100% !important; height: 100% !important;
    object-fit: contain !important; margin: 0 !important; float: none !important; padding: 3px !important;
}
.dv-mc-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.dv-mc-title-row { display: flex; align-items: flex-start; gap: 8px; }
#shoptimizerCartDrawer .dv-mc-title {
    flex: 1 1 auto; min-width: 0;
    font-size: 13.5px !important; font-weight: 700 !important; color: #06283d !important;
    line-height: 1.3 !important; margin: 0 !important; text-decoration: none !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
#shoptimizerCartDrawer .dv-mc-title:hover { color: #1363df !important; }
#shoptimizerCartDrawer .dv-mc-title-row a.remove {
    position: static !important;
    flex: 0 0 22px; width: 22px !important; height: 22px !important;
    border-radius: 50% !important; background: #f1f5f9 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    margin: -2px -2px 0 0 !important;
}
#shoptimizerCartDrawer .dv-mc-title-row a.remove:before { width: 10px !important; height: 10px !important; background-color: #64748b !important; }
#shoptimizerCartDrawer .dv-mc-title-row a.remove:hover { background: #fee2e2 !important; }
#shoptimizerCartDrawer .dv-mc-title-row a.remove:hover:before { background-color: #dc2626 !important; }

#shoptimizerCartDrawer .dv-mc-body dl.variation {
    display: inline-flex !important; flex-wrap: wrap !important; align-self: flex-start;
    gap: 4px !important; margin: 5px 0 0 !important; padding: 2px 8px !important;
    background: #f1f5f9 !important; border: 1px solid #e2e8f0 !important; border-radius: 6px !important;
    font-size: 11.5px !important; line-height: 1.35 !important; color: #334155 !important;
}
#shoptimizerCartDrawer .dv-mc-body dl.variation dt,
#shoptimizerCartDrawer .dv-mc-body dl.variation dd,
#shoptimizerCartDrawer .dv-mc-body dl.variation p {
    display: inline !important; float: none !important; margin: 0 !important; padding: 0 !important;
    font-size: 11.5px !important; color: #334155 !important;
}
#shoptimizerCartDrawer .dv-mc-body dl.variation dt { display: none !important; }
#shoptimizerCartDrawer .dv-mc-body dl.variation dd { font-weight: 600 !important; }
#shoptimizerCartDrawer .dv-mc-body dl.variation dd + dt + dd::before {
    content: "\2022";
    margin-right: 4px;
    color: #94a3b8;
    font-weight: 400;
}

.dv-mc-qty-row { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; margin-top: 8px !important; min-width: 0 !important; width: 100% !important; }
.dv-mc-stepper {
    display: inline-flex !important; align-items: center !important; gap: 2px !important; padding: 2px !important;
    background: #f8fafc !important; border: 1.5px solid #cbd5e1 !important; border-radius: 999px !important;
    flex: 0 0 auto !important;
}
button.dv-mc-step-btn {
    width: 28px !important; min-width: 28px !important; height: 28px !important; min-height: 28px !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
    background: #ffffff !important; color: #06283d !important;
    font-size: 15px !important; font-weight: 700 !important; line-height: 1 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    box-shadow: 0 1px 2px rgba(6, 40, 61, 0.1) !important; cursor: pointer !important;
}
button.dv-mc-step-btn:hover:not(:disabled) { background: #1363df !important; color: #ffffff !important; }
button.dv-mc-minus:has(svg):hover:not(:disabled) { background: #dc2626 !important; }
button.dv-mc-step-btn:active:not(:disabled) { transform: scale(0.9) !important; }
button.dv-mc-step-btn:disabled { opacity: 0.35 !important; cursor: not-allowed !important; }
.dv-mc-qty-val { min-width: 26px !important; text-align: center !important; font-size: 13px !important; font-weight: 800 !important; color: #06283d !important; }
.dv-mc-price-meta { display: flex !important; flex-direction: column !important; align-items: flex-end !important; line-height: 1.2 !important; flex: 0 0 auto !important; margin-left: auto !important; }
.dv-mc-line-total, .dv-mc-line-total .amount { font-size: 14px !important; font-weight: 800 !important; color: #06283d !important; }
.dv-mc-unit-price, .dv-mc-unit-price .amount { font-size: 10.5px !important; color: #94a3b8 !important; font-weight: 500 !important; }

/* ---------- Zone 3: sticky checkout dock with safe-area padding ---------- */
.dv-mc-dock {
    flex: 0 0 auto !important;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: 0 -6px 18px rgba(6, 40, 61, 0.07) !important;
    padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    position: relative;
    z-index: 3;
}
#shoptimizerCartDrawer .dv-mc-dock p.total {
    margin: 0 0 10px !important; padding: 0 !important; border: 0 !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    font-size: 15px !important; font-weight: 800 !important; color: #06283d !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.total strong,
#shoptimizerCartDrawer .dv-mc-dock p.total .woocommerce-Price-amount { float: none !important; }
#shoptimizerCartDrawer .dv-mc-dock p.total > .woocommerce-Price-amount { order: 2 !important; }
#shoptimizerCartDrawer .dv-mc-dock p.total strong { font-size: 13px !important; font-weight: 600 !important; color: #64748b !important; order: 0 !important; }
#shoptimizerCartDrawer .dv-mc-dock p.buttons {
    margin: 0 !important; padding: 0 !important;
    display: flex !important; gap: 10px !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button {
    margin: 0 !important; height: 48px !important; line-height: 1.2 !important;
    border-radius: 12px !important; font-size: 14px !important; font-weight: 700 !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
    text-align: center !important; padding: 0 14px !important; white-space: nowrap !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons a.button:not(.checkout) {
    flex: 0 0 34% !important; background: #f1f5f9 !important; border: 1.5px solid #cbd5e1 !important; color: #06283d !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button.checkout {
    flex: 1 1 auto !important; border: 0 !important; color: #fff !important;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.32) !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button.checkout:hover { filter: brightness(1.05); }
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button.dv-mc-checkout-locked {
    background: #e2e8f0 !important; color: #475569 !important; box-shadow: none !important; cursor: not-allowed !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button.dv-mc-checkout-locked:before {
    display: none !important;
}
#shoptimizerCartDrawer .dv-mc-dock p.buttons .button.dv-mc-checkout-locked .amount { color: #06283d; font-weight: 800; }
#shoptimizerCartDrawer .dv-mc-dock .cart-drawer-below { padding: 10px 0 0 !important; font-size: 11.5px !important; color: #64748b; }
#shoptimizerCartDrawer .dv-mc-dock .cart-drawer-below img { max-width: 70% !important; margin: 4px auto 0 !important; }

/* Hide any stray CommerceKit free-shipping bar inside the drawer (merged into Goals card). */
#shoptimizerCartDrawer .cgkit-fsn-bar { display: none !important; }

/* Single product ATC success state */
button.single_add_to_cart_button.dv-atc-success-state {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    border-color: #059669 !important; color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(16, 185, 129, 0.35) !important;
}

/* ---------- WDR Inline Deal Chip (Inside Item Row) & Subtotal Savings Pill ---------- */
.dv-mc-wdr-savings-pill {
    order: 1 !important;
    margin: 0 auto 0 8px !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    background: #ecfdf5 !important;
    border: 1px solid #6ee7b7 !important;
    color: #065f46 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}
.dv-mc-wdr-savings-pill .amount {
    font-weight: 800 !important;
    color: #047857 !important;
    font-size: 11px !important;
}
.dv-mc-item-deal-saved {
    flex: 0 0 auto !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    color: #047857 !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}
.dv-mc-item-deal-saved .amount {
    color: #047857 !important;
    font-weight: 800 !important;
}
#shoptimizerCartDrawer .dv-mc-unit-price {
    white-space: nowrap !important;
}
#shoptimizerCartDrawer .dv-mc-unit-price .awdr_cart_strikeout_line,
#shoptimizerCartDrawer .dv-mc-unit-price .awdr_cart_strikeout_line ins {
    display: inline !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
/* Hide the redundant crossed-out regular unit price inside the small unit-price subtitle
   so activating a WDR tier (e.g. qty=8 on SKE 600) doesn't widen .dv-mc-unit-price by +37px
   and push .dv-mc-price-meta outside .dv-mc-card on mobile viewports. */
#shoptimizerCartDrawer .dv-mc-unit-price del,
#shoptimizerCartDrawer .dv-mc-unit-price .awdr_cart_strikeout_line del {
    display: none !important;
}
#shoptimizerCartDrawer .dv-mc-line-total .awdr-you-saved-text,
#shoptimizerCartDrawer .dv-mc-line-total br {
    display: none !important;
}
@media (max-width: 480px) {
    #shoptimizerCartDrawer .widget_shopping_cart ul.dv-mc-list {
        padding: 10px 12px 18px !important;
    }
    #shoptimizerCartDrawer .dv-mc-card {
        padding: 10px !important;
        gap: 10px !important;
    }
    #shoptimizerCartDrawer .dv-mc-thumb {
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
    }
    #shoptimizerCartDrawer .dv-mc-qty-row {
        gap: 6px !important;
    }
    #shoptimizerCartDrawer button.dv-mc-step-btn {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        font-size: 14px !important;
    }
    #shoptimizerCartDrawer .dv-mc-qty-val {
        min-width: 22px !important;
        font-size: 12.5px !important;
    }
    #shoptimizerCartDrawer .dv-mc-item-deal-saved {
        padding: 2px 7px !important;
        font-size: 10px !important;
    }
    #shoptimizerCartDrawer .dv-mc-line-total,
    #shoptimizerCartDrawer .dv-mc-line-total .amount {
        font-size: 13.5px !important;
    }
    #shoptimizerCartDrawer .dv-mc-unit-price,
    #shoptimizerCartDrawer .dv-mc-unit-price .amount {
        font-size: 10px !important;
    }
    #shoptimizerCartDrawer .dv-mc-dock p.buttons .button {
        font-size: 13px !important;
        padding: 0 10px !important;
    }
}

/* ---------- Smart Companion Cross-Sell Strip (Inside Scrollable List) ---------- */
#shoptimizerCartDrawer .widget_shopping_cart li.dv-mc-cs-strip {
    list-style: none !important;
    flex: 0 0 auto !important;
    margin: 2px 0 0 !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
}
#shoptimizerCartDrawer .widget_shopping_cart li.dv-mc-cs-strip.dv-mc-cs-strip--bridge {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
    border: 1px solid #7dd3fc !important;
}
.dv-mc-cs-head {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #06283d !important;
    line-height: 1.25 !important;
    margin-bottom: 5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.dv-mc-cs-head strong, .dv-mc-cs-head .amount {
    color: #0369a1 !important;
    font-weight: 800 !important;
}
.dv-mc-cs-card {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
img.dv-mc-cs-thumb {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 2px !important;
    margin: 0 !important;
}
.dv-mc-cs-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.dv-mc-cs-title {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.dv-mc-cs-controls {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
select.dv-mc-cs-select {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 26px !important;
    padding: 0 22px 0 8px !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    background-position: right 7px center !important;
    background-size: 10px auto !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 7px !important;
    line-height: 24px !important;
}
button.dv-mc-cs-add-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    height: 26px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: #06283d !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 26px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}
button.dv-mc-cs-add-btn .amount {
    color: #6ee7b7 !important;
    font-weight: 800 !important;
}
button.dv-mc-cs-add-btn:hover:not(:disabled) {
    background: #1363df !important;
}
button.dv-mc-cs-add-btn:active:not(:disabled) {
    transform: scale(0.96) !important;
}
button.dv-mc-cs-add-btn.is-loading {
    opacity: 0.6 !important;
    pointer-events: none;
}

/* ---------- Single Product Page (PDP) WDR Multi-Buy Banner ---------- */
.dv-pdp-wdr-banner {
    margin: 10px 0 14px;
    padding: 9px 13px;
    border-radius: 10px;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border: 1px solid #6ee7b7;
    color: #065f46;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.08);
}
.dv-pdp-wdr-banner strong {
    color: #047857;
    font-weight: 800;
}
