:root {
    --vg-primary: #0d6efd; /* Visual Guard primary blue */
    --vg-primary-soft: #e7f1ff; /* Soft background */
    --vg-accent: #1e40af; /* Darker blue accent */
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 576px) {
    .navbar-expand-sm .navbar-nav {
        flex-direction: row-reverse;
    }
}

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

.footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100;
}
.loading {
    opacity: 0.6;
    pointer-events: none;
}



/*========================================*/
.login-options-container {
    display: grid;
    gap: 10px;
}

.login-option-card {
    display: block;
    border: 2px solid #ddd;
    border-radius: 10px;
    padding: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.login-option-card:hover {
    border-color: #0d6efd;
    background: #f0f8ff;
}

.login-option-card input[type="radio"] {
    display: none;
}

.login-option-card input[type="radio"]:checked + .card-body,
.login-option-card:has(input[type="radio"]:checked) {
    border-color: #0d6efd;
    background: #e7f1ff;
    box-shadow: 0 0 6px rgba(13,110,253,0.4);
}

