/* =========================================
   DARK THEME OVERRIDES — CART PAGE
========================================= */

body.dark{
  background: #0b1020;
  color: #f8fafc;
}

/* ================= HERO ================= */

body.dark .cart-hero{
  background:
    radial-gradient(1200px 600px at 50% -20%, rgba(99,102,241,0.28), transparent 65%),
    radial-gradient(900px 520px at 10% 30%, rgba(139,92,246,0.22), transparent 60%),
    radial-gradient(900px 520px at 90% 40%, rgba(147,51,234,0.18), transparent 60%),
    linear-gradient(180deg, #0f172a 0%, #11182b 100%);
}

body.dark .cart-hero::before{
  background: radial-gradient(circle, rgba(124,58,237,0.18), transparent 65%);
}

body.dark .cart-hero::after{
  background: radial-gradient(circle, rgba(79,70,229,0.14), transparent 65%);
}

body.dark .cart-hero__title{
  color: #f8fafc;
}

body.dark .cart-hero__sub{
  color: #cbd5e1;
}

body.dark .cart-hero__icon{
  background: rgba(129,140,248,.14);
  box-shadow:
    inset 0 0 0 1px rgba(129,140,248,.10),
    0 0.75rem 1.75rem rgba(0,0,0,.16);
}

body.dark .cart-hero__icon svg{
  stroke: #a5b4fc;
}

body.dark #cartItemsCount{
  color: #a78bfa;
}

/* ================= MAIN ================= */

body.dark .cart-main{
  background: #0b1020;
}

body.dark .back-link{
  color: #f8fafc;
}

body.dark .back-link__icon{
  background: #182033;
}

body.dark .back-link__icon svg{
  stroke: #f8fafc;
}

body.dark .back-link:hover{
  color: #a78bfa;
}

body.dark .back-link:hover .back-link__icon{
  background: #6366f1;
  box-shadow: 0 8px 20px rgba(99,102,241,.35);
}

body.dark .free-ship{
  background: rgba(34,197,94,.10);
  border-color: rgba(34,197,94,.20);
}

body.dark .free-ship__icon{
  background: rgba(34,197,94,.14);
  color: #4ade80;
}

body.dark .free-ship__title{
  color: #f8fafc;
}

body.dark .free-ship__text{
  color: #cbd5e1;
}

/* ================= CART CARD ================= */

body.dark .cart-card{
  background: linear-gradient(180deg, #182033 0%, #11182b 100%);
  box-shadow:
    0 .875rem 2.25rem rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.05);
}

body.dark .cart-card__head{
  border-bottom-color: rgba(255,255,255,.08);
}

body.dark .cart-card__head h2{
  color: #f8fafc;
}

body.dark .cart-item{
  border-bottom-color: rgba(255,255,255,.06);
}

body.dark .cart-thumb{
  background: #202938;
}

body.dark .cart-title{
  color: #f8fafc;
}

body.dark .cart-meta{
  color: #94a3b8;
}

body.dark .cart-meta .pill{
  background: #202938;
  color: #cbd5e1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

/* qty */
body.dark .qty-btn{
  border-color: rgba(255,255,255,.12);
  background: #182033;
  color: #f8fafc;
}

body.dark .qty-btn:hover{
  background: #202938;
  box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.18);
}

body.dark .qty-num{
  color: #f8fafc;
}

body.dark .cart-price strong{
  color: #f8fafc;
}

body.dark .cart-price span{
  color: #94a3b8;
}

/* trash */
body.dark .trash{
  border-color: rgba(255,255,255,.10);
  background: #182033;
}

body.dark .trash:hover{
  background: rgba(239,68,68,.12);
  border-color: rgba(248,113,113,.35);
  box-shadow: 0 8px 20px rgba(239,68,68,.12);
}

/* continue */
body.dark .continue-btn{
  border-color: rgba(255,255,255,.10);
  background: #182033;
  color: #f8fafc;
}

body.dark .continue-btn:hover{
  background: #6366f1;
  color: #fff;
  border-color: #6366f1;
  box-shadow: 0 12px 30px rgba(99,102,241,.35);
}

body.dark .continue-btn__icon{
  background: #202938;
}

body.dark .continue-btn:hover .continue-btn__icon{
  background: rgba(255,255,255,.18);
}

/* ================= SUMMARY ================= */

body.dark .summary{
  background: linear-gradient(180deg, #182033 0%, #11182b 100%);
  box-shadow:
    0 .875rem 2.25rem rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.05);
}

body.dark .summary__title{
  color: #f8fafc;
}

body.dark .promo__label{
  color: #cbd5e1;
}

body.dark .promo__input{
  background: #0f172a;
  border-color: rgba(255,255,255,.10);
  color: #f8fafc;
}

body.dark .promo__input::placeholder{
  color: #94a3b8;
}

body.dark .promo__btn{
  background: #202938;
  color: #fff;
}

