/* ═══════════════════════════════════════════════════════
   Cart Booster Pro — booster.css
   Styles only .cbp-* elements — zero conflict with theme
   ═══════════════════════════════════════════════════════ */

:root {
    --cbp-primary:   #008080;
    --cbp-badge-bg:  #fff4f0;
    --cbp-badge-txt: #d84315;
    --cbp-disc-bg:   #008080;
    --cbp-sav-bg:    #e8f5e9;
    --cbp-sav-txt:   #2e7d32;
    --cbp-radius:    8px;
    --cbp-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── PANEL WRAPPER ──────────────────────────────────── */
#cbp-panel {
    font-family: var(--cbp-font);
    font-size: 13px;
    line-height: 1.4;
    color: #1a1a1a;
    box-sizing: border-box;
}
#cbp-panel *, #cbp-panel *::before, #cbp-panel *::after {
    box-sizing: border-box;
}

/* ── SAVINGS BANNER ─────────────────────────────────── */
.cbp-savings-banner {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--cbp-sav-bg);
    color: var(--cbp-sav-txt);
    font-weight: 700;
    font-size: 13px;
    padding: 10px 14px;
    border-radius: var(--cbp-radius);
    margin-bottom: 10px;
    animation: cbp-slide-in 0.3s ease;
}
.cbp-savings-icon { font-size: 16px; flex-shrink: 0; }

