/* ─── Custom Styles (non-Tailwind additions) ─── */
/* Font */
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
}
/* Gradient text for heading */
.gradient-text {
  background: linear-gradient(to right, #7c3aed, #6366f1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Gradient card (Working Hours) */
.gradient-card {
  background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
}
/* Submit button gradient */
.submit-btn {
  background: linear-gradient(to right, #7c3aed, #4f46e5);
}
.submit-btn:hover {
  box-shadow: 0 10px 25px rgba(124, 58, 237, 0.35);
  transform: translateY(-2px);
}
.submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* Input focus */
.input-field:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}
/* Pulsing green dot */
.pulse-dot {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}
/* ─── Entrance Animations ─── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}
.animate-fade-in-up  { animation: fadeInUp  0.6s ease both; }
.animate-slide-left  { animation: slideLeft  0.6s ease both 0.1s; }
.animate-slide-right { animation: slideRight 0.6s ease both 0.15s; }
/* ─── Toast ─── */
.toast { transition: opacity 0.3s ease, transform 0.3s ease; }
.toast.show { display: block !important; }
.toast-success { background-color: #16a34a; }
.toast-error   { background-color: #dc2626; }
/* ─── Contact info link hover ─── */
.contact-link:hover .contact-icon-box {
  background-color: #ede9fe;
}
.contact-link:hover .contact-value {
  color: #7c3aed;
}