body { font-family: 'Inter', sans-serif; }

/* Screen transitions */
.screen-enter {
  animation: fadeSlideIn 0.25s ease-out both;
}
@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Searching dots */
.dot-pulse span {
  display: inline-block;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #0d9488;
  margin: 0 4px;
  animation: dotBounce 1.2s infinite ease-in-out;
}
.dot-pulse span:nth-child(1) { animation-delay: 0s; }
.dot-pulse span:nth-child(2) { animation-delay: 0.2s; }
.dot-pulse span:nth-child(3) { animation-delay: 0.4s; }
@keyframes dotBounce {
  0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }
  40%           { transform: scale(1.2); opacity: 1; }
}

/* Symptom chips */
.symptom-chip { transition: all 0.15s ease; }
.symptom-chip:active { transform: scale(0.95); }

/* Medication cards */
.med-card { transition: box-shadow 0.15s ease; }
.med-card:hover { box-shadow: 0 4px 20px rgba(13,148,136,0.12); }

/* Payment / courier card selection */
.select-card { transition: all 0.15s ease; }
.select-card.selected {
  border-color: #0d9488 !important;
  background-color: #f0fdfa !important;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #99f6e4; border-radius: 2px; }

/* Bottom action bar */
.bottom-bar {
  position: fixed; bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 100%; max-width: 430px;
  background: white;
  border-top: 1px solid #e2e8f0;
  padding: 12px 16px 20px;
  z-index: 50;
}

/* Confirmation checkmark */
@keyframes checkPop {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.15); }
  100% { transform: scale(1); opacity: 1; }
}
.check-anim { animation: checkPop 0.5s ease-out 0.3s both; }

/* Progress dots on searching */
@keyframes progressBar {
  from { width: 0%; }
  to   { width: 100%; }
}
.progress-anim { animation: progressBar 2.8s ease-in-out forwards; }

/* Qty button */
.qty-btn { transition: background 0.1s; }
.qty-btn:active { background: #ccfbf1; }

/* Input focus ring */
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #0d9488;
  box-shadow: 0 0 0 3px rgba(13,148,136,0.1);
}
