/* Keep the fixed header compact until all desktop controls fit comfortably. */
.hp-site-nav #openPreferences { white-space: nowrap; }
@media (max-width: 991.98px) {
    header .hp-site-nav > .container {
        display: grid; grid-template-columns: minmax(0, 1fr) auto 44px;
        gap: 8px; align-items: center; max-width: none;
    }
    header .hp-site-nav .navbar-brand { min-width: 0; margin: 0; padding: 0; }
    header .hp-site-nav .holidayparkingLogo {
        width: min(220px, calc(100vw - 200px)); max-width: 100% !important; height: auto;
    }
    header .hp-site-nav > .container > div:not(.navbar-collapse) { display: block; }
    header .hp-site-nav .navbar-toggler { display: block; grid-column: 3; padding: 5px; width: 44px; min-height: 40px; }
    header .hp-site-nav .navbar-collapse { grid-column: 1 / -1; width: 100%; }
    header .hp-site-nav .navbar-collapse:not(.show):not(.collapsing) { display: none !important; }
    header .hp-site-nav .navbar-nav { flex-direction: column; margin: 0 !important; }
    header .hp-site-nav .navbar-nav .nav-btn { margin: 4px 0 !important; }
    header .hp-site-nav .navbar-nav .navigationButton { white-space: normal; }
    header .hp-site-nav .navbar-collapse.show { max-height: calc(100dvh - 76px); overflow-y: auto; overscroll-behavior: contain; }
    body > .mainContent { margin-top: 76px !important; }
}
@media (min-width: 992px) {
    .hp-site-nav { flex-wrap: nowrap; }
    .hp-site-nav .navbar-collapse { display: flex !important; flex-basis: auto; }
    .hp-site-nav .navbar-nav { flex-direction: row; }
    .hp-site-nav .navbar-toggler { display: none; }
}
