/* MasterPacks public events */
.events-page {
    --ev-bg: #070c14;
    --ev-panel: #0e1726;
    --ev-panel-soft: #111c2d;
    --ev-line: rgba(148, 163, 184, .15);
    --ev-line-purple: rgba(139, 92, 246, .36);
    --ev-text: #f7f9fd;
    --ev-muted: #94a5bf;
    --ev-purple: #7c4dff;
    --ev-purple-dark: #5d32df;
    --ev-green: #34d399;
    min-height: 70vh;
    padding: 38px 20px 84px;
    background:
        radial-gradient(circle at 10% 0, rgba(124, 77, 255, .09), transparent 25rem),
        linear-gradient(180deg, #090f19, var(--ev-bg));
    color: var(--ev-text);
}

.events-page * { box-sizing: border-box; }
.events-wrap { width: min(1320px, 100%); margin: 0 auto; }

.events-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 430px;
    margin-bottom: 24px;
    border: 1px solid var(--ev-line-purple);
    border-radius: 28px;
    background: #101a2a;
    box-shadow: 0 28px 75px rgba(0, 0, 0, .34);
}

.events-hero-bg { position: absolute; inset: 0; z-index: -2; background: #101a2a; }
.events-hero-bg img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .58; filter: saturate(.92) contrast(1.05); }
.events-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(7, 12, 21, .98) 0%, rgba(7, 12, 21, .88) 48%, rgba(7, 12, 21, .42) 100%),
        linear-gradient(180deg, rgba(124, 77, 255, .10), rgba(7, 12, 21, .72));
}
.events-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, #8b5cf6 28%, #38bdf8 70%, transparent);
}
.events-hero::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -180px;
    width: 370px;
    height: 370px;
    border: 1px solid rgba(167, 139, 250, .10);
    border-radius: 50%;
    box-shadow: 0 0 0 55px rgba(124, 77, 255, .025);
    pointer-events: none;
}