/* ── FREE DELIVERY BAR ──────────────────────────────── */
.cbp-delivery-bar {
    padding: 10px 14px;
    background: #f8f8f8;
    border-radius: var(--cbp-radius);
    margin-bottom: 10px;
}
.cbp-delivery-msg {
    font-size: 12.5px;
    font-weight: 600;
    color: #444;
    margin-bottom: 7px;
}
.cbp-progress-track {
    height: 5px;
    background: #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}
.cbp-progress-fill {
    height: 100%;
    background: var(--cbp-primary);
    border-radius: 10px;
    transition: width 0.6s cubic-bezier(0.4,0,0.2,1);
}
.cbp-delivery-bar.achieved .cbp-delivery-msg { color: var(--cbp-sav-txt); }
.cbp-delivery-bar.achieved .cbp-progress-fill { background: #43a047; }

/* ── COUPON SECTION ─────────────────────────────────── */
.cbp-coupon-section {
    border: 1.5px solid #efefef;
    border-radius: var(--cbp-radius);
    overflow: visible;
    margin-bottom: 10px;
    position: relative;
    background: #fff;
}
.cbp-coupon-row {
    display: flex;
    align-items: center;
    padding: 11px 14px;
    cursor: pointer;
    gap: 10px;
}
.cbp-coupon-left { display: flex; align-items: center; gap: 4px; flex: 1; }
.cbp-coupon-icon-wrap { font-size: 16px; }
.cbp-coupon-label { font-size: 12px; font-weight: 700; color: #1a1a1a; }
.cbp-view-all-btn {
    background: none;
    border: none;
    color: var(--cbp-primary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
    flex-shrink: 0;
}
.cbp-view-all-btn:hover { text-decoration: underline; }

.cbp-coupon-input-row {
    display: flex;
    gap: 8px;
    padding: 0 12px 12px;
}
.cbp-coupon-input {
    flex: 1;
    border: 1.5px solid #ddd !important;
    border-radius: 7px !important;
    padding: 8px 11px !important;
    font-size: 13px !important;
    outline: none !important;
    background: #fff !important;
    color: #1a1a1a !important;
    box-shadow: none !important;
    font-family: var(--cbp-font) !important;
    transition: border-color 0.2s;
}
.cbp-coupon-input:focus { border-color: var(--cbp-primary) !important; }
.cbp-coupon-apply-btn {
    background: var(--cbp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    white-space: nowrap;
    transition: opacity 0.2s;
    font-family: var(--cbp-font) !important;
}
.cbp-coupon-apply-btn:hover { opacity: 0.85 !important; }
.cbp-coupon-apply-btn:disabled { opacity: 0.5 !important; cursor: wait !important; }

.cbp-coupon-msg {
    padding: 0 14px 8px;
    font-size: 12.5px;
    font-weight: 600;
    min-height: 0;
    transition: all 0.2s;
}
.cbp-coupon-msg.ok  { color: #2e7d32; }
.cbp-coupon-msg.err { color: #c62828; }

.cbp-applied-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 12px 10px;
}
.cbp-applied-tag {
   display: inline-flex;
    align-items: center;
    gap: 5px;
/*     background: #e8f5e9;
    border: 1px solid #a5d6a7; */
/*     color: #2e7d32; */
	color:black
    font-size: 12.5px;
    font-weight: 700;
/*     padding: 4px 9px; */
	padding:0px;
/*     border-radius: 50px; */
    font-family: var(--cbp-font);
}
.cbp-applied-tag button {
    background: none !important;
    border: none !important;
    color: #888 !important;
    cursor: pointer !important;
    font-size: 11px !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-family: var(--cbp-font) !important;
}
.cbp-applied-tag button:hover { color: #e53935 !important; }

/* ── COUPON POPUP ────────────────────────────────────── */
.cbp-coupon-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 999998;
    animation: cbp-fade-in 0.2s ease;
}
.cbp-coupon-popup {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 70vh;
    background: #fff;
    border-radius: 20px 20px 0 0;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    animation: cbp-slide-up 0.3s ease;
    font-family: var(--cbp-font);
    box-shadow: 0 -8px 40px rgba(0,0,0,0.15);
}
@keyframes cbp-slide-up { from { transform: translateY(100%); opacity:0; } to { transform: none; opacity:1; } }
@keyframes cbp-fade-in   { from { opacity: 0; } to { opacity: 1; } }

.cbp-popup-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}
.cbp-popup-head h3 { margin: 0; font-size: 16px; font-weight: 800; color: #1a1a1a; }
.cbp-close-popup {
    background: #f5f5f5 !important;
    border: none !important;
    width: 30px !important; height: 30px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #555 !important;
    padding: 0 !important;
}
/* .cbp-close-popup:hover { background: #e0e0e0 !important; } */

.cbp-popup-list {
    overflow-y: auto;
    padding: 14px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cbp-popup-list::-webkit-scrollbar { width: 3px; }
.cbp-popup-list::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }

.cbp-coupon-card {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1.5px dashed #ddd;
    border-radius: 10px;
    padding: 12px 14px;
    transition: border-color 0.2s;
    background: #fff;
}
.cbp-coupon-card:hover { border-color: var(--cbp-primary); }
.cbp-cc-left  { flex: 1; }
.cbp-cc-code  { font-size: 14px; font-weight: 800; color: #1a1a1a; letter-spacing: 0.5px; font-family: monospace; }
.cbp-cc-desc  { font-size: 11.5px; color: #888; margin-top: 3px; line-height: 1.4; }
.cbp-cc-badge {
    background: #fff3e0;
    color: #e65100;
    font-size: 11.5px;
    font-weight: 800;
    padding: 4px 9px;
    border-radius: 6px;
    flex-shrink: 0;
}
.cbp-cc-apply {
    background: var(--cbp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 7px 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    white-space: nowrap;
    transition: opacity 0.2s;
    font-family: var(--cbp-font) !important;
}
.cbp-cc-apply:hover  { opacity: 0.85 !important; }
.cbp-cc-apply.done   { background: #e8f5e9 !important; color: #2e7d32 !important; cursor: default !important; }
.cbp-no-coupons      { text-align: center; color: #aaa; padding: 20px; font-size: 13px; }

/* ── RECOMMENDATIONS SECTION ────────────────────────── */
.cbp-recs-section {
    background: #f9f9f9;
    border-radius: var(--cbp-radius);
    padding: 13px;
    margin-bottom: 10px;
}
.cbp-recs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 11px;
}
.cbp-recs-title { font-size: 13.5px; font-weight: 800; color: #1a1a1a; }
.cbp-recs-badge {
    background: var(--cbp-primary);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 50px;
}

.cbp-recs-scroller {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.cbp-recs-scroller::-webkit-scrollbar { display: none; }

.cbp-rec-card {
    flex-shrink: 0;
    width: 120px;
    background: #fff;
    border-radius: 9px;
    border: 1px solid #ebebeb;
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.15s;
}
.cbp-rec-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.09); transform: translateY(-1px); }
.cbp-rec-img-wrap  { position: relative; overflow: hidden; }
.cbp-rec-img       { width: 100%; height: 90px; object-fit: cover; display: block; }
.cbp-rec-disc-pill {
    position: absolute;
    top: 5px; left: 5px;
    background: var(--cbp-disc-bg);
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 4px;
}
.cbp-rec-body     { padding: 7px 7px 9px; }
.cbp-rec-name {
    font-size: 11px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
}
.cbp-rec-price    { font-size: 12px; font-weight: 800; color: #1a1a1a; display: block; }
.cbp-rec-reg      { font-size: 10px; color: #bbb; text-decoration: line-through; }
.cbp-rec-add {
    display: block;
    width: 100%;
    margin-top: 6px;
    background: transparent !important;
    border: 1.5px solid var(--cbp-primary) !important;
    color: var(--cbp-primary) !important;
    border-radius: 5px !important;
    padding: 5px 0 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.15s;
    text-align: center;
    font-family: var(--cbp-font) !important;
}
.cbp-rec-add:hover  { background: var(--cbp-primary) !important; color: #fff !important; }
.cbp-rec-add.busy   { opacity: 0.5 !important; cursor: wait !important; }
.cbp-rec-add.done   { background: var(--cbp-primary) !important; color: #fff !important; cursor: default !important; }

.cbp-recs-loading {
    display: flex; align-items: center; justify-content: center;
    padding: 16px; width: 100%;
}

/* ── ITEM BADGES (injected onto theme's cart items) ─── */
.cbp-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--cbp-badge-bg);
    color: var(--cbp-badge-txt);
    border: 1px solid currentColor;
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 7px 2px 5px;
    border-radius: 50px;
    margin-bottom: 3px;
    font-family: var(--cbp-font);
    line-height: 1.4;
    border-color: rgba(216,67,21,0.3);
}
.cbp-badge-icon { font-size: 11px; }
.cbp-badge-text { }

.cbp-discount-pill {
    display: inline-flex;
    align-items: center;
    background: var(--cbp-disc-bg);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 4px;
    font-family: var(--cbp-font);
    vertical-align: middle;
}

/* ── SPINNER ────────────────────────────────────────── */
.cbp-spin {
    display: inline-block;
    width: 22px; height: 22px;
    border: 2.5px solid #eee;
    border-top-color: var(--cbp-primary);
    border-radius: 50%;
    animation: cbp-spin 0.7s linear infinite;
}
@keyframes cbp-spin { to { transform: rotate(360deg); } }

/* ── ANIMATIONS ─────────────────────────────────────── */
@keyframes cbp-slide-in {
    from { opacity:0; transform: translateY(-5px); }
    to   { opacity:1; transform: none; }
}

/* ── MOBILE ─────────────────────────────────────────── */
@media (max-width: 500px) {
    .cbp-coupon-popup { max-height: 80vh; }
    .cbp-rec-card     { width: 110px; }
}

/* v1.2 Premium compact cart UI fixes */
#cbp-panel {
    clear: both;
    width: 100%;
    padding: 10px 12px 12px;
    margin: 8px 0 10px;
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
    background: #efeeea;
}
.cbp-savings-banner {
    justify-content: center;
    text-align: center;
    min-height: 42px;
    border: 1px solid rgba(46,125,50,.14);
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.cbp-item-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 5px 9px !important;
    margin: 0 0 7px !important;
    border-radius: 999px !important;
    background: var(--cbp-badge-bg) !important;
    color: var(--cbp-badge-txt) !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .1px !important;
    vertical-align: middle !important;
}
.cbp-discount-pill {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 6px !important;
    padding: 3px 6px !important;
    border-radius: 999px !important;
    background: var(--cbp-disc-bg) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.cbp-coupon-section {
    border: 1px solid rgba(0,0,0,.09) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.045);
}
.cbp-coupon-row {
    min-height: 48px;
    padding: 12px 13px !important;
    justify-content: space-between;
}
.cbp-coupon-icon-wrap {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(0,128,128,.08);
}
.cbp-view-all-btn {
    /* border: 1px solid rgba(0,128,128,.15) !important;
    background: rgba(0,128,128,.06) !important;
    padding: 6px 9px !important;
    border-radius: 999px !important; */
    text-decoration: none !important;
}

.availblesaving{
    color: #938e8b;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
}
.cbp-coupon-input-row {
    display: flex;
    align-items: stretch;
    padding: 0 12px 12px !important;
}
.cbp-coupon-input { min-width: 0; height: 38px !important; }
.cbp-coupon-apply-btn { height: 38px !important; min-width: 72px; }
.cbp-coupon-msg.ok,
.cbp-coupon-msg.err { padding-top: 0; padding-bottom: 10px; }
.cbp-applied-tag em { font-style: normal; opacity: .8; margin-left: 3px; }
.cbp-applied-tag button { margin-left: 3px !important; }
.cbp-recs-section {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.045);
}
.cbp-recs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.cbp-recs-title { font-size: 14px; font-weight: 850; color: #161616; }
.cbp-recs-badge {
    font-size: 10px;
    font-weight: 800;
    color: var(--cbp-primary);
    background: rgba(0,128,128,.08);
    border-radius: 999px;
    padding: 4px 8px;
}
.cbp-recs-scroller {
    display: flex !important;
    gap: 10px;
    overflow-x: auto !important;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    padding: 2px 2px 8px;
    -webkit-overflow-scrolling: touch;
}
.cbp-recs-scroller::-webkit-scrollbar { height: 4px; }
.cbp-recs-scroller::-webkit-scrollbar-thumb { background: rgba(0,0,0,.18); border-radius: 10px; }
.cbp-rec-card {
    flex: 0 0 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    scroll-snap-align: start;
}
.cbp-rec-img-wrap { position: relative; aspect-ratio: 1/1; background: #f7f7f7; overflow: hidden; }
.cbp-rec-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cbp-rec-disc-pill {
    position: absolute;
    top: 7px;
    left: 7px;
    background: var(--cbp-disc-bg);
    color: #fff;
    border-radius: 999px;
    padding: 3px 6px;
    font-size: 9px;
    font-weight: 850;
}
.cbp-rec-body { padding: 8px; }
.cbp-rec-name {
    margin: 0 0 6px !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    color: #222 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 29px;
}
.cbp-rec-price-row { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-bottom: 7px; }
.cbp-rec-price { font-size: 12px; font-weight: 850; color: #111; }
.cbp-rec-reg { font-size: 10px; color: #888; text-decoration: line-through; }
.cbp-rec-add {
    width: 100% !important;
    min-height: 31px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--cbp-primary) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
    padding: 7px 8px !important;
}
.cbp-rec-add.busy { opacity: .65; cursor: wait !important; }
.cbp-rec-add.done { background: #2e7d32 !important; }
.cbp-coupon-card {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    margin: 10px 14px;
    background: #fff;
}
.cbp-cc-code { font-weight: 900; letter-spacing: .8px; color: #111; }
.cbp-cc-desc { font-size: 12px; color: #666; margin-top: 3px; }
.cbp-cc-badge { background: rgba(0,128,128,.08); color: var(--cbp-primary); padding: 6px 8px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.cbp-cc-apply { border: 0 !important; border-radius: 9px !important; background: var(--cbp-primary) !important; color: #fff !important; padding: 8px 11px !important; font-weight: 850 !important; cursor: pointer !important; }
.cbp-cc-apply.done { background: #2e7d32 !important; cursor: default !important; }
@media (max-width: 420px) {
    #cbp-panel { padding-left: 10px; padding-right: 10px; }
    .cbp-rec-card { flex-basis: 132px !important; width: 132px !important; min-width: 132px !important; }
    .cbp-coupon-card { grid-template-columns: 1fr auto; }
    .cbp-cc-apply { grid-column: 1 / -1; width: 100%; }
}

/* ═══════════════════════════════════════════════════════
   v1.3 upgrades — deeper customization + safer addon mode
   ═══════════════════════════════════════════════════════ */
/* .cbp-coupon-section {
    background: var(--cbp-coupon-bg) !important;
    border-color: var(--cbp-coupon-border) !important;
    color: var(--cbp-coupon-text) !important;
} */

.cbp-coupon-section {
    background: white;
    border: none;
    color: black;
    box-shadow: 0 1px 2px 0 rgba(33, 25, 19, .0784313725490196);
}

.cbp-coupon-label,
.cbp-coupon-section .cbp-coupon-left,
.cbp-coupon-section input { color: var(--cbp-coupon-text) !important; }
.cbp-coupon-apply-btn,
.cbp-cc-apply { background: var(--cbp-coupon-btn-bg) !important; color: var(--cbp-coupon-btn-txt) !important; }
#cbp-panel.cbp-coupon-minimal .cbp-coupon-section { border-width: 0 0 1px 0 !important; border-radius: 0 !important; box-shadow: none !important; }
#cbp-panel.cbp-coupon-dashed .cbp-coupon-section { border-style: dashed !important; border-width: 1.5px !important; }

/* Coupon list opens as a right-side drawer, not a bottom popup */
.cbp-coupon-popup {
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: min(92vw, 390px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 18px 0 0 18px !important;
    animation: cbp-slide-from-right 0.28s ease !important;
    box-shadow: -8px 0 40px rgba(0,0,0,0.18) !important;
}
@keyframes cbp-slide-from-right { from { transform: translateX(105%); opacity: .4; } to { transform: none; opacity: 1; } }
@media (max-width: 480px) {
    .cbp-coupon-popup { width: 92vw !important; border-radius: 16px 0 0 16px !important; }
}

/* Recommendation carousel */
.cbp-recs-scroller {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}
.cbp-rec-card,
.cbp-rec-theme-slide {
    flex: 0 0 var(--cbp-rec-width) !important;
    width: var(--cbp-rec-width) !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products,
.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products li.product {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    list-style: none !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide .product {
    min-width: 0 !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
.cbp-recs-theme-mode .cbp-rec-theme-slide .button {
    white-space: normal !important;
}
.cbp-rec-name a { color: inherit !important; text-decoration: none !important; }

/* ═══════════════════════════════════════════════════════
   v1.4 fixes — preserve chosen cart products + true theme card mode
   ═══════════════════════════════════════════════════════ */
#cbp-panel { position: relative; z-index: 1; }
#cbp-panel + .woocommerce-mini-cart,
.woocommerce-mini-cart:has(+ #cbp-panel),
.widget_shopping_cart_content .woocommerce-mini-cart {
    visibility: visible !important;
}

/* In theme card mode, Cart Booster only provides the horizontal slider shell.
   Product card design comes from the active theme/shop template. */
.cbp-recs-theme-mode .cbp-recs-scroller {
    gap: 14px !important;
    align-items: stretch !important;
    scroll-snap-type: x proximity !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide {
    flex: 0 0 var(--cbp-rec-width) !important;
    width: var(--cbp-rec-width) !important;
    min-width: var(--cbp-rec-width) !important;
    max-width: var(--cbp-rec-width) !important;
    scroll-snap-align: start !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products,
.cbp-recs-theme-mode .cbp-rec-theme-slide .products {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products li.product,
.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.cbp-recs-theme-mode .cbp-rec-theme-slide .product-wrapper,
.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link {
    max-width: 100% !important;
}

/* ═══════════════════════════════════════════════════════
   v1.5 priority fix — selected cart products protection
   ═══════════════════════════════════════════════════════ */
.cbp-safe-addon-slot {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    position: relative !important;
    z-index: 1 !important;
}
.cart-widget-side ul.woocommerce-mini-cart,
.widget_shopping_cart_content ul.woocommerce-mini-cart,
.widget_shopping_cart_content ul.cart_list,
.widget_shopping_cart_content ul.product_list_widget,
.wd-side-cart ul.woocommerce-mini-cart,
.woodmart-side-cart ul.woocommerce-mini-cart {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
}
.cart-widget-side ul.woocommerce-mini-cart li,
.widget_shopping_cart_content ul.woocommerce-mini-cart li,
.widget_shopping_cart_content ul.cart_list li,
.widget_shopping_cart_content ul.product_list_widget li,
.wd-side-cart ul.woocommerce-mini-cart li,
.woodmart-side-cart ul.woocommerce-mini-cart li {
    visibility: visible !important;
    opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════
   v1.6 recommendation section fix — shop-style compact cards
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section.cbp-recs-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 10px !important;
    margin: 8px 0 10px !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-recs-header {
    padding: 0 2px !important;
    margin-bottom: 10px !important;
}
#cbp-recs-section .cbp-recs-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #111 !important;
}
#cbp-recs-section .cbp-recs-badge {
    background: #e8f7f2 !important;
    color: #008060 !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .2px !important;
    padding: 5px 10px !important;
}
#cbp-recs-section .cbp-recs-scroller {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 2px 10px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
}
#cbp-recs-section .cbp-recs-scroller::-webkit-scrollbar { display: none !important; }
#cbp-recs-section .cbp-rec-card {
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 5px rgba(0,0,0,.08) !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-card:hover {
    transform: none !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.12) !important;
}
#cbp-recs-section .cbp-rec-img-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #f7f4ef !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
#cbp-recs-section .cbp-rec-new-pill,
#cbp-recs-section .cbp-rec-disc-pill {
    position: absolute !important;
    left: 8px !important;
    top: 8px !important;
    z-index: 2 !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .3px !important;
}
#cbp-recs-section .cbp-rec-new-pill {
    background: #fff3ed !important;
    color: #c35a3d !important;
}
#cbp-recs-section .cbp-rec-disc-pill {
    background: var(--cbp-disc-bg, #00796b) !important;
    color: #fff !important;
}
#cbp-recs-section .cbp-rec-heart {
    position: absolute !important;
    right: 8px !important;
    top: 8px !important;
    z-index: 2 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    color: #111 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 5px rgba(0,0,0,.12) !important;
    font-size: 19px !important;
    line-height: 1 !important;
}
#cbp-recs-section .cbp-rec-body {
    padding: 9px 8px 10px !important;
    box-sizing: border-box !important;
}
#cbp-recs-section .cbp-rec-name {
    margin: 0 0 5px !important;
    min-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    color: #1c1c1c !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-name a {
    color: inherit !important;
    text-decoration: none !important;
}
#cbp-recs-section .cbp-rec-meta {
    margin: 0 0 6px !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    color: #555 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#cbp-recs-section .cbp-rec-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 18px !important;
    margin: 0 0 9px !important;
    flex-wrap: wrap !important;
}
#cbp-recs-section .cbp-rec-price {
    font-size: 14px !important;
    line-height: 1 !important;
    color: #111 !important;
    font-weight: 800 !important;
}
#cbp-recs-section .cbp-rec-reg {
    font-size: 11px !important;
    line-height: 1 !important;
    color: #888 !important;
    text-decoration: line-through !important;
}
#cbp-recs-section .cbp-rec-add,
#cbp-recs-section .cbp-rec-add.button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 30px !important;
    padding: 7px 9px !important;
    margin: 0 !important;
    border: 1.4px solid #111 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
#cbp-recs-section .cbp-rec-add:hover {
    background: #111 !important;
    color: #fff !important;
}
#cbp-recs-section .cbp-rec-add.busy { opacity: .55 !important; cursor: wait !important; }
#cbp-recs-section .cbp-rec-add.done { background: #111 !important; color: #fff !important; }
@media (max-width: 420px) {
    #cbp-recs-section .cbp-rec-card {
        flex-basis: 142px !important;
        width: 142px !important;
        min-width: 142px !important;
        max-width: 142px !important;
    }
}


/* ═══════════════════════════════════════════════════════
   v1.8 slider controls — added without changing v1.6 card design
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section .cbp-recs-slider-wrap {
    position: relative !important;
    width: 100% !important;
    overflow: visible !important;
}
#cbp-recs-section .cbp-recs-slider-wrap .cbp-recs-scroller {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 1px 2px 10px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
    scroll-behavior: smooth !important;
}
#cbp-recs-section .cbp-recs-slider-wrap .cbp-recs-scroller::-webkit-scrollbar { display: none !important; }
#cbp-recs-section .cbp-recs-arrow {
    position: absolute !important;
    top: 40% !important;
    transform: translateY(-50%) !important;
    z-index: 9 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.12) !important;
    cursor: pointer !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}
#cbp-recs-section.cbp-recs-can-slide .cbp-recs-arrow { display: flex !important; }
#cbp-recs-section .cbp-recs-prev { left: 4px !important; }
#cbp-recs-section .cbp-recs-next { right: 4px !important; }
#cbp-recs-section .cbp-recs-dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 2px 0 0 !important;
    min-height: 8px !important;
}
#cbp-recs-section .cbp-recs-dot {
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    border-radius: 999px !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    background: rgba(0,0,0,.22) !important;
    transition: width .2s ease, background .2s ease !important;
}
#cbp-recs-section .cbp-recs-dot.active {
    width: 16px !important;
    background: var(--cbp-primary) !important;
}

/* Limited offer badge below product title instead of image-side weird alignment */
.cbp-item-badge {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 4px 0 6px !important;
    vertical-align: top !important;
}

/* ═══════════════════════════════════════════════════════
   v1.9 priority fixes: slider dots + badge below title
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section .cbp-recs-dots {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    padding: 3px 0 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
}
#cbp-recs-section .cbp-recs-dot,
#cbp-recs-section button.cbp-recs-dot,
#cbp-recs-section .cbp-recs-dots button {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 6px !important;
    min-width: 6px !important;
    max-width: 6px !important;
    height: 6px !important;
    min-height: 6px !important;
    max-height: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.22) !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    transform: none !important;
    cursor: pointer !important;
}
#cbp-recs-section .cbp-recs-dot.active,
#cbp-recs-section button.cbp-recs-dot.active {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 6px !important;
    min-height: 6px !important;
    max-height: 6px !important;
    background: var(--cbp-primary) !important;
}
#cbp-recs-section .cbp-recs-arrow {
    top: 35% !important;
}
.cart-widget-side .cart-info .cbp-item-badge,
.wd-side-cart .cart-info .cbp-item-badge,
.widget_shopping_cart_content .cart-info .cbp-item-badge,
.woocommerce-mini-cart-item .cart-info .cbp-item-badge,
.mini_cart_item .cart-info .cbp-item-badge,
.wd-cart-item-info .cbp-item-badge,
.woocommerce-mini-cart-item__content .cbp-item-badge {
    display: inline-flex !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    margin: 5px 0 6px !important;
    width: fit-content !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    align-self: flex-start !important;
    order: 2 !important;
}
.cart-widget-side .cart-info,
.wd-side-cart .cart-info,
.widget_shopping_cart_content .cart-info,
.wd-cart-item-info,
.woocommerce-mini-cart-item__content {
    min-width: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   v1.9.1 coupon design update — Available Savings card + right coupon drawer
   ═══════════════════════════════════════════════════════ */
#cbp-panel .cbp-coupon-section {
    background: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 3px rgba(33,25,19,.10) !important;
    overflow: hidden !important;
    margin: 8px 0 10px !important;
    padding: 0 !important;
}
#cbp-panel .availblesaving {
    display: block !important;
    padding: 12px 16px 2px !important;
    color: #938e8b !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    line-height: 16px !important;
}
#cbp-panel .cbp-coupon-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 8px 16px 12px !important;
    cursor: pointer !important;
    border-bottom: 1px solid #eeeeee !important;
}
#cbp-panel .cbp-coupon-left {
    display: flex !important;
    align-items: center !important;
    gap: 06px !important;
    min-width: 0 !important;
    flex: 1 !important;
}
#cbp-panel .cbp-coupon-icon-wrap {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}
#cbp-panel .cbp-coupon-icon-wrap img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    object-fit: contain !important;
}
#cbp-panel .cbp-coupon-label {
    color: #151515 !important;
    font-size: 13px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}
#cbp-panel .cbp-view-all-btn {
    color: #4d4743 !important;
    background: #00000000 !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 17px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
#cbp-panel .cbp-coupon-input-row {
    display: flex;
    gap: 0 !important;
    padding: 10px 14px 12px !important;
    background: #fff !important;
}
#cbp-panel .cbp-coupon-input {
    flex: 1 !important;
    min-width: 0 !important;
    height: 43px !important;
    border: 1.5px solid #ddd !important;
    border-right: 0 !important;
    border-radius: 8px 0 0 8px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    outline: none !important;
    background: #fff !important;
    color: #1a1a1a !important;
    box-shadow: none !important;
}
#cbp-panel .cbp-coupon-apply-btn {
    height: 43px !important;
    min-width: 72px !important;
    background: var(--cbp-primary) !important;
    color: #fff !important;
    border: 1px solid var(--cbp-primary) !important;
    border-radius: 0 10px 10px 0 !important;
    padding: 2px 10px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
#cbp-panel .cbp-delivery-bar {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
}
#cbp-panel .cbp-delivery-inline {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
}
#cbp-panel .cbp-delivery-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #00a884 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}
#cbp-panel .cbp-delivery-msg {
    flex: 1 !important;
    margin: 0 !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}
#cbp-panel .cbp-delivery-applied {
    color: #00a884 !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    display: none !important;
}
#cbp-panel .cbp-delivery-bar.achieved .cbp-delivery-applied { display: inline-flex !important; }
#cbp-panel .cbp-progress-track { display: none !important; }

/* Coupon drawer like the shared screenshot */
.cbp-coupon-overlay {
    background: rgba(0,0,0,.35) !important;
}
.cbp-coupon-popup {
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: min(92vw, 350px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    animation: cbp-slide-from-right .28s ease !important;
    box-shadow: -8px 0 40px rgba(0,0,0,.18) !important;
    background: #f2f2f2 !important;
    overflow: hidden !important;
}
.cbp-popup-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 13px 14px !important;
    border-bottom: 1px solid #e8e8e8 !important;
    flex-shrink: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
}
.cbp-popup-head h3 {
    margin: 0 !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 800 !important;
}
.cbp-close-popup {
    background: #fff !important;
    border: 0 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 18px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    padding: 0 !important;
}
.cbp-popup-input-wrap {
    padding: 18px 12px 12px !important;
    background: #f2f2f2 !important;
}
.cbp-popup-input-row {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 44px !important;
    background: #fff !important;
    border: 1px solid #aaa !important;
}
.cbp-popup-coupon-input {
    flex: 1 !important;
    min-width: 0 !important;
    height: 42px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    color: #111 !important;
    background: #fff !important;
    font-family: var(--cbp-font) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}
.cbp-popup-coupon-input::placeholder { color: #9ca3af !important; opacity: 1 !important; }
.cbp-popup-coupon-apply {
    height: 42px !important;
    min-width: 62px !important;
    border: 0 !important;
    background: #fff !important;
    color: #000 !important;
    padding: 0 12px !important;
    font-family: var(--cbp-font) !important;
    font-size: 15px !important;
    line-height: 42px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
.cbp-more-offers {
    padding: 34px 12px 9px !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
}
.cbp-popup-list {
    overflow-y: auto !important;
    padding: 0 10px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.cbp-coupon-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-height: 100px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    margin: 0 !important;
    background: #fff !important;
    box-shadow: 2px 2px 8px -4px grey !important;
    overflow: visible !important;
}
.cbp-coupon-card::before,
.cbp-coupon-card::after {
    content: '' !important;
    position: absolute !important;
    right: -9px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #f2f2f2 !important;
    z-index: 2 !important;
    display: none !important;
}
.cbp-coupon-card::before { top: 35px !important; }
.cbp-coupon-card::after { top: 62px !important; }
.cbp-coupon-card .cbp-cc-badge {
        display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
    background: #e9e9e9 !important;
    color: #000 !important;
    border-radius: 0px 10px 10px 0px !important;
    padding: 14px 10px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}
.cbp-coupon-card .cbp-cc-main {
    min-width: 0 !important;
    padding: 16px 16px 14px 12px !important;
}
.cbp-coupon-card .cbp-cc-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}
.cbp-coupon-card .cbp-cc-code {
    color: #000 !important;
    font-size: 15px !important;
    line-height: 22px !important;
    font-weight: 900 !important;
    letter-spacing: .8px !important;
    font-family: var(--cbp-font) !important;
}
.cbp-coupon-card .cbp-cc-desc {
    color: #a8adb7 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 500 !important;
}
.cbp-coupon-card .cbp-cc-desc::first-line { color: #ff0024 !important; }
.cbp-coupon-card .cbp-cc-apply {
    min-width: 70px !important;
    height: 30px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #8dddcf !important;
    color: #fff !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    line-height: 30px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.cbp-coupon-card .cbp-cc-apply.done {
    background: #e8f5e9 !important;
    color: #00a884 !important;
}
@media (max-width: 480px) {
    .cbp-coupon-popup { width: 100vw !important; }
}


/* ═══════════════════════════════════════════════════════
   v1.9.2 recommendation stable image fix
   Keeps recommendation product images fixed on first/front image.
   Manual arrows and dots still work; no autoplay movement.
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section .cbp-rec-img-wrap,
#cbp-recs-section .cbp-rec-img {
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-img:hover {
    transform: none !important;
}
#cbp-recs-section .cbp-rec-img-wrap img:not(.cbp-rec-img) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}


/* ═══════════════════════════════════════════════════════
   v1.9.3 recommendation image hard-stable fix
   Uses background image instead of img tag to stop theme/gallery hover sliders.
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section .cbp-rec-img-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
}
#cbp-recs-section .cbp-rec-bg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-img-wrap img,
#cbp-recs-section .cbp-rec-img-wrap picture,
#cbp-recs-section .cbp-rec-img-wrap .owl-carousel,
#cbp-recs-section .cbp-rec-img-wrap .swiper,
#cbp-recs-section .cbp-rec-img-wrap .slick-slider {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
#cbp-recs-section #cbp-recs-list {
    scroll-behavior: auto !important;
}
span.woocommerce-Price-amount.amount
 {
    padding-bottom: 6px;
}

/* v1.9.6 safe fix — applied coupons as clean lines, no price HTML */
#cbp-panel .cbp-applied-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 0 12px 12px !important;
}
#cbp-panel .cbp-applied-tag {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}
#cbp-panel .cbp-applied-check {
    color: var(--cbp-primary) !important;
    font-weight: 900 !important;
    flex: 0 0 auto !important;
}
#cbp-panel .cbp-applied-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#cbp-panel .cbp-applied-text strong {
    font-weight: 800 !important;
}
#cbp-panel .cbp-remove-coupon {
    background: transparent !important;
    border: 0 !important;
    color: #999 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 0 3px !important;
    margin-left: auto !important;
}
#cbp-panel .cbp-coupon-msg.ok {
    display: none !important;
}


