/* =========================
   VLASTNÍ STYL PRO APLIKACI
   Sjednocená verze (v2 UI)
========================= */

/* Pevná velikost aplikace s možností scrollu */
html, body {
    width: 1080px;
    min-height: 1015px;
    margin: 0 auto;
    overflow-y: auto;
    font-family: 'Montserrat', sans-serif;
    background-color: #f8f9fa;
    color: #222;
    padding-bottom: 60px;
    scrollbar-width: none; /* Firefox */
}

/* Skrytí scrollbar v Chrome/Safari */
::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    background: transparent;
}

/* BANNER */
header img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
}

/* TITLES */
h1, h2 {
    font-weight: 700;
}
h1 {
    font-size: 2.2rem;
}
h2 {
    font-size: 1.8rem;
}

/* PLAYER BOXES */
.player-box {
    border: 2px solid #ccc;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
    background-color: #fff;
}

/* SCORE BADGE */
.score-label {
    font-size: 1.2rem;
    font-weight: 500;
}

/* QUESTION TEXT */
#questionText, .question-text {
    font-size: 2rem;
    font-weight: bold;
    margin: 1.5rem 0;
    color: #333;
}

/* LARGE BUTTONS */
.btn-lg,
.btn-lg-custom {
    font-size: 1.5rem;
    padding: 1rem 2.5rem;
    min-width: 160px;
    border-radius: 12px;
}

/* TIMER */
#timeRemaining, #clockIcon {
    font-size: 1.6rem;
    font-weight: bold;
    transition: color 0.3s ease-in-out;
}
.timer-red {
    color: #d9534f !important;
}

/* WINNER HIGHLIGHT */
.winner-box {
    font-size: 2rem;
    font-weight: bold;
    color: #000;
}
.score-card {
    display: inline-block;
    padding: 1rem;
    min-width: 160px;
    border-radius: 10px;
    border: 2px solid #ccc;
    background-color: #fff;
    margin: 0.5rem;
}
.score-card.highlight {
    background-color: #ffeeba;
    border-color: #f0ad4e;
}

/* TABLE STYLING */
.table th {
    background-color: #f0f0f0;
    font-weight: bold;
}
.table td, .table th {
    font-size: 1.1rem;
    padding: 0.7rem;
}
.pagination .page-link {
    font-size: 1.1rem;
    padding: 0.5rem 1rem;
}

/* ICONS */
.icon-svg {
    width: 32px;
    height: 32px;
    vertical-align: middle;
    margin-right: 0.5rem;
    transition: filter 0.3s ease-in-out;
}
.icon-svg.red-filter {
    filter: brightness(0) saturate(100%) invert(32%) sepia(95%) saturate(746%) hue-rotate(336deg) brightness(93%) contrast(94%);
}

/* ============================
   MEDIA QUERIES – původní styly
============================ */

@media screen and (orientation: portrait) {
    body {
        font-size: 1.2em;
    }
}

@media screen and (orientation: landscape) {
    body {
        font-size: 1em;
    }
}

/* Pro "kiosk" panel 1080x1920 */
@media (min-width: 1080px) and (max-height: 1920px) {
    .btn-lg {
        font-size: 2rem;
        padding: 1.5rem 3rem;
    }
    .fs-3 {
        font-size: 2rem;
    }
}

/* Ámos barvy tlačítek */
.btn-amos-ano {
    background-color: #28BEBE;
    color: #fff;
    border: none;
}
.btn-amos-ano:hover {
    background-color: #22a7a7;
}

.btn-amos-ne {
    background-color: #F49845;
    color: #fff;
    border: none;
}
.btn-amos-ne:hover {
    background-color: #dc873d;
}

/* mezery mezi boxem a tlačítky */
.player-box + .btn {
    margin-top: 1rem;
}

/* ===== ŽEBŘÍČKY – vizuální zvýraznění řazení + centrování čísel ===== */
.table th,
.table td {
    vertical-align: middle;
}

/* Centrovat numerické sloupce */
.ranking-table td.num,
.ranking-table th.num {
    text-align: center;
}

/* Hlavička sloupce, podle kterého je řazeno – zelená */
.ranking-table th.sorted-header {
    background-color: #28BEBE !important;
    color: #fff;
}

/* Tučné hodnoty v primárně řazeném sloupci */
.ranking-table td.sorted-col {
    font-weight: 700;
}

/* Jemně červené info bloky (finish) */
.alert-soft-danger {
    background-color: #fdecea;
    border-color: #f5c2c7;
    color: #7a1d1f;
}

/* Větší rozestupy u inline radio voleb (index – výběr času) */
.form-check-inline {
    margin-right: 1.5rem;
}