/* ============================================
   DREAM SARKARI NAUKRI — DESIGN TOKENS
   ============================================ */

:root {
  /* Color Palette */
  --ink:            #1A1A17;
  --paper:          #F7F3E8;
  --paper-dim:      #EFE9D8;
  --file-green:     #0B3D2E;
  --file-green-dk:  #07291F;
  --seal-gold:      #C9A227;
  /* Darkened from #A4861F to #755B00 to meet 4.5:1 contrast requirement for labels/eyebrows */
  --seal-gold-dim:  #755B00; 
  --stamp-red:      #C13B2A;
  --stamp-red-dim:  #9C2F21;
  --line:           #D8D0B8;
  /* Darkened from #B7AD8C to #595341 for secondary label contrast */
  --line-strong:    #595341; 
  --white:          #FFFEFB;

  /* Status Colors */
  --status-open:    #0B3D2E;
  --status-closing: #C13B2A;
  --status-out:     #755B00;
  --status-closed:  #595341;

  /* Typography */
  --font-display: 'Source Serif 4', 'Lora', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
  --font-sanskrit: 'Tiro Devanagari Sanskrit', serif;

  /* Type Scale */
  --step--1: clamp(0.78rem, 0.76rem + 0.1vw, 0.85rem);
  --step-0:  clamp(0.95rem, 0.92rem + 0.15vw, 1rem);
  --step-1:  clamp(1.1rem, 1.05rem + 0.25vw, 1.25rem);
  --step-2:  clamp(1.35rem, 1.2rem + 0.5vw, 1.6rem);
  --step-3:  clamp(1.7rem, 1.4rem + 1vw, 2.2rem);
  --step-4:  clamp(2.2rem, 1.8rem + 1.6vw, 3.2rem);
  --step-5:  clamp(2.8rem, 2.1rem + 2.8vw, 4.6rem);

  /* Spacing */
  --sp-1: 0.5rem;
  --sp-2: 0.75rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 2rem;
  --sp-6: 3rem;
  --sp-7: 4.5rem;
  --sp-8: 6.5rem;

  /* Layout */
  --radius: 2px;
  --shadow-stamp: 2px 3px 0 rgba(26,26,23,0.12);
  --max-width: 1180px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--file-green-dk);
  margin: 0;
  line-height: 1.12;
  font-weight: 600;
}

a {
  color: var(--file-green);
  text-decoration: none;
}

img { max-width: 100%; display: block; }

button { font-family: inherit; cursor: pointer; }

:focus-visible {
  outline: 3px solid var(--seal-gold);
  outline-offset: 2px;
}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--sp-4);
}

.mono {
  font-family: var(--font-mono);
  letter-spacing: 0.01em;
}

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ============================================
   CONTRAST AUDIT OVERRIDES & FIXES
   ============================================ */

/* High-contrast fix for dynamic notification labels & dates */
.notif-label,
.notif-date {
  color: var(--ink) !important;
  opacity: 1 !important;
}

/* Increases contrast for low-opacity secondary text elements */
.register-loading,
.saved-note,
.hero-stat .label,
.breadcrumb,
.listing-facts th,
.footer-disclaimer,
.ad-policy-note,
.footer-bottom {
  opacity: 0.85 !important;
}

/* Ensures footer text on dark background meets WCAG AA standard */
.site-footer strong,
.footer-disclaimer,
.ad-policy-note {
  color: #E2DDD0 !important;
}