.events-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: center;
    gap: 34px;
    min-height: 430px;
    padding: 48px;
}
.events-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(167, 139, 250, .28);
    border-radius: 999px;
    background: rgba(124, 77, 255, .13);
    color: #d5caff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.events-hero h1 {
    max-width: 700px;
    margin: 14px 0 12px;
    color: #fff;
    font-size: clamp(38px, 5vw, 64px);
    line-height: .98;
    letter-spacing: -.055em;
}
.events-hero p { max-width: 650px; margin: 0; color: #b5c2d6; font-size: 16px; line-height: 1.7; }
.events-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.events-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: linear-gradient(135deg, #895cff, var(--ev-purple-dark));
    color: #fff;
    box-shadow: 0 12px 28px rgba(93, 50, 223, .24);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, filter .18s ease;
}
.events-btn:hover { transform: translateY(-1px); filter: brightness(1.07); }
.events-btn.secondary { border-color: var(--ev-line); background: rgba(14, 23, 38, .82); box-shadow: none; color: #e9eef7; }

.events-hero-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.events-proof-item {
    min-width: 112px;
    padding: 11px 13px;
    border: 1px solid rgba(148, 163, 184, .13);
    border-radius: 12px;
    background: rgba(7, 14, 25, .62);
    backdrop-filter: blur(10px);
}
.events-proof-item strong { display: block; color: #fff; font-size: 19px; line-height: 1; letter-spacing: -.03em; }
.events-proof-item span { display: block; margin-top: 5px; color: var(--ev-muted); font-size: 11px; font-weight: 800; }

.events-feature {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 11px;
    padding: 20px;
    border: 1px solid rgba(167, 139, 250, .20);
    border-radius: 17px;
    background: linear-gradient(150deg, rgba(16, 25, 42, .94), rgba(8, 15, 27, .90));
    box-shadow: 0 18px 46px rgba(0, 0, 0, .24);
    backdrop-filter: blur(18px);
}
.events-feature.is-empty { align-items: center; text-align: center; }
.events-feature > span { color: #b6a8ea; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.events-feature > strong { color: #fff; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.events-feature-logo { display: block; width: 96px; max-width: 46%; height: auto; margin-bottom: 5px; object-fit: contain; }
.events-feature-logo-fallback { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 17px; background: linear-gradient(135deg, #895cff, #3b64ef); font-size: 22px; font-weight: 950; }
.events-feature-date { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 11px; padding: 10px; border: 1px solid var(--ev-line); border-radius: 12px; background: rgba(5, 12, 22, .55); }
.events-feature-day { display: grid; place-items: center; min-height: 58px; border-radius: 10px; background: linear-gradient(145deg, #7c4dff, #345fe9); }
.events-feature-day span { color: #e8e2ff; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.events-feature-day strong { color: #fff; font-size: 23px; line-height: 1; }
.events-feature-meta { display: grid; gap: 4px; color: #c9d4e5; font-size: 12px; line-height: 1.45; }
.events-feature-progress { display: grid; gap: 7px; }
.events-feature-progress-top, .event-progress-top { display: flex; justify-content: space-between; gap: 10px; color: #aebbd0; font-size: 11px; font-weight: 800; }
.events-feature-bar, .event-progress-bar, .events-side-bar { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.events-feature-fill, .event-progress-fill, .events-side-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #895cff, #4b7cff, #34d399); }

.events-toolbar {
    position: relative;
    top: auto;
    z-index: 20;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid var(--ev-line);
    border-radius: 15px;
    background: rgba(10, 17, 29, .90);
    box-shadow: 0 14px 38px rgba(0, 0, 0, .20);
    backdrop-filter: blur(18px);
}
.events-filters { display: flex; align-items: center; gap: 6px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.events-filters::-webkit-scrollbar { display: none; }
.events-filter {
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid var(--ev-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .025);
    color: #aebbd0;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
    cursor: pointer;
}
.events-filter:hover, .events-filter.is-active { border-color: rgba(139, 92, 246, .35); background: rgba(124, 77, 255, .14); color: #fff; }
.events-search {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid var(--ev-line);
    border-radius: 10px;
    outline: none;
    background: #08111e;
    color: #fff;
    font-size: 12px;
}
.events-search:focus { border-color: var(--ev-purple); box-shadow: 0 0 0 4px rgba(124, 77, 255, .11); }

.events-ranking { margin: 24px 0; padding: 30px; border: 1px solid var(--ev-line-purple); border-radius: 24px; background: linear-gradient(145deg,rgba(15,24,40,.98),rgba(8,14,24,.99)); box-shadow: 0 20px 58px rgba(0,0,0,.22); }
.events-ranking-head { display: flex; justify-content: space-between; align-items: end; gap: 22px; }
.events-ranking-head h2 { margin: 12px 0 7px; font-size: 34px; letter-spacing: -.04em; }
.events-ranking-head p { max-width: 680px; margin: 0; color: var(--ev-muted); font-size: 14px; line-height: 1.65; }
.events-ranking-head form { display: flex; align-items: end; gap: 8px; }
.events-ranking-head label { display: grid; gap: 5px; color: var(--ev-muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.events-ranking-head input { min-height: 44px; padding: 0 12px; border: 1px solid var(--ev-line); border-radius: 11px; background: #08111e; color: #fff; }
.events-ranking-tabs { display: flex; gap: 7px; margin: 22px 0 12px; overflow-x: auto; scrollbar-width: none; }
.events-ranking-tab { flex: 0 0 auto; min-height: 38px; padding: 0 13px; border: 1px solid var(--ev-line); border-radius: 10px; background: rgba(255,255,255,.025); color: #aebbd0; font-size: 10px; font-weight: 900; cursor: pointer; }
.events-ranking-tab.is-active { border-color: rgba(139,92,246,.48); background: rgba(124,77,255,.16); color: #fff; }
.events-ranking-panel { display: none; grid-template-columns: minmax(0,1fr) 280px; gap: 14px; }
.events-ranking-panel.is-active { display: grid; }
.events-ranking-table-wrap { overflow-x: auto; border: 1px solid var(--ev-line); border-radius: 14px; background: rgba(5,12,22,.5); }
.events-ranking-table { width: 100%; border-collapse: collapse; min-width: 580px; }
.events-ranking-table th,.events-ranking-table td { padding: 14px 15px; border-bottom: 1px solid rgba(148,163,184,.09); text-align: center; font-size: 13px; }
.events-ranking-table th { color: #8291a9; font-size: 10px; text-transform: uppercase; }
.events-ranking-table th:nth-child(2),.events-ranking-table td:nth-child(2) { text-align: left; }
.events-ranking-table td b { color: #c4b5fd; font-size: 14px; }
.ranking-position { display: grid; place-items: center; width: 27px; height: 27px; margin: auto; border-radius: 9px; background: rgba(148,163,184,.1); font-weight: 950; }
.ranking-position.pos-1 { background: rgba(245,158,11,.18); color: #fde68a; }.ranking-position.pos-2{background:rgba(148,163,184,.18);color:#e2e8f0}.ranking-position.pos-3{background:rgba(180,83,9,.2);color:#fdba74}
.ranking-empty { padding: 30px !important; color: var(--ev-muted); }
.events-monthly-prizes { padding: 16px; border: 1px solid rgba(245,158,11,.20); border-radius: 14px; background: linear-gradient(145deg,rgba(70,40,10,.28),rgba(12,18,29,.92)); }
.events-monthly-prizes > span { color: #fbbf24; font-size: 8px; font-weight: 950; text-transform: uppercase; }.events-monthly-prizes h3{margin:6px 0 13px;font-size:18px}.events-monthly-prizes p{color:var(--ev-muted);font-size:9px;line-height:1.5}
.monthly-prize { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 8px; padding: 9px 0; border-top: 1px solid rgba(255,255,255,.08); }.monthly-prize b{color:#fbbf24}.monthly-prize strong{font-size:10px}

.events-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 22px; }
.events-main { display: grid; gap: 16px; min-width: 0; }
.events-section-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 2px 2px 0; }
.events-section-head h2 { margin: 0; color: #fff; font-size: 28px; line-height: 1.15; letter-spacing: -.035em; }
.events-section-head span { display: block; margin-top: 6px; color: var(--ev-muted); font-size: 12px; }
.events-history-head { margin-top: 12px; padding-top: 22px; border-top: 1px solid rgba(148, 163, 184, .10); }
.events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }

.event-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    border: 1px solid var(--ev-line);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(16, 25, 40, .98), rgba(9, 16, 27, .98));
    color: #fff;
    box-shadow: 0 15px 42px rgba(0, 0, 0, .17);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.event-card:hover { transform: translateY(-2px); border-color: rgba(139, 92, 246, .38); box-shadow: 0 20px 52px rgba(0, 0, 0, .26); }
.event-card-banner { position: relative; height: 220px; min-height: 220px; overflow: hidden; background: #111b2c; }
.event-card-banner img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.event-card:hover .event-card-banner img { transform: scale(1.035); }
.event-card-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 12, 20, .80), transparent 62%); }
.event-card-banner-placeholder { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(145deg, rgba(124, 77, 255, .26), rgba(56, 189, 248, .10)); color: #ddd5ff; font-size: 32px; font-weight: 950; }
.event-card-ribbon { position: absolute; z-index: 2; top: 12px; left: 12px; display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid rgba(52, 211, 153, .26); border-radius: 999px; background: rgba(16, 52, 44, .80); color: #8ff0cc; font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; backdrop-filter: blur(10px); }
.event-card-ribbon.full { border-color: rgba(251, 113, 133, .28); background: rgba(70, 26, 38, .82); color: #fda4af; }
.event-card-ribbon.done { border-color: rgba(139, 92, 246, .28); background: rgba(48, 31, 88, .82); color: #cfc3ff; }
.event-card-tcg { position: absolute; z-index: 2; right: 13px; bottom: 13px; left: 13px; color: #fff; font-size: 18px; font-weight: 900; line-height: 1.08; text-shadow: 0 3px 14px rgba(0, 0, 0, .6); }
.event-card-body { display: grid; align-content: center; gap: 15px; min-width: 0; padding: 22px; }
.event-date-row { display: flex; align-items: start; justify-content: space-between; gap: 15px; }
.event-card h3 { margin: 0; color: #fff; font-size: 21px; line-height: 1.23; letter-spacing: -.025em; }
.event-sub { margin-top: 6px; color: var(--ev-muted); font-size: 12px; line-height: 1.5; }
.event-date-badge { flex: 0 0 52px; overflow: hidden; border: 1px solid rgba(139, 92, 246, .20); border-radius: 10px; background: rgba(7, 14, 25, .68); text-align: center; }
.event-date-badge span { display: block; padding: 4px 2px; background: rgba(124, 77, 255, .18); color: #cfc3ff; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.event-date-badge strong { display: block; padding: 5px 0 6px; font-size: 20px; }
.event-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.event-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid rgba(148, 163, 184, .12); border-radius: 999px; background: rgba(255, 255, 255, .025); color: #b9c5d7; font-size: 10px; font-weight: 800; }
.event-progress { display: grid; gap: 6px; }
.event-card-foot { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; }
.event-state { display: inline-flex; align-items: center; min-height: 25px; width: max-content; padding: 0 9px; border: 1px solid rgba(52, 211, 153, .22); border-radius: 999px; background: rgba(52, 211, 153, .08); color: #7ee7bf; font-size: 8px; font-weight: 900; }
.event-state.full { border-color: rgba(251, 113, 133, .22); background: rgba(251, 113, 133, .08); color: #fda4af; }
.event-state.done { border-color: rgba(139, 92, 246, .22); background: rgba(139, 92, 246, .09); color: #cfc3ff; }
.event-price { color: #fff; font-size: 18px; font-weight: 950; letter-spacing: -.03em; }
.event-card-cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding: 0 11px; border: 1px solid rgba(139, 92, 246, .18); border-radius: 10px; background: rgba(124, 77, 255, .08); color: #ddd5ff; font-size: 9px; font-weight: 900; }
.event-card-cta::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }

.event-card.is-history { min-height: 0; grid-template-columns: 1fr; }
.event-card.is-history .event-card-banner { height: 190px; min-height: 190px; }
.event-card.is-history .event-card-tcg { font-size: 16px; }
.event-winner { display: grid; gap: 3px; padding: 10px; border: 1px solid rgba(52, 211, 153, .18); border-radius: 10px; background: rgba(52, 211, 153, .07); }
.event-winner span { color: #6ee7b7; font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.event-winner strong { color: #e8fff6; font-size: 14px; }
.event-result-note { color: #b3c0d3; font-size: 10px; line-height: 1.5; }

.events-side { position: sticky; top: 166px; display: grid; gap: 11px; }
.events-panel { position: relative; overflow: hidden; padding: 17px; border: 1px solid var(--ev-line); border-radius: 15px; background: linear-gradient(150deg, rgba(16, 25, 40, .97), rgba(9, 16, 27, .97)); box-shadow: 0 14px 38px rgba(0, 0, 0, .16); }
.events-panel::after { content: ""; position: absolute; top: -70px; right: -70px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, rgba(124, 77, 255, .10), transparent 70%); pointer-events: none; }
.events-panel > * { position: relative; z-index: 1; }
.events-panel h2 { margin: 0 0 14px; color: #fff; font-size: 18px; letter-spacing: -.02em; }
.events-panel p { margin: 0; color: var(--ev-muted); font-size: 12px; line-height: 1.6; }
.events-side-summary { display: grid; gap: 7px; }
.events-side-metric { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid rgba(148, 163, 184, .11); border-radius: 10px; background: rgba(5, 12, 22, .48); }
.events-side-metric span { color: var(--ev-muted); font-size: 11px; font-weight: 800; }
.events-side-metric strong { color: #fff; font-size: 16px; }
.events-month { display: grid; gap: 7px; margin-top: 13px; }
.events-month-title { color: #9989ce; font-size: 8px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.events-mini-row { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 9px; padding: 8px; border: 1px solid rgba(148, 163, 184, .10); border-radius: 10px; background: rgba(5, 12, 22, .45); color: #fff; text-decoration: none; transition: .17s ease; }
.events-mini-row:hover { border-color: rgba(139, 92, 246, .28); background: rgba(124, 77, 255, .08); }
.events-mini-date { display: grid; place-items: center; min-height: 40px; border-radius: 9px; background: rgba(124, 77, 255, .12); color: #d8ceff; font-size: 12px; font-weight: 900; }
.events-mini-row strong { display: block; overflow: hidden; color: #fff; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.events-mini-row span { display: block; margin-top: 3px; color: var(--ev-muted); font-size: 9px; }
.events-steps { display: grid; gap: 7px; }
.events-step { display: grid; grid-template-columns: 29px minmax(0, 1fr); align-items: start; gap: 9px; padding: 9px; border: 1px solid rgba(148, 163, 184, .10); border-radius: 10px; background: rgba(5, 12, 22, .45); }
.events-step-number { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: rgba(124, 77, 255, .14); color: #d8ceff; font-size: 9px; font-weight: 950; }
.events-step strong { display: block; color: #fff; font-size: 11px; }
.events-step span { display: block; margin-top: 3px; color: var(--ev-muted); font-size: 9px; line-height: 1.5; }
.events-empty { padding: 34px; border: 1px dashed rgba(148, 163, 184, .22); border-radius: 15px; background: rgba(11, 19, 32, .65); color: var(--ev-muted); font-size: 11px; text-align: center; }
.events-no-results { display: none; }
.events-no-results.is-visible { display: block; }

@media (max-width: 1040px) {
    .events-hero-inner { grid-template-columns: minmax(0, 1fr) 300px; padding: 28px; }
    .events-layout { grid-template-columns: 1fr; }
    .events-side { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .events-hero-inner { grid-template-columns: 1fr; }
    .events-feature { align-self: auto; }
    .events-toolbar { position: relative; top: auto; grid-template-columns: 1fr; }
    .events-grid { grid-template-columns: 1fr; }
    .event-card, .event-card.is-history { grid-template-columns: 1fr; }
    .events-side { grid-template-columns: 1fr; }
    .events-ranking-head { align-items: stretch; flex-direction: column; }
    .events-ranking-panel.is-active { grid-template-columns: 1fr; }
}

/* Página individual do evento — partilha o mesmo sistema visual */
.event-detail {
    --ed-bg: #070c14;
    --ed-surface: #0d1726;
    --ed-surface-2: #111d2f;
    --ed-line: rgba(148, 163, 184, .16);
    --ed-purple: #8257ff;
    --ed-muted: #9baac0;
    min-height: 70vh;
    padding: 34px 20px 84px;
    background:
        radial-gradient(circle at 12% 0, rgba(124, 77, 255, .12), transparent 30rem),
        radial-gradient(circle at 90% 38%, rgba(34, 211, 238, .055), transparent 28rem),
        linear-gradient(180deg, #080e18, var(--ed-bg));
    color: #f8fafc;
}
.event-detail * { box-sizing: border-box; }
.event-detail-wrap { width: min(1320px, 100%); margin: 0 auto; }
.event-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    margin-bottom: 18px;
    padding: 0 14px;
    border: 1px solid var(--ed-line);
    border-radius: 999px;
    background: rgba(13, 23, 38, .72);
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    transition: .18s ease;
}
.event-back::before { content: ""; width: 7px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.event-back:hover { border-color: rgba(139, 92, 246, .42); background: rgba(124, 77, 255, .12); color: #fff; transform: translateX(-2px); }
.event-hero {
    position: relative;
    isolation: isolate;
    min-height: 480px;
    margin-bottom: 24px;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, .34);
    border-radius: 28px;
    background: linear-gradient(145deg, #151e31, #20183b);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .36);
}
.event-hero-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .52; filter: saturate(.9) contrast(1.08); }
.event-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6, 11, 20, .98) 0%, rgba(6, 11, 20, .91) 52%, rgba(6, 11, 20, .62) 100%), linear-gradient(0deg, rgba(6, 11, 20, .86), transparent 60%); }
.event-hero::after { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #8b5cf6, #4f7cff 58%, #22d3ee); }
.event-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: center; gap: 36px; min-height: 480px; padding: 44px; }
.event-summary { display: flex; flex-direction: column; gap: 18px; max-width: 820px; min-width: 0; }
.event-eyebrow { display: flex; flex-wrap: wrap; gap: 8px; }
.event-detail .event-chip { min-height: 30px; padding: 0 12px; border-color: rgba(196, 181, 253, .23); background: rgba(124, 77, 255, .2); color: #eee9ff; font-size: 11px; font-weight: 900; box-shadow: none; }
.event-detail .event-chip.is-open { border-color: rgba(52, 211, 153, .3); background: rgba(52, 211, 153, .12); color: #a7f3d0; }
.event-detail .event-chip.is-full { border-color: rgba(251, 191, 36, .3); background: rgba(251, 191, 36, .11); color: #fde68a; }
.event-summary h1 { max-width: 850px; margin: 0; color: #fff; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; text-shadow: 0 12px 34px rgba(0, 0, 0, .38); }
.event-summary-copy { display: -webkit-box; max-width: 760px; margin: 0; overflow: hidden; color: #cbd7e9; font-size: 15px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.event-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.event-quick, .event-meta-box { padding: 14px; border: 1px solid rgba(148, 163, 184, .14); border-radius: 13px; background: rgba(8, 15, 27, .68); backdrop-filter: blur(12px); }
.event-quick span, .event-meta-box span { display: block; margin-bottom: 6px; color: #8fa0b9; font-size: 9px; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.event-quick strong, .event-meta-box strong { display: block; color: #fff; font-size: 16px; line-height: 1.25; }
.event-detail .event-progress { display: grid; gap: 8px; }
.event-detail .event-progress-top { display: flex; justify-content: space-between; gap: 10px; color: #b9c6d9; font-size: 11px; font-weight: 850; }
.event-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.event-detail .event-progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8b5cf6, #4f7cff, #2dd4bf); box-shadow: 0 0 20px rgba(79, 124, 255, .35); }
.event-hero-card { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 24px; border: 1px solid rgba(167, 139, 250, .22); border-radius: 20px; background: linear-gradient(155deg, rgba(18, 28, 46, .94), rgba(8, 14, 25, .9)); box-shadow: 0 22px 55px rgba(0, 0, 0, .27); backdrop-filter: blur(18px); }
.event-hero-price span, .event-hero-spots span { display: block; margin-bottom: 6px; color: #8fa0b9; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.event-hero-price strong { display: block; color: #fff; font-size: 38px; line-height: 1; letter-spacing: -.04em; }
.event-hero-spots strong { display: block; color: #fff; font-size: 20px; }
.event-hero-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 13px; background: linear-gradient(135deg, #8b5cf6, #4f46e5); color: #fff; box-shadow: 0 16px 34px rgba(79, 70, 229, .28); font-size: 13px; font-weight: 950; text-align: center; text-decoration: none; transition: .18s ease; }
.event-hero-cta:hover { filter: brightness(1.08); transform: translateY(-1px); }
.event-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 22px; }
.event-main, .event-side { display: grid; gap: 18px; }
.event-side { position: sticky; top: 112px; }
.event-panel { position: relative; overflow: hidden; padding: 26px; border: 1px solid var(--ed-line); border-radius: 20px; background: linear-gradient(160deg, rgba(17, 29, 47, .97), rgba(9, 16, 28, .98)); box-shadow: 0 18px 50px rgba(0, 0, 0, .2); }
.event-panel::before { content: ""; position: absolute; top: -100px; right: -100px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(124, 77, 255, .13), transparent 70%); pointer-events: none; }
.event-panel > * { position: relative; z-index: 1; }
.event-panel h2 { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; color: #fff; font-size: 21px; letter-spacing: -.025em; }
.event-panel h2::before { content: ""; width: 4px; height: 21px; border-radius: 999px; background: linear-gradient(180deg, #a78bfa, #4f7cff); box-shadow: 0 0 18px rgba(139, 92, 246, .45); }
.event-desc { margin: 0; color: #c6d2e3; font-size: 14px; line-height: 1.75; white-space: pre-line; }
.event-full-description { margin: -2px 0 18px; padding: 16px; border: 1px solid rgba(148, 163, 184, .11); border-radius: 13px; background: rgba(6, 13, 24, .42); color: #cbd7e9; font-size: 13px; line-height: 1.75; }
.event-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.event-form { display: grid; gap: 14px; }
.event-form label { display: grid; gap: 7px; color: #e5ecf8; font-size: 12px; font-weight: 900; }
.event-form input { width: 100%; min-width: 0; min-height: 50px; padding: 0 14px; border: 1px solid rgba(148, 163, 184, .18); border-radius: 12px; outline: 0; background: #07111e; color: #fff; font: inherit; }
.event-form input:focus { border-color: rgba(139, 92, 246, .62); box-shadow: 0 0 0 4px rgba(139, 92, 246, .12); }
.event-submit { min-height: 54px; border: 0; border-radius: 13px; background: linear-gradient(135deg, #8b5cf6, #4f46e5); color: #fff; box-shadow: 0 16px 34px rgba(79, 70, 229, .28); font-weight: 950; cursor: pointer; transition: .18s ease; }
.event-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.event-form-note { margin: 0; color: var(--ed-muted); font-size: 11px; line-height: 1.6; }
.event-alert { margin-bottom: 14px; padding: 13px 14px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; font-size: 12px; line-height: 1.55; }
.event-alert.error { border-color: rgba(239, 68, 68, .3); background: rgba(239, 68, 68, .11); color: #fecaca; }
.event-alert.success { border-color: rgba(34, 197, 94, .28); background: rgba(34, 197, 94, .11); color: #bbf7d0; }
.event-note-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.event-note-list li { position: relative; padding: 14px 14px 14px 40px; border: 1px solid rgba(148, 163, 184, .11); border-radius: 13px; background: rgba(6, 13, 24, .48); color: #cbd5e1; font-size: 13px; line-height: 1.5; }
.event-note-list li::before { content: "✓"; position: absolute; top: 13px; left: 14px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(52, 211, 153, .13); color: #6ee7b7; font-size: 10px; font-weight: 950; }
.event-detail .event-winner { display: grid; gap: 5px; padding: 15px; border: 1px solid rgba(52, 211, 153, .22); border-radius: 13px; background: rgba(52, 211, 153, .09); }
.event-detail .event-winner span { color: #6ee7b7; font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.event-detail .event-winner strong { color: #ecfdf5; font-size: 20px; }
.event-detail .event-winner small { color: #cbd5e1; line-height: 1.5; }
.event-roster-panel { margin-top: 22px; }
.event-roster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.event-player { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 14px; border: 1px solid rgba(148, 163, 184, .11); border-radius: 13px; background: rgba(6, 13, 24, .5); }
.event-player > div { min-width: 0; }
.event-player strong { display: block; overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.event-player span { display: block; margin-top: 4px; color: #8fa0b9; font-size: 10px; }
.event-player .event-status { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 27px; margin: 0; padding: 0 10px; border: 1px solid rgba(52, 211, 153, .24); border-radius: 999px; background: rgba(52, 211, 153, .1); color: #86efac; font-size: 9px; font-weight: 900; }
.event-player .event-status.pending { border-color: rgba(245, 158, 11, .24); background: rgba(245, 158, 11, .1); color: #fde68a; }

@media (max-width: 1100px) {
    .event-hero-inner { grid-template-columns: 1fr 300px; padding: 34px; }
    .event-layout { grid-template-columns: minmax(0, 1fr) 340px; }
    .event-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .event-hero-inner, .event-layout { grid-template-columns: 1fr; }
    .event-hero-card { align-self: auto; }
    .event-side { position: static; }
    .event-summary-copy { -webkit-line-clamp: 5; }
}

@media (max-width: 620px) {
    .event-detail { padding: 18px 10px 58px; }
    .event-back { margin-left: 2px; }
    .event-hero { min-height: 0; border-radius: 20px; }
    .event-hero-inner { min-height: 0; padding: 24px 18px; gap: 24px; }
    .event-summary h1 { font-size: clamp(32px, 11vw, 43px); line-height: 1.04; }
    .event-summary-copy { font-size: 13px; -webkit-line-clamp: 6; }
    .event-quick-grid, .event-meta-grid, .event-roster { grid-template-columns: 1fr 1fr; }
    .event-hero-card, .event-panel { padding: 19px; border-radius: 17px; }
    .event-layout { gap: 14px; }
}

@media (max-width: 420px) {
    .event-quick-grid, .event-meta-grid, .event-roster { grid-template-columns: 1fr; }
    .event-summary h1 { font-size: 32px; }
}

@media (max-width: 620px) {
    .events-page { padding: 14px 9px 52px; }
    .events-hero { min-height: 0; border-radius: 18px; }
    .events-hero-inner { min-height: 0; padding: 21px; gap: 22px; }
    .events-hero h1 { font-size: 36px; }
    .events-hero p { font-size: 12px; }
    .events-hero-actions > * { flex: 1 1 130px; }
    .events-hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); }
    .events-proof-item { min-width: 0; padding: 9px; }
    .events-proof-item strong { font-size: 17px; }
    .events-feature { padding: 16px; }
    .events-ranking { padding: 17px 12px; border-radius: 17px; }
    .events-ranking-head form { display: grid; grid-template-columns: 1fr auto; }
    .events-ranking-head form label { grid-column: 1 / -1; }
    .events-section-head { align-items: start; }
    .events-section-head h2 { font-size: 21px; }
    .event-card, .event-card.is-history { grid-template-columns: 1fr; min-height: 0; }
    .event-card-banner, .event-card.is-history .event-card-banner { height: 190px; min-height: 190px; }
    .event-card-body { padding: 16px; }
}

@media (max-width: 410px) {
    .events-hero-proof { grid-template-columns: 1fr; }
    .events-proof-item { display: flex; align-items: center; justify-content: space-between; }
    .events-proof-item span { margin-top: 0; }
    .event-date-row { gap: 9px; }
    .event-card h3 { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
    .events-page *, .events-page *::before, .events-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Monthly calendar: keep every event visible, including shared dates. */
.events-calendar{margin:0 0 28px;padding:26px;border:1px solid var(--ev-line-purple);border-radius:20px;background:#0e1726;color:#f7f9fd}
.events-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.events-calendar-heading h2{margin:8px 0;font-size:27px;color:#fff}.events-calendar-heading p{margin:0;color:#acbad0;font-size:14px;line-height:1.6}
.events-calendar-picker{display:grid;gap:7px;flex-shrink:0}.events-calendar-picker label{font-size:12px;color:#acbad0}.events-calendar-picker>div{display:flex;gap:8px}.events-calendar-picker input[type=month]{min-height:44px;padding:9px 12px;border:1px solid #40506a;border-radius:9px;background:#111c2d;color:#fff;font:inherit;color-scheme:dark}.events-calendar-picker .events-btn{min-height:44px}
.events-calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid #26344a}.events-calendar-navigation>div{text-align:center}.events-calendar-navigation h3{margin:0;color:#fff;font-size:23px;text-transform:none}.events-calendar-navigation>div>span{display:block;color:#acbad0;font-size:12px;margin-top:4px}.events-calendar-navigation>a{display:flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid #354561;border-radius:9px;color:#e5ddff;background:#172238;text-decoration:none;font-size:13px;font-weight:700}.events-calendar-navigation>a:hover{border-color:#a78bfa;background:#211c3b}
.events-calendar-scroll{overflow-x:auto;border:1px solid #2c3a50;border-radius:12px}.events-calendar-table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:770px}.events-calendar-table th{padding:13px 8px;background:#172238;color:#b8c5d9;text-align:center;font-size:12px;font-weight:700}.events-calendar-table td{vertical-align:top;border-top:1px solid #2c3a50;border-right:1px solid #2c3a50;padding:9px;height:120px;background:#0c1422}.events-calendar-table td:last-child{border-right:0}.events-calendar-table td.events-calendar-outside{background:#090f19}.events-calendar-day-number{display:inline-grid;place-items:center;min-width:28px;height:28px;color:#b8c5d9;font-size:13px;font-weight:700;margin-bottom:8px}.events-calendar-day.is-today{box-shadow:inset 0 0 0 2px #a78bfa}.events-calendar-day.is-today .events-calendar-day-number{border-radius:8px;background:#7c4dff;color:#fff}.events-calendar-day.has-events .events-calendar-day-number{color:#fff}
.events-calendar-day-events{display:grid;gap:8px}.events-calendar-event{display:grid;gap:5px;padding:9px 8px;border-left:3px solid #a78bfa;border-radius:6px;background:#211d37;text-decoration:none;color:#fff;overflow-wrap:anywhere}.events-calendar-event:hover{background:#30234c}.events-calendar-event strong{font-size:12px;line-height:1.45;color:#f7f9fd}.events-calendar-event-time{font-size:10px;line-height:1.4;color:#c4b5fd}.events-calendar-event-action{color:#6ee7b7;font-size:10px;font-weight:700}.events-calendar-event.is-completed{border-color:#60708a;background:#182131}.events-calendar-event.is-completed .events-calendar-event-action{color:#aebbd0}
.events-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:#aebbd0}.events-calendar-footer a{color:#d8caff;text-decoration:underline}.events-calendar-mobile-hint{display:none}.events-calendar :is(a,input,button):focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}
@media(max-width:850px){.events-calendar{padding:18px}.events-calendar-heading{align-items:start;flex-direction:column;gap:16px}.events-calendar-mobile-hint{display:block;margin:0 0 12px;color:#acbad0;font-size:12px}.events-calendar-heading h2{font-size:24px}.events-calendar-navigation h3{font-size:19px}.events-calendar-navigation>a{padding:10px}.events-calendar-table td{height:110px}}
@media(max-width:450px){.events-calendar{padding:14px}.events-calendar-navigation>a span{display:none}.events-calendar-picker{width:100%}.events-calendar-picker input[type=month]{min-width:0;width:100%}.events-calendar-picker>div{width:100%}}

/* Registration payment choice: isolated from generic form and theme input rules. */
html:root body .event-detail .event-form .event-payment-options{display:grid!important;gap:10px!important;min-width:0!important;margin:3px 0!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .event-detail .event-form .event-payment-options legend{display:block!important;float:none!important;width:100%!important;padding:0!important;margin:0 0 12px!important;font-size:13px!important;font-weight:800!important;line-height:1.5!important;color:#e5ecf8!important}
html:root body .event-detail .event-form label.event-payment-option{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;margin:0!important;padding:16px!important;border:1px solid #39435a!important;border-radius:14px!important;background:#0c1625!important;color:#f7f9fd!important;cursor:pointer;box-shadow:none!important;text-align:left!important}
html:root body .event-detail .event-form .event-payment-option input[type="radio"]{display:block!important;appearance:auto!important;-webkit-appearance:radio!important;position:static!important;float:none!important;transform:none!important;flex:0 0 18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;margin:2px 0 0!important;padding:0!important;accent-color:#8954dd!important;box-shadow:none!important;cursor:pointer;opacity:1!important}
html:root body .event-detail .event-form .event-payment-option>span{display:grid!important;gap:6px!important;min-width:0!important}
html:root body .event-detail .event-form .event-payment-option strong{display:block!important;font-size:14px!important;font-weight:750!important;line-height:1.4!important;color:inherit!important;margin:0!important}
html:root body .event-detail .event-form .event-payment-option small{display:block!important;font-size:12px!important;font-weight:400!important;line-height:1.6!important;color:#aebbd0!important;margin:0!important}
html:root body .event-detail .event-form .event-payment-option:has(input:checked){border-color:#a786f6!important;background:#211b39!important;box-shadow:0 0 0 1px #a786f62e!important}
html:root body .event-detail .event-form .event-payment-option:focus-within{outline:2px solid #a786f6!important;outline-offset:3px!important}
html[data-theme="light"] body .event-detail .event-form .event-payment-options legend{color:#303044!important}
html[data-theme="light"] body .event-detail .event-form label.event-payment-option{background:#fff!important;border-color:#ddd9e8!important;color:#2d2840!important}
html[data-theme="light"] body .event-detail .event-form .event-payment-option small{color:#626579!important}
html[data-theme="light"] body .event-detail .event-form .event-payment-option:has(input:checked){background:#f5efff!important;border-color:#9260d7!important;box-shadow:0 0 0 1px #9260d71a!important}

/* Calendar light palette: distinct day surfaces, legible event cards and today marker. */
html[data-theme="light"] body .events-calendar{background:#fff!important;border-color:#ded9ed!important;color:#253149!important;box-shadow:0 12px 32px #30204d08}
html[data-theme="light"] body .events-calendar .events-calendar-heading h2,
html[data-theme="light"] body .events-calendar .events-calendar-navigation h3{color:#242039!important}
html[data-theme="light"] body .events-calendar :is(.events-calendar-heading p,.events-calendar-picker label,.events-calendar-navigation>div>span,.events-calendar-footer,.events-calendar-mobile-hint){color:#60677b!important}
html[data-theme="light"] body .events-calendar .events-calendar-navigation{border-top-color:#e8e4ef!important}
html[data-theme="light"] body .events-calendar .events-calendar-navigation>a{background:#faf9fd!important;border-color:#ddd7e9!important;color:#4d366f!important}
html[data-theme="light"] body .events-calendar .events-calendar-navigation>a:hover{background:#eee6fc!important;border-color:#b79bdc!important}
html[data-theme="light"] body .events-calendar .events-calendar-picker input[type=month]{background:#faf9fd!important;border-color:#d8d1e5!important;color:#302740!important;color-scheme:light}
html[data-theme="light"] body .events-calendar .events-calendar-picker .events-btn{background:#713bc4!important;border-color:#713bc4!important;color:#fff!important}
html[data-theme="light"] body .events-calendar .events-calendar-scroll{border-color:#dedbe8!important;background:#fff!important;scrollbar-color:#b9a7d4 #f4f1f9}
html[data-theme="light"] body .events-calendar .events-calendar-table th{background:#f0ecf7!important;color:#625273!important;border-color:#dedbe8!important}
html[data-theme="light"] body .events-calendar .events-calendar-table td{background:#fff!important;border-color:#e5e2ed!important}
html[data-theme="light"] body .events-calendar .events-calendar-table td:nth-child(n+6){background:#faf9fd!important}
html[data-theme="light"] body .events-calendar .events-calendar-table td.events-calendar-outside{background:repeating-linear-gradient(135deg,#f5f4f8,#f5f4f8 6px,#f0eef5 6px,#f0eef5 7px)!important}
html[data-theme="light"] body .events-calendar .events-calendar-day-number{color:#687085!important}
html[data-theme="light"] body .events-calendar .events-calendar-day.has-events .events-calendar-day-number{color:#352644!important}
html[data-theme="light"] body .events-calendar .events-calendar-day.is-today{background:#f8f3ff!important;box-shadow:inset 0 0 0 2px #9970d3!important}
html[data-theme="light"] body .events-calendar .events-calendar-day.is-today .events-calendar-day-number{background:#713bc4!important;color:#fff!important;border-radius:9px}
html[data-theme="light"] body .events-calendar a.events-calendar-event{background:#f1eafa!important;border-left-color:#9564ce!important;color:#30213f!important;box-shadow:none!important;transition:background .15s ease}
html[data-theme="light"] body .events-calendar a.events-calendar-event:hover{background:#e7daf7!important;border-left-color:#713bc4!important}
html[data-theme="light"] body .events-calendar .events-calendar-event strong{color:#30213f!important}
html[data-theme="light"] body .events-calendar .events-calendar-event-time{color:#69468e!important}
html[data-theme="light"] body .events-calendar .events-calendar-event-action{color:#176548!important}
html[data-theme="light"] body .events-calendar a.events-calendar-event.is-completed{background:#f0f2f6!important;border-left-color:#a3abba!important}
html[data-theme="light"] body .events-calendar .events-calendar-event.is-completed :is(.events-calendar-event-time,.events-calendar-event-action){color:#586477!important}
html[data-theme="light"] body .events-calendar .events-calendar-footer a{color:#6635a6!important}
html[data-theme="light"] body .events-calendar :is(a,input,button):focus-visible{outline-color:#713bc4!important}
@media(prefers-reduced-motion:reduce){html[data-theme="light"] body .events-calendar a.events-calendar-event{transition:none}}
.events-calendar-prev-disabled{display:inline-flex;padding:10px 14px;border:1px solid #354561;border-radius:9px;color:#9ba9be;font-size:13px;opacity:.45;cursor:default}
html[data-theme="light"] body .events-calendar-prev-disabled{border-color:#ddd7e9!important;color:#625273!important}
