/* Europe Peptides: cart drawer + toast. Site-wide, loaded after ep.css.
   Markup is rendered by renderCartDrawer() in shared.js (IDs and functions unchanged). */

/* Header badge: shared.js sets display:flex on .cart-badge, so centre its text. */
.ep-cart-btn .cart-badge{ align-items:center; justify-content:center; }

/* Overlay + sheet */
.cart-overlay{ background:rgba(22,22,22,.38); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); transition:opacity .3s ease; }
.cart-drawer{ top:12px; bottom:12px; right:-480px; height:auto; width:440px; max-width:calc(100vw - 24px);
  background:#fff; border-radius:var(--ep-r-lg,24px); box-shadow:0 30px 80px rgba(22,22,22,.22); overflow:hidden;
  transition:right .38s cubic-bezier(.2,.8,.2,1); font-family:var(--ep-font); color:var(--ep-ink); }
.cart-drawer.open{ right:12px; }

.cart-drawer .cart-header{ padding:22px 22px 18px; border-bottom:1px solid var(--ep-line); }
.cart-drawer .cart-header h3{ font:600 22px/1 var(--ep-font); letter-spacing:-.03em; color:var(--ep-ink); display:flex; align-items:center; gap:10px; }
.cart-count-chip{ display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 8px; border-radius:var(--ep-pill,999px);
  background:var(--ep-stone); font:600 13px/1 var(--ep-font); letter-spacing:0; }
.cart-drawer .cart-close{ width:40px; height:40px; border-radius:50%; border:1px solid var(--ep-line); background:#fff; font-size:22px; color:var(--ep-ink);
  display:grid; place-items:center; line-height:1; transition:border-color .15s ease; }
.cart-drawer .cart-close:hover{ border-color:var(--ep-ink); }

