/* Digital Doctor — Main CSS */
:root {
  --primary: #0d9488;
  --primary-dark: #0f766e;
  --primary-light: #5eead4;
  --secondary: #132540;
  --accent: #51b6b6;
  --light-bg: #f0fdfa;
  --white: #ffffff;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --danger: #dc2626;
  --danger-light: #fef2f2;
  --danger-border: #fecaca;
  --warning: #d97706;
  --warning-light: #fffbeb;
  --warning-border: #fde68a;
  --success: #16a34a;
  --success-light: #f0fdf4;

  --font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-sinhala: 'Noto Sans Sinhala', 'Iskoola Pota', Arial Unicode MS, sans-serif;

  --radius: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);
  --shadow-lg: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05);
  --transition: 0.2s ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-base);
  color: var(--gray-800);
  background: var(--white);
  line-height: 1.65;
  margin: 0;
}

.lang-si body, .lang-si, .sinhala-text {
  font-family: var(--font-sinhala);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.3;
  color: var(--secondary);
  margin-top: 0;
}

h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.5rem); }
h4 { font-size: 1.15rem; }
h5 { font-size: 1rem; }

p { margin-top: 0; }
a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); text-decoration: underline; }

.page-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }

.section { padding: 3.5rem 0; }
.section-sm { padding: 2rem 0; }
.section-lg { padding: 5rem 0; }
.section-bg { background: var(--gray-50); }
.section-bg-teal { background: var(--light-bg); }

@media (min-width: 1200px) { .container { max-width: 1080px; } }

.text-primary  { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.text-danger   { color: var(--danger) !important; }
.text-muted    { color: var(--gray-500) !important; }
.text-sm       { font-size: 0.875rem; }
.text-xs       { font-size: 0.8rem; }
.fw-600        { font-weight: 600; }

hr.divider { border: 0; border-top: 1px solid var(--gray-200); margin: 2rem 0; }

:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Override Bootstrap primary */
.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
  font-weight: 600;
  padding: 0.55rem 1.4rem;
  border-radius: var(--radius);
  transition: background var(--transition), border-color var(--transition);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--primary-dark);
  border-color: var(--primary-dark);
  color: #fff;
}
.btn-outline-primary {
  color: var(--primary);
  border-color: var(--primary);
  font-weight: 600;
  border-radius: var(--radius);
}
.btn-outline-primary:hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.btn-danger {
  background-color: var(--danger);
  border-color: var(--danger);
  font-weight: 600;
  border-radius: var(--radius);
}
.btn-lg { padding: 0.75rem 2rem; font-size: 1.05rem; }

/* Badge override */
.badge-primary { background: var(--primary); color: #fff; }
