/* DTC Mobile Slide Cart (v0.4.4)
   - Slightly smaller “density” overall so more items fit
   - Smaller Total block
   - Keeps strong specificity so theme can't break footer/button/bar
*/

#dtc-sc-overlay[hidden]{ display:none !important; }
html.dtc-sc-open, body.dtc-sc-open { height:100%; overflow:hidden; }
#dtc-sc-drawer, #dtc-sc-drawer * { box-sizing:border-box; }

#dtc-sc-overlay{
  position:fixed; inset:0;
  background: rgba(2,6,23,0.45);
  opacity:0;
  transition: opacity 200ms ease-out;
  z-index:999998;
}

#dtc-sc-drawer{
  --dtc-sc-accent:#0B4C8A;
  --dtc-sc-accent2:#06B6D4;
  --dtc-sc-success:#22C55E;
  --dtc-sc-text:#0f172a;
  --dtc-sc-muted: rgba(15,23,42,.62);
  --dtc-sc-border: rgba(15,23,42,.12);
  --dtc-sc-bg:#f5f7fb;

  position:fixed; top:0; right:0; bottom:0;
  width:min(92vw, 420px);
  transform: translateX(105%);
  transition: transform 250ms cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index:999999;
  will-change: transform;
}

body.dtc-sc-open #dtc-sc-overlay{ opacity:1; }
body.dtc-sc-open #dtc-sc-drawer{ transform: translateX(0); }

#dtc-sc-drawer .dtc-sc-sheet{
  position:relative;
  height:100%;
  background:#fff;
  border-top-left-radius:18px;
  border-bottom-left-radius:18px;
  box-shadow:-10px 0 28px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  min-height:0;
  padding-bottom: env(safe-area-inset-bottom);
}

#dtc-sc-drawer[aria-busy="true"] .dtc-sc-sheet::after{
  content:"";
  position:absolute; left:0; right:0; top:0;
  height:3px;
  background: linear-gradient(90deg, transparent, rgba(11,76,138,.95), transparent);
  animation: dtc-sc-loadingbar 1.0s linear infinite;
}
@keyframes dtc-sc-loadingbar { 0%{ transform:translateX(-60%);} 100%{ transform:translateX(60%);} }

#dtc-sc-drawer .dtc-sc-header{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px 7px; /* slightly tighter */
  border-bottom:1px solid var(--dtc-sc-border);
  background:#fff;
}
#dtc-sc-drawer .dtc-sc-header-left{ flex:1; min-width:0; }
#dtc-sc-drawer .dtc-sc-title{ margin:0; font-size:15px; font-weight:950; color:var(--dtc-sc-text); }
#dtc-sc-drawer .dtc-sc-count{ font-size:11px; color:var(--dtc-sc-muted); margin-top:2px; min-height:14px; }

#dtc-sc-drawer .dtc-sc-close{
  background: rgba(15,23,42,.06);
  border:0;
  width:38px; height:38px; /* smaller */
  border-radius:12px;
  font-size:22px;
  color:var(--dtc-sc-text);
}

#dtc-sc-drawer .dtc-sc-top{
  padding:7px 12px; /* tighter */
  background: var(--dtc-sc-bg);
  border-bottom:1px solid var(--dtc-sc-border);
}
#dtc-sc-drawer .dtc-sc-emptyhead{ font-size:11px; font-weight:850; color: var(--dtc-sc-muted); }

#dtc-sc-drawer .dtc-sc-express{
  background:#fff;
  border:1px solid var(--dtc-sc-border);
  border-radius:14px;
  padding:9px; /* tighter */
}
#dtc-sc-drawer .dtc-sc-express-title{
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--dtc-sc-muted);
  margin-bottom:7px;
}
#dtc-sc-drawer .dtc-sc-express-buttons{ display:grid; gap:8px; }

#dtc-sc-drawer .dtc-sc-body{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:9px 10px; /* tighter */
  padding-bottom: 240px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}

#dtc-sc-drawer .dtc-sc-skeleton{
  padding:11px;
  border:1px solid var(--dtc-sc-border);
  border-radius:14px;
  background:#fff;
}

#dtc-sc-drawer .dtc-sc-items{
  list-style:none;
  margin:0; padding:0;
  display:flex;
  flex-direction:column;
  gap:9px; /* tighter */
}

#dtc-sc-drawer .dtc-sc-item{
  display:flex;
  gap: 14px; /* tighter */
  align-items:flex-start;
  border:1px solid var(--dtc-sc-border);
  background:#fff;
  border-radius:14px; /* slightly smaller */
  padding:8px; /* smaller */
}

#dtc-sc-drawer .dtc-sc-thumb img{
  width: 64px; /* smaller */
  height: 64px; /* smaller */
  object-fit:cover;
  border-radius:12px;
  display:block;
}

