@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Sinhala:wght@400;500;600;700;800;900&family=Noto+Serif+Sinhala:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --font-sinhala: 'Noto Sans Sinhala', 'Plus Jakarta Sans', sans-serif;
  --font-serif-sinhala: 'Noto Serif Sinhala', 'Noto Sans Sinhala', serif;
  --font-sans: 'Plus Jakarta Sans', 'Noto Sans Sinhala', sans-serif;
  --vnews-red: #BE0000;
  --vnews-red-dark: #990000;
  --vnews-red-light: #EF4444;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-sans);
}

body {
  font-family: var(--font-sans);
  overflow-x: hidden;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.font-sinhala {
  font-family: var(--font-sinhala);
  line-height: 1.65;
}

.font-sinhala-serif {
  font-family: var(--font-serif-sinhala);
  line-height: 1.5;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #0f172a;
}
::-webkit-scrollbar-thumb {
  background: #be0000;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #ef4444;
}

/* Hide scrollbar utility */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Card hover zoom & lift */
.news-card {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
}
.news-card:hover {
  transform: translateY(-4px);
}
.news-card .card-img {
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.news-card:hover .card-img {
  transform: scale(1.06);
}

/* Breaking news ticker animation */
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker-track {
  display: flex;
  width: max-content;
  animation: ticker 48s linear infinite;
}
.ticker-track:hover {
  animation-play-state: paused;
}

/* Equalizer bars for Live FM 107 Radio */
@keyframes eq-bar {
  0%, 100% { height: 4px; }
  50% { height: 18px; }
}
.eq-bar {
  width: 3px;
  background-color: #ef4444;
  border-radius: 9999px;
  display: inline-block;
  height: 4px;
  transition: height 0.2s ease;
}
.playing .eq-bar:nth-child(1) { animation: eq-bar 0.6s infinite ease-in-out 0.1s; }
.playing .eq-bar:nth-child(2) { animation: eq-bar 0.8s infinite ease-in-out 0.25s; }
.playing .eq-bar:nth-child(3) { animation: eq-bar 0.5s infinite ease-in-out 0.4s; }
.playing .eq-bar:nth-child(4) { animation: eq-bar 0.7s infinite ease-in-out 0.15s; }

/* Line clamp utilities */
.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;
}