/* v1.9.9 autoplay toggle fix — when admin autoplay is off, keep recommendations still */
#cbp-recs-section.cbp-autoplay-off #cbp-recs-list,
#cbp-recs-section.cbp-autoplay-off .cbp-recs-scroller {
    scroll-behavior: auto !important;
}
#cbp-recs-section.cbp-autoplay-off .cbp-rec-card,
#cbp-recs-section.cbp-autoplay-off .cbp-rec-theme-slide {
    animation: none !important;
    transition-property: box-shadow, border-color, background-color, color !important;
}

/* v2.0.1 carousel stability: when autoplay is OFF, the People Also Buy slider stays fully manual. */
#cbp-recs-section.cbp-autoplay-off #cbp-recs-list,
#cbp-recs-section[data-autoplay="no"] #cbp-recs-list {
    scroll-behavior: auto !important;
}


/* v2.0.1: Product recommendation carousel manual mode.
   OFF = no automatic movement; arrows/dots/touch still work. */
#cbp-recs-section.cbp-autoplay-off #cbp-recs-list,
#cbp-recs-section[data-autoplay="no"] #cbp-recs-list {
    scroll-behavior: auto !important;
}
#cbp-recs-section.cbp-recs-can-slide .cbp-recs-arrow {
    opacity: 1 !important;
    pointer-events: auto !important;
}
#cbp-recs-section:not(.cbp-recs-can-slide) .cbp-recs-arrow,
#cbp-recs-section:not(.cbp-recs-can-slide) .cbp-recs-dots {
    display: none !important;
}

