@font-face {
    font-family: 'Trajan Pro Regular';
    src: url('../fonts/TrajanPro-Regular.ttf');
    font-display: swap;
}

@font-face {
    font-family: 'Trajan Pro Bold';
    src: url('../fonts/TrajanPro-Bold.otf');
    font-display: swap;
}

:root {
    --bg: #060504;
    --panel: rgba(18, 13, 9, .88);
    --panel-soft: rgba(31, 22, 15, .78);
    --panel-border: rgba(255, 198, 98, .26);
    --gold: #ffc662;
    --gold-soft: #ffdebc;
    --gold-dark: #9b6435;
    --red: #7d1713;
    --red-light: #b92b22;
    --muted: #a9987a;
    --text: #fff4df;
    --shadow: 0 22px 60px rgba(0, 0, 0, .55);
    --radius: 18px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
}

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 70% 5%, rgba(159, 95, 42, .22), transparent 32rem),
        radial-gradient(circle at 20% 30%, rgba(255, 198, 98, .08), transparent 24rem),
        url('../images/bg.png') no-repeat center 410px / cover,
        var(--bg);
    color: var(--text);
    font-family: Georgia, 'Times New Roman', serif;
    overflow-x: hidden;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .72));
    z-index: -1;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--gold);
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease, transform .2s ease, filter .2s ease;
}

a:hover {
    color: #ffe1a4;
}

button,
input,
select,
textarea {
    font: inherit;
}

.site-nav {
    background: rgba(9, 7, 5, .86);
    border-bottom: 1px solid var(--panel-border);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
    backdrop-filter: blur(14px);
}

.navbar-brand,
.hero h1,
.thead span,
.side-card-header,
.btn-gold,
.btn-outline-gold,
.btn-panel,
.btn-red-large,
.btn-gray-large,
.btn-red-biggest,
.btn-red-middle,
.btn-grey-middle,
.btn-read {
    font-family: 'Trajan Pro Bold', Georgia, serif;
    letter-spacing: .04em;
}

.navbar-brand {
    color: var(--gold-soft) !important;
    text-shadow: 0 0 20px rgba(255, 198, 98, .3);
}

.site-nav .nav-link {
    color: rgba(255, 244, 223, .82) !important;
    text-transform: uppercase;
    font-size: .86rem;
    letter-spacing: .05em;
    border-radius: 999px;
    padding-inline: .9rem !important;
}

.site-nav .nav-link:hover,
.site-nav .nav-link:focus {
    color: var(--gold) !important;
    background: rgba(255, 198, 98, .08);
}

.dropdown-menu {
    background: rgba(16, 11, 8, .98);
    border: 1px solid var(--panel-border);
    box-shadow: var(--shadow);
}

.dropdown-item {
    color: var(--gold-soft);
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: #fff;
    background: rgba(255, 198, 98, .12);
}


.site-nav,
.site-nav .container,
.site-nav .navbar-collapse,
.site-nav .navbar-nav,
.rank-nav-item {
    overflow: visible;
}

.rank-nav-item {
    position: relative;
}

.rank-menu {
    position: relative;
}

.rank-summary {
    display: flex !important;
    align-items: center;
    gap: .35rem;
    cursor: pointer;
    user-select: none;
    list-style: none;
}

.rank-summary::-webkit-details-marker {
    display: none;
}

.rank-summary i {
    font-size: .75rem;
    transition: transform .18s ease;
}

.rank-menu[open] .rank-summary,
.rank-menu.is-active .rank-summary {
    color: var(--gold) !important;
    background: rgba(255, 198, 98, .08);
}

.rank-menu[open] .rank-summary i {
    transform: rotate(180deg);
}

.rank-menu:not([open]) .rank-panel {
    display: none !important;
}

.rank-menu[open] .rank-panel {
    display: block;
}

.rank-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 1200;
    width: min(360px, calc(100vw - 24px));
    padding: .65rem;
    border: 1px solid rgba(255, 198, 98, .34);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 198, 98, .08), transparent 42%),
        rgba(13, 9, 6, .98);
    box-shadow: 0 22px 65px rgba(0, 0, 0, .75);
    backdrop-filter: blur(16px);
    animation: rankPanelIn .14s ease-out;
}

.rank-panel::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 1.55rem;
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    border-left: 1px solid rgba(255, 198, 98, .34);
    border-top: 1px solid rgba(255, 198, 98, .34);
    background: rgba(13, 9, 6, .98);
}

.rank-option {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .78rem;
    border-radius: 14px;
    color: var(--gold-soft) !important;
}

.rank-option + .rank-option {
    margin-top: .2rem;
}

