html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.form-control {
    margin: 0 0 10px 0;
    padding: 4px 8px 4px 8px;
}

/* Light and dark mode switch, see theme.js. */
.theme-switch {
    margin-bottom: 0;
}

    .theme-switch .form-check-input {
        cursor: pointer;
    }

/* Poker footer links: no underline by default, underline on hover.
   Global, because scoped CSS does not reach elements rendered by tag helpers. */
.poker-footer-link {
    text-decoration: none;
}

.poker-footer-link:hover {
    text-decoration: underline;
}

/* Poker header links: own full-width row on mobile, next to the brand from the navbar breakpoint (sm) on. */
.poker-nav-links {
    flex-basis: 100%;
    padding-top: 0.25rem;
}

@media (min-width: 576px) {
    .poker-nav-links {
        flex-basis: auto;
        padding-top: 0;
    }
}

/* Poker layout body: fills the visible height, only the area between header and footer scrolls.
   Global, because scoped CSS of the layout does not reach the body element. */
.poker-layout-body {
    overflow-x: hidden;
    height: 100vh; /* Fallback for browsers without dvh. */
    height: 100dvh; /* Visible height, so mobile browser bars do not hide the footer. */
    margin-bottom: 0;
}
