.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
body {
  font-family: 'Inter', sans-serif;
  background-color: #f7f9fb;
  color: #191c1e;
}
h1, h2, h3, .brand-font {
  font-family: 'Manrope', sans-serif;
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hero-gradient {
  background: linear-gradient(to bottom, rgba(25,28,30,0) 0%, rgba(25,28,30,0.4) 100%);
}
.fade-in {
  animation: fadeIn 0.35s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.slide-up {
  animation: slideUp 0.4s ease-out;
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Toast notification */
.toast {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 9999;
  background: #1f2d3f; color: #fff; padding: 1rem 1.5rem;
  border-radius: 0.75rem; font-size: 0.875rem; font-weight: 600;
  box-shadow: 0 16px 32px rgba(0,0,0,0.15);
  animation: toastIn 0.3s ease-out, toastOut 0.3s ease-in 2.7s forwards;
}
@keyframes toastIn {
  from { opacity: 0; transform: translateY(16px) scale(0.95); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes toastOut {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(16px) scale(0.95); }
}
/* Chat bubble animations */
.chat-bubble {
  animation: bubbleIn 0.3s ease-out;
}
@keyframes bubbleIn {
  from { opacity: 0; transform: scale(0.9) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
/* Favorite heart fill */
.heart-filled {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
  color: #f5662f !important;
}