.rank-option i {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    border: 1px solid rgba(255, 198, 98, .24);
    border-radius: 12px;
    background: rgba(255, 198, 98, .09);
}

.rank-option strong {
    display: block;
    color: var(--gold-soft);
    font-family: 'Trajan Pro Bold', Georgia, serif;
    font-size: .9rem;
    letter-spacing: .05em;
    line-height: 1.15;
    text-transform: uppercase;
}

.rank-option small {
    display: block;
    margin-top: .16rem;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.25;
}

.rank-option:hover,
.rank-option:focus {
    color: #fff !important;
    background: rgba(125, 23, 19, .58);
    transform: translateX(2px);
}

.rank-option:hover i,
.rank-option:focus i {
    color: #1f1008;
    background: var(--gold);
}

@keyframes rankPanelIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.hero {
    position: relative;
    min-height: 530px;
    padding: 105px 0 120px;
    overflow: hidden;
    background: url('../images/header.png') no-repeat center top / cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(4, 3, 2, .92) 0%, rgba(4, 3, 2, .42) 48%, rgba(4, 3, 2, .2) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, .62) 100%);
}

.hero-inner {
    position: relative;
    z-index: 1;
}

.hero-logo img {
    width: min(520px, 92vw);
    filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .75));
}

.hero-content {
    max-width: 620px;
    margin-top: 1.25rem;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--gold);
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .78rem;
    font-weight: 700;
}

.eyebrow::before {
    content: '';
    width: 38px;
    height: 1px;
    background: currentColor;
    opacity: .75;
}

.hero h1 {
    margin: .35rem 0 .65rem;
    font-size: clamp(2.2rem, 7vw, 5rem);
    line-height: .92;
    color: #fff4d6;
    text-shadow: 0 5px 25px rgba(0, 0, 0, .85), 0 0 28px rgba(255, 198, 98, .22);
}

.hero p {
    color: rgba(255, 244, 223, .86);
    font-size: clamp(1rem, 2vw, 1.18rem);
    max-width: 560px;
}

.btn {
    border-radius: 999px;
    font-weight: 700;
}