#dtc-sc-drawer .dtc-sc-meta{ flex:1; min-width:0; }
#dtc-sc-drawer a.dtc-sc-product-link{ text-decoration:none !important; color:inherit !important; }

#dtc-sc-drawer .dtc-sc-name{
  display:inline-block;
  font-size:12.5px;
  font-weight:1000;
  color:var(--dtc-sc-text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
#dtc-sc-drawer .dtc-sc-sku{ font-size:10.5px; color:var(--dtc-sc-muted); margin-top:2px; }

#dtc-sc-drawer .dtc-sc-price-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
  margin-top:5px;
}
#dtc-sc-drawer .dtc-sc-unit{
  font-size:11.5px;
  font-weight:900;
  color: var(--dtc-sc-muted);
  white-space:nowrap;
}
#dtc-sc-drawer .dtc-sc-line{
  font-size:12.5px;
  font-weight:1000;
  color: var(--dtc-sc-text);
  white-space:nowrap;
}

#dtc-sc-drawer .dtc-sc-qty-row{ display:flex; align-items:center; gap:7px; margin-top:8px; }
#dtc-sc-drawer .dtc-sc-qty-btn{
  width:32px; height:32px; /* smaller */
  border:1px solid var(--dtc-sc-border);
  background:#fff;
  border-radius:12px;
  font-size:17px;
  font-weight:950;
  color:var(--dtc-sc-text);
}
#dtc-sc-drawer .dtc-sc-qty-input{
  width:52px; height:32px; /* smaller */
  text-align:center;
  border:1px solid var(--dtc-sc-border);
  border-radius:12px;
  color:var(--dtc-sc-text);
  font-weight:900;
  font-size:13px;
}
#dtc-sc-drawer .dtc-sc-remove{
  border:0;
  background: rgba(15,23,42,.06);
  color: var(--dtc-sc-text);
  font-size:20px;
  width:34px; height:34px; /* smaller */
  border-radius:12px;
}

#dtc-sc-drawer .dtc-sc-secondary{
  display:block;
  width:100%;
  text-align:center;
  padding:11px;
  border-radius:14px;
  border:1px solid var(--dtc-sc-border);
  background:#fff;
  text-decoration:none !important;
  font-weight:950;
  color:var(--dtc-sc-text) !important;
}

/* Upsell rail slightly smaller */
#dtc-sc-drawer .dtc-sc-upsell{ margin-top:10px; }
#dtc-sc-drawer .dtc-sc-upsell-title{ font-size:12.5px; font-weight:1000; margin-bottom:9px; color:var(--dtc-sc-text); }
#dtc-sc-drawer .dtc-sc-upsell-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns: 150px; /* narrower */
  gap:9px;
  overflow-x:auto;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}
#dtc-sc-drawer .dtc-sc-upsell-card{
  border:1px solid var(--dtc-sc-border);
  border-radius:14px;
  padding:9px; /* tighter */
  background:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#dtc-sc-drawer .dtc-sc-upsell-img{ border-radius:12px; overflow:hidden; background:#f3f4f6; }
#dtc-sc-drawer .dtc-sc-upsell-img img{
  width:100% !important;
  height:82px !important; /* slightly shorter */
  object-fit:cover !important;
  display:block !important;
}
#dtc-sc-drawer .dtc-sc-upsell-name{
  margin-top:7px;
  font-size:11.5px;
  font-weight:950;
  color:var(--dtc-sc-text);
  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
  white-space:normal;
  line-height:1.2;
  min-height: 2.4em;
}
#dtc-sc-drawer .dtc-sc-upsell-price{ font-size:11.5px; margin-top:6px; color:var(--dtc-sc-text); }
#dtc-sc-drawer .dtc-sc-upsell-add{
  margin-top:auto;
  width:100%;
  min-height:38px;
  border-radius:12px;
  border:1px solid var(--dtc-sc-border);
  background:#fff;
  font-weight:950;
}

/* Coupon */
#dtc-sc-drawer .dtc-sc-coupon{ margin-top:10px; }
#dtc-sc-drawer .dtc-sc-coupon-toggle{
  padding:11px;
  border:1px solid var(--dtc-sc-border);
  background:#fff;
  border-radius:14px;
  width:100%;
  text-align:left;
  font-weight:950;
  color:var(--dtc-sc-text);
}
#dtc-sc-drawer #dtc-sc-coupon-panel{ margin-top:9px; display:none; }
#dtc-sc-drawer #dtc-sc-coupon-panel.is-open{ display:block; }
#dtc-sc-drawer .dtc-sc-coupon-input{ display:flex; gap:8px; }
#dtc-sc-drawer .dtc-sc-coupon-input input{
  flex:1;
  min-height:40px;
  border:1px solid var(--dtc-sc-border);
  border-radius:12px;
  padding:0 12px;
  color:var(--dtc-sc-text);
  font-weight:700;
}
#dtc-sc-drawer .dtc-sc-coupon-input .dtc-sc-apply{
  min-height:40px;
  border:0;
  border-radius:12px;
  background: linear-gradient(90deg, var(--dtc-sc-accent), rgba(2,6,23,1));
  color:#fff;
  padding:0 14px;
  font-weight:1000;
}

