.jackpot-container {
    background: linear-gradient(180deg, #2a2a2a 0%, #1c1c1c 100%);
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 15px rgba(255, 215, 0, 0.1);
    width: 100%;
    max-width: 900px;
    color: #fff;
    border: 1px solid #444;
    font-family: 'Roboto', sans-serif; /* Базовый шрифт для виджета */
    margin: 0 auto;
}

.jackpot-header {
    background-color: #000;
    border-top: 2px solid #a4854f;
    border-bottom: 2px solid #a4854f;
    padding: 20px 10px;
    text-align: center;
    position: relative;
}

.jackpot-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(1.8rem, 5vw, 2.5rem);
    font-weight: 700;
    line-height: 1;
    color: #a4854f;
    text-shadow: 0px 1px 2px rgba(0,0,0,0.7);
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

.jackpot-amount {
    font-family: 'Teko', sans-serif;
    font-size: clamp(2rem, 8vw, 5.5rem);
    color: #f3c85a;
    text-shadow: 0 0 5px #f3c85a, 0 0 15px #f3c85a, 2px 2px 5px rgba(0,0,0,0.7);
    letter-spacing: 2px;
    line-height: 1;
}

.jackpot-body { display: flex; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
.winners-container { display: flex; gap: 15px; flex-grow: 1; justify-content: space-around; flex-wrap: wrap; }
.winner-link { display: block; text-decoration: none; color: inherit; flex: 1; min-width: 150px; }
.winner-card { background-color: #2d2d2d; border-radius: 10px; padding: 15px; text-align: center; border: 1px solid #4a4a4a; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4); height: 100%; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }
.winner-link:hover .winner-card { transform: translateY(-5px) scale(1.02); border-color: #f3c85a; box-shadow: 0 8px 25px rgba(243, 200, 90, 0.15); }
.winner-place img { width: 50px; height: auto; margin-bottom: 10px; }
.winner-name { font-size: 0.9em; color: #aaa; margin-bottom: 5px; }
.winner-amount { font-size: 1.2em; font-weight: bold; color: #fff; margin-bottom: 10px; }
.winner-game { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: 0.8em; color: #888; }
.winner-game img { width: 24px; height: 24px; border-radius: 4px; }
.winner-game span::after { content: ' >'; color: #d4a13e; font-weight: bold; }

.ranking-container { flex-basis: 300px; background-color: #2d2d2d; border-radius: 10px; border: 1px solid #4a4a4a; display: flex; flex-direction: column; }
.ranking-header { background-color: #d4a13e; color: #222; font-weight: bold; display: flex; padding: 10px 15px; border-radius: 10px 10px 0 0; }
.ranking-header .col-rank { flex: 0 0 70px; }
.ranking-header .col-player { flex: 1; }
.ranking-header .col-prize { flex: 0 0 90px; text-align: right; }
.ranking-body { height: 152px; overflow: hidden; position: relative; }
.ranking-table { width: 100%; border-collapse: collapse; animation: scrollUp 20s linear infinite; }
.ranking-body:hover .ranking-table { animation-play-state: paused; }
@keyframes scrollUp { 0% { transform: translateY(0); } 100% { transform: translateY(-50%); } }
.ranking-table tr { display: flex; border-bottom: 1px solid #444; }
.ranking-table td { padding: 10px 15px; }
.ranking-table .col-rank { flex: 0 0 70px; }
.ranking-table .col-player { flex: 1; color: #ccc; }
.ranking-table .col-prize { flex: 0 0 90px; text-align: right; font-weight: bold; color: #eee; }

@media (max-width: 850px) {
    .jackpot-body { flex-direction: column; }
    .ranking-container { flex-basis: auto; width: 100%; }
}