/* Overview: readable editorial identity, with content-led height in every state.
   Scoped separately from the shared Live Map and secondary-section geometry. */
.ff-festival-hero--editorial .ff-festival-hero-stage {
    display: grid;
    align-items: end;
    height: auto !important;
    min-height: 22rem;
    padding-top: 1.5rem;
}

.ff-festival-hero--editorial .ff-festival-hero-media {
    background: #171629;
}

.ff-festival-hero--editorial .ff-festival-hero-readability-scrim {
    background:
        linear-gradient(90deg, rgb(8 12 24 / 86%), rgb(8 12 24 / 74%) 50%, rgb(8 12 24 / 45%)),
        linear-gradient(0deg, rgb(8 12 24 / 70%), transparent 80%);
}

.ff-festival-hero--editorial .ff-festival-hero-content {
    position: relative;
    min-width: 0;
}

.ff-festival-hero--editorial .ff-festival-hero-content > div {
    padding-bottom: 1.5rem;
}

.ff-festival-hero--editorial .ff-festival-title {
    max-width: 22ch;
    margin-top: 1rem;
    font-size: clamp(2rem, 5vw, 4.5rem) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
}

.ff-festival-hero--editorial .ff-festival-hero-primary-meta {
    gap: .5rem 1.25rem;
    margin-top: 1rem;
}

.ff-festival-hero--editorial .ff-festival-hero-primary-meta > span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.ff-festival-hero--editorial .ff-festival-hero-primary-meta svg {
    flex: 0 0 auto;
}

.ff-festival-hero--editorial .ff-festival-countdown {
    display: inline-flex;
    min-width: 0;
    min-height: 0;
    flex-direction: row;
    align-items: baseline;
    gap: .35rem;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.ff-festival-hero--editorial .ff-festival-countdown strong {
    font-size: 1rem;
    line-height: 1.5;
}

.ff-festival-hero--editorial .ff-festival-countdown span {
    margin-top: 0;
    font-size: .875rem;
    line-height: 1.5;
}

.ff-festival-hero--editorial .ff-festival-cancellation-notice {
    font-size: 1rem;
    line-height: 1.6;
}

.ff-festival-hero--editorial a:focus-visible {
    outline: 3px solid white;
    outline-offset: 3px;
}

@media (min-width: 1024px) {
    .ff-festival-hero--editorial .ff-festival-hero-stage {
        min-height: 28rem;
        padding-top: 4rem;
    }
}
