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;
}

@keyframes flash-fade {
    0% { background-color: rgba(255, 193, 7, 0.5); }
    100% { background-color: transparent; }
}

.flash-update {
    animation: flash-fade 2s ease-out;
}

.btn-tiny {
  padding: 0.1rem 0.2rem;
  font-size: 0.7rem;
  border-radius: 0.2rem;
}

/* Mobile Offcanvas Styles */
@media (max-width: 575.98px) {
  .offcanvas-end {
    width: 100% !important;
  }
  
  .offcanvas-body .nav-link,
  .offcanvas-body .dropdown-item {
    font-size: 1.5rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    font-weight: 500;
  }

  .offcanvas-body .dropdown-menu {
    border: none;
    padding-left: 1.5rem;
    background-color: #f8f9fa;
  }

  .offcanvas-body .navbar-nav {
    gap: 1rem;
  }

  .offcanvas-header {
    padding: 1.5rem;
    border-bottom: 1px solid #dee2e6;
  }

  .offcanvas-title {
    font-size: 1.75rem;
    font-weight: 600;
  }
}