html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.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;
}

/* Standing Out brand color, applied to primary buttons/links so it shows up here and there
   without re-theming the whole app. Bootstrap 5.3 bakes hex values into .btn-primary/
   .btn-outline-primary's own custom properties rather than reading --bs-primary, so those
   need overriding directly rather than just redefining the root variable. */
:root {
  --so-brand: #007C98;
  --so-brand-hover: #006680;
  --so-brand-active: #00566d;
}

.btn-primary {
  --bs-btn-bg: var(--so-brand);
  --bs-btn-border-color: var(--so-brand);
  --bs-btn-hover-bg: var(--so-brand-hover);
  --bs-btn-hover-border-color: var(--so-brand-hover);
  --bs-btn-active-bg: var(--so-brand-active);
  --bs-btn-active-border-color: var(--so-brand-active);
  --bs-btn-disabled-bg: var(--so-brand);
  --bs-btn-disabled-border-color: var(--so-brand);
  --bs-btn-focus-shadow-rgb: 0, 124, 152;
}

.btn-outline-primary {
  --bs-btn-color: var(--so-brand);
  --bs-btn-border-color: var(--so-brand);
  --bs-btn-hover-bg: var(--so-brand);
  --bs-btn-hover-border-color: var(--so-brand);
  --bs-btn-active-bg: var(--so-brand);
  --bs-btn-active-border-color: var(--so-brand);
  --bs-btn-disabled-color: var(--so-brand);
  --bs-btn-disabled-border-color: var(--so-brand);
  --bs-btn-focus-shadow-rgb: 0, 124, 152;
}

.navbar-brand {
  color: var(--so-brand) !important;
  font-weight: 600;
}

.site-footer-link {
  color: var(--so-brand);
}

/* Keeps a website's per-hostname rows the same height in the Hostingnamen and SSL columns, even
   though one row holds just a badge and the other holds a badge plus a renew button (naturally
   taller) — without this the two columns' rows drift out of alignment down the list. */
.host-ssl-row {
  min-height: 2rem;
}

/* Flash message at the top of the page (TempData StatusMessage) — pre-wrap keeps the newlines from
   multi-line technical failures (e.g. a wacs.exe/Plesk/OpenProvider error dump) instead of squishing
   them onto one line, and the scroll cap keeps a long dump from pushing the rest of the page down. */
.status-message {
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 20rem;
  overflow-y: auto;
}