/* =========================================================
   WC Cart Drawer — brand palette
   Only these four colors are used for anything branded:
   #FECE04 (accent/CTA), #000000 (ink), #C20000 (alert), #404040 (muted)
   White/off-white and hairline grays are neutral canvas only.
   ========================================================= */
:root{
  --wcud-accent:#FECE04;
  --wcud-accent-ink:#000000;      /* text color ON TOP of the yellow accent */
  --wcud-ink:#000000;
  --wcud-muted:#404040;
  --wcud-alert:#C20000;
  --wcud-paper:#FFFFFF;
  --wcud-line:#E7E7E7;
  --wcud-track-bg:#EDEDED;
  --wcud-radius:8px;
  --wcud-radius-sm:5px;
}

/* =========================================================
   ISOLATION LAYER — everything below is scoped through
   #wcud-drawer / #wcud-overlay / #wcud-sticky-trigger so it
   wins on specificity against generic theme selectors (which
   are usually bare classes/tags), without needing !important
   everywhere. The handful of !important flags below are on
   properties themes most commonly clobber (font, radius,
   color, decoration, box-sizing) — the exact things flagged
   as "WordPress CSS interfering."
   ========================================================= */
#wcud-drawer, #wcud-drawer *,
#wcud-overlay,
#wcud-sticky-trigger, #wcud-sticky-trigger *{
  box-sizing:border-box !important;
  -webkit-font-smoothing:antialiased;
}

#wcud-drawer,
#wcud-drawer button,
#wcud-drawer input,
#wcud-drawer textarea,
#wcud-drawer select,
#wcud-drawer a,
#wcud-sticky-trigger{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;
  font-size:14px;
  line-height:1.45;
  color:var(--wcud-ink);
  text-decoration:none !important;
  -webkit-appearance:none;
  appearance:none;
}

#wcud-drawer ul, #wcud-drawer ol{ list-style:none !important; margin:0; padding:0; }
#wcud-drawer p{ margin:0 0 8px; }
#wcud-drawer img{ max-width:100%; display:block; }
#wcud-drawer button{ cursor:pointer; }

/* =========================================================
   Sticky trigger + overlay
   ========================================================= */
#wcud-sticky-trigger{
  position:fixed !important;
  right:20px; bottom:20px;
  z-index:99998;
  background:var(--wcud-ink) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--wcud-radius) !important;
  padding:14px 18px;
  font-size:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
button#wcud-trigger {
    position: fixed;
    right: 20px;
    z-index: 9999;
    top: 75px;
}
button#wcud-trigger {
    position: fixed;
    right: 20px;
    z-index: 9999;
    top: 75px;
}
#wcud-sticky-trigger #wcud-sticky-count{
  background:var(--wcud-accent) !important;
  color:var(--wcud-accent-ink) !important;
  border-radius:50% !important;
  padding:1px 7px;
  font-size:12px;
  font-weight:700;
  margin-left:4px;
}

#wcud-overlay{
  position:fixed !important; inset:0;
  background:rgba(0,0,0,0.45);
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
  z-index:99998;
}
#wcud-overlay.open{opacity:1; pointer-events:auto;}

/* =========================================================
   Drawer shell
   ========================================================= */
#wcud-drawer{
  position:fixed !important; top:0; right:0;
  height:100%; width:420px; max-width:92vw;
  background:var(--wcud-paper) !important;
  box-shadow:-8px 0 40px rgba(0,0,0,0.15);
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.19,1,.22,1);
  z-index:99999;
  display:flex; flex-direction:column;
}
#wcud-drawer.open{transform:translateX(0);}
#wcud-drawer .wcud-fragment-content{display:flex; flex-direction:column; height:100%;}

/* =========================================================
   Announcement bar
   ========================================================= */
#wcud-drawer .wcud-announce{
  background:var(--wcud-ink) !important; color:#fff !important;
  font-size:12.5px; font-weight:600; text-align:center;
  padding:10px 16px; display:flex; align-items:center; justify-content:center; gap:8px;
}
#wcud-drawer .wcud-timer{
  background:var(--wcud-accent) !important; color:var(--wcud-accent-ink) !important;
  padding:2px 8px; border-radius:var(--wcud-radius-sm) !important; font-weight:800;
  font-variant-numeric:tabular-nums;
}

/* =========================================================
   Header
   ========================================================= */
