/* Каталог событий */
.events-catalog-content {
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px;
}

.events-catalog-page {
    width: 100%;
    min-height: 100%;
    padding: 18px 12px 24px;
    border-radius: 18px;
    background: radial-gradient(circle at 50% 22%, #172b48 0%, #0d1729 48%, #03060d 100%);
    box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.38);
}

.events-catalog-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 2px 0 20px;
    color: #f1c40f;
    font-family: 'Titillium Web', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.75), 0 0 10px rgba(241, 196, 15, 0.22);
}

.events-catalog-deco {
    width: 54px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #f1c40f, #ffe9a0);
    box-shadow: 0 0 6px rgba(241, 196, 15, 0.4);
}

.events-catalog-deco:last-child { transform: scaleX(-1); }

.events-catalog-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.event-banner-button {
    display: block;
    width: 350px;
    max-width: 100%;
    height: 100px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.event-banner-button img {
    display: block;
    width: 350px;
    max-width: 100%;
    height: 100px;
    object-fit: contain;
    border: 0;
    user-select: none;
    pointer-events: none;
    transition: transform 0.16s ease, filter 0.16s ease;
}

.event-banner-button:active img {
    transform: scale(0.985);
    filter: brightness(0.92);
}

.events-catalog-loading,
.events-catalog-empty {
    padding: 28px 12px;
    color: #aaa;
    font-size: 15px;
    text-align: center;
}

@media (max-width: 380px) {
    .events-catalog-page {
        padding-left: 8px;
        padding-right: 8px;
    }

    .events-catalog-title {
        gap: 8px;
        font-size: 22px;
    }

    .events-catalog-deco {
        width: 38px;
    }
}

.tournament-container { position: relative; overflow: hidden; }
.tournament-container::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.tournament-container > * { position: relative; z-index: 1; }
.tournament-container .tournament-waiting { background: transparent !important; }
.tournament-container .tournament-tab.active,
.tournament-container .tournament-round-tab.active { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; box-shadow: 0 0 15px var(--event-accent-soft, rgba(0, 170, 255, 0.15)) !important; }
.tournament-container .tournament-tab:not(.active):hover,
.tournament-container .tournament-round-tab:not(.active):hover { border-color: var(--event-accent-soft-border, rgba(255, 255, 255, 0.08)) !important; color: var(--event-accent, #00aaff) !important; }
.tournament-container .tournament-help-icon,
.tournament-container .tournament-help-icon:hover { color: var(--event-accent, #00aaff) !important; }
.tournament-container .tournament-action-btn,
.tournament-container .tournament-replay-btn,
.tournament-container .tournament-close-btn { border-color: var(--event-accent, #00aaff); box-shadow: 0 0 15px var(--event-accent-glow, rgba(0, 170, 255, 0.3)); }
.tournament-container .tournament-action-btn:hover:not(:disabled),
.tournament-container .tournament-replay-btn:hover,
.tournament-container .tournament-close-btn:hover { border-color: var(--event-accent, #00aaff); box-shadow: 0 0 25px var(--event-accent-glow, rgba(0, 170, 255, 0.45)); }
.tournament-container .tournament-replay-btn,
.tournament-container .tournament-close-btn,
.tournament-container .tournament-timer-digits .digit-value,
.tournament-container .leader-row .leader-place { color: var(--event-accent, #00aaff); }
.tournament-container .tournament-info,
.tournament-container .tournament-match-block-fantasy { border-left-color: var(--event-accent, #00aaff); }
.tournament-container .tournament-timer-digits .digit-box { border-color: var(--event-accent, #00aaff); }
.tournament-container .leader-row.current-user { background: var(--event-accent-primary-bg, rgba(0, 170, 255, 0.08)) !important; border-color: var(--event-accent, #00aaff) !important; }
.tournament-container .leader-row.current-user .leader-name,
.tournament-container .leader-row.current-user .leader-place { color: var(--event-accent, #00aaff) !important; }
.tournament-container .pagination-btn.active { background: var(--event-accent, #00aaff) !important; border-color: var(--event-accent, #00aaff) !important; color: #fff !important; box-shadow: 0 0 14px var(--event-accent-soft, rgba(0, 170, 255, 0.2)) !important; }
.tournament-container .pagination-btn:not(.active):hover:not(:disabled) { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; }

.forge-container,
.rune-page { position: relative; overflow: hidden; }
.forge-container::before,
.rune-page::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.forge-container > *,
.rune-page > * { position: relative; z-index: 1; }
.forge-container #forgeHelpBtn,
.rune-page .rune-help-btn,
.forge-container #forgeHelpBtn:hover,
.rune-page .rune-help-btn:hover { color: var(--event-accent, #00aaff) !important; }

.equip-container { position: relative; overflow: hidden; }
.equip-container::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.equip-container > * { position: relative; z-index: 1; }
.equip-container .class-selector .class-btn.active { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; box-shadow: 0 0 15px var(--event-accent-soft, rgba(0, 170, 255, 0.15)) !important; }
.equip-container .equip-top { border-bottom-color: var(--event-accent-soft-border, rgba(0, 170, 255, 0.15)) !important; }
.equip-container .hero-center img { border-color: var(--event-accent, #00aaff) !important; box-shadow: 0 0 30px var(--event-accent-soft, rgba(0, 170, 255, 0.15)) !important; }
.bottom-menu .menu-item.active { color: var(--event-accent, #00aaff) !important; }
.bottom-menu .menu-item.active::before { background: radial-gradient(circle, var(--event-accent-soft, rgba(0, 170, 255, 0.30)) 0%, transparent 70%) !important; }
.bottom-menu .menu-item:not(.active):hover { color: var(--event-accent, #00aaff) !important; }

.clans-container { position: relative; overflow: hidden; }
.clans-container::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.clans-container > * { position: relative; z-index: 1; }
.clans-container .clans-tab-btn.active { background-color: var(--event-accent, #00aaff) !important; border-color: var(--event-accent, #00aaff) !important; color: white !important; box-shadow: 0 0 15px var(--event-accent-soft, rgba(0, 170, 255, 0.15)) !important; }
.clans-container .clans-tab-btn.active i,
.clans-container .clans-tab-btn.active span { color: white !important; }
.clans-container .exp-bar-fill { background: var(--event-accent, #00aaff) !important; box-shadow: 0 0 10px var(--event-accent-soft, rgba(0, 170, 255, 0.18)); }
.clans-container .clan-header-exp .exp-value { color: var(--event-accent, #00aaff) !important; }
.clans-container .chat-username,
.clans-container .chat-username-clickable { color: var(--event-accent, #00aaff) !important; }
.clans-container .chat-bubble.other:not(.mentioned) { border-right-color: var(--event-accent, #00aaff) !important; }
.clans-container .chat-bubble.mine:not(.mentioned) { border-left-color: var(--event-accent, #00aaff) !important; }
.clans-container .clans-talent-name,
.clans-container .clans-talent-value { color: var(--event-accent, #00aaff) !important; }
.clans-filters-actions { display: flex; gap: 8px; width: 100%; }
.clans-filters-actions .btn-glass { flex: 1 1 0; min-width: 0; width: 0; }
.clans-filters-panel { position: relative; z-index: 200; }
.clans-filters-group { position: relative; z-index: 201; }
.clans-type-filter { position: relative; z-index: 202; flex: 0 1 180px; min-width: 0; }
.clans-type-filter-btn { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: #1a1f2b; color: #eee; font-size: 14px; cursor: pointer; transition: border-color .2s ease, color .2s ease, box-shadow .2s ease, background .2s ease; }
.clans-type-filter-btn:hover,
.clans-type-filter-btn[aria-expanded="true"] { border-color: var(--event-accent,#00aaff); color: var(--event-accent,#00aaff); background: #1a1f2b; box-shadow: 0 0 14px var(--event-accent-soft,rgba(0,170,255,.15)); }
.clans-type-filter-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clans-type-filter-arrow { flex: 0 0 auto; font-size: 11px; transition: transform .18s ease; }
.clans-type-filter-btn[aria-expanded="true"] .clans-type-filter-arrow { transform: rotate(180deg); }
.clans-type-filter-menu { position: absolute; top: calc(100% + 2px); left: 50%; right: auto; width: 260px; min-width: 260px; transform: translateX(-50%); z-index: 9999; display: none; padding: 6px 0; background: #1a1f2b !important; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.6),0 0 18px var(--event-accent-soft,rgba(0,170,255,.08)); }
.clans-type-filter-menu.open { display: block; }
.clans-type-filter-option { width: 100%; display: flex; align-items: center; padding: 10px 16px; border: 0; border-bottom: 1px solid rgba(255,255,255,.05); background: transparent; color: #eee; font-size: 14px; text-align: left; white-space: nowrap; cursor: pointer; transition: background .15s ease, color .15s ease; }
.clans-type-filter-option:last-child { border-bottom: 0; }
.clans-type-filter-option:hover,
.clans-type-filter-option.selected { background: var(--event-accent-soft-bg,rgba(0,170,255,.06)); color: var(--event-accent,#00aaff); }
@media (max-width:380px) { .clans-type-filter { flex-basis: 165px; } .clans-type-filter-menu { width: 235px; min-width: 235px; } .clans-type-filter-option { padding: 10px 14px; } }

.market-page { position: relative; overflow: hidden; }
.market-page::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.market-page > * { position: relative; z-index: 1; }
.market-page .market-tab-btn { border-color: transparent !important; color: #999 !important; background: transparent !important; box-shadow: none !important; }
.market-page .market-tab-btn:not(.active) { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.market-page .market-tab-btn:hover:not(:disabled) { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; background: var(--event-accent-soft-bg, rgba(0, 170, 255, 0.05)) !important; }
.market-page .market-tab-btn.active { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; background: var(--event-accent-soft-bg, rgba(0, 170, 255, 0.05)) !important; box-shadow: 0 0 15px var(--event-accent-soft, rgba(0, 170, 255, 0.15)) !important; }
.market-page .filter-button { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; }
.market-page .filter-button i { color: var(--event-accent, #00aaff) !important; }
.market-page .filter-button:hover { border-color: var(--event-accent, #00aaff) !important; color: var(--event-accent, #00aaff) !important; }
.market-page .market-filter-dropdown { border-color: var(--event-accent, #00aaff) !important; }
.market-page .market-filter-dropdown option { color: #eee; background: #1a1f2b; }
.market-page .market-section-title { color: var(--event-accent, #00aaff) !important; }

.farm-page { position: relative; overflow: hidden; }
.farm-page::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.farm-page > * { position: relative; z-index: 1; }
.farm-page .farm-incubator-timer { color: var(--event-accent, #00aaff) !important; }
.farm-page .farm-egg-creation-progress { background: var(--event-accent, #00aaff) !important; }

.seasonal-event-page { position: relative; overflow: hidden; min-height: 100%; padding: 12px; border-radius: 18px; }
.seasonal-event-page::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: var(--seasonal-page-background, none); background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; opacity: 0.5; border-radius: inherit; }
.seasonal-event-page > * { position: relative; z-index: 1; }
.seasonal-event-header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.seasonal-event-header .events-catalog-title { flex: 1 1 auto; margin: 0; }
.seasonal-event-back { flex: 0 0 auto; width: 38px; height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; }

/* Halloween: рейтинг в стиле общего рейтинга — полосатые строки и компактная пагинация. */
.halloween-event-page .seasonal-event-rating {
    width: 100%;
    overflow-x: hidden;
}

.halloween-event-page .seasonal-event-rating .stats-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.halloween-event-page .seasonal-event-rating .stats-table thead th {
    background: #0b1424 !important;
    color: #f1c40f !important;
    font-weight: 700;
    text-transform: uppercase;
}

.halloween-event-page .seasonal-event-rating .stats-table tbody tr:nth-child(odd) {
    background: rgba(7, 13, 24, 0.78) !important;
}

.halloween-event-page .seasonal-event-rating .stats-table tbody tr:nth-child(even) {
    background: rgba(28, 36, 50, 0.78) !important;
}

.halloween-event-page .seasonal-event-rating .stats-table th,
.halloween-event-page .seasonal-event-rating .stats-table td {
    padding: 7px 8px;
    height: 36px;
    box-sizing: border-box;
    vertical-align: middle;
}

.halloween-event-page .seasonal-event-rating .stats-table th:nth-child(1),
.halloween-event-page .seasonal-event-rating .stats-table td:nth-child(1) {
    width: 58px;
    text-align: center;
}

.halloween-event-page .seasonal-event-rating .stats-table th:nth-child(2),
.halloween-event-page .seasonal-event-rating .stats-table td:nth-child(2) {
    width: auto;
    text-align: left;
}

.halloween-event-page .seasonal-event-rating .stats-table th:nth-child(3),
.halloween-event-page .seasonal-event-rating .stats-table td:nth-child(3) {
    width: 78px;
    text-align: center;
}

.halloween-event-page .seasonal-event-rating-sweet {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain;
    vertical-align: -5px;
}

.halloween-event-page .seasonal-event-rating .stats-table tr.current-user td {
    color: var(--event-accent, #ff8a00) !important;
}

.halloween-event-page .seasonal-event-rating-empty {
    text-align: center !important;
    color: #888 !important;
}

.halloween-event-page .seasonal-event-rating-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.halloween-event-page .seasonal-event-rating-pagination .btn-glass {
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0;
}

/* Halloween shop */
.halloween-event-page .seasonal-event-page { overflow: visible; }
.halloween-event-page .seasonal-event-tab-content { overflow: visible; }
.halloween-event-page .seasonal-event-shop { width:100%; }
.halloween-event-page .seasonal-event-shop-balance { display:flex; align-items:center; justify-content:center; gap:7px; margin:2px 0 10px; color:#ddd; font-size:14px; }
.halloween-event-page .seasonal-event-shop-balance img { width:24px; height:24px; object-fit:contain; }
.halloween-event-page .seasonal-event-shop-list { display:flex; flex-direction:column; gap:8px; }
.halloween-event-page .seasonal-event-shop-row { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:8px; padding:7px 8px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(7,13,24,.68); }
.halloween-event-page .seasonal-event-shop-row.is-maxed { opacity:.58; }
.halloween-event-page .seasonal-event-shop-visual { width:52px; height:52px; display:flex; align-items:center; justify-content:center; }
.halloween-event-page .seasonal-event-shop-item-image { width:44px; height:44px; object-fit:contain; }
.halloween-event-page .seasonal-event-shop-info { min-width:0; }
.halloween-event-page .seasonal-event-shop-name { color:#eee; font-weight:600; font-size:14px; line-height:1.2; }
.halloween-event-page .seasonal-event-shop-meta { margin-top:3px; color:#888; font-size:11px; line-height:1.2; }
.halloween-event-page .seasonal-event-shop-price { display:flex; align-items:center; gap:4px; margin-top:4px; color:#eee; font-size:12px; line-height:1.2; }
.halloween-event-page .seasonal-event-shop-price img { width:18px; height:18px; object-fit:contain; }
.halloween-event-page .seasonal-event-shop-price-value { font-weight:600; }
.halloween-event-page .seasonal-event-shop-quantity { display:flex; align-items:center; gap:5px; }
.halloween-event-page .seasonal-event-shop-qty { width:28px; height:28px; padding:0; border:1px solid var(--event-accent,#ff8a00); border-radius:8px; background:transparent; color:var(--event-accent,#ff8a00); font-size:18px; line-height:1; cursor:pointer; }
.halloween-event-page .seasonal-event-shop-qty-value { min-width:20px; text-align:center; color:#fff; font-size:13px; }
.halloween-event-page .seasonal-event-shop-purchase { display:none; }
.halloween-event-page .seasonal-event-shop-total { display:none; }
.halloween-event-page .seasonal-event-shop-total img { display:none; }
.halloween-event-page .seasonal-event-shop-buy { min-width:72px; height:30px; padding:0 10px; border:1px solid var(--event-accent,#ff8a00); border-radius:8px; background:transparent; color:var(--event-accent,#ff8a00); font-size:12px; cursor:pointer; }
.halloween-event-page .seasonal-event-shop-buy:hover:not(:disabled) { box-shadow:0 0 10px var(--event-accent-glow,rgba(255,138,0,.3)); }
.halloween-event-page .seasonal-event-shop-buy:disabled { opacity:.35; cursor:default; }
@media (max-width:560px) {
 .halloween-event-page .seasonal-event-shop-row { grid-template-columns:44px minmax(0,1fr) auto; }
 .halloween-event-page .seasonal-event-shop-visual { width:44px; height:44px; }
 .halloween-event-page .seasonal-event-shop-item-image { width:38px; height:38px; }

}


/* Halloween shop actions / preview */
.halloween-event-page .seasonal-event-shop-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
}
.halloween-event-page .seasonal-event-shop-preview {
    width:30px;
    height:30px;
    padding:0;
    border:1px solid var(--event-accent,#ff8a00);
    border-radius:8px;
    background:transparent;
    color:var(--event-accent,#ff8a00);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.halloween-event-page .seasonal-event-shop-preview:hover {
    box-shadow:0 0 10px var(--event-accent-glow,rgba(255,138,0,.3));
}
.halloween-event-page .seasonal-event-shop-single-buy {
    min-width:82px;
}
.halloween-event-page .seasonal-event-shop-quantity {
    display:flex;
    align-items:center;
    gap:5px;
}
.halloween-event-page .seasonal-event-shop-preview + .seasonal-event-shop-quantity {
    margin-left:0;
}
.halloween-event-page .seasonal-event-shop-actions .seasonal-event-shop-qty,
.halloween-event-page .seasonal-event-shop-actions .seasonal-event-shop-buy {
    flex-shrink:0;
}
@media (max-width:560px) {
    .halloween-event-page .seasonal-event-shop-actions {
        gap:4px;
    }
    .halloween-event-page .seasonal-event-shop-preview {
        width:28px;
        min-width:28px;
        height:28px;
    }
    .halloween-event-page .seasonal-event-shop-single-buy {
        min-width:74px;
        padding:0 8px;
    }
}

.event-banner-button.is-disabled {
    cursor: default;
}
.event-banner-button.is-disabled img {
    filter: grayscale(1) brightness(0.58);
    opacity: 0.72;
}
.event-banner-button.is-disabled:active img {
    transform: none;
    filter: grayscale(1) brightness(0.58);
}
.event-banner-state {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ddd;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    text-shadow: 0 2px 4px rgba(0,0,0,.9);
    pointer-events: none;
}
.event-banner-button {
    position: relative;
}
.event-banner-countdown {
    font-size: 22px;
    letter-spacing: .5px;
}
