:root {
    --primary-color: #3d2b1f;
    --secondary-color: #e8d5a3;
    --text-color: #2a1810;
    --text-color-dark-bg: #f5e0b5;
    --text-color-light-bg: #fff;
    --red-color: #8b2020;
    --darker-blue: #1a0f0a;
    --opacity-white-background: rgba(240, 218, 160, 0.60);

    /* bootstrap overwrites */
    --bs-primary: var(--primary-color);
    --bs-secondary: var(--secondary-color);
    --bs-danger: var(--red-color);
    --bs-dark: var(--darker-blue);
    --bs-light: var(--text-color-light-bg);
    --bs-body-color: var(--text-color);
    --bs-body-bg: #d9c49a;

    --bs-primary-rgb: 61, 43, 31;
    --bs-secondary-rgb: 232, 213, 163;
    --bs-danger-rgb: 139, 32, 32;
    --bs-dark-rgb: 26, 15, 10;
    --bs-light-rgb: 255, 255, 255;
    --bs-body-color-rgb: 42, 24, 16;
    --bs-body-bg-rgb: 217, 196, 154;

    --bs-link-color: var(--primary-color);
    --bs-link-hover-color: #5c3f2a;

    --bs-primary-text-emphasis: #2a1810;
    --bs-secondary-text-emphasis: #7a6030;

    --bs-primary-bg-subtle: #f0dba0;
    --bs-secondary-bg-subtle: #f5eacc;
    --bs-danger-bg-subtle: #f5d0d0;

    --bs-primary-border-subtle: #c9a060;
    --bs-secondary-border-subtle: #d9c080;
    --bs-danger-border-subtle: #d08080;

    --bs-link-color-rgb: 61, 43, 31;
    --bs-border-radius: 0;
}

body {
    font-family: 'IM Fell English', Georgia, serif;
    font-size: 18px;
    background-color: #d9c49a;
}

h1, h2, h3, h4, h5, h6,
.navbar-brand,
.btn,
.nav-link,
.info-section-heading,
.turn-card__player,
.turn-card__round,
.game-die__label,
.stock-picker-modal__title,
.dice-roll-title {
    font-family: 'Cinzel', serif;
}

#mainNavigation .active { text-decoration: underline; text-decoration-thickness: 2px; }

.navbar-brand {
    font-family: 'Cinzel Decorative', serif;
    letter-spacing: .04em;
    font-size: .8rem;
    align-self: center;
    margin-top: 0;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .navbar-brand {
        font-size: 1rem;
    }
}

.form-control {
    border: 1px solid var(--darker-blue);
    background-color: var(--secondary-color);
    padding: 10px;
}

.form-control:focus {
    background-color: var(--secondary-color);
}

.btn-lg {
    --bs-btn-border-radius: var(--bs-border-radius);
}

.btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: #5c3f2a;
    --bs-btn-hover-border-color: #5c3f2a;
    --bs-btn-active-bg: #2a1810;
    --bs-btn-active-border-color: #2a1810;
    --bs-btn-disabled-bg: var(--primary-color);
    --bs-btn-disabled-border-color: var(--primary-color);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-color: #f5e0b5;
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: #2a1810;
    --bs-btn-active-border-color: #2a1810;
    --bs-btn-active-color: #f5e0b5;
}

main { min-height: calc(100vh - 59px); display: flex; flex-direction: column; }

.opacity-white-background {
    background-color: var(--opacity-white-background);
}

.window-higher {
    min-height: calc(75vh - 110px);
}

.background-image {
    background:
        url(./../src/row-break-1.svg) bottom center / auto no-repeat fixed,
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 2px,
            rgba(0, 0, 0, 0.015) 2px,
            rgba(0, 0, 0, 0.015) 4px
        ),
        #d9c49a;
}

/* ── Shared game-table style (used on game + leaderboard) ── */
.game-table { font-size: .82rem; }

.game-table thead th {
    background-color: #3d2b1f;
    color: #f5e0b5;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
    font-family: 'Cinzel', serif;
    letter-spacing: .04em;
}

.game-table .table-primary {
    --bs-table-bg: rgba(201, 162, 39, 0.18);
    --bs-table-color: #2a1810;
    --bs-table-border-color: rgba(201, 162, 39, 0.35);
    background-color: rgba(201, 162, 39, 0.18);
}

@media (min-width: 768px) {
    .game-table tbody tr { height: 2.5rem; }
}

.game-table tbody td { vertical-align: middle; }

.no-list-style,
.alert.alert-danger ul {
    padding: 0;
    list-style: none;
}

.fit-screen {
    min-height: calc(100vh - 110px);
}

@media (min-width: 992px) {
    .fit-screen {
        min-height: calc(100vh - 110px);
    }
}

.min-h-0 { min-height: 0; }

.lobby-game-item {
    display: flex;
    flex-direction: column;
    border: 2px solid var(--primary-color);
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.5rem;
}
.lobby-game-item__actions {
    margin-top: 0.5rem;
}
.lobby-game-item__actions .btn {
    flex: 1 1 0;
}

@media (min-width: 992px) {
    .lobby-game-item {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        border: none;
        border-bottom: 2px solid var(--primary-color);
        padding: 0.5rem 0;
        margin-bottom: 0;
    }
    .lobby-game-item__actions {
        margin-top: 0;
    }
    .lobby-game-item__actions .btn {
        flex: initial;
    }
}

.lobby-nav-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 0.75rem 0.5rem;
    border: 3px solid var(--primary-color);
    color: var(--primary-color);
    text-decoration: none;
    transition: background-color 0.15s, color 0.15s;
}
.lobby-nav-tile:hover {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}
.lobby-nav-tile__icon  { font-size: 1.4rem; }
.lobby-nav-tile__label {
    font-family: 'Cinzel', serif;
    font-size: 0.8rem;
    letter-spacing: 0.03em;
}

@media screen and (min-width: 1900px) {
    .background-image { background-size: 100% auto; }
}

@media screen and (max-width: 991px) {
    main { min-height: calc(100vh - 56px); }
}