/* v2.0.2 — clickable recommendation buttons + real wishlist compatibility */
#cbp-recs-section .cbp-rec-heart,
#cbp-recs-section .cbp-rec-wishlist,
#cbp-recs-section .cbp-rec-heart-fallback {
    pointer-events: auto !important;
    cursor: pointer !important;
}
#cbp-recs-section .cbp-rec-wishlist a,
#cbp-recs-section .cbp-rec-heart-shortcode a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}
#cbp-recs-section .cbp-rec-wishlist .wd-action-text,
#cbp-recs-section .cbp-rec-heart-shortcode .wd-action-text,
#cbp-recs-section .cbp-rec-heart-shortcode .yith-wcwl-add-button span,
#cbp-recs-section .cbp-rec-heart-shortcode .feedback {
    display: none !important;
}
#cbp-recs-section .cbp-rec-wishlist .wd-action-icon:before,
#cbp-recs-section .cbp-rec-heart-shortcode a:before {
    content: "♡" !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-family: Arial, sans-serif !important;
}
#cbp-recs-section .cbp-rec-wishlist.added .wd-action-icon:before,
#cbp-recs-section .cbp-rec-wishlist.wd-added .wd-action-icon:before,
#cbp-recs-section .cbp-rec-heart-shortcode .exists a:before {
    content: "♥" !important;
}
#cbp-recs-section a.cbp-rec-add,
#cbp-recs-section a.cbp-rec-add:hover,
#cbp-recs-section .cbp-rec-select-options,
#cbp-recs-section .cbp-rec-select-options:hover {
    text-decoration: none !important;
}


/* ═══════════════════════════════════════════════════════
   v2.0.3 — Vaaree-style side-cart recommendation carousel
   Two visible cards, clean add buttons, and native wishlist click support.
   ═══════════════════════════════════════════════════════ */