.btn-gold {
    color: #2b160b !important;
    border: 1px solid rgba(255, 226, 164, .75);
    background: linear-gradient(180deg, #ffe0a5 0%, var(--gold) 45%, #a05d2a 100%);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .45);
}

.btn-gold:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.btn-outline-gold {
    color: var(--gold-soft) !important;
    border: 1px solid var(--panel-border);
    background: rgba(255, 198, 98, .06);
}

.btn-outline-gold:hover {
    color: #1f1008 !important;
    background: var(--gold);
    border-color: var(--gold);
}

.site-main {
    position: relative;
    z-index: 2;
    margin-top: -75px;
    padding-bottom: 4rem;
}

.content-column,
.sidebar-column {
    min-width: 0;
}

.news,
.page,
.vop,
.oxeventadmin,
.prezentace,
.clean_box,
.page_content {
    width: 100%;
    max-width: 100%;
    float: none !important;
}

.news_box,
.page_box,
.clean_box,
.page_content,
.vop,
.oxeventadmin,
.prezentace {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin: 0 0 1.5rem !important;
    position: relative;
    background:
        linear-gradient(135deg, rgba(255, 198, 98, .06), transparent 28%),
        linear-gradient(180deg, rgba(28, 20, 14, .95), rgba(11, 8, 6, .94));
    border: 1px solid var(--panel-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.news_box::after,
.page_box::after,
.side-card::after,
.page_content::after,
.prezentace::after,
.vop::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(120deg, rgba(255, 255, 255, .08), transparent 28%, transparent 70%, rgba(255, 198, 98, .05));
    opacity: .45;
}

.news_box:first-child,
.page_box:first-child,
.clean_box:first-child,
.prezentace_box:first-child,
.vop:first-child,
.oxeventadmin:first-child {
    margin-top: 0 !important;
}

.thead,
.news_box .thead,
.page_box .thead,
.prezentace_box .thead,
.page_content .thead {
    position: relative;
    z-index: 1;
    width: 100% !important;
    height: auto !important;
    background: linear-gradient(90deg, rgba(125, 23, 19, .9), rgba(45, 20, 12, .82));
    border-bottom: 1px solid rgba(255, 198, 98, .28);
}

.thead span,
.news_box .thead span,
.page_box .thead span,
.prezentace_box .thead span,
.page_content .thead span {
    display: block;
    padding: .95rem 1.25rem;
    color: var(--gold-soft);
    text-align: left;
    text-transform: uppercase;
    font-size: .92rem;
    font-weight: 700;
    text-shadow: 0 0 18px rgba(0, 0, 0, .9);
    -webkit-text-fill-color: currentColor;
    background: none;
}

.news_box .text {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem;
    color: var(--gold-soft);
    text-shadow: 0 1px 12px rgba(0, 0, 0, .85);
}

.news_box.news-highlight .text {
    padding-block: 1.45rem;
}

.news_box .text p {
    margin: 0;
    line-height: 1.55;
}

.news_box .text .img_box,
.page_box .text .img_box {
    float: none;
    width: 130px;
    height: 76px;
    margin: 0;
    background: url('../images/img_box.png') no-repeat center / cover;
    border-radius: 10px;
    border: 1px solid rgba(255, 222, 188, .35);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
}

.news_box .footer_box,
.page_box .footer_box {
    grid-column: 1 / -1;
    position: static;
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    margin-top: .3rem;
}

.news_box .footer_box span,
.page_box .footer_box span {
    color: var(--muted);
    font-size: .78rem;
    white-space: nowrap;
}

.news_box .footer_box hr,
.page_box .footer_box hr {
    flex: 1;
    width: auto;
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(255, 198, 98, .18);
    opacity: 1;
}

.page_box,
.page_content,
.vop,
.oxeventadmin,
.prezentace {
    color: var(--gold-soft);
}

.page_box .text,
.page_box .textsmall,
.prezentace .text,
.prezentace,
.vop .text,
.oxeventadmin .text,
.page_content {
    position: relative;
    z-index: 1;
    padding: clamp(1.15rem, 3.5vw, 2rem) !important;
    line-height: 1.7;
    color: var(--gold-soft);
    text-shadow: 0 1px 12px rgba(0, 0, 0, .75);
}

.page_box .textsmall,
.page_box .text,
.page_content p,
.page_content li {
    font-size: 1rem;
}

.page_box h1,
.page_box h2,
.page_box h3,
.page_box h4,
.page_content h1,
.page_content h2,
.page_content h3,
.page_content h4,
.vop .text h4,
.oxeventadmin .text h4 {
    color: var(--gold);
    font-family: 'Trajan Pro Bold', Georgia, serif;
    text-shadow: 0 0 16px rgba(0, 0, 0, .8);
}

.page_content .thead {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: calc(clamp(1.15rem, 3.5vw, 2rem) * -1) calc(clamp(1.15rem, 3.5vw, 2rem) * -1) 1rem;
}

.page_content .thead span {
    text-align: left;
}

.page_box b,
.page_content b,
.vop b,
.oxeventadmin b {
    color: #ffe1a4;
}

.page_box ul,
.page_box ol,
.page_content ul,
.page_content ol {
    padding-left: 1.25rem;
}

.page_box hr,
.page_content hr,
.vop hr {
    border: 0;
    border-top: 1px solid rgba(255, 198, 98, .22);
    opacity: 1;
    margin: 1.25rem 0;
}

.page_box table,
.oxeventadmin table {
    width: 100%;
    min-width: 560px;
    margin: 1rem 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 12px;
    color: var(--gold-soft);
}

.page_box th,
.page_box td,
.oxeventadmin th,
.oxeventadmin td {
    padding: .8rem .7rem;
    border-bottom: 1px solid rgba(255, 198, 98, .18);
    background: rgba(0, 0, 0, .18);
    vertical-align: middle;
}

.page_box tr:hover td,
.page_box tr:hover th,
.oxeventadmin tr:hover td,
.oxeventadmin tr:hover th {
    background: rgba(255, 198, 98, .06);
}

.page_box th span,
.page_box td span,
.oxeventadmin th span,
.oxeventadmin td span {
    color: var(--gold-soft);
    -webkit-text-fill-color: currentColor;
    background: none;
    text-transform: none;
}

.page_box .search-left,
.page_box .search-right,
.page_box .pvp,
.page_box .download,
.page_box .ucet-nastaveni {
    float: none !important;
    padding: 1rem clamp(1rem, 3vw, 2rem) !important;
}

.page_box .search-left img,
.page_box .search-right img {
    border-radius: 8px;
    border: 1px solid rgba(255, 198, 98, .2);
    background: rgba(0, 0, 0, .2);
    margin: .15rem;
}

.page_box .register {
    width: 100%;
    height: auto;
    padding: clamp(1rem, 3vw, 2rem);
    text-align: left;
}

.page_box .inner,
.page_box .innerlong,
.login-form {
    max-width: 520px;
    margin-inline: auto;
}

.page_box .inner label,
.page_box .innerlong label,
.login-form .form-label,
.side-card label {
    display: block;
    margin-bottom: .35rem;
    color: var(--gold);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    -webkit-text-fill-color: currentColor;
    background: none;
}

.form-control,
.page_box .inner input,
.page_box .innerlong input,
.page_box .inner input[name='password'],
.page_box input,
.page_box select,
.page_box textarea {
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    min-height: 44px;
    padding: .65rem .85rem !important;
    color: #fff !important;
    background: rgba(2, 2, 2, .45) !important;
    border: 1px solid rgba(255, 198, 98, .28) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 10px rgba(0, 0, 0, .35);
}

.form-control:focus,
.page_box input:focus,
.page_box select:focus,
.page_box textarea:focus {
    color: #fff;
    background: rgba(0, 0, 0, .62) !important;
    border-color: rgba(255, 198, 98, .65) !important;
    box-shadow: 0 0 0 .2rem rgba(255, 198, 98, .13), inset 0 1px 10px rgba(0, 0, 0, .35) !important;
}

.btn-read,
.btn-red-large,
.btn-gray-large,
.btn-red-biggest,
.btn-red-middle,
.btn-grey-middle,
.page_box button[type='submit'],
.page_box input[type='submit'] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 130px;
    min-height: 38px;
    height: auto !important;
    margin: .25rem .2rem;
    padding: .55rem 1rem !important;
    border: 1px solid rgba(255, 198, 98, .32) !important;
    border-radius: 999px;
    color: var(--gold-soft) !important;
    background: linear-gradient(180deg, rgba(143, 30, 24, .95), rgba(62, 17, 13, .95)) !important;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 9px 22px rgba(0, 0, 0, .35);
}

.btn-gray-large,
.btn-grey-middle {
    background: linear-gradient(180deg, rgba(86, 75, 61, .95), rgba(32, 28, 24, .95)) !important;
}

.btn-red-biggest {
    width: 100% !important;
    max-width: 100%;
    justify-content: center;
}

.btn-read span,
.btn-red-large span,
.btn-gray-large span,
.btn-red-biggest span,
.btn-red-middle span,
.btn-grey-middle span,
.btn-red-biggest span b {
    color: inherit;
    -webkit-text-fill-color: currentColor;
    background: none;
    text-shadow: none;
}

.btn-read:hover,
.btn-red-large:hover,
.btn-gray-large:hover,
.btn-red-biggest:hover,
.btn-red-middle:hover,
.btn-grey-middle:hover,
.page_box button[type='submit']:hover,
.page_box input[type='submit']:hover {
    color: #fff !important;
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.page_box .grid-container {
    display: grid;
    grid-template-areas: none;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .85rem;
    padding: 1rem clamp(1rem, 3vw, 2rem);
}

.page_box .grid-container > div {
    padding: 0;
    font-size: 1rem;
}

.page_box .item1,
.page_box .item2,
.page_box .item3,
.page_box .item4 {
    grid-area: auto;
}

.side-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255, 198, 98, .07), transparent 35%),
        rgba(17, 12, 8, .92);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.side-card-header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .95rem 1.1rem;
    color: var(--gold-soft);
    text-transform: uppercase;
    background: linear-gradient(90deg, rgba(125, 23, 19, .92), rgba(55, 22, 14, .82));
    border-bottom: 1px solid rgba(255, 198, 98, .28);
}

