/* LORNET ONLINE - Stage 5 UI/Responsive Fix
   Scope: site-wide shared UI. No JS, no forms, no DB. */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img, video, iframe, svg, canvas {
  max-width: 100%;
}

img {
  height: auto;
}

a, button, input, select, textarea, summary {
  -webkit-tap-highlight-color: transparent;
}

button, input[type="button"], input[type="submit"], input[type="reset"],
select, textarea {
  min-height: 44px;
}

button, input[type="button"], input[type="submit"], input[type="reset"] {
  padding-top: .55rem;
  padding-bottom: .55rem;
}

a[href], button, input, select, textarea, summary {
  outline-offset: 3px;
}

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .container, .container-fluid, .content, main, .page-container {
    max-width: 100%;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  pre, code {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  input, select, textarea {
    max-width: 100%;
  }

  nav a, .nav a, .menu a, .navbar a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 15px;
  }

  .btn, .button, .btn-primary, .btn-secondary,
  button, input[type="submit"], input[type="button"] {
    min-height: 44px;
  }

  .btn, .button {
    max-width: 100%;
  }

  h1 { font-size: clamp(1.35rem, 6vw, 2rem); }
  h2 { font-size: clamp(1.2rem, 5vw, 1.65rem); }
  h3 { font-size: clamp(1.05rem, 4.5vw, 1.35rem); }
}

/* The footer copyright was observed at 11px in the Stage 5 diagnostic.
   Raise only that text to 12px; no other content is resized. */
.footer-bottom {
  font-size: 12px !important;
  line-height: 1.6;
}