html {
  min-height: 100%;
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  margin: 0;
  color: #243b38;
  background: #f8fbfa;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Hindi needs slightly more vertical space than Latin text. Keeping these
   values here gives every existing page the same readable Devanagari scale
   without changing its section structure or component spacing. */
html.language-hi body {
  font-family: "Nirmala UI", "Mangal", "Kohinoor Devanagari", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

html.language-hi main p,
html.language-hi main li,
html.language-hi main label,
html.language-hi main input,
html.language-hi main textarea,
html.language-hi main select,
html.language-hi main button {
  font-size: 17px;
  line-height: 1.65;
}

html.language-hi h1,
html.language-hi h2,
html.language-hi h3,
html.language-hi h4,
html.language-hi h5,
html.language-hi h6,
html.language-hi .navbar,
html.language-hi footer {
  line-height: 1.4;
}

main {
  overflow: hidden;
}

/* Shared content typography used across every page. Page-specific styles may
   change colour and spacing, but paragraph copy stays visually consistent. */
main p {
  font-size: 17px !important;
  font-weight: 600 !important;
}

/* Use the available screen width on desktop instead of Bootstrap's narrow
   fixed containers, while preserving comfortable gutters on every device. */
.container {
  width: 100%;
  max-width: none;
  padding-right: clamp(1rem, 4vw, 5rem);
  padding-left: clamp(1rem, 4vw, 5rem);
}

@media (max-width: 767.98px) {
  .container {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

img {
  max-width: 100%;
}

a {
  text-underline-offset: 0.18em;
}

a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(22, 125, 107, 0.38);
  outline-offset: 3px;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  border-color: #167d6b;
  box-shadow: 0 0 0 0.22rem rgba(22, 125, 107, 0.18);
}

::selection {
  color: #ffffff;
  background: #167d6b;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