#wcud-drawer .wcud-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 20px 14px;
}
#wcud-drawer .wcud-header h2{
  font-size:19px; font-weight:800; margin:0; letter-spacing:-0.2px;
}
#wcud-drawer .wcud-close{
  background:none !important; border:none !important; font-size:20px;
  color:var(--wcud-muted) !important; line-height:1; padding:4px;
}
#wcud-drawer .wcud-close:hover{ color:var(--wcud-ink) !important; }

/* =========================================================
   Reservation banner
   ========================================================= */
#wcud-drawer .wcud-reservation{
  margin:0 20px 14px; padding:11px 14px;
  background:#FDEBEB !important; color:var(--wcud-alert) !important;
  border:1px solid rgba(194,0,0,0.2);
  border-radius:var(--wcud-radius) !important;
  font-size:12.5px; font-weight:700; text-align:center;
}

/* =========================================================
   Subscribe banner — the element that was disappearing.
   Forced as a flex block with explicit color/decoration so
   no theme link/anchor reset can collapse or discolor it.
   ========================================================= */
#wcud-drawer a.wcud-subscribe-banner{
  display:flex !important;
  align-items:center; justify-content:center;
  text-align:center; width:100%;
  background:var(--wcud-ink) !important;
  color:#ffffff !important;
  padding:13px; border-radius:var(--wcud-radius) !important;
  font-size:13px; font-weight:800;
  text-decoration:none !important;
  text-transform:uppercase; letter-spacing:0.3px;
  margin:16px 0;
  border:none !important;
}
#wcud-drawer a.wcud-subscribe-banner:visited,
#wcud-drawer a.wcud-subscribe-banner:hover,
#wcud-drawer a.wcud-subscribe-banner:active{
  color:#ffffff !important;
  text-decoration:none !important;
}
#wcud-drawer a.wcud-subscribe-banner:hover{ background:#1a1a1a !important; }

/* =========================================================
   Notes
   ========================================================= */
#wcud-drawer .wcud-note{margin:6px 0 16px;}
#wcud-drawer .wcud-note-toggle{
  display:flex !important; align-items:center; justify-content:space-between;
  width:100%; background:none !important; border:none !important; padding:8px 0;
  font-size:13px; font-weight:700; color:var(--wcud-ink) !important;
}
#wcud-drawer .wcud-note-field{
  width:100%; min-height:56px; padding:10px 12px; margin-top:8px;
  border:1px solid var(--wcud-line) !important; border-radius:var(--wcud-radius-sm) !important;
  font-size:13px; resize:vertical; background:#fff;
}

/* =========================================================
   Discount / fee / total lines
   ========================================================= */
#wcud-drawer .wcud-discount-line{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12.5px; color:var(--wcud-alert) !important; margin-bottom:8px; font-weight:600;
}
#wcud-drawer .wcud-coupon-pill{
  background:#F2F2F2 !important; color:var(--wcud-ink) !important;
  padding:1px 8px; border-radius:var(--wcud-radius-sm) !important;
  font-size:11px; font-weight:700; margin-left:4px;
}

#wcud-drawer .wcud-fee-row{
  display:flex; justify-content:space-between; align-items:center;
  font-size:12.5px; color:var(--wcud-muted) !important; margin-bottom:6px;
}
#wcud-drawer .wcud-fee-row.wcud-fee-negative{color:var(--wcud-alert) !important; font-weight:600;}

/* =========================================================
   Reward tier / shipping bar
   ========================================================= */
#wcud-drawer .wcud-shipping-bar{
  margin:0 20px 18px; padding:15px 16px;
  background:#fff !important; border:1px solid var(--wcud-line) !important;
  border-radius:var(--wcud-radius) !important;
}
#wcud-drawer .wcud-msg{font-size:13px; font-weight:600; margin-bottom:10px;}
#wcud-drawer .wcud-unlocked{font-size:13px; font-weight:800; color:var(--wcud-ink) !important; margin-bottom:10px;}
#wcud-drawer .wcud-accent{color:var(--wcud-alert) !important; font-weight:700;}
#wcud-drawer .wcud-track{
  position:relative; height:7px;
  background:var(--wcud-track-bg) !important; border-radius:99px; overflow:hidden;
}
#wcud-drawer .wcud-track-fill{
  position:absolute; left:0; top:0; bottom:0;
  background:var(--wcud-accent) !important; border-radius:99px;
  transition:width .5s ease;
}
#wcud-drawer .wcud-tiers{display:flex; justify-content:space-between; margin-top:10px;}
#wcud-drawer .wcud-tier{flex:1; text-align:center; font-size:10.5px; color:var(--wcud-muted) !important;}
#wcud-drawer .wcud-dot{
  width:13px; height:13px; border-radius:50%;
  background:#fff !important; border:2px solid var(--wcud-line) !important;
  margin:0 auto 4px;
}
#wcud-drawer .wcud-tier.reached{color:var(--wcud-ink) !important; font-weight:700;}
#wcud-drawer .wcud-tier.reached .wcud-dot{
  background:var(--wcud-accent) !important; border-color:var(--wcud-ink) !important;
}

