/* Cart drawer + added toast. Self-contained so the homepage does not load the old stylesheet. */
.cart-modal{
  position:fixed;inset:0;z-index:12000;display:none;
  font-family:"Nunito",system-ui,sans-serif;color:#3a0d4e;
}
.cart-modal.active{display:block}
.cart-modal__overlay{position:absolute;inset:0;background:rgba(58,13,78,.45);backdrop-filter:blur(6px)}
.cart-modal__content{
  position:absolute;top:0;right:0;width:min(440px,100%);height:100%;
  background:#fff8fc;display:flex;flex-direction:column;
  box-shadow:-20px 0 50px -24px rgba(255,31,142,.55);
}
.cart-modal__header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px}
.cart-modal__header h2{margin:0;font:700 28px/1 "Fredoka",system-ui,sans-serif}
.cart-modal__close{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:#ffe3f2;color:#ff1f8e;
}
.cart-modal__items{flex:1;overflow:auto;padding:8px 22px 22px}
.cart-empty{text-align:center;color:#7a4a86;font-weight:700;padding:32px 0}
.cart-item{
  display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;
  padding:12px;margin-bottom:12px;border-radius:22px;background:#fff;border:2px solid #ffe2f2;
  position:relative;
}
.cart-item__image{width:72px;height:72px;object-fit:cover;border-radius:16px}
.cart-item__details h3{margin:0 0 4px;font:600 16px/1.15 "Fredoka",system-ui,sans-serif}
.cart-item__size,.cart-item__price{margin:0;font-size:13px;font-weight:800;color:#7a4a86}
.cart-item__price{color:#ff1f8e}
.cart-item__quantity{display:flex;align-items:center;gap:6px}
.cart-item__quantity .qty-btn{
  width:32px;height:32px;border-radius:50%;background:#f2f9ff;color:#1678c8;font-weight:800;
}
.cart-item__remove{position:absolute;top:8px;right:8px;width:32px;height:32px;color:#a06aa8}
.cart-modal__footer{padding:16px 22px 22px;border-top:1.5px solid #ffd0ea;background:#fff}
.cart-modal__notice{background:#fff0f8;border-radius:18px;padding:12px 14px;margin-bottom:14px}
.cart-modal__notice p{margin:0 0 8px;font-size:13.5px;line-height:1.5;font-weight:650}
.cart-modal__notice p:last-child{margin:0}
.cart-modal__total{display:flex;justify-content:space-between;align-items:center;font:700 20px/1 "Fredoka",system-ui,sans-serif;margin-bottom:12px}
.cart-modal__error{color:#c4166f;font-weight:800;font-size:14px;margin:0 0 10px}
.cart-modal .btn{
  width:100%;min-height:52px;border-radius:999px;font:700 17px/1 "Fredoka",system-ui,sans-serif;margin-bottom:10px;
}
.cart-modal .btn--primary{
  color:#fff;
  background:radial-gradient(120% 90% at 30% 10%,rgba(255,255,255,.55),rgba(255,255,255,0) 45%),linear-gradient(135deg,#ff58b8,#ff1f8e 55%,#e5007a);
  box-shadow:inset 0 -5px 10px rgba(160,0,80,.3),0 12px 22px -12px rgba(255,31,142,.8);
}
.cart-modal .btn--secondary{background:#fff;color:#0f6fc2;border:3px solid #bfe8ff}
.cart-modal .demo-cta-note{text-align:center;font-size:12.5px;font-weight:800;color:#7a4a86;margin:-2px 0 10px}
.cart-modal :focus-visible{outline:3px solid #ff1f8e;outline-offset:3px}
.cart-notification{
  position:fixed;left:50%;top:84px;z-index:13000;display:flex;align-items:center;gap:10px;
  padding:10px 18px;border-radius:999px;background:#fff;color:#3b0f4f;
  font:700 14px/1.2 "Nunito",system-ui,sans-serif;
  border:2px solid #ffd0ea;box-shadow:0 14px 40px -10px rgba(255,46,147,.5);
  transform:translate(-50%,-20px);opacity:0;pointer-events:none;
  transition:opacity .25s,transform .45s cubic-bezier(.3,1.6,.5,1);
  max-width:calc(100vw - 24px);
}
.cart-notification.show{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){
  .cart-modal__content,.cart-notification{transition:none;animation:none}
}
