/* ==========================================================================
   फाइल: public/css/base.css (JNV Bhasha Setu)
   नियम: 100% लाइट थीम, एक्सेसिबिलिटी, फॉन्ट लिंकेज एवं बेस रीसेट
   ========================================================================== */

@import url('./fonts.css');
@import url('./tokens.css');

/* 1. Box Sizing & Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* 2. Root & Body (Strict High-Contrast Light Theme) */
html {
  font-size: 16px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  color-scheme: light;
}

body {
  font-family: 'Inter', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Gurmukhi',
               'Noto Sans Tamil', 'Noto Sans Telugu', 'Noto Sans Kannada',
               'Noto Sans Malayalam', 'Noto Sans Gujarati', 'Noto Sans Odia',
               'Noto Nastaliq Urdu', 'Nirmala UI', system-ui, sans-serif;
  background-color: var(--color-bg-base);
  color: var(--color-text-main);
  min-height: 100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 3. Universal Accessible Focus Rings */
:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--border-radius-sm);
}

/* 4. Touch-Friendly Interactive Targets (IFPD Smartboards & Tablets - 44px min) */
button, 
input, 
select, 
textarea, 
.btn, 
.touch-target {
  min-height: var(--touch-target-min);
  font-family: inherit;
  font-size: 1rem;
}

button, .btn {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--border-radius-md);
  border: 1px solid transparent;
  padding: 0.5rem 1rem;
  font-weight: 600;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease;
}

button:active, .btn:active {
  transform: translateY(1px);
}

/* 5. Headings & Typography */
h1, h2, h3, h4, h5, h6 {
  color: var(--color-text-main);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.75rem;
}

h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }

p {
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}

/* 6. Indic Script Classes & OpenType Shaping Optimization */
.lang-hi, .lang-mr, .lang-ne, .lang-sa, .lang-bho, .lang-mai, .lang-doi, .lang-kok, .lang-brx, .lang-sat { font-family: var(--font-devanagari); line-height: 1.6; }
.lang-bn, .lang-as, .lang-mni { font-family: var(--font-bengali); line-height: 1.8; }
.lang-pa { font-family: var(--font-gurmukhi); line-height: 1.8; }
.lang-ta { font-family: var(--font-tamil); line-height: 1.7; }
.lang-te { font-family: var(--font-telugu); line-height: 1.8; }
.lang-kn { font-family: var(--font-kannada); line-height: 1.8; }
.lang-ml { font-family: var(--font-malayalam); line-height: 1.8; }
.lang-gu { font-family: var(--font-gujarati); line-height: 1.6; }
.lang-or { font-family: var(--font-odia); line-height: 1.8; }
.lang-ur, .lang-ks, .lang-sd { font-family: var(--font-urdu); direction: rtl; line-height: 2.1; }

.lang-hi, .lang-mr, .lang-ne, .lang-sa, .lang-bho, .lang-mai, .lang-doi, .lang-kok, .lang-brx,
.lang-bn, .lang-as, .lang-mni,
.lang-pa,
.lang-ta,
.lang-te,
.lang-kn,
.lang-ml,
.lang-gu,
.lang-or,
.lang-ur, .lang-ks, .lang-sd, .lang-sat {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: none;
}

/* 7. Reusable SVG Icon Class */
.icon {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2;
  stroke: currentColor;
  fill: none;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/* 8. Demo Version Watermark Overlay & Badge - Disabled */
.demo-watermark-overlay {
  display: none !important;
}

.demo-pill-badge {
  display: none !important;
}