.side-card-body {
    position: relative;
    z-index: 1;
    padding: 1.15rem;
}

.user-summary {
    display: grid;
    gap: .3rem;
    padding: 1rem;
    border: 1px solid rgba(255, 198, 98, .18);
    border-radius: 14px;
    background: rgba(0, 0, 0, .18);
}

.user-summary strong {
    color: var(--gold-soft);
    font-size: 1.15rem;
}

.dm-badge {
    display: inline-flex;
    width: fit-content;
    padding: .2rem .65rem;
    color: #2b160b;
    border-radius: 999px;
    background: var(--gold);
    font-weight: 700;
}

.btn-panel {
    color: var(--gold-soft) !important;
    border: 1px solid rgba(255, 198, 98, .22);
    background: rgba(255, 198, 98, .06);
}

.btn-panel:hover {
    color: #fff !important;
    background: rgba(255, 198, 98, .13);
}

.event-list {
    display: grid;
    gap: .55rem;
}

.event-item {
    padding-bottom: .55rem;
    border-bottom: 1px solid rgba(255, 198, 98, .12);
    color: var(--gold-soft);
    line-height: 1.35;
    font-size: .92rem;
}

.event-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.event-time {
    color: var(--gold);
    white-space: nowrap;
    font-weight: 700;
}

