/* Google Fonts: Mukta for Devanagari, Inter for Latin */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Mukta:wght@300;400;500;600;700;800&display=swap');

:root {
  --color-primary: #C8102E;      /* Deep Crimson Red */
  --color-primary-hover: #A00C24;
  --color-secondary: #1E3A8A;    /* Navy Blue */
  --font-nepali: 'Mukta', sans-serif;
  --font-latin: 'Inter', sans-serif;
}

body {
  font-family: var(--font-nepali);
  background-color: #F9FAFB;
  color: #111827;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom Typography & Line Height for Devanagari */
.font-nepali {
  font-family: var(--font-nepali);
}
.font-latin {
  font-family: var(--font-latin);
}

.leading-devanagari {
  line-height: 1.8 !important;
}

/* Primary Color Utilities */
.bg-crimson {
  background-color: var(--color-primary);
}
.bg-crimson-hover:hover {
  background-color: var(--color-primary-hover);
}
.text-crimson {
  color: var(--color-primary);
}
.border-crimson {
  border-color: var(--color-primary);
}
.bg-navy {
  background-color: var(--color-secondary);
}
.text-navy {
  color: var(--color-secondary);
}

/* Breaking Ticker Marquee Animation */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

.animate-marquee {
  display: inline-flex;
  white-space: nowrap;
  animation: marquee 40s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

/* Aspect Ratio Utilities */
.aspect-16-9 {
  aspect-ratio: 16 / 9;
}
.aspect-4-3 {
  aspect-ratio: 4 / 3;
}

/* Line Clamp Utilities */
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.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;
}

/* Ad Placement Containers styling */
.ad-banner-container {
  background-image: linear-gradient(135deg, #f8fafc 25%, #f1f5f9 25%, #f1f5f9 50%, #f8fafc 50%, #f8fafc 75%, #f1f5f9 75%, #f1f5f9 100%);
  background-size: 20px 20px;
  border: 1px dashed #CBD5E1;
}

/* Pulse animation for Breaking live indicator */
@keyframes live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.2); }
}
.live-dot {
  animation: live-pulse 1.8s infinite ease-in-out;
}

/* Category Header Accent Bar */
.category-title {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
}
.category-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-primary);
}

/* Dark mode tweaks */
body.dark-mode {
  background-color: #0F172A;
  color: #F8FAFC;
}
body.dark-mode .bg-white {
  background-color: #1E293B !important;
  color: #F8FAFC !important;
}
body.dark-mode .bg-gray-50 {
  background-color: #0F172A !important;
}
body.dark-mode .text-gray-900 {
  color: #F8FAFC !important;
}
body.dark-mode .text-gray-800 {
  color: #E2E8F0 !important;
}
body.dark-mode .text-gray-700 {
  color: #CBD5E1 !important;
}
body.dark-mode .text-gray-600 {
  color: #94A3B8 !important;
}
body.dark-mode .border-gray-200,
body.dark-mode .border-gray-100 {
  border-color: #334155 !important;
}
body.dark-mode .ad-banner-container {
  background-image: linear-gradient(135deg, #1e293b 25%, #0f172a 25%, #0f172a 50%, #1e293b 50%, #1e293b 75%, #0f172a 75%, #0f172a 100%);
  border-color: #475569;
}
