/* ============================================================
   CART DRAWER — Reference-matched (pixel-perfect)
   Loads AFTER style.css. Scoped to .cart-drawer--ref only.
   ============================================================ */

.cart-drawer--ref{
  --ref-font:      system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ref-ink:       #1a1a1a;
  --ref-ink-2:     #404040;
  --ref-ink-3:     #737373;
  --ref-ink-4:     #a3a3a3;
  --ref-ink-5:     #d4d4d4;
  --ref-cream:     rgb(245,239,229);
  --ref-cream-2:   rgb(253,249,240);
  --ref-gold:      rgb(184,144,67);
  --ref-gold-deep: rgb(122,90,31);
  --ref-green:     rgb(10,125,58);
  --ref-line:      rgba(0,0,0,0.08);
  --ref-line-soft: rgba(0,0,0,0.06);
  --ref-hover:     #f5f5f5;
}

/* ============ SHELL & SLIDE ANIMATION ============ */
.cart-drawer--ref{
  width:380px !important;
  max-width:100vw !important;
  background:#fff !important;
  font-family:var(--ref-font) !important;
  color:var(--ref-ink) !important;
  box-shadow:-24px 0 60px rgba(0,0,0,.18) !important;
  transition:transform .32s cubic-bezier(.16,1,.3,1) !important;
}
@media (max-width:480px){
  .cart-drawer--ref{width:100vw !important}
}

/* ============ HEADER ============ */
.cart-drawer--ref .cd-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:14px 16px !important;
  border-bottom:1px solid var(--ref-line) !important;
  background:#fff !important;
}
.cart-drawer--ref .cd-head-title{display:flex;align-items:center;gap:8px;min-width:0}
.cart-drawer--ref .cd-head-ic{display:inline-flex;align-items:center;justify-content:center;color:var(--ref-ink);flex-shrink:0}
.cart-drawer--ref .cd-head-ic svg{display:block}
.cart-drawer--ref .cd-head h3{
  font-family:var(--ref-font) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--ref-ink) !important;
  margin:0 !important;
  line-height:1 !important;
}
.cart-drawer--ref .cd-count-wrap{
  color:var(--ref-ink) !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  font-size:12px !important;
  margin-left:2px !important;
}
.cart-drawer--ref .cd-close{
  width:32px !important;height:32px !important;
  padding:0 !important;
  display:grid !important;place-items:center !important;
  background:none !important;border:none !important;
  border-radius:99px !important;
  color:var(--ref-ink) !important;
  cursor:pointer !important;
  transition:background .15s !important;
  font-size:0 !important;
}
.cart-drawer--ref .cd-close:hover{background:var(--ref-hover) !important}
.cart-drawer--ref .cd-close svg{display:block}

/* ============ SHIP BAR ============ */
.cart-drawer--ref .cd-shipbar{
  padding:12px 16px !important;
  background:var(--ref-cream) !important;
  border-bottom:1px solid var(--ref-line-soft) !important;
}
.cart-drawer--ref .cd-shipbar-msg{
  font-family:var(--ref-font) !important;
  font-size:10px !important;font-weight:600 !important;
  color:var(--ref-ink) !important;
  text-align:left !important;
  margin:0 0 6px !important;
  line-height:1.4 !important;
}
.cart-drawer--ref .cd-shipbar-msg strong{color:var(--ref-gold-deep) !important;font-weight:900 !important}
.cart-drawer--ref .cd-shipbar-msg.is-free{color:var(--ref-green) !important}
.cart-drawer--ref .cd-shipbar-msg.is-free strong{color:var(--ref-green) !important}
.cart-drawer--ref .cd-shipbar-track{
  position:relative !important;
  height:6px !important;
  background:#fff !important;
  border-radius:99px !important;
  overflow:hidden !important;
}
.cart-drawer--ref .cd-shipbar-fill{
  height:100% !important;
  background:var(--ref-gold) !important;
  border-radius:99px !important;
  transition:width .35s ease !important;
}
.cart-drawer--ref .cd-shipbar-truck{display:none !important}