#cbp-recs-section.cbp-recs-section {
    margin: 10px 0 12px !important;
    padding: 12px 0 4px !important;
    background: #fff !important;
    border-radius: 0 !important;
    border-top: 1px solid #eeeeee !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-recs-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 2px 10px !important;
    margin: 0 !important;
}
#cbp-recs-section .cbp-recs-title {
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    color: #1d1d1d !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}
#cbp-recs-section .cbp-recs-badge {
    display: none !important;
}
#cbp-recs-section .cbp-recs-slider-wrap {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
}
#cbp-recs-section .cbp-recs-scroller,
#cbp-recs-section .cbp-recs-slider-wrap .cbp-recs-scroller {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 8px !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    scroll-behavior: auto;
}
#cbp-recs-section .cbp-recs-scroller::-webkit-scrollbar { display: none !important; }
#cbp-recs-section .cbp-rec-card {
    flex: 0 0 calc((100% - 8px) / 2) !important;
    width: calc((100% - 8px) / 2) !important;
    min-width: calc((100% - 8px) / 2) !important;
    max-width: calc((100% - 8px) / 2) !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,.08) !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-img-wrap {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    background: #fafafa !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-bg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transition: none !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-disc-pill,
#cbp-recs-section .cbp-rec-new-pill {
    position: absolute !important;
    left: 6px !important;
    top: 6px !important;
    border-radius: 999px !important;
    background: #008060 !important;
    color: #fff !important;
    padding: 3px 6px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    letter-spacing: .01em !important;
}
#cbp-recs-section .cbp-rec-wishlist,
#cbp-recs-section .cbp-rec-heart {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}
#cbp-recs-section .cbp-rec-wishlist a,
#cbp-recs-section .cbp-rec-heart a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#cbp-recs-section .cbp-rec-body {
    padding: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
#cbp-recs-section .cbp-rec-name {
    min-height: 32px !important;
    margin: 0 !important;
    color: #222 !important;
    font-size: 11.5px !important;
    line-height: 16px !important;
    font-weight: 600 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-meta { display: none !important; }
#cbp-recs-section .cbp-rec-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 18px !important;
    margin: 0 !important;
}
#cbp-recs-section .cbp-rec-price {
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
#cbp-recs-section .cbp-rec-reg {
    color: #8a8a8a !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}
#cbp-recs-section .cbp-rec-add,
#cbp-recs-section button.cbp-rec-add,
#cbp-recs-section a.cbp-rec-add {
    width: 100% !important;
    min-height: 30px !important;
    border-radius: 6px !important;
    border: 1px solid #008060 !important;
    background: #fff !important;
    color: #008060 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 8px !important;
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
#cbp-recs-section .cbp-rec-add:hover,
#cbp-recs-section button.cbp-rec-add:hover,
#cbp-recs-section a.cbp-rec-add:hover,
#cbp-recs-section .cbp-rec-add.done {
    background: #008060 !important;
    color: #fff !important;
}
#cbp-recs-section .cbp-rec-add.busy {
    opacity: .55 !important;
    pointer-events: none !important;
}
#cbp-recs-section .cbp-recs-arrow {
    top: 42% !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 18px !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    color: #111 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
}
#cbp-recs-section .cbp-recs-prev { left: 2px !important; }
#cbp-recs-section .cbp-recs-next { right: 2px !important; }
#cbp-recs-section .cbp-recs-dots { display: none !important; }
@media (max-width: 360px) {
    #cbp-recs-section .cbp-rec-card {
        flex-basis: calc((100% - 8px) / 2) !important;
        width: calc((100% - 8px) / 2) !important;
        min-width: calc((100% - 8px) / 2) !important;
    }
}

/* v2.0.4 — stable reference-style recommendation strip */
#cbp-recs-section .cbp-recs-scroller {
    scroll-snap-stop: always !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
}
#cbp-recs-section .cbp-rec-card,
#cbp-recs-section .cbp-rec-card * {
    pointer-events: auto !important;
}
#cbp-recs-section .cbp-rec-add:disabled {
    opacity: .55 !important;
    cursor: wait !important;
}
#cbp-recs-section .cbp-rec-heart-shortcode,
#cbp-recs-section .yith-wcwl-add-to-wishlist {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 9 !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    margin: 0 !important;
}
#cbp-recs-section .cbp-rec-heart-shortcode a,
#cbp-recs-section .yith-wcwl-add-to-wishlist a {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 50% !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
    border: 1px solid rgba(0,0,0,.08) !important;
}
#cbp-recs-section .cbp-rec-heart-shortcode a:before,
#cbp-recs-section .yith-wcwl-add-to-wishlist a:before {
    content: "♡" !important;
    font-size: 17px !important;
    line-height: 1 !important;
    color: #222 !important;
}
#cbp-recs-section .cbp-rec-heart-shortcode .feedback,
#cbp-recs-section .cbp-rec-heart-shortcode img,
#cbp-recs-section .yith-wcwl-add-to-wishlist .feedback,
#cbp-recs-section .yith-wcwl-add-to-wishlist img { display: none !important; }
#cbp-recs-section:not(.cbp-recs-can-slide) .cbp-recs-arrow { display: none !important; }


/* v2.0.5 — manual-only recommendation carousel */
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list {
    scroll-behavior: smooth !important;
    cursor: grab !important;
    -webkit-overflow-scrolling: touch !important;
}
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list.cbp-is-dragging {
    cursor: grabbing !important;
    user-select: none !important;
    scroll-snap-type: none !important;
}
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list.cbp-is-dragging a,
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list.cbp-is-dragging button {
    user-select: none !important;
}


/* v2.0.6 — People Also Buy manual-only slider. No auto-slide, marquee, theme carousel, or CSS movement. */
#cbp-recs-section.cbp-manual-slider,
#cbp-recs-section.cbp-manual-slider *,
#cbp-recs-section.cbp-manual-carousel,
#cbp-recs-section.cbp-manual-carousel * {
    animation-name: none !important;
}
#cbp-recs-section.cbp-manual-slider #cbp-recs-list,
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list {
    scroll-behavior: smooth !important;
    transform: none !important;
    transition: none !important;
    overflow-x: auto !important;
    touch-action: pan-x pan-y !important;
    cursor: grab !important;
}
#cbp-recs-section.cbp-manual-slider #cbp-recs-list.cbp-is-dragging,
#cbp-recs-section.cbp-manual-carousel #cbp-recs-list.cbp-is-dragging {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    cursor: grabbing !important;
}
#cbp-recs-section.cbp-manual-slider .owl-stage,
#cbp-recs-section.cbp-manual-slider .slick-track,
#cbp-recs-section.cbp-manual-slider .swiper-wrapper {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}


/* ═══════════════════════════════════════════════════════
   v2.0.7 — Featured Coupon Strip
   Inline horizontal coupon cards chosen by admin
   ═══════════════════════════════════════════════════════ */

/* Strip wrapper — sits inside .cbp-coupon-section */
#cbp-panel .cbp-featured-strip {
    padding: 12px 14px 10px !important;
    border-bottom: 1px solid #eeeeee !important;
    background: #fff !important;
}

/* Header row: "Exclusive Offers" + "View all coupons ›" */
#cbp-panel .cbp-featured-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 10px !important;
}
#cbp-panel .cbp-featured-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #111 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
}
#cbp-panel .cbp-featured-view-all {
    background: none !important;
    border: none !important;
    color: var(--cbp-primary) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}
#cbp-panel .cbp-featured-view-all:hover {
    text-decoration: underline !important;
}

/* Horizontal scroll row of coupon cards */
#cbp-panel .cbp-featured-list {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 2px !important;
    scroll-snap-type: x mandatory !important;
}
#cbp-panel .cbp-featured-list::-webkit-scrollbar {
    display: none !important;
}

/* Individual coupon card — ticket style, no icons */
#cbp-panel .cbp-fc-card {
    flex: 0 0 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    background: #fff !important;
    border: 1px solid #e4e4e4 !important;
    border-radius: 10px !important;
    padding: 11px 12px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    box-sizing: border-box !important;
    scroll-snap-align: start !important;
    position: relative !important;
    /* Left accent strip to give coupon feel */
    border-left: 3.5px solid var(--cbp-primary) !important;
}

/* Discount label — "5% OFF" / "₹100 OFF" */
#cbp-panel .cbp-fc-discount {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #111 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Coupon code in monospace */
#cbp-panel .cbp-fc-code {
    font-size: 11px !important;
    font-weight: 700 !important;
    font-family: 'Courier New', Courier, monospace !important;
    color: var(--cbp-primary) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: rgba(0,128,128,0.06) !important;
    border-radius: 4px !important;
    padding: 2px 5px !important;
    margin: 1px 0 !important;
    display: inline-block !important;
}

/* Min order / expiry meta */
#cbp-panel .cbp-fc-meta {
    font-size: 9.5px !important;
    color: #888 !important;
    line-height: 1.3 !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Apply / Applied button */
#cbp-panel .cbp-fc-apply {
    margin-top: auto !important;
    padding-top: 8px !important;
    background: none !important;
    border: 1.5px solid var(--cbp-primary) !important;
    border-radius: 6px !important;
    color: var(--cbp-primary) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    padding: 5px 0 !important;
    width: 100% !important;
    text-align: center !important;
    transition: background 0.15s, color 0.15s !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
}
#cbp-panel .cbp-fc-apply:hover {
    background: var(--cbp-primary) !important;
    color: #fff !important;
}
#cbp-panel .cbp-fc-apply.done {
    background: #e8f5e9 !important;
    border-color: #a5d6a7 !important;
    color: #2e7d32 !important;
    cursor: default !important;
}

/* Badge icon hide — no icons mode */
.cbp-badge-icon:empty {
    display: none !important;
}
.cbp-savings-icon {
    display: none !important;
}

@media (max-width: 380px) {
    #cbp-panel .cbp-fc-card {
        flex: 0 0 130px !important;
        min-width: 130px !important;
        max-width: 130px !important;
    }
}


/* ═══════════════════════════════════════════════════════
   v2.0.9 — Professional front coupon UI
   Shows 3–4 selected coupons first, clean card style, no icons
   ═══════════════════════════════════════════════════════ */
