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

:root {
  --primary-navy: #0f1e36;
  --primary-blue: #1a365d;
  --accent-red: #dc2626;
  --accent-orange: #ea580c;
  --accent-green: #15803d;
  --accent-purple: #6b21a8;
  --bg-light: #f8fafc;
  --card-bg: #ffffff;
}

body {
  font-family: 'Inter', 'Mukta', sans-serif;
  background-color: var(--bg-light);
  color: #1e293b;
  overflow-x: hidden;
}

/* Nepalese font optimization */
.font-nepali {
  font-family: 'Mukta', sans-serif;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-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;
}

/* Marquee scrolling ticker */
@keyframes ticker {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.animate-marquee {
  display: flex;
  width: 200%;
  animation: ticker 35s linear infinite;
}

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

/* Toast notification slide in */
@keyframes slideUpFade {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.toast-animate {
  animation: slideUpFade 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Modal Backdrop & Animation */
.modal-overlay {
  background-color: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  transition: all 0.25s ease-out;
}

.modal-content {
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Card hover lifts */
.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -10px rgba(0, 0, 0, 0.12);
}

/* Badge pulse */
@keyframes pulse-subtle {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}

.animate-pulse-subtle {
  animation: pulse-subtle 2s infinite ease-in-out;
}

/* Responsive iframe container for video */
.video-responsive {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.video-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   GOOGLE ADSENSE AUTO-ADS PROTECTION & LAYOUT STABILITY
   Prevents Google Auto-Ads from breaking headers, navigation, grids & modals.
   ========================================================================== */

/* 1. Strictly block Auto-Ads inside sensitive layout areas */
header .google-auto-placed,
nav .google-auto-placed,
#topBar .google-auto-placed,
#mobileMenuDropdown .google-auto-placed,
.no-auto-ads .google-auto-placed,
.no-ads .google-auto-placed,
#hero .google-auto-placed,
.hero-section .google-auto-placed,
#featuredJobsSection .grid > .google-auto-placed,
#jobsGridContainer .google-auto-placed,
#diasporaNewsGrid .google-auto-placed,
#rojgarTVGrid .google-auto-placed,
#newsArchiveGrid .google-auto-placed,
.app-modal .google-auto-placed:not(.rx-adsense-slot),
#jobDetailModal .google-auto-placed:not(.rx-adsense-slot),
#newsDetailModal .google-auto-placed:not(.rx-adsense-slot),
#applyJobModal .google-auto-placed,
#postJobModal .google-auto-placed,
#ltCheckModal .google-auto-placed,
#visaCheckModal .google-auto-placed,
#candidateModal .google-auto-placed,
#manpowerModal .google-auto-placed,
footer .google-auto-placed {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* 2. Format allowed auto-placed ads so they never cause horizontal scroll or grid disruption */
.google-auto-placed {
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  margin: 1.5rem auto !important;
  text-align: center !important;
  clear: both !important;
}

.google-auto-placed ins,
.google-auto-placed iframe {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}

/* 3. Official RX Designated Google AdSense Containers */
.rx-adsense-container {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 1.5rem auto;
  text-align: center;
  overflow: hidden;
  clear: both;
}

.rx-adsense-container ins.adsbygoogle {
  display: block !important;
  margin: 0 auto !important;
  background-color: #f8fafc;
  border-radius: 12px;
}

/* ==========================================================================
   PRINT STYLES FOR FOREIGN EMPLOYMENT CV / BIODATA
   ========================================================================== */
@media print {
  body * {
    visibility: hidden;
  }
  #printableCvCard, #printableCvCard * {
    visibility: visible;
  }
  #printableCvCard {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    margin: 0 !important;
    padding: 15mm 20mm !important;
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: none !important;
    border: none !important;
  }
  .no-print {
    display: none !important;
  }
}

/* ==========================================================================
   POPUP ADVERTISEMENT MODAL ANIMATIONS
   ========================================================================== */
@keyframes popupScaleIn {
  0% {
    opacity: 0;
    transform: scale(0.92) translateY(16px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.popup-scale-in {
  animation: popupScaleIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ==========================================================================
   COMPREHENSIVE DARK MODE / BRIGHT MODE THEME SYSTEM
   ========================================================================== */
html.dark {
  color-scheme: dark;
}

html.dark body {
  background-color: #090e1b !important;
  color: #e2e8f0 !important;
}

/* Dark Mode Navigation & Headers */
html.dark header {
  background-color: #0d1527 !important;
  border-color: #1a2742 !important;
}

html.dark #topBar {
  background-color: #070b16 !important;
  border-color: #172338 !important;
}

/* Dark Mode Cards, Sections & Surfaces */
html.dark .bg-white {
  background-color: #111c34 !important;
  color: #e2e8f0 !important;
  border-color: #1a2742 !important;
}

html.dark .bg-slate-50 {
  background-color: #0d172a !important;
  color: #cbd5e1 !important;
}

html.dark .bg-slate-100 {
  background-color: #15223c !important;
  color: #cbd5e1 !important;
}

html.dark .bg-slate-200 {
  background-color: #1a2846 !important;
}

/* Dark Mode Borders */
html.dark .border-slate-100,
html.dark .border-slate-200,
html.dark .border-slate-300 {
  border-color: #1c2b4a !important;
}

/* Dark Mode Text Contrasts */
html.dark .text-slate-900,
html.dark .text-slate-800 {
  color: #f8fafc !important;
}

html.dark .text-slate-700,
html.dark .text-slate-600 {
  color: #cbd5e1 !important;
}

html.dark .text-slate-500,
html.dark .text-slate-400 {
  color: #94a3b8 !important;
}

html.dark .text-blue-900 {
  color: #60a5fa !important;
}

html.dark .text-blue-950 {
  color: #93c5fd !important;
}

/* Dark Mode Form Inputs & Selects */
html.dark input[type="text"],
html.dark input[type="email"],
html.dark input[type="password"],
html.dark input[type="url"],
html.dark input[type="number"],
html.dark select,
html.dark textarea {
  background-color: #0a1122 !important;
  color: #f8fafc !important;
  border-color: #233556 !important;
}

html.dark input::placeholder,
html.dark textarea::placeholder {
  color: #64748b !important;
}

/* Dark Mode Interactive Hovers */
html.dark .hover\:bg-slate-50:hover {
  background-color: #15233c !important;
}

html.dark .hover\:bg-slate-100:hover {
  background-color: #1a2c4e !important;
}

html.dark .hover\:bg-blue-50:hover {
  background-color: #162a4d !important;
}

/* Dark Mode Footer */
html.dark footer {
  background-color: #060a14 !important;
  border-color: #141f33 !important;
}

/* Dark Mode Shadows */
html.dark .shadow-sm,
html.dark .shadow-md,
html.dark .shadow-xl,
html.dark .shadow-2xl {
  box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.7) !important;
}

/* ==============================================================================
   News Editorial Typography: Auto-Justify & Balanced Paragraph Spacing
   ============================================================================== */
#formNewsContentEditor,
.rx-article-body,
.article-full-body {
  text-align: justify !important;
  text-justify: inter-word !important;
  -webkit-hyphens: auto;
  hyphens: auto;
  line-height: 1.85 !important;
}

#formNewsContentEditor p,
#formNewsContentEditor > div:not(.rx-attachment-card):not(.rx-editor-image-wrap),
.rx-article-body p,
.rx-article-body > div:not(.rx-attachment-card):not(.rx-adsense-container):not(.rx-adsense-slot):not(.p-4):not(.p-5),
.article-full-body p,
.article-full-body > div:not(.rx-attachment-card) {
  text-align: justify !important;
  text-justify: inter-word !important;
  margin-top: 0 !important;
  margin-bottom: 1.35rem !important;
  line-height: 1.85 !important;
}

#formNewsContentEditor p:last-child,
.rx-article-body p:last-child,
.article-full-body p:last-child {
  margin-bottom: 0.25rem !important;
}

#formNewsContentEditor h2,
.rx-article-body h2 {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
  color: #0f1e36;
  text-align: left !important;
}

#formNewsContentEditor h3,
.rx-article-body h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
  color: #1e293b;
  text-align: left !important;
}

#formNewsContentEditor blockquote,
.rx-article-body blockquote {
  border-left: 4px solid #1a365d !important;
  margin: 1.25rem 0 !important;
  font-style: italic !important;
  background-color: #f8fafc !important;
  padding: 0.85rem 1.2rem !important;
  border-radius: 0 0.75rem 0.75rem 0 !important;
  text-align: justify !important;
}

#formNewsContentEditor ul,
.rx-article-body ul {
  list-style-type: disc !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1.25rem !important;
}

#formNewsContentEditor ol,
.rx-article-body ol {
  list-style-type: decimal !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1.25rem !important;
}

#formNewsContentEditor li,
.rx-article-body li {
  margin-bottom: 0.4rem !important;
  line-height: 1.75 !important;
}

/* Document / PDF / Word Attachment Cards inside News Articles */
.rx-attachment-card {
  margin: 1.5rem 0 !important;
  clear: both !important;
  border-radius: 1rem !important;
  transition: all 0.2s ease-in-out !important;
}
.rx-attachment-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(15, 30, 54, 0.08);
}
.rx-editor-image-wrap {
  margin: 1.5rem 0 !important;
  clear: both !important;
}