/* ============ SCROLL BODY ============ */
.cart-drawer--ref .cd-scroll{
  flex:1 !important;overflow-y:auto !important;
  padding:0 !important;background:#fff !important;
}

/* ============ EMPTY STATE ============ */
.cart-drawer--ref .cd-empty{
  padding:32px 24px !important;
  text-align:center !important;
  display:flex !important;flex-direction:column !important;align-items:center !important;
  color:inherit !important;
}
.cart-drawer--ref .cd-empty-ic{display:inline-flex;color:var(--ref-ink-5);margin-bottom:12px}
.cart-drawer--ref .cd-empty-ic svg{display:block}
.cart-drawer--ref .cd-empty-title{font-size:12px;font-weight:700;color:var(--ref-ink-2);line-height:1.3}
.cart-drawer--ref .cd-empty-sub{font-size:10px;color:var(--ref-ink-3);margin-top:4px;line-height:1.4}
.cart-drawer--ref .cd-empty-cta{
  margin-top:16px;padding:10px 20px;
  background:var(--ref-ink);color:#fff;
  border:none;border-radius:99px;
  font-family:var(--ref-font);
  font-size:11px;font-weight:900;letter-spacing:.06em;
  cursor:pointer;transition:background .15s, transform .05s;
}
.cart-drawer--ref .cd-empty-cta:hover{background:#000}
.cart-drawer--ref .cd-empty-cta:active{transform:scale(.98)}

/* ============ ITEMS ============ */
.cart-drawer--ref .cd-items{padding:0 !important;background:#fff !important}
.cart-drawer--ref .cd-item{
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  gap:12px !important;
  padding:16px !important;
  border-bottom:1px solid var(--ref-line-soft) !important;
  align-items:start !important;
  background:transparent !important;
  transition:opacity .2s ease, transform .2s ease, max-height .3s ease, padding .3s ease;
  max-height:400px;
  overflow:hidden;
  animation:cdItemIn .3s cubic-bezier(.16,1,.3,1);
}
@keyframes cdItemIn{
  from{opacity:0;transform:translateX(20px)}
  to{opacity:1;transform:translateX(0)}
}
.cart-drawer--ref .cd-item.is-removing{
  opacity:0;transform:translateX(20px);
  max-height:0;padding-top:0;padding-bottom:0;
}
.cart-drawer--ref .cd-item-thumb{
  width:64px !important;height:80px !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:var(--ref-cream) !important;
  border:none !important;
  display:grid !important;place-items:center !important;
}
.cart-drawer--ref .cd-item-thumb img{
  width:100% !important;height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
.cart-drawer--ref .cd-item-body{
  min-width:0 !important;
  display:flex !important;flex-direction:column !important;gap:8px !important;
}
.cart-drawer--ref .cd-item-top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:8px !important;
}
.cart-drawer--ref .cd-item-info{min-width:0;flex:1}
.cart-drawer--ref .cd-item-title{
  font-family:var(--ref-font) !important;
  font-size:12px !important;font-weight:700 !important;
  color:var(--ref-ink) !important;
  line-height:1.3 !important;margin-bottom:2px !important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cart-drawer--ref .cd-item-variant{
  font-size:10px !important;color:var(--ref-ink-3) !important;line-height:1.4 !important;
}
.cart-drawer--ref .cd-item-meta{
  font-size:10.5px !important;color:var(--ref-ink-3) !important;
  line-height:1.35 !important;margin-top:1px;
}
.cart-drawer--ref .cd-item-pack{
  font-size:10.5px !important;font-weight:700 !important;
  color:var(--ref-gold-deep) !important;
  line-height:1.35 !important;margin-top:1px;
}
.cart-drawer--ref .cd-item-duration{
  font-size:10px !important;font-weight:600 !important;
  color:var(--ref-gold-deep) !important;line-height:1.4 !important;margin-top:1px;
}
.cart-drawer--ref .cd-item-perunit{
  font-size:10px !important;color:var(--ref-ink-3) !important;
  line-height:1.4 !important;margin-top:1px;
  font-variant-numeric:tabular-nums;
}
.cart-drawer--ref .cd-item-trash{
  padding:4px;background:none;border:none;
  color:var(--ref-ink-4);cursor:pointer;
  transition:color .15s, transform .15s;
  flex-shrink:0;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
}
.cart-drawer--ref .cd-item-trash:hover{color:#dc2626;transform:scale(1.1)}
.cart-drawer--ref .cd-item-trash svg{display:block}
.cart-drawer--ref .cd-item-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
}
.cart-drawer--ref .cd-item-qty{
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid rgba(0,0,0,0.15) !important;
  border-radius:99px !important;
  overflow:hidden !important;background:#fff !important;
  margin:0 !important;
}
.cart-drawer--ref .cd-item-qty button{
  width:28px !important;height:28px !important;
  background:none !important;border:none !important;
  color:var(--ref-ink) !important;cursor:pointer !important;
  display:grid !important;place-items:center !important;
  padding:0 !important;transition:background .15s;
}
.cart-drawer--ref .cd-item-qty button:hover{background:var(--ref-hover) !important}
.cart-drawer--ref .cd-item-qty button svg{display:block}
.cart-drawer--ref .cd-item-qty span{
  min-width:22px !important;text-align:center !important;
  font-size:11px !important;font-weight:700 !important;
  padding:0 4px !important;
  font-variant-numeric:tabular-nums !important;
}
.cart-drawer--ref .cd-item-price-stack{
  text-align:right;
  display:flex;flex-direction:column;
  align-items:flex-end;gap:2px;
}
.cart-drawer--ref .cd-item-price-top{
  display:flex;align-items:center;
  justify-content:flex-end;gap:6px;
}
.cart-drawer--ref .cd-item-strike{
  font-size:10px !important;
  color:var(--ref-ink-4) !important;
  text-decoration:line-through !important;
  font-variant-numeric:tabular-nums !important;
  margin:0 !important;
}
.cart-drawer--ref .cd-item-save-pill{
  font-size:9px;font-weight:900;color:#fff;
  padding:2px 6px;border-radius:99px;
  background:var(--ref-gold);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.cart-drawer--ref .cd-item-price{
  font-size:12px !important;font-weight:900 !important;
  color:var(--ref-ink) !important;
  font-variant-numeric:tabular-nums !important;
}
.cart-drawer--ref .cd-item-right{display:none !important} /* legacy */

/* ============ FREE GIFTS INCLUDED ============ */
.cart-drawer--ref .cd-gifts{
  padding:16px !important;
  background:#fff;
  border-bottom:1px solid var(--ref-line-soft);
}
.cart-drawer--ref .cd-gifts-head{
  display:flex;align-items:center;gap:8px;
  margin-bottom:10px;color:var(--ref-gold-deep);
}
.cart-drawer--ref .cd-gifts-head svg{display:block;flex-shrink:0}
.cart-drawer--ref .cd-gifts-head span{
  font-family:var(--ref-font);
  font-size:11px;font-weight:900;letter-spacing:.14em;
  color:var(--ref-ink);text-transform:uppercase;
}
.cart-drawer--ref .cd-gift{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;
  background:var(--ref-cream);
  border:1px solid rgba(184,144,67,0.2);
  border-radius:12px;
  animation:cdGiftIn .35s cubic-bezier(.16,1,.3,1);
}
@keyframes cdGiftIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.cart-drawer--ref .cd-gift-ic{
  width:40px;height:40px;
  background:#fff;
  border:1px solid rgba(184,144,67,0.267);
  border-radius:8px;
  display:grid;place-items:center;
  color:var(--ref-gold-deep);
  flex-shrink:0;
}
.cart-drawer--ref .cd-gift-ic svg{display:block}
.cart-drawer--ref .cd-gift-body{flex:1;min-width:0}
.cart-drawer--ref .cd-gift-title{
  font-size:12px;font-weight:700;color:var(--ref-ink);line-height:1.3;
}
.cart-drawer--ref .cd-gift-sub{
  font-size:10px;color:var(--ref-ink-3);
  margin-top:2px;line-height:1.3;
}
.cart-drawer--ref .cd-gift-price{
  display:flex;align-items:baseline;gap:6px;flex-shrink:0;
}
.cart-drawer--ref .cd-gift-strike{
  font-size:10px;color:var(--ref-ink-4);
  text-decoration:line-through;
  font-variant-numeric:tabular-nums;
}
.cart-drawer--ref .cd-gift-free{
  font-size:11px;font-weight:900;color:var(--ref-green);
  font-variant-numeric:tabular-nums;
}
.cart-drawer--ref .cd-gift-price-paid{
  font-size:12px;font-weight:900;color:var(--ref-ink);
  font-variant-numeric:tabular-nums;
}
/* VIP forced state — gold ring like included */
.cart-drawer--ref .cd-vip.is-forced .cd-toggle-slider{opacity:.85 !important}

/* ============ ADD-ONS ============ */
.cart-drawer--ref .cd-addons-wrap{
  padding:16px !important;
  background:var(--ref-cream) !important;
  border-top:1px solid var(--ref-line-soft) !important;
  border-bottom:1px solid var(--ref-line-soft) !important;
}
.cart-drawer--ref .cd-addons-title{
  font-family:var(--ref-font) !important;
  font-size:11px !important;font-weight:900 !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--ref-ink) !important;margin:0 0 12px !important;text-align:center !important;
}
.cart-drawer--ref .cd-addons{
  display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:12px !important;
}
.cart-drawer--ref .cd-addon{
  display:flex !important;flex-direction:column !important;
  align-items:center !important;text-align:center !important;
  gap:6px !important;padding:10px !important;
  background:#fff !important;border-radius:12px !important;
  border:1px solid var(--ref-line-soft) !important;
}
.cart-drawer--ref .cd-addon-img{
  width:60px !important;height:60px !important;
  border-radius:8px !important;overflow:hidden !important;
  background:var(--ref-cream) !important;
  display:grid !important;place-items:center !important;
}
.cart-drawer--ref .cd-addon-title{
  font-size:11px !important;font-weight:700 !important;
  color:var(--ref-ink) !important;line-height:1.3 !important;min-height:30px !important;
}
.cart-drawer--ref .cd-addon-btn{
  display:block !important;width:100% !important;padding:6px 10px !important;
  border:none !important;background:var(--ref-ink) !important;color:#fff !important;
  border-radius:99px !important;
  font-size:10px !important;font-weight:900 !important;
  letter-spacing:.06em !important;cursor:pointer !important;
  transition:background .15s !important;
}
.cart-drawer--ref .cd-addon-btn:hover{background:#000 !important}

/* ============ COUPON (removed from UI — safety hide) ============ */
.cart-drawer--ref .cd-coupon-wrap,
.cart-drawer--ref .cd-coupon-line,
.cart-drawer--ref .cd-coupon-body,
.cart-drawer--ref .cd-coupon-toggle,
.cart-drawer--ref .cd-coupon-chip{ display:none !important; }

/* ============ FOOTER (VIP + Totals + Checkout) ============ */
.cart-drawer--ref .cd-foot{
  padding:14px 16px 20px !important;
  border-top:1px solid var(--ref-line) !important;
  background:#fff !important;
}
.cart-drawer--ref .cd-vip{
  margin:0 0 14px !important;
  padding:10px 12px !important;
  background:#fff !important;
  border:1px solid rgba(184,144,67,0.35) !important;
  border-radius:14px !important;
  display:flex !important;align-items:center !important;gap:12px !important;
}
.cart-drawer--ref .cd-vip-info{
  flex:1 !important;
  display:flex !important;align-items:center !important;gap:10px !important;
  min-width:0 !important;
}
.cart-drawer--ref .cd-vip-icon{
  width:44px !important;height:44px !important;
  border-radius:8px !important;
  background:transparent !important;
  display:grid !important;place-items:center !important;
  flex-shrink:0 !important;
  overflow:visible !important;
}
.cart-drawer--ref .cd-vip-icon img,
.cart-drawer--ref .cd-vip-icon svg{display:block;width:42px;height:42px;object-fit:contain}
.cart-drawer--ref .cd-vip-text strong{
  display:block !important;
  font-size:13px !important;font-weight:800 !important;
  color:var(--ref-ink) !important;line-height:1.25 !important;
}
.cart-drawer--ref .cd-vip-text span{
  font-size:10.5px !important;color:var(--ref-ink-3) !important;
  display:block !important;line-height:1.35 !important;margin-top:2px !important;
}
.cart-drawer--ref .cd-vip-right{
  display:flex !important;flex-direction:column !important;
  align-items:flex-end !important;gap:6px !important;flex-shrink:0 !important;
}
.cart-drawer--ref .cd-vip-price{
  font-size:12px !important;font-weight:800 !important;
  color:var(--ref-ink) !important;
  font-variant-numeric:tabular-nums !important;
}
.cart-drawer--ref .cd-vip-free{
  color:var(--ref-gold) !important;
  font-weight:900 !important;letter-spacing:.04em !important;
}
.cart-drawer--ref .cd-vip.is-included .cd-toggle-slider{opacity:.85 !important}

/* Toggle switch */
.cart-drawer--ref .cd-toggle{
  position:relative !important;display:inline-block !important;
  width:44px !important;height:24px !important;
}
.cart-drawer--ref .cd-toggle input{opacity:0 !important;width:0 !important;height:0 !important}
.cart-drawer--ref .cd-toggle-slider{
  position:absolute !important;cursor:pointer !important;
  top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
  background:#d4d4d4 !important;border-radius:24px !important;
  transition:.2s !important;
}
.cart-drawer--ref .cd-toggle-slider::before{
  content:"" !important;position:absolute !important;
  height:20px !important;width:20px !important;
  left:2px !important;bottom:2px !important;
  background:#fff !important;border-radius:50% !important;
  transition:.2s !important;
  box-shadow:0 1px 3px rgba(0,0,0,.25) !important;
}
.cart-drawer--ref .cd-toggle input:checked + .cd-toggle-slider{background:var(--ref-gold) !important}
.cart-drawer--ref .cd-toggle input:checked + .cd-toggle-slider::before{transform:translateX(20px) !important}

/* ============ TOTALS (reference-matched) ============ */
.cart-drawer--ref .cd-totals{
  padding:4px 0 0px !important;
  border-top:1px solid var(--ref-line-soft) !important;
  margin-top:2px !important;
}
.cart-drawer--ref .cd-tot-line{
  display:flex !important;justify-content:space-between !important;align-items:center !important;
  font-size:11px !important;padding:5px 0 !important;
  color:var(--ref-ink-2) !important;font-weight:500 !important;
}
.cart-drawer--ref .cd-tot-line strong{
  font-weight:700 !important;
  font-variant-numeric:tabular-nums !important;
  color:var(--ref-ink-2) !important;
}
/* Retail total — strikethrough on RIGHT value only */
.cart-drawer--ref .cd-tot-retail strong.cd-strike{
  text-decoration:line-through !important;
  color:var(--ref-ink-4) !important;
  font-weight:600 !important;
}
/* Bundle discount — deep-red / burgundy */
.cart-drawer--ref .cd-tot-bundle strong.cd-neg{
  color:#c94a4a !important;
  font-weight:700 !important;
}
/* Free gifts value — green */
.cart-drawer--ref .cd-tot-gift{color:var(--ref-ink-2) !important}
.cart-drawer--ref .cd-tot-gift strong.cd-pos{
  color:var(--ref-green) !important;
  font-weight:700 !important;
}
/* Shipping + VIP amounts in gold */
.cart-drawer--ref .cd-gold{
  color:var(--ref-gold) !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}
/* Subtotal row — bigger, bolder, with YOU SAVE underneath */
.cart-drawer--ref .cd-tot-sub{
  margin-top:6px !important;padding-top:10px !important;
  border-top:1px solid var(--ref-line) !important;
  font-size:12px !important;
  align-items:flex-start !important;
}
.cart-drawer--ref .cd-tot-sub > span{
  display:flex !important;flex-direction:column !important;gap:2px !important;
  color:var(--ref-ink) !important;font-weight:900 !important;
}
.cart-drawer--ref .cd-tot-sub strong{
  font-size:16px !important;font-weight:900 !important;color:var(--ref-ink) !important;
  line-height:1 !important;
}
.cart-drawer--ref .cd-you-save{
  display:inline-flex !important;align-items:center !important;
  font-size:9px !important;font-weight:700 !important;
  color:rgb(122, 90, 31) !important;letter-spacing:.04em !important;
}
.cart-drawer--ref .cd-you-save em{font-style:normal !important;margin-left:4px !important}

.cart-drawer--ref .cd-note{
  font-size:10.5px !important;color:var(--ref-ink-3) !important;
  text-align:left !important;margin:6px 0 12px !important;
}

.cart-drawer--ref .cd-checkout{
  display:flex !important;justify-content:center !important;align-items:center !important;
  gap:8px !important;padding:16px 20px !important;
  background:var(--ref-ink) !important;color:#fff !important;
  border:none !important;border-radius:99px !important;
  font-family:var(--ref-font) !important;
  font-size:13px !important;font-weight:900 !important;
  letter-spacing:.08em !important;cursor:pointer !important;
  text-decoration:none !important;
  transition:background .15s, transform .05s !important;
  text-transform:uppercase !important;
}
.cart-drawer--ref .cd-checkout:hover{background:#000 !important}
.cart-drawer--ref .cd-checkout:active{transform:scale(.99) !important}
.cart-drawer--ref .cd-checkout-label{display:inline-flex !important;align-items:center !important;gap:8px !important}
.cart-drawer--ref .cd-checkout-sep{opacity:.6 !important;margin:0 2px !important}
.cart-drawer--ref .cd-checkout strong{
  font-size:13px !important;font-weight:900 !important;
  letter-spacing:.02em !important;
  font-variant-numeric:tabular-nums !important;
}
.cart-drawer--ref .cd-research-note{
  text-align:center !important;margin:12px 0 0 !important;
  font-size:10px !important;font-weight:600 !important;
  color:var(--ref-ink-3) !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
}
.cart-drawer--ref .cd-continue{display:none !important}

/* Strength line on cart item */
.cart-drawer--ref .cd-item-strength{
  font-size:10.5px !important;color:var(--ref-ink-3) !important;
  margin-top:2px !important;line-height:1.35 !important;
}
.cart-drawer--ref .cd-item-strength b{
  color:var(--ref-ink) !important;font-weight:800 !important;
}

.cd-tot-retail span {
    color: rgb(82 82 82);
}
.cd-tot-retail{
    color: rgb(82 82 82);
}
.cd-tot-bundle {
    color: rgb(122, 90, 31);
}
.cd-tot-bundle span {
    color: rgb(122, 90, 31);
}

.cd-tot-gift {
    color:rgb(10, 125, 58);
}
.cd-tot-gift span {
    color:rgb(10, 125, 58);
}
.cd-tot-line.cd-tot-ship strong#ts-cd-ship-amt {
    color:rgb(10, 125, 58) !important;
}