/* Tanchina Education Link — custom styles layered on top of Tailwind */

::selection {
  background-color: #C9962C;
  color: #0F2A47;
}

/* Route-line signature animation (hero) */
.route-path {
  stroke-dasharray: 8 8;
  animation: route-dash 3.5s linear infinite;
}
@keyframes route-dash {
  to { stroke-dashoffset: -160; }
}

.route-pin {
  animation: pin-pulse 2.4s ease-in-out infinite;
  transform-origin: center;
}
@keyframes pin-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.18); opacity: 0.75; }
}

/* Scroll-reveal */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
  .route-path, .route-pin, .reveal {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Card hover lift */
.lift-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lift-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -12px rgba(15, 42, 71, 0.18);
}

/* Focus visibility for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #C9962C;
  outline-offset: 2px;
}

/* Star rating */
.star-filled { color: #C9962C; }
.star-empty { color: #d9d3c7; }

/* Line clamp helpers (in case Tailwind CDN plugin unavailable) */
.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;
}