/* =========================================================
   Body / line items
   ========================================================= */
#wcud-drawer .wcud-body{flex:1; overflow-y:auto; padding:0 20px;}

#wcud-drawer .wcud-qty-discount{
  background:var(--wcud-ink) !important; color:#fff !important;
  font-size:12.5px; font-weight:700; text-align:center;
  padding:10px 12px; border-radius:var(--wcud-radius) !important; margin-bottom:14px;
}

#wcud-drawer .wcud-line-item{
  display:flex; gap:12px; padding:16px 0;
  border-bottom:1px solid var(--wcud-line) !important;
}
#wcud-drawer .wcud-free-gift-badge{
  display:inline-block; background:var(--wcud-accent) !important; color:var(--wcud-accent-ink) !important;
  font-size:9.5px; font-weight:800; letter-spacing:0.3px;
  padding:2px 6px; border-radius:4px !important; margin-left:6px; vertical-align:middle;
}
#wcud-drawer .wcud-free-gift-note{font-size:11.5px; color:var(--wcud-muted) !important; font-style:italic;}
#wcud-drawer .wcud-thumb img{
  width:66px; height:66px; object-fit:cover;
  border-radius:var(--wcud-radius-sm) !important; border:1px solid var(--wcud-line);
}
#wcud-drawer .wcud-meta{flex:1; min-width:0;}
#wcud-drawer .wcud-name{font-size:14px; font-weight:700; margin-bottom:8px;}
#wcud-drawer .wcud-qty-row{display:flex; align-items:center; justify-content:space-between;}
#wcud-drawer .wcud-stepper{
  display:flex; align-items:center;
  border:1px solid var(--wcud-line) !important; border-radius:var(--wcud-radius-sm) !important;
  overflow:hidden;
}
#wcud-drawer .wcud-stepper button{
  width:28px; height:28px; border:none !important; background:#fff !important;
  font-size:14px; color:var(--wcud-ink) !important;padding:0px!important;
}
#wcud-drawer .wcud-stepper button:hover{ background:#F5F5F5 !important; }
#wcud-drawer .wcud-stepper span{width:26px; text-align:center; font-size:13px; font-weight:700;}
#wcud-drawer .wcud-line-price{font-size:13.5px; font-weight:700;}
#wcud-drawer .wcud-remove{
  background:none !important; border:none !important; font-size:12px;
  color:var(--wcud-muted) !important; text-decoration:underline !important;
  padding:0; margin-top:6px;
}
#wcud-drawer .wcud-empty{padding:44px 0; text-align:center; color:var(--wcud-muted) !important; font-size:13.5px;}

/* =========================================================
   Add-ons (gift wrap / shipping protection)
   ========================================================= */
#wcud-drawer .wcud-addon{
  display:flex; align-items:center; gap:10px; padding:13px 14px;
  background:#fff !important; border:1px solid var(--wcud-line) !important;
  border-radius:var(--wcud-radius) !important; margin:14px 0; font-size:13px;
}
#wcud-drawer .wcud-addon input[type="checkbox"]{
  width:17px; height:17px; accent-color:var(--wcud-ink);
}
#wcud-drawer .wcud-addon label{display:flex; align-items:center; width:100%; font-weight:600;}
#wcud-drawer .wcud-addon-price{margin-left:auto; font-weight:700; color:var(--wcud-muted) !important; font-size:12.5px;}

/* =========================================================
   Upsells
   ========================================================= */
