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: var(--ik-focus-ring);
  outline: none;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 0;
}

.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;
}

/* Custom layout protection utilities for long text */
.ik-text-break {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

.ik-line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ik-line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Force English/Western digits inside flatpickr calendar controls and standard number inputs */
input[type="number"],
.flatpickr-calendar input,
.flatpickr-calendar .flatpickr-time input,
.flatpickr-calendar .flatpickr-time span,
.flatpickr-calendar .numInputWrapper,
.flatpickr-calendar .cur-year {
  font-family: Arial, Helvetica, sans-serif !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1 !important;
}