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;
}

/* Geneva Analytics - High-contrast navbar overrides to ensure visibility
   These rules use a specific class `ga-navbar` applied to the <nav> element
   so they take precedence regardless of Bootstrap theme or third-party
   Bootswatch variants. Important declarations are used sparingly to win
   against theme styles. */
.ga-navbar {
    background-color: #0d6efd !important; /* Bootstrap primary */
}
.ga-navbar .navbar-brand,
.ga-navbar .nav-link,
.ga-navbar .dropdown-item {
    color: #ffffff !important;
}
.ga-navbar .nav-link:hover,
.ga-navbar .dropdown-item:hover {
    color: #e9eef8 !important;
    background-color: rgba(255,255,255,0.06) !important;
}
.ga-navbar .dropdown-menu {
    background-color: #0d6efd !important;
    border: none !important;
}
.ga-navbar .dropdown-item:focus,
.ga-navbar .dropdown-item.active {
    background-color: rgba(255,255,255,0.09) !important;
    color: #ffffff !important;
}
.ga-navbar .navbar-toggler {
    border-color: rgba(255,255,255,0.2) !important;
}
.ga-navbar .navbar-toggler-icon {
    /* invert icon to make it visible on coloured background */
    filter: invert(1) brightness(2) !important;
}

/* Ensure the collapse menu items are visible on small screens */
.ga-navbar .navbar-collapse {
    background-color: #0d6efd !important;
}

/* Make sure badge/icon contrast stays readable */
.ga-navbar .badge,
.ga-navbar .bi {
    color: #ffffff !important;
}