#wcud-drawer .wcud-upsell-section{margin:22px 0 8px;}
#wcud-drawer .wcud-upsell-title{
  font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.8px;
  color:var(--wcud-muted) !important; margin-bottom:12px;
}
#wcud-drawer .wcud-upsell-scroll{
  display:flex; gap:12px; overflow-x:auto; margin:0 -20px; padding:0 20px 8px;
}
#wcud-drawer .wcud-upsell-card{
  flex:0 0 140px; background:#fff !important;
  border:1px solid var(--wcud-line) !important; border-radius:var(--wcud-radius) !important;
  padding:10px;
}
#wcud-drawer .wcud-upsell-card .wcud-thumb img{
  width:100%; height:80px; object-fit:cover;
  border-radius:var(--wcud-radius-sm) !important; margin-bottom:8px; border:1px solid var(--wcud-line);
}
#wcud-drawer .wcud-upsell-card .wcud-name{font-size:12.5px; font-weight:600; min-height:32px;}
#wcud-drawer .wcud-upsell-card .wcud-price{font-size:12.5px; font-weight:700; margin-bottom:8px;}
#wcud-drawer .wcud-upsell-variant{
  width:100%; padding:6px 8px; margin-bottom:8px;
  border:1px solid var(--wcud-line) !important; border-radius:var(--wcud-radius-sm) !important;
  font-size:12px;
}
#wcud-drawer .wcud-upsell-add{
  width:100%; padding:8px; border-radius:var(--wcud-radius-sm) !important;
  border:1.5px solid var(--wcud-ink) !important; background:#fff !important;
  color:var(--wcud-ink) !important;
  font-size:12px; font-weight:700;
}
#wcud-drawer .wcud-upsell-add:hover{ background:var(--wcud-ink) !important; color:#fff !important; }
#wcud-drawer .wcud-upsell-add.added{
  background:var(--wcud-accent) !important; border-color:var(--wcud-accent) !important;
  color:var(--wcud-accent-ink) !important;
}
button#wcud-trigger {
    position: fixed;
    right: 20px;
    z-index: 9999;
    top: 75px;
}
/* =========================================================
   Discount code box
   ========================================================= */
#wcud-drawer .wcud-discount-row{display:flex; gap:8px; margin:18px 0 6px;}
#wcud-drawer .wcud-discount-row input{
  flex:1; padding:11px 12px;
  border:1px solid var(--wcud-line) !important; border-radius:var(--wcud-radius-sm) !important;
  font-size:13px; background:#fff;
}
#wcud-drawer .wcud-discount-row button{
  padding:11px 18px; border-radius:var(--wcud-radius-sm) !important; border:none !important;
  background:var(--wcud-accent) !important; color:var(--wcud-accent-ink) !important;
  font-size:13px; font-weight:800;
}
#wcud-drawer .wcud-discount-row button:hover{ background:#E5BA00 !important; }
#wcud-drawer #wcud-coupon-message{font-size:12px; margin-bottom:10px; min-height:16px; font-weight:600;}
#wcud-drawer #wcud-coupon-message.error{color:var(--wcud-alert) !important;}
#wcud-drawer #wcud-coupon-message.success{color:#1a7a1a !important;}

/* =========================================================
   Footer
   ========================================================= */
#wcud-drawer .wcud-footer{
  padding:16px 20px 22px;
  border-top:1px solid var(--wcud-line) !important;
  background:var(--wcud-paper) !important;
}
#wcud-drawer .wcud-subtotal-row{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom:8px; font-size:14px;
}
#wcud-drawer .wcud-subtotal-row strong{font-size:16px;}

#wcud-drawer .wcud-total-row{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:8px 0 14px; padding-top:10px;
  border-top:1px solid var(--wcud-line) !important;
  font-size:14px; font-weight:700;
}
#wcud-drawer .wcud-total-row strong{font-size:20px;}

#wcud-drawer .wcud-checkout-btn{
  display:flex !important; align-items:center; justify-content:center; width:100%;
  padding:16px; border-radius:var(--wcud-radius) !important; border:none !important;
  background:var(--wcud-accent) !important; color:var(--wcud-accent-ink) !important;
  font-size:15px; font-weight:800; text-decoration:none !important;
  text-transform:uppercase; letter-spacing:0.3px;
}
#wcud-drawer .wcud-checkout-btn:hover,
#wcud-drawer .wcud-checkout-btn:visited{
  background:#E5BA00 !important; color:var(--wcud-accent-ink) !important;
}
#wcud-drawer .wcud-trust-note{
  text-align:center; font-size:11.5px; color:var(--wcud-muted) !important; margin-top:10px;
}

@media (max-width:480px){
  #wcud-drawer{width:100%;}
}
