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;
}

/* Toast notification styles for JavaScript */
.toast {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: rgba(26, 31, 42, 0.9);
    backdrop-filter: blur(16px);
    border-left: 4px solid #10b981;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    color: #f1f5f9;
    z-index: 1100;
    animation: fadeInUp 0.3s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    font-family: inherit;
    max-width: 350px;
}

.toast.error {
    border-left-color: #ef4444;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Alert styles for PHP form messages */
.alert-success {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: #10b981;
    padding: 15px 20px;
    border-radius: 12px;
    margin-bottom: 20px;
}

.alert-danger {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
    padding: 15px 20px;
    border-radius: 12px;
    margin-bottom: 20px;
}