/* FOOTER: smaller total block + slightly tighter */
#dtc-sc-drawer .dtc-sc-footer{
  flex-shrink:0;
  border-top:1px solid var(--dtc-sc-border);
  background:#fff;
  padding:10px; /* tighter */
  padding-bottom: calc(18px + env(safe-area-inset-bottom));
}

#dtc-sc-drawer .dtc-sc-foot-total{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  padding:8px 10px !important; /* smaller block */
  border-radius:14px !important;
  background: linear-gradient(135deg, rgba(11,76,138,1), rgba(2,6,23,1)) !important;
  color:#fff !important;
  margin-bottom:8px !important;
}
#dtc-sc-drawer .dtc-sc-foot-total.is-empty{
  background: rgba(15,23,42,.06) !important;
  color: var(--dtc-sc-text) !important;
}
#dtc-sc-drawer .dtc-sc-foot-total-label{
  font-size:10px !important; /* smaller */
  font-weight:950 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color: rgba(255,255,255,.78) !important;
}
#dtc-sc-drawer .dtc-sc-foot-total.is-empty .dtc-sc-foot-total-label{ color: var(--dtc-sc-muted) !important; }
#dtc-sc-drawer .dtc-sc-foot-total-value{
  font-size:15px !important; /* smaller */
  font-weight:1000 !important;
}

#dtc-sc-drawer a.dtc-sc-checkout{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  padding:12px !important; /* slightly smaller */
  border-radius:14px !important;
  background: linear-gradient(90deg, var(--dtc-sc-accent), rgba(2,6,23,1)) !important;
  color:#fff !important;
  opacity: 1 !important;
  text-decoration:none !important;
  font-weight:1000 !important;
  font-size:15px !important;
  letter-spacing:.01em !important;
  box-shadow: 0 10px 24px rgba(2,6,23,.18) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.22) !important;
}
#dtc-sc-drawer a.dtc-sc-checkout:active{ transform: translateY(1px); }

#dtc-sc-drawer .dtc-sc-footnote{
  margin-top:7px !important;
  font-size:11.5px !important;
  color:var(--dtc-sc-muted) !important;
  text-align:center !important;
  font-weight:800 !important;
}

/* Shipping mini (slightly smaller) */
#dtc-sc-drawer .dtc-sc-shipmini{
  margin-top:9px !important;
  padding-top:9px !important;
  border-top:1px solid var(--dtc-sc-border) !important;
}
#dtc-sc-drawer .dtc-sc-shipmini-row{
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  font-size:11px !important;
  font-weight:900 !important;
  color:var(--dtc-sc-text) !important;
  margin-bottom:7px !important;
}
#dtc-sc-drawer .dtc-sc-shipmini-left{ color: var(--dtc-sc-muted) !important; font-weight:900 !important; }
#dtc-sc-drawer .dtc-sc-shipmini-right{ color: var(--dtc-sc-text) !important; font-weight:1000 !important; }

#dtc-sc-drawer .dtc-sc-shipmini-bar{
  height:7px !important; /* smaller */
  border-radius:999px !important;
  background: rgba(15,23,42,.10) !important;
  overflow:hidden !important;
}
#dtc-sc-drawer .dtc-sc-shipmini-bar > span{
  display:block !important;
  height:100% !important;
  width:0;
  background: linear-gradient(90deg, var(--dtc-sc-accent2), #93C5FD) !important;
}
#dtc-sc-drawer .dtc-sc-shipmini-bar > span.is-qualified{
  background: linear-gradient(90deg, var(--dtc-sc-success), #86EFAC) !important;
}

/* Desktop unaffected */
@media (min-width: 769px){
  #dtc-sc-overlay, #dtc-sc-drawer{ display:none !important; }
}


/* Discount line (only shows when Woo has discounts applied) */
#dtc-sc-drawer .dtc-sc-discountnote{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
  margin: -2px 2px 8px !important;
  font-size:11px !important;
  font-weight:900 !important;
  color: var(--dtc-sc-muted) !important;
}
#dtc-sc-drawer .dtc-sc-discountnote span:last-child{
  color: var(--dtc-sc-text) !important;
  font-weight:1000 !important;
}
