* { font-family: 'Vazirmatn', sans-serif; box-sizing: border-box; }
body { margin: 0; background: #fdf2f8; }

.btn-gradient {
  background: linear-gradient(to left, #e11d48, #ec4899);
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(225, 29, 72, 0.25);
}
.btn-gradient:hover {
  box-shadow: 0 8px 24px rgba(236, 72, 153, 0.45);
  transform: translateY(-2px);
}
.btn-gradient:active { transform: translateY(0); }

.card-glow {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 16px rgba(236, 72, 153, 0.08);
}
.card-glow:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(236, 72, 153, 0.22);
}

/* Decorative blobs */
.blob-container { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; }
.blob-1 { width: 300px; height: 300px; background: #fbcfe8; top: -80px; right: -60px; animation: float 8s ease-in-out infinite; }
.blob-2 { width: 260px; height: 260px; background: #fda4af; bottom: -60px; left: -40px; animation: float 10s ease-in-out infinite reverse; }
.blob-3 { width: 200px; height: 200px; background: #f9a8d4; top: 40%; left: 50%; animation: float 12s ease-in-out infinite; }

@keyframes float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -30px) scale(1.1); }
}

/* Page load reveal */
.reveal { opacity: 0; transform: translateY(20px); animation: reveal 0.6s ease forwards; }
@keyframes reveal { to { opacity: 1; transform: translateY(0); } }

/* Toast */
.toast-in { animation: toastIn 0.3s ease; }
@keyframes toastIn { from { opacity: 0; transform: translate(-50%, 20px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* Line clamp */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Nice scrollbar for horizontal strips */
.scroll-nice::-webkit-scrollbar { height: 8px; }
.scroll-nice::-webkit-scrollbar-track { background: transparent; }
.scroll-nice::-webkit-scrollbar-thumb { background: #fbcfe8; border-radius: 10px; }
.scroll-nice::-webkit-scrollbar-thumb:hover { background: #f472b6; }

/* Range input */
input[type="range"] { height: 6px; border-radius: 10px; background: #fbcfe8; }

::selection { background: #fbcfe8; }