#cbp-panel .cbp-coupon-section{
    background:#fff !important;
    border:1px solid #eeeeee !important;
    border-radius:10px !important;
    overflow:hidden !important;
    box-shadow:none !important;
}
#cbp-panel .availblesaving{
    display:none !important;
}
#cbp-panel .cbp-featured-strip{
    display:block;
    padding:14px 14px 12px !important;
    border-bottom:1px solid #f0f0f0 !important;
    background:#fff !important;
}
#cbp-panel .cbp-featured-head{
    margin-bottom:12px !important;
}
#cbp-panel .cbp-featured-title{
    font-size:16px !important;
    font-weight:800 !important;
    color:#101010 !important;
    letter-spacing:-.02em !important;
}
#cbp-panel .cbp-featured-view-all{
    color:var(--cbp-primary) !important;
    font-size:13px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}
#cbp-panel .cbp-featured-list{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:thin !important;
    scroll-snap-type:x proximity !important;
    padding:0 0 7px !important;
}
#cbp-panel .cbp-featured-list::-webkit-scrollbar{height:4px !important;display:block !important;}
#cbp-panel .cbp-featured-list::-webkit-scrollbar-track{background:#f3f3f3 !important;border-radius:99px !important;}
#cbp-panel .cbp-featured-list::-webkit-scrollbar-thumb{background:#b5b5b5 !important;border-radius:99px !important;}
#cbp-panel .cbp-fc-card{
    flex:0 0 270px !important;
    min-width:270px !important;
    max-width:270px !important;
    min-height:84px !important;
    background:#fff !important;
    border:1px solid #dedede !important;
    border-radius:8px !important;
    padding:12px 14px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    box-sizing:border-box !important;
    scroll-snap-align:start !important;
    position:relative !important;
    box-shadow:0 1px 2px rgba(0,0,0,.03) !important;
    border-left:0 !important;
}
#cbp-panel .cbp-fc-card::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:4px !important;
    height:100% !important;
    background:var(--cbp-primary) !important;
    border-radius:8px 0 0 8px !important;
}
#cbp-panel .cbp-fc-topline{
    font-size:10px !important;
    line-height:1 !important;
    font-weight:700 !important;
    color:#777 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}
#cbp-panel .cbp-fc-discount{
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:var(--cbp-primary) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
#cbp-panel .cbp-fc-meta{
    font-size:11px !important;
    line-height:1.35 !important;
    color:#333 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
#cbp-panel .cbp-fc-code-row{
    margin-top:2px !important;
    display:flex !important;
    align-items:center !important;
}
#cbp-panel .cbp-fc-code{
    display:inline-block !important;
    max-width:100% !important;
    background:#f7f7f7 !important;
    color:#111 !important;
    border:1px dashed #d8d8d8 !important;
    border-radius:5px !important;
    padding:3px 8px !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
#cbp-panel .cbp-fc-card-applied{
    border-color:#b7dfc2 !important;
    background:#fbfffc !important;
}
#cbp-panel .cbp-fc-apply{display:none !important;}
@media (max-width:480px){
    #cbp-panel .cbp-fc-card{flex-basis:260px !important;min-width:260px !important;max-width:260px !important;}
}


/* ═══════════════════════════════════════════════════════
   v2.1.0 — Reliable front coupon strip + stay-open cart fix
   ═══════════════════════════════════════════════════════ */
#cbp-panel .cbp-featured-strip[style*="display: none"] {
    display: none !important;
}
#cbp-panel .cbp-featured-strip {
    padding: 14px 14px 10px !important;
    background: #fff !important;
    border-bottom: 1px solid #eeeeee !important;
}
#cbp-panel .cbp-featured-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}
#cbp-panel .cbp-featured-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111 !important;
}
#cbp-panel .cbp-featured-view-all {
    color: #137a3a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
#cbp-panel .cbp-featured-list {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
}
#cbp-panel .cbp-fc-card {
    flex: 0 0 260px !important;
    width: 260px !important;
    min-width: 260px !important;
    min-height: 72px !important;
    background: #fff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
    position: relative !important;
    scroll-snap-align: start !important;
    border-left: 0 !important;
}
#cbp-panel .cbp-fc-card::before { display: none !important; content: none !important; }
#cbp-panel .cbp-fc-topline,
#cbp-panel .cbp-fc-code-row { display: none !important; }
#cbp-panel .cbp-fc-discount {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 800 !important;
    color: #128a43 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#cbp-panel .cbp-fc-meta {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
    color: #222 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#cbp-panel .cbp-fc-card-applied {
    border-color: #bde5ca !important;
    background: #fbfffc !important;
}
#cbp-panel .cbp-coupon-row {
    border-top: 0 !important;
}
.cbp-cart-force-open {
    visibility: visible !important;
    opacity: 1 !important;
}
@media (max-width: 480px) {
    #cbp-panel .cbp-fc-card {
        flex-basis: 245px !important;
        width: 245px !important;
        min-width: 245px !important;
    }
}


