/* shared styles (mostly Tailwind) + ticker + image tweaks */

.ticker {
  background: #0ea5a4;
  color: white;
  padding: 0.5rem 0.75rem;
  overflow: hidden;
  position: relative;
}
.dark .ticker {
  background: #0f172a;
  color: #e2e8f0;
}

.ticker__inner {
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
  gap: 2.5rem;
  align-items: center;
  transform: translateX(100%); /* start off right */
}

.ticker__inner.anim {
  animation: ticker-scroll var(--duration, 12s) linear infinite;
}

.ticker:hover .ticker__inner,
.ticker:focus-within .ticker__inner {
  animation-play-state: paused;
}

.ticker__msg {
  font-weight: 600;
  font-size: 0.95rem;
}

@keyframes ticker-scroll {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* student image: show full image (no cropping), consistent box */
.student-card-image {
  height: 10rem;
  width: 100%;
  object-fit: contain; /* show full image */
  background-color: #f8fafc;
  border-radius: 0.5rem;
}

/* tiny admin tweaks */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Contact modal & subtle form tweaks */
#thankYouModal { z-index: 60; }
#thankYouModal .rounded-2xl { min-width: 320px; }

/* small responsive fix so the modal centers on mobile */
@media (max-width: 640px) {
  #thankYouModal .relative { margin: 0 1rem; }
}

/* subtle focus ring for accessibility */
input:focus, textarea:focus, button:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(14,165,164,0.08);
}
