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;
}
/* Logo styling on  */

/* CSS - responsive logo row */
.logo-row {
    display: flex;
    justify-content: center; /* center group */
    align-items: center; /* align logos vertically */
    gap: 1rem; /* spacing between logos — will shrink with media queries */
    padding: 0.5rem;
    box-sizing: border-box;
    flex-wrap: wrap; /* allow wrapping instead of overflowing */
}

/* responsive sizing:
   - clamp(min, preferred, max) keeps height within sensible bounds and scales with viewport
   - max-width prevents a single logo from becoming wider than half the viewport
*/
.site-logo {
    display: block;
    height: clamp(36px, 12vw, 100px); /* scales with viewport but stays between 36px and 84px */
    width: auto;
    max-width: 48vw; /* ensures both logos can fit side-by-side on narrow screens */
    object-fit: contain;
    flex: 0 1 auto; /* allow shrinking but don't force growth */
}

/* small tweak: reduce gap and height a bit on very small screens so nothing is clipped */
@media (max-width: 540px) {
    .logo-row {
        gap: .5rem;
        padding: .25rem;
    }

    .site-logo {
        height: clamp(28px, 12vw, 86px);
        max-width: 46vw;
    }
}

/* if you'd prefer to stack (one above the other) under a certain width, uncomment below */
/*
@media (max-width: 360px) {
  .logo-row { flex-direction: column; gap: .5rem; }
  .site-logo { max-width: 80vw; height: auto; }
}
*/