.social-card {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .85rem;
    align-items: center;
    padding: 1rem;
    min-height: 84px;
    border: 1px solid var(--panel-border);
    border-radius: var(--radius);
    background: rgba(17, 12, 8, .86);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .35);
}

.social-card i {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1b1008;
    border-radius: 12px;
    background: var(--gold);
}

.social-card span {
    color: var(--gold-soft);
    font-weight: 700;
    text-transform: uppercase;
}

.social-card small {
    color: var(--muted);
}

.social-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 198, 98, .42);
}

.alert {
    border-radius: 12px;
    border-width: 1px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.nk-pagination {
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

.nk-pagination nav {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: center;
}

.nk-pagination nav > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    padding: .35rem .65rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 198, 98, .18);
    background: rgba(0, 0, 0, .22);
    color: var(--gold-soft);
}

.nk-pagination nav > *.nk-pagination-current,
.nk-pagination nav > *.nk-pagination-current-white {
    color: #211107;
    background: var(--gold);
    border-color: var(--gold);
}

.site-footer {
    padding: 1.35rem 0;
    color: var(--muted);
    background: rgba(0, 0, 0, .48);
    border-top: 1px solid rgba(255, 198, 98, .14);
    font-size: .92rem;
}

.footer-links {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (max-width: 1199.98px) {
    .sidebar-column {
        margin-top: .5rem;
    }
}


@media (max-width: 991.98px) {
    .site-nav .navbar-collapse {
        padding-top: .75rem;
    }

    .site-nav .nav-link,
    .rank-summary {
        width: 100%;
    }

    .rank-summary {
        justify-content: space-between;
    }

    .rank-panel {
        position: static;
        width: 100%;
        margin: .35rem 0 .6rem;
        box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
        animation: none;
    }

    .rank-panel::before {
        display: none;
    }

    .rank-option {
        grid-template-columns: 38px 1fr;
    }

    .rank-option i {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 767.98px) {
    .hero {
        min-height: 470px;
        padding: 95px 0 105px;
        background-position: center top;
    }

    .hero-overlay {
        background: linear-gradient(180deg, rgba(4, 3, 2, .64), rgba(4, 3, 2, .92));
    }

    .site-main {
        margin-top: -58px;
    }

    .news_box .text {
        grid-template-columns: 1fr;
    }

    .news_box .text .img_box,
    .page_box .text .img_box {
        width: 100%;
        height: 120px;
    }

    .page_box table,
    .oxeventadmin table {
        min-width: 520px;
    }

    .page_box,
    .page_content,
    .vop,
    .oxeventadmin {
        overflow-x: auto;
    }

    .thead span,
    .news_box .thead span,
    .page_box .thead span,
    .prezentace_box .thead span,
    .page_content .thead span {
        font-size: .82rem;
        padding: .85rem 1rem;
    }
}

@media (max-width: 420px) {
    .hero h1 {
        font-size: 2.3rem;
    }

    .btn-gold,
    .btn-outline-light,
    .btn-outline-gold {
        width: 100%;
    }

    .event-item {
        display: block !important;
    }

    .event-time {
        display: block;
        margin-bottom: .15rem;
    }
}

/* No-JS oprava navigace: menu i Žebříček fungují i když Bootstrap JS blokuje CSP/cache. */
.nav-shell {
    position: relative;
}

.nav-check {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.nav-toggler {
    border-color: rgba(255, 198, 98, .38);
    border-radius: 12px;
    padding: .38rem .62rem;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
}

@media (min-width: 992px) {
    .nav-check,
    .nav-toggler {
        display: none !important;
    }

    .navbar-expand-lg .site-menu.collapse {
        display: flex !important;
        flex-basis: auto;
    }
}

@media (max-width: 991.98px) {
    .site-nav .nav-shell {
        flex-wrap: wrap;
    }

    .nav-toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-menu.collapse {
        display: none !important;
        width: 100%;
        margin-top: .75rem;
        padding: .65rem;
        border: 1px solid rgba(255, 198, 98, .18);
        border-radius: 16px;
        background: rgba(8, 6, 4, .96);
        box-shadow: 0 18px 42px rgba(0, 0, 0, .45);
    }

    .nav-check:checked ~ .site-menu.collapse {
        display: block !important;
    }

    .site-menu .navbar-nav {
        align-items: stretch !important;
        gap: .25rem !important;
    }

    .site-nav .site-menu .nav-link,
    .site-nav .site-menu .rank-summary {
        width: 100%;
        padding: .78rem .85rem !important;
        border-radius: 12px;
    }
}