/* v2.1.1 — People Also Buy uses the active theme's WooCommerce product card.
   Cart Booster only controls the horizontal side-cart shell. */
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 2px 12px !important;
    scroll-snap-type: x proximity !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    flex: 0 0 var(--cbp-rec-width, 160px) !important;
    width: var(--cbp-rec-width, 160px) !important;
    min-width: var(--cbp-rec-width, 160px) !important;
    max-width: var(--cbp-rec-width, 160px) !important;
    scroll-snap-align: start !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .products {
    display: block !important;
    grid-template-columns: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products > li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-wrapper,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    max-width: 100% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide button {
    max-width: 100% !important;
    white-space: normal !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .busy,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .loading {
    opacity: .65 !important;
    pointer-events: none !important;
}

/* v2.1.2 — polish People Also Buy theme-card appearance inside narrow side cart */
#cbp-recs-section.cbp-recs-theme-mode {
    padding-top: 14px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-slider-wrap {
    overflow: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-slider-wrap .cbp-recs-scroller {
    gap: 12px !important;
    padding: 2px 10px 12px !important;
    align-items: stretch !important;
    scroll-snap-type: x mandatory !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    flex: 0 0 84% !important;
    width: 84% !important;
    min-width: 84% !important;
    max-width: 84% !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .products {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ececec !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.07) !important;
    min-height: 100% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-wrapper,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .content-product-imagin,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link {
    max-width: 100% !important;
    width: 100% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product-grid-slider,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .attachment-woocommerce_thumbnail,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    border-radius: 16px 16px 0 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    width: 100% !important;
    object-fit: cover !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-bottom,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-information,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wrap-product-loop,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product-content {
    padding: 10px 14px 12px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-entities-title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .woocommerce-loop-product__title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide h3,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-title {
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin: 10px 14px 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 39px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price * {
    color: #008060 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide del,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide del * {
    color: #98a2b3 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ins {
    background: transparent !important;
    text-decoration: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price {
    display: block !important;
    margin: 0 14px 10px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .star-rating,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product-cats,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-rating,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-swatches-product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product-stock,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_compare,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .compare-button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-product-brands,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-bottom-actions,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .hover-img,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-labels {
    display: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .quick-view,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .open-quick-view,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .btn-quickview,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .quick-shop-on-hover,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-quick-view,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .compare,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-compare-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-compare-icon,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-compare-button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-quick-view,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-action-btn:not(.wd-wishlist-btn) {
    display: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-wishlist-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-add-to-wishlist,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .cbp-rec-heart,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .cbp-rec-wishlist {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.10) !important;
    border: 1px solid rgba(0,0,0,.07) !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-wishlist-btn a,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-add-to-wishlist a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-action-text,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .feedback,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-wishlistexistsbrowse,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-wishlistaddedbrowse {
    display: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 28px) !important;
    min-height: 40px !important;
    margin: 6px 14px 2px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--cbp-primary, #008080) !important;
    border-radius: 10px !important;
    background: var(--cbp-primary, #008080) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    text-align: center !important;
    box-shadow: none !important;
    white-space: normal !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button:hover,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button:hover,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple:hover,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable:hover,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart:hover {
    filter: brightness(.96) !important;
    color: #fff !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-buttons,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wrap-buttons,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-bottom-actions {
    opacity: 1 !important;
    visibility: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-arrow {
    top: 42% !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    color: #1f2937 !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-prev { left: 4px !important; }
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-next { right: 4px !important; }
@media (max-width: 420px) {
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
        flex-basis: 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 86% !important;
    }
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-entities-title,
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .woocommerce-loop-product__title,
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide h3,
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-title {
        font-size: 14px !important;
    }
}


/* v2.1.3 — final side-cart product-card polish: visible CTA text + compact card height */
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    flex: 0 0 72% !important;
    width: 72% !important;
    min-width: 72% !important;
    max-width: 72% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-slider-wrap .cbp-recs-scroller {
    gap: 10px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(17,24,39,.06) !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link {
    overflow: hidden !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    border-radius: 12px 12px 0 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-entities-title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .woocommerce-loop-product__title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide h3,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-title {
    margin: 9px 12px 6px !important;
    min-height: 36px !important;
    font-size: 13.5px !important;
    line-height: 18px !important;
    font-weight: 750 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price {
    margin: 0 12px 8px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price * {
    font-size: 13px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart {
    width: calc(100% - 24px) !important;
    min-height: 36px !important;
    height: 36px !important;
    margin: 6px 12px 12px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    text-indent: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart * {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button:before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button:before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable:before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple:before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart:before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button:after,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button:after,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable:after,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple:after,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart:after {
    display: none !important;
    content: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide a.product_type_variable:empty::before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide a.product_type_simple:empty::before,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide a.add_to_cart_button:empty::before {
    display: inline !important;
    content: "SELECT OPTIONS" !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a {
    opacity: 1 !important;
    visibility: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a span {
    display: inline !important;
    color: #ffffff !important;
    font-size: 11px !important;
    opacity: 1 !important;
    visibility: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-wishlist-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-add-to-wishlist {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    top: 8px !important;
    right: 8px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-arrow {
    top: 38% !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
}
@media (max-width: 420px) {
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
        flex-basis: 74% !important;
        width: 74% !important;
        min-width: 74% !important;
        max-width: 74% !important;
    }
}

/* v2.1.4 — improved side-cart recommendation UI */
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-slider-wrap .cbp-recs-scroller {
    gap: 12px !important;
    padding: 0 12px 14px !important;
    align-items: stretch !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    flex: 0 0 84% !important;
    width: 84% !important;
    min-width: 84% !important;
    max-width: 84% !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products > li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    border-radius: 14px !important;
    border: 1px solid #e9e9e9 !important;
    box-shadow: 0 4px 14px rgba(16,24,40,.06) !important;
    overflow: hidden !important;
    background: #fff !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    border-radius: 14px 14px 0 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-entities-title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .woocommerce-loop-product__title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide h3,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-title {
    margin: 10px 12px 6px !important;
    min-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: #1f2937 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price {
    margin: 0 12px 10px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price * {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #008060 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide del,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide del * {
    font-size: 11px !important;
    color: #98a2b3 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .buttons,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wrap-buttons,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-bottom-actions {
    margin: 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 24px) !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 6px 12px 12px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: var(--cbp-primary, #008080) !important;
    border: 1px solid var(--cbp-primary, #008080) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a * {
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-wishlist-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-add-to-wishlist {
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-arrow {
    top: 36% !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    z-index: 20 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-prev { left: 2px !important; }
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-next { right: 2px !important; }
@media (max-width: 420px) {
    #cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
        flex-basis: 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 86% !important;
    }
}

/* v2.1.5 — remove Exclusive Offers coupon strip completely */
#cbp-panel .cbp-featured-strip,
#cbp-featured-strip,
.cbp-featured-strip,
#cbp-featured-list,
.cbp-featured-list,
.cbp-featured-head {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* v2.1.5 — People Also Buy as clean 2-column grid, no horizontal slider */
#cbp-recs-section.cbp-recs-section {
    overflow: visible !important;
}
#cbp-recs-section .cbp-recs-slider-wrap {
    overflow: visible !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-slider-wrap .cbp-recs-scroller {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 10px 12px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    transform: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    scroll-snap-align: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .products {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide ul.products > li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide li.product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-grid-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #ededed !important;
    box-shadow: 0 3px 10px rgba(16,24,40,.055) !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link {
    overflow: hidden !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-element-top,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-image-link,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    border-radius: 12px 12px 0 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-entities-title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .woocommerce-loop-product__title,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide h3,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product-title {
    margin: 8px 8px 5px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    font-size: 11px !important;
    line-height: 17px !important;
    font-weight: 750 !important;
    color: #1f2937 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price {
    display: block !important;
    margin: 0 8px 7px !important;
    text-align: left !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .price * {
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    color: #008060 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a {
    width: calc(100% - 16px) !important;
    min-height: 32px !important;
    height: 32px !important;
    margin: 5px 8px 10px !important;
    padding: 7px 6px !important;
    border-radius: 7px !important;
    background: var(--cbp-primary, #008080) !important;
    border-color: var(--cbp-primary, #008080) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .add_to_cart_button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .button *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_simple *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .product_type_variable *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .ajax_add_to_cart *,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-add-btn a * {
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .wd-wishlist-btn,
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide .yith-wcwl-add-to-wishlist {
    top: 7px !important;
    right: 7px !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-arrow,
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-dots,
#cbp-recs-section .cbp-recs-arrow,
#cbp-recs-section .cbp-recs-dots {
    display: none !important;
}
#cbp-recs-section.cbp-recs-theme-mode .quick-view,
#cbp-recs-section.cbp-recs-theme-mode .open-quick-view,
#cbp-recs-section.cbp-recs-theme-mode .btn-quickview,
#cbp-recs-section.cbp-recs-theme-mode .wd-quick-view,
#cbp-recs-section.cbp-recs-theme-mode .compare,
#cbp-recs-section.cbp-recs-theme-mode .wd-compare-btn,
#cbp-recs-section.cbp-recs-theme-mode .wd-product-cats,
#cbp-recs-section.cbp-recs-theme-mode .star-rating,
#cbp-recs-section.cbp-recs-theme-mode .product-labels {
    display: none !important;
}

/* v2.1.6 — final simple People Also Buy slider: selected products only, no grid */
#cbp-panel .cbp-featured-strip,
#cbp-featured-strip,
.cbp-featured-strip,
#cbp-featured-list,
.cbp-featured-list,
.cbp-featured-head {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
#cbp-recs-section.cbp-recs-section,
#cbp-recs-section.cbp-recs-compact-mode {
    margin: 10px 0 12px !important;
    padding: 12px 0 8px !important;
    background: #fff !important;
    border-top: 1px solid #eeeeee !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-recs-header {
    padding: 0 12px 10px !important;
}
#cbp-recs-section .cbp-recs-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #1f2937 !important;
}
#cbp-recs-section .cbp-recs-slider-wrap {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
}
#cbp-recs-section .cbp-recs-scroller,
#cbp-recs-section .cbp-recs-slider-wrap .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-compact-mode .cbp-recs-scroller,
#cbp-recs-section.cbp-recs-compact-mode .cbp-recs-slider-wrap .cbp-recs-scroller {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    padding: 0 12px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
}
#cbp-recs-section .cbp-recs-scroller::-webkit-scrollbar { display: none !important; }
#cbp-recs-section .cbp-rec-card,
#cbp-recs-section.cbp-recs-compact-mode .cbp-rec-card {
    flex: 0 0 158px !important;
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    scroll-snap-align: start !important;
    background: #fff !important;
    border: 1px solid #ececec !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(16,24,40,.06) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
}
#cbp-recs-section .cbp-rec-img-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #f7f7f7 !important;
    border-radius: 14px 14px 0 0 !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-bg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
#cbp-recs-section .cbp-rec-disc-pill,
#cbp-recs-section .cbp-rec-new-pill {
    display: none !important;
}
#cbp-recs-section .cbp-rec-heart,
#cbp-recs-section .cbp-rec-wishlist,
#cbp-recs-section .cbp-rec-heart-shortcode,
#cbp-recs-section .yith-wcwl-add-to-wishlist {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 10 !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.10) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}
#cbp-recs-section .cbp-rec-body {
    padding: 9px 10px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}
#cbp-recs-section .cbp-rec-name {
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 17px !important;
    font-weight: 750 !important;
    color: #1f2937 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
#cbp-recs-section .cbp-rec-name a { color: inherit !important; text-decoration: none !important; }
#cbp-recs-section .cbp-rec-meta { display: none !important; }
#cbp-recs-section .cbp-rec-price-row {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    min-height: 18px !important;
}
#cbp-recs-section .cbp-rec-price,
#cbp-recs-section .cbp-rec-price * {
    color: #008060 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}
#cbp-recs-section .cbp-rec-reg,
#cbp-recs-section .cbp-rec-reg * {
    color: #98a2b3 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}
#cbp-recs-section .cbp-rec-add,
#cbp-recs-section .cbp-rec-add.button,
#cbp-recs-section button.cbp-rec-add,
#cbp-recs-section a.cbp-rec-add {
    width: 100% !important;
    min-height: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    border: 1px solid var(--cbp-primary, #008080) !important;
    background: var(--cbp-primary, #008080) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 8px !important;
    margin: 4px 0 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
#cbp-recs-section .cbp-rec-add:hover,
#cbp-recs-section .cbp-rec-add.done {
    background: var(--cbp-primary, #008080) !important;
    color: #fff !important;
    filter: brightness(.95) !important;
}
#cbp-recs-section .cbp-rec-add.busy { opacity: .6 !important; cursor: wait !important; pointer-events: none !important; }
#cbp-recs-section .cbp-recs-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 42% !important;
    z-index: 20 !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    color: #1f2937 !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.12) !important;
    font-size: 20px !important;
    line-height: 1 !important;
}
#cbp-recs-section .cbp-recs-prev { left: 4px !important; }
#cbp-recs-section .cbp-recs-next { right: 4px !important; }
#cbp-recs-section.cbp-recs-can-slide .cbp-recs-arrow { display: flex !important; }
#cbp-recs-section:not(.cbp-recs-can-slide) .cbp-recs-arrow,
#cbp-recs-section .cbp-recs-dots { display: none !important; }
@media (max-width: 380px) {
    #cbp-recs-section .cbp-rec-card,
    #cbp-recs-section.cbp-recs-compact-mode .cbp-rec-card {
        flex-basis: 150px !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
    }
}


/* v2.1.7 — final recommendation behaviour: simple slider, no grid */
#cbp-panel .cbp-featured-strip,
#cbp-featured-strip {
    display: none !important;
}
#cbp-recs-section .cbp-recs-slider-wrap {
    overflow: hidden !important;
}
#cbp-recs-section .cbp-recs-scroller,
#cbp-recs-section .cbp-recs-slider-wrap .cbp-recs-scroller {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 12px !important;
    padding: 0 12px 14px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
}
#cbp-recs-section .cbp-rec-card,
#cbp-recs-section .cbp-rec-theme-slide {
    flex: 0 0 58% !important;
    width: 58% !important;
    min-width: 58% !important;
    max-width: 58% !important;
    scroll-snap-align: start !important;
}
#cbp-recs-section .cbp-recs-arrow {
    display: flex !important;
}
#cbp-recs-section:not(.cbp-recs-can-slide) .cbp-recs-arrow {
    display: none !important;
}
#cbp-recs-section .cbp-recs-dots {
    display: none !important;
}
@media (max-width: 420px) {
    #cbp-recs-section .cbp-rec-card,
    #cbp-recs-section .cbp-rec-theme-slide {
        flex-basis: 60% !important;
        width: 60% !important;
        min-width: 60% !important;
        max-width: 60% !important;
    }
}

/* v2.1.8 — keep recommendation slider ready, no visible late loader on cart open */
#cbp-recs-section .cbp-recs-loading:only-child {
    min-height: 120px !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-rec-theme-slide {
    scroll-snap-align: start !important;
}

/* v2.1.9 — prevent stuck People Also Buy loader after cart is emptied/rebuilt */
#cbp-recs-section .cbp-recs-loading:only-child {
    min-height: 0 !important;
}
#cbp-recs-section.cbp-recs-theme-mode .cbp-recs-scroller:not(:has(.cbp-rec-theme-slide)):not(:has(.cbp-rec-card)) {
    min-height: 0 !important;
}

/* v2.2.3 — move savings banner to fixed/sticky bottom area above cart total */
#cbp-panel {
    display: flex !important;
    flex-direction: column !important;
}
#cbp-panel .cbp-savings-banner {
    order: 99 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 50 !important;
    margin: 10px 14px 12px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(0, 128, 96, .18) !important;
    border-radius: 8px !important;
    background: #eaf8f0 !important;
    color: #008060 !important;
    box-shadow: 0 -6px 16px rgba(255,255,255,.88) !important;
    justify-content: center !important;
    text-align: center !important;
    animation: none !important;
}
#cbp-panel .cbp-savings-banner #cbp-savings-text,
#cbp-panel .cbp-savings-banner span {
    color: #008060 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
#cbp-panel .cbp-coupon-section {
    order: 10 !important;
}
#cbp-recs-section {
    order: 20 !important;
}

/* v2.2.4 — full-width fixed savings banner at side-cart bottom */
#cbp-panel {
    clear: both !important;
    width: 100% !important;
    padding: 10px 12px 2px 12px !important;
    margin: 8px 0 10px !important;
    border-top: 1px solid rgba(0, 0, 0, .06) !important;
    border-bottom: 1px solid rgba(0, 0, 0, .06) !important;
    background: #efeeea !important;
}
#cbp-safe-addon-slot,
#cbp-panel {
    padding-bottom: 50px !important;
}
#cbp-panel .cbp-savings-banner {
    order: initial !important;
    position: fixed !important;
    left: var(--cbp-saving-left, auto) !important;
    right: auto !important;
    bottom: 104px !important;
    width: var(--cbp-saving-width, 100%) !important;
    max-width: var(--cbp-saving-width, 100%) !important;
    min-width: 260px !important;
    z-index: 999999 !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(0, 128, 96, .18) !important;
    border-bottom: 1px solid rgba(0, 128, 96, .18) !important;
    background: #eaf8f0 !important;
    color: #008060 !important;
    box-shadow: 0 -6px 18px rgba(0,0,0,.06) !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    animation: none !important;
}
#cbp-panel .cbp-savings-banner #cbp-savings-text,
#cbp-panel .cbp-savings-banner span {
    color: #008060 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
@media (max-width: 480px) {
    #cbp-panel .cbp-savings-banner {
        left: var(--cbp-saving-left, 0) !important;
        width: var(--cbp-saving-width, 100vw) !important;
        max-width: var(--cbp-saving-width, 100vw) !important;
        bottom: 96px !important;
    }
}


/* v2.2.5 — user requested final saving banner + recs spacing polish */
#cbp-panel .cbp-savings-banner {
    bottom: 149px !important;
    left: var(--cbp-saving-left, 0) !important;
    width: var(--cbp-saving-width, 100%) !important;
    max-width: var(--cbp-saving-width, 100%) !important;
    z-index: 999999 !important;
}

#cbp-safe-addon-slot,
#cbp-panel {
    padding-bottom: 14px !important;
}

/* Keep last cart product from going behind the fixed saving banner */
.cart-widget-side .widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content ul.cart_list,
.widget_shopping_cart_content ul.product_list_widget,
.wd-side-cart .woocommerce-mini-cart,
.woodmart-side-cart .woocommerce-mini-cart {
    padding-bottom: 58px !important;
}

/* Keep footer/subtotal visible and above the fixed banner */
.cart-widget-side .shopping-cart-widget-footer,
.widget_shopping_cart_content .shopping-cart-widget-footer,
.wd-side-cart .shopping-cart-widget-footer,
.woodmart-side-cart .shopping-cart-widget-footer,
.cart-widget-side .woocommerce-mini-cart__total,
.widget_shopping_cart_content .woocommerce-mini-cart__total {
    position: relative !important;
    z-index: 999998 !important;
    background: #fff !important;
}

#cbp-recs-section.cbp-recs-section,
#cbp-recs-section.cbp-recs-compact-mode {
    margin: 10px 0 12px !important;
    padding: 8px 6px 8px 6px !important;
    background: #fff !important;
    border: 1px solid #eeeeee !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    box-shadow: 4px 2px 2px #807f7f96 !important;
}

#cbp-recs-section.cbp-recs-theme-mode {
    margin: 10px 0 12px !important;
    padding: 8px 6px 8px 6px !important;
    background: #fff !important;
    border: 1px solid #eeeeee !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    box-shadow: 4px 2px 2px #807f7f96 !important;
}

@media (max-width: 480px) {
    #cbp-panel .cbp-savings-banner {
        bottom: 149px !important;
    }
}


/* v2.2.6 — final fix: stop fixed saving banner from covering last cart product */
.cart-widget-side .widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content ul.cart_list,
.widget_shopping_cart_content ul.product_list_widget,
.wd-side-cart .woocommerce-mini-cart,
.woodmart-side-cart .woocommerce-mini-cart,
.elementor-menu-cart__products,
.xoo-wsc-products {
    padding-bottom: 118px !important;
}

.cart-widget-side .widget_shopping_cart_content .woocommerce-mini-cart > li:last-child,
.widget_shopping_cart_content .woocommerce-mini-cart > li:last-child,
.widget_shopping_cart_content ul.cart_list > li:last-child,
.widget_shopping_cart_content ul.product_list_widget > li:last-child,
.wd-side-cart .woocommerce-mini-cart > li:last-child,
.woodmart-side-cart .woocommerce-mini-cart > li:last-child,
.elementor-menu-cart__products .elementor-menu-cart__product:last-child,
.xoo-wsc-products .xoo-wsc-product:last-child {
    margin-bottom: 76px !important;
}

#cbp-panel .cbp-savings-banner {
    bottom: 149px !important;
    min-height: 34px !important;
    max-height: 44px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    overflow: hidden !important;
}

#cbp-panel .cbp-savings-banner #cbp-savings-text,
#cbp-panel .cbp-savings-banner span {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Keep subtotal/free-shipping footer above product list, but below the savings banner visually clean */
.cart-widget-side .shopping-cart-widget-footer,
.widget_shopping_cart_content .shopping-cart-widget-footer,
.wd-side-cart .shopping-cart-widget-footer,
.woodmart-side-cart .shopping-cart-widget-footer {
    z-index: 1000000 !important;
}

/* v2.2.7 — final saving banner overlap fix: place banner inside cart footer above subtotal */
#cbp-savings-banner.cbp-saving-in-footer,
#cbp-panel #cbp-savings-banner.cbp-saving-in-footer,
#cbp-panel .cbp-savings-banner.cbp-saving-in-footer,
.cbp-savings-banner.cbp-saving-in-footer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    margin: 0 0 8px 0 !important;
    padding: 9px 12px !important;
    min-height: 34px !important;
    max-height: none !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(0, 128, 96, .18) !important;
    border-bottom: 1px solid rgba(0, 128, 96, .18) !important;
    background: #eaf8f0 !important;
    color: #008060 !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    pointer-events: none !important;
}
#cbp-savings-banner.cbp-saving-in-footer #cbp-savings-text,
#cbp-savings-banner.cbp-saving-in-footer span,
.cbp-savings-banner.cbp-saving-in-footer #cbp-savings-text,
.cbp-savings-banner.cbp-saving-in-footer span {
    display: block !important;
    width: 100% !important;
    color: #008060 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.cart-widget-side .shopping-cart-widget-footer,
.widget_shopping_cart_content .shopping-cart-widget-footer,
.wd-side-cart .shopping-cart-widget-footer,
.woodmart-side-cart .shopping-cart-widget-footer {
    background: #fff !important;
    position: relative !important;
    z-index: 1000000 !important;
}

/* v2.2.8 — footer saving banner text inline fix */
#cbp-savings-banner.cbp-saving-in-footer #cbp-savings-text,
#cbp-savings-banner.cbp-saving-in-footer span,
.cbp-savings-banner.cbp-saving-in-footer #cbp-savings-text,
.cbp-savings-banner.cbp-saving-in-footer span {
    display: inline !important;
    width: auto !important;
}


/* v2.2.9 — final remove extra cart product list spacing */
.cart-widget-side .widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content .woocommerce-mini-cart,
.widget_shopping_cart_content ul.cart_list,
.widget_shopping_cart_content ul.product_list_widget,
.wd-side-cart .woocommerce-mini-cart,
.woodmart-side-cart .woocommerce-mini-cart,
.elementor-menu-cart__products,
.xoo-wsc-products {
    padding-bottom: 0px !important;
}

.cart-widget-side .widget_shopping_cart_content .woocommerce-mini-cart > li:last-child,
.widget_shopping_cart_content .woocommerce-mini-cart > li:last-child,
.widget_shopping_cart_content ul.cart_list > li:last-child,
.widget_shopping_cart_content ul.product_list_widget > li:last-child,
.wd-side-cart .woocommerce-mini-cart > li:last-child,
.woodmart-side-cart .woocommerce-mini-cart > li:last-child,
.elementor-menu-cart__products .elementor-menu-cart__product:last-child,
.xoo-wsc-products .xoo-wsc-product:last-child {
    margin-bottom: 6px !important;
}
