/* Federation identity remains visible when no event artwork is available. */
.event-federation-banner {
    --federation-color: #64748b;
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100%;
    min-height: 180px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(ellipse at 90% 5%, var(--federation-color), transparent 72%), #0b1020;
    border-bottom: 5px solid var(--federation-color);
    display: flex;
    align-items: center;
}
.event-banner-copy {position: relative; z-index: 1; padding: 55px 24px 18px; width: 100%;}
.event-banner-kicker {display: block; font: 600 10px/1.3 Inter, sans-serif; letter-spacing: .24em; opacity: .8; margin-bottom: 6px;}
.event-federation-banner .event-banner-name {display: block; font: 800 clamp(25px, 3vw, 38px)/1 Rajdhani, sans-serif; letter-spacing: .025em; color: #fff; overflow-wrap: anywhere; max-width: 90%; text-shadow: 0 2px 12px #0008;}
.event-banner-fullname {display: block; font: 500 11px/1.3 Inter, sans-serif; margin-top: 7px; max-width: 85%;}
.event-banner-orbit {position: absolute; width: 260px; height: 260px; right: -80px; top: -110px; border: 1px solid #ffffff30; border-radius: 50%; box-shadow: 0 0 0 25px #ffffff08, 0 0 0 50px #ffffff06;}
.event-banner-blade {position: absolute; height: 4px; width: 160px; right: -25px; bottom: 38px; transform: rotate(-52deg); background: #fff; box-shadow: 0 0 8px #fff, 0 0 24px var(--federation-color); opacity: .7;}
.event-card-cover-wrap .event-banner-copy {align-self: flex-end; padding: 0 22px 16px;}
.event-card-cover-wrap .event-banner-kicker {display: none;}
.event-card-cover-wrap .event-banner-name {font-size: 30px;}
.event-federation-banner-hero {min-height: 240px; border-radius: 20px; margin-top: 20px; grid-column: 1 / -1;}
.event-federation-banner-hero .event-banner-copy {padding: 30px;}
.event-federation-banner-hero .event-banner-name {font-size: clamp(36px, 6vw, 64px);}
.event-federation-banner-compact {width: 72px; height: 58px; min-height: 58px; border-radius: 12px; border-bottom-width: 3px;}
.event-federation-banner-compact .event-banner-copy {padding: 6px;}
.event-federation-banner-compact .event-banner-name {font: 800 14px/1.05 Rajdhani, sans-serif; max-width: 100%;}
.event-federation-banner-compact .event-banner-kicker, .event-federation-banner-compact .event-banner-fullname, .event-federation-banner-compact .event-banner-blade {display: none;}
.compact-event-card:has(.event-federation-banner) {grid-template-columns: 72px minmax(0, 1fr);}
/* Keep the whole poster readable over a blurred, edge-to-edge copy. */
.event-card-cover-wrap > img.event-poster-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) brightness(.8);
    transform: scale(1.18);
    pointer-events: none;
}
.event-card-cover-wrap > img.event-poster {
    position: relative;
    object-fit: contain;
    background: transparent;
}
.profile-event .entity-cover-link {
    align-self: center;
    justify-self: end;
    width: fit-content;
    max-width: 100%;
    min-height: 0;
}
.profile-event .entity-cover-link .entity-cover-hero {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 520px;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: contain;
    margin-top: 0;
}
@media (max-width: 820px) {
    .profile-event .entity-cover-link {justify-self: center;}
}

.event-card-cover-wrap > img.event-thumbnail {
    position: relative;
    object-fit: contain;
    background: transparent;
}

.event-federation-cover-hero {
    position: relative;
    grid-column: 1 / -1;
    width: 100%;
    height: 260px;
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
    isolation: isolate;
}
.event-federation-cover-hero > .event-federation-cover-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) brightness(.8);
    transform: scale(1.18);
    pointer-events: none;
}
.event-federation-cover-hero > .event-federation-cover-image {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.event-video-cover-hero {
    position: relative;
    display: block;
    grid-column: 1 / -1;
    width: 100%;
    height: clamp(220px, 32vw, 420px);
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
    isolation: isolate;
}
.event-video-cover-hero > .event-poster-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) brightness(.8);
    transform: scale(1.18);
    pointer-events: none;
}
.event-video-cover-hero > .event-thumbnail {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}