body.dark .promo__btn:hover{
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
}

body.dark .promo__hint{
  color: #94a3b8;
}

body.dark .summary__lines{
  border-top-color: rgba(255,255,255,.08);
}

body.dark .line{
  color: #cbd5e1;
}

body.dark .summary__total{
  border-top-color: rgba(255,255,255,.08);
}

body.dark .summary__total strong{
  color: #a78bfa;
}

body.dark .summary-bullets{
  color: #cbd5e1;
}

body.dark .summary-bullets li::before{
  background: #4ade80;
}

/* checkout */
body.dark .checkout-btn{
  box-shadow: 0 1rem 2rem rgba(109,93,252,0.30);
}

body.dark .checkout-btn:hover{
  box-shadow: 0 1.6rem 3rem rgba(109,93,252,0.38);
}

body.dark .checkout-btn:active{
  box-shadow: 0 .6rem 1.2rem rgba(109,93,252,0.32);
}

/* empty */
body.dark .cart-empty__title{
  color: #f8fafc;
}

body.dark .cart-empty__text{
  color: #94a3b8;
}

body.dark .cart-empty__btn{
  background: #202938;
  color: #fff;
}

body.dark .cart-empty__btn:hover{
  box-shadow: 0 14px 30px rgba(0,0,0,.26);
}

/* ================= CHECKOUT MODAL ================= */

body.dark .checkoutModal__overlay{
  background: rgba(2,6,23,.72);
}

body.dark .checkoutModal__dialog{
  background:
    radial-gradient(1200px 500px at 20% -10%, rgba(124,58,237,.12), transparent 55%),
    radial-gradient(900px 450px at 90% 0%, rgba(236,72,153,.10), transparent 50%),
    #11182b;

  border-color: rgba(255,255,255,.08);

  box-shadow:
    0 2.2rem 5rem rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.04);
}

body.dark .checkoutModal__close{
  border-color: rgba(255,255,255,.10);
  background: #182033;
}

body.dark .checkoutModal__close:hover{
  background: #202938;
}

body.dark .checkoutModal__close svg{
  stroke: #f8fafc;
}

body.dark .checkoutModal__title{
  color: #f8fafc;
}

body.dark .checkoutModal__sub{
  color: #cbd5e1;
}

/* fields */
body.dark .field__label{
  color: #cbd5e1;
}

body.dark .field__input{
  border-color: rgba(255,255,255,.10);
  background: #0f172a;
  color: #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

body.dark .field__input::placeholder{
  color: #94a3b8;
}

body.dark .field__input:hover{
  border-color: rgba(124,58,237,.24);
}

body.dark .field__input:focus{
  border-color: rgba(124,58,237,.55);
  box-shadow: 0 0 0 4px rgba(124,58,237,.16);
}

body.dark .field__hint{
  color: #94a3b8;
}

body.dark .divider{
  background: linear-gradient(
    90deg,
    rgba(79,70,229,.14),
    rgba(147,51,234,.14),
    rgba(236,72,153,.12)
  );
}

/* modal buttons */
body.dark .btn{
  border-color: rgba(255,255,255,.10);
  background: #182033;
  color: #f8fafc;
}

body.dark .btn:focus-visible{
  box-shadow: 0 0 0 4px rgba(124,58,237,.18);
  border-color: rgba(124,58,237,.35);
}

body.dark .btn--ghost{
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.10);
  color: #f8fafc;
}

body.dark .btn--ghost:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 .75rem 1.6rem rgba(0,0,0,.18);
}

body.dark .btn--primary{
  color: #fff;
  box-shadow: 0 .9rem 2rem rgba(79,70,229,.28);
}

body.dark .btn--primary:hover{
  box-shadow: 0 1.1rem 2.4rem rgba(79,70,229,.34);
}

/* ================= TOAST PARTS ================= */

body.dark .toast__content{
  color: #f8fafc;
}

body.dark .toast__icon{
  background: rgba(255,255,255,.06);
}

body.dark .toast__link{
  color: #c4b5fd;
}

/* ================= TOASTS (DARK FORCE) ================= */

body.dark .toast{
  background: #11182b !important;
  color: #f8fafc !important;
  border-left-color: transparent;
  box-shadow:
    0 1.5rem 3rem rgba(0,0,0,0.28),
    0 0 0 0.0625rem rgba(255,255,255,0.06) !important;
}

body.dark .toast.success{
  border-left: 0.25rem solid #8b5cf6 !important;
}

body.dark .toast.error{
  border-left: 0.25rem solid #ef4444 !important;
}

body.dark .toast__content{
  color: #f8fafc !important;
}

body.dark .toast__icon{
  background: rgba(255,255,255,.06) !important;
}

body.dark .toast__icon svg{
  stroke: #4ade80 !important;
}

body.dark .toast__link{
  color: #c4b5fd !important;
}

body.dark .toast__link:hover{
  color: #ddd6fe !important;
}