/* Free delivery progress */
.cart-ship{ margin:14px 22px 0; padding:14px 16px; border-radius:var(--ep-r-md,18px); background:var(--ep-stone); }
.cart-ship-text{ font:400 13.5px/1.4 var(--ep-font); color:var(--ep-ink-2); }
.cart-ship-text b{ font-weight:600; color:var(--ep-ink); }
.cart-ship-bar{ margin-top:10px; height:6px; border-radius:6px; background:#E4E1DA; overflow:hidden; }
.cart-ship-bar span{ display:block; height:100%; border-radius:6px; background:var(--ep-ink); transition:width .4s ease; }
.cart-ship.done{ background:#E7F6EC; }
.cart-ship.done .cart-ship-bar span{ background:var(--ep-ok); }

/* Items */
.cart-drawer .cart-items{ padding:6px 22px; }
.cart-drawer .cart-item{ display:grid; grid-template-columns:76px 1fr; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--ep-line); }
.cart-drawer .cart-item:last-child{ border-bottom:0; }
.cart-item-thumb{ display:block; width:76px; height:76px; border-radius:16px; overflow:hidden; background:#fff; box-shadow:inset 0 0 0 1px var(--ep-line); }
.cart-drawer .cart-item-img{ width:100%; height:100%; object-fit:cover; border:0; border-radius:0; mix-blend-mode:multiply; display:block; }
.cart-item-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.cart-item-text{ min-width:0; }
.cart-drawer .cart-item-name{ display:block; font:600 15px/1.25 var(--ep-font); letter-spacing:-.01em; color:var(--ep-ink); text-decoration:none; margin:0; }
.cart-drawer .cart-item-name:hover{ text-decoration:underline; }
.cart-drawer .cart-item-dosage{ font:400 13px/1.4 var(--ep-font); color:var(--ep-muted); margin-top:3px; }
.cart-drawer .cart-item-price{ font:600 15px/1.25 var(--ep-font); color:var(--ep-ink); margin:0; white-space:nowrap; }
.cart-drawer .cart-item-price--enquire{ font-size:12.5px; font-weight:500; color:var(--ep-muted); }
.cart-item-water-note{ margin-top:8px; padding:8px 10px; border-radius:10px; background:#F1F7FE; color:#24527A; font:400 12.5px/1.4 var(--ep-font); }
.cart-item-bottom{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; }
.cart-drawer .cart-item-controls{ display:inline-flex; align-items:center; gap:0; height:36px; border:1px solid var(--ep-line); border-radius:var(--ep-pill,999px); padding:0 3px; }
.cart-drawer .cart-qty-btn{ width:30px; height:30px; border:0; border-radius:50%; background:transparent; font-size:17px; color:var(--ep-ink); display:grid; place-items:center; cursor:pointer; transition:background .15s ease; }
.cart-drawer .cart-qty-btn:hover{ background:var(--ep-stone); color:var(--ep-ink); border-color:transparent; }
.cart-drawer .cart-qty{ min-width:26px; text-align:center; font:600 14px/1 var(--ep-font); color:var(--ep-ink); }
.cart-drawer .cart-remove{ border:0; background:none; padding:6px 2px; font:500 13px/1 var(--ep-font); color:var(--ep-muted); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.cart-drawer .cart-remove:hover{ color:#B42318; }

/* Empty state */
.cart-drawer .cart-empty{ padding:48px 28px; gap:6px; }
.cart-empty-icon{ width:64px; height:64px; border-radius:50%; background:var(--ep-stone); display:grid; place-items:center; margin-bottom:10px; }
.cart-empty-icon svg{ width:28px; height:28px; color:var(--ep-ink); }
.cart-empty-title{ font:600 18px/1.3 var(--ep-font); color:var(--ep-ink); margin:0; }
.cart-empty-sub{ font:400 14px/1.5 var(--ep-font); color:var(--ep-muted); margin:0 0 14px; }
.cart-drawer .cart-empty-btn{ width:auto; padding:0 26px; }

/* Footer */
.cart-drawer .cart-footer{ padding:16px 22px 20px; border-top:1px solid var(--ep-line); background:#fff; }
.cart-drawer .cart-code-row{ display:flex; gap:8px; margin:0; }
.cart-drawer .cart-code-row input{ flex:1; min-width:0; height:46px; padding:0 16px; border:1px solid var(--ep-line); border-radius:var(--ep-pill,999px);
  font:500 14px/1 var(--ep-font); color:var(--ep-ink); background:#fff; outline:none; text-transform:uppercase; letter-spacing:.02em; }
.cart-drawer .cart-code-row input::placeholder{ text-transform:none; letter-spacing:0; color:var(--ep-faint); }
.cart-drawer .cart-code-row input:focus{ border-color:var(--ep-ink); }
.cart-drawer .cart-code-row button{ height:46px; padding:0 20px; border-radius:var(--ep-pill,999px); border:1px solid var(--ep-ink); background:#fff; color:var(--ep-ink);
  font:600 14px/1 var(--ep-font); cursor:pointer; transition:background .15s ease, color .15s ease; }
.cart-drawer .cart-code-row button:hover{ background:var(--ep-ink); color:#fff; }
.cart-drawer .cart-code-msg{ font:500 12.5px/1.4 var(--ep-font); min-height:0; margin-top:6px; }
.cart-drawer .cart-code-msg:empty{ display:none; }
.cart-drawer .cart-code-applied{ display:flex; justify-content:space-between; align-items:center; height:46px; padding:0 8px 0 16px; border-radius:var(--ep-pill,999px);
  background:#E7F6EC; color:#13723C; font:500 14px/1 var(--ep-font); }
.cart-drawer .cart-code-applied strong{ font-weight:700; }
.cart-drawer .cart-code-remove{ border:0; background:#fff; color:var(--ep-ink); height:32px; padding:0 14px; border-radius:var(--ep-pill,999px); font:500 13px/1 var(--ep-font); cursor:pointer; }
.cart-totals{ margin-top:14px; }
.cart-drawer .cart-total-row{ display:flex; justify-content:space-between; align-items:baseline; padding:4px 0; font:400 14.5px/1.4 var(--ep-font); color:var(--ep-muted); border:0; margin:0; }
.cart-drawer .cart-discount-row{ color:#13723C; }
.cart-drawer .cart-total-final{ color:var(--ep-ink); font-weight:600; font-size:17px; padding-top:8px; }
.cart-drawer .cart-total-final .cart-total-val{ font-size:22px; font-weight:650; letter-spacing:-.02em; color:var(--ep-ink); }
.cart-note{ margin:2px 0 14px; font:400 12.5px/1.4 var(--ep-font); color:var(--ep-faint); }
.cart-drawer .cart-checkout-btn{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:56px; border-radius:var(--ep-pill,999px);
  background:var(--ep-ink); color:#fff; text-decoration:none; font:600 16px/1 var(--ep-font); letter-spacing:-.01em; text-transform:none; transition:background .2s ease, transform .15s ease; }
.cart-drawer .cart-checkout-btn:hover{ background:#000; }
.cart-drawer .cart-checkout-btn:active{ transform:scale(.99); }
.cart-drawer .cart-checkout-btn svg{ width:18px; height:18px; }
.cart-sub-actions{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; }
.cart-wa{ display:inline-flex; align-items:center; gap:7px; border:0; background:none; padding:4px 0; font:600 13.5px/1 var(--ep-font); color:#128C4A; cursor:pointer; }
.cart-wa::before{ content:''; width:8px; height:8px; border-radius:50%; background:#25D366; }
.cart-wa:hover{ text-decoration:underline; text-underline-offset:3px; }
.cart-drawer .cart-clear{ margin:0; padding:4px 0; border:0; background:none; font:500 13px/1 var(--ep-font); color:var(--ep-faint); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cart-drawer .cart-clear:hover{ color:var(--ep-ink); }

/* Toast */
.toast{ left:0; right:0; margin:0 auto; width:fit-content; bottom:28px; transform:translateY(140%); max-width:min(480px,calc(100vw - 32px)); padding:13px 20px 13px 14px; border-radius:var(--ep-pill,999px);
  background:var(--ep-ink); color:#fff; font:500 14px/1.35 var(--ep-font); box-shadow:0 14px 40px rgba(22,22,22,.25); gap:10px; }
.toast.show{ transform:translateY(0); }
.toast .toast-check{ flex:none; width:24px; height:24px; border-radius:50%; background:var(--ep-lime); color:var(--ep-ink); display:grid; place-items:center; font-size:13px; font-weight:700; }

@media (max-width:520px){
  .cart-drawer{ top:auto; bottom:0; right:0; left:0; width:100%; max-width:100%; height:92vh; border-radius:24px 24px 0 0; transform:translateY(105%); transition:transform .38s cubic-bezier(.2,.8,.2,1); }
  .cart-drawer.open{ right:0; transform:translateY(0); }
  .cart-drawer .cart-header{ padding:18px 18px 14px; }
  .cart-ship{ margin:12px 18px 0; }
  .cart-drawer .cart-items{ padding:4px 18px; }
  .cart-drawer .cart-footer{ padding:14px 18px 18px; }
  .cart-drawer .cart-item{ grid-template-columns:64px 1fr; }
  .cart-item-thumb{ width:64px; height:64px; }
}
