/* Minimal cart styles matching existing theme. Adjust variables to match `style.css` if needed. */
:root{
  --cart-bg:#fff;
  --cart-accent:#000;
  --cart-text:#111;
  --cart-border:#e6e6e6;
}

/* Sidebar */
.cart-sidebar{
  position:fixed;
  right:0;
  top:0;
  height:100vh;
  width:380px;
  max-width:100%;
  background:var(--cart-bg);
  box-shadow: -4px 0 16px rgba(0,0,0,0.12);
  transform:translateX(100%);
  transition: transform .28s ease;
  z-index:1200;
  padding:18px;
  display:flex;
  flex-direction:column;
}
.cart-sidebar.open{ transform:translateX(0); }
.cart-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.45); opacity:0; visibility:hidden; transition:opacity .2s ease; z-index:1100 }
.cart-overlay.visible{ opacity:1; visibility:visible }

.cart-sidebar .close-cart-btn{ background:none; border:none; font-size:28px; line-height:1; color:var(--cart-text); cursor:pointer }
.cart-items{ flex:1; overflow:auto; margin-top:10px; }
.cart-item{ display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--cart-border)}
.cart-item img{ width:64px; height:64px; object-fit:cover; border-radius:6px }
.cart-item .meta{ flex:1 }
.cart-item .meta h4{ margin:0 0 6px 0; font-size:15px }
.cart-item .meta p{ margin:0; font-size:14px; color:#666 }
.cart-item .qty{ display:flex; gap:6px; align-items:center }
.qty input{ width:56px; padding:6px; text-align:center; border:1px solid var(--cart-border); border-radius:4px }
.remove-btn{ background:none; border:none; color:#c00; cursor:pointer }

.cart-summary{ margin-top:12px; border-top:1px solid var(--cart-border); padding-top:12px }
.cart-summary .total{ display:flex; justify-content:space-between; font-weight:700; font-size:18px }
.checkout-buttons{ display:flex; gap:8px; margin-top:10px }
.btn.checkout{ background:var(--cart-accent); color:#fff; padding:10px 14px; border:none; border-radius:6px; cursor:pointer }
.btn.paypal{ background:#ffc439; color:#111; padding:10px 14px; border:none; border-radius:6px; cursor:pointer }

@media (max-width:600px){
  .cart-sidebar{ width:100%; }
}

/* abandoned cart modal */
.abandon-modal{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.35); z-index:1300 }
.abandon-box{ background:#fff;padding:16px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.12); text-align:center }
.abandon-box .btn{ margin:8px }
