/* Tournament page only. Preserve ACE data, format colors and list behavior. */
.tournaments-page {
    --tournament-night: #071522;
    --tournament-lime: #bcf52b;
    background: #f5f7f7;
}
.tournaments-page .tournament-hero {
    isolation: isolate;
    z-index: 2;
    overflow: visible;
    padding-block: clamp(2.75rem, 5vw, 4.75rem);
    color: #fff;
    background: var(--tournament-night);
    border-bottom: 1px solid #274056;
}
.tournaments-page .tournament-hero::after { content: none; }
.tournament-hero__backdrop {
    position: absolute; z-index: -1; inset: 0;
    overflow: hidden; pointer-events: none;
}
.tournament-hero__backdrop picture,
.tournament-hero__backdrop img { display: block; width: 100%; height: 100%; }
.tournament-hero__backdrop img { object-fit: cover; object-position: center 60%; opacity: .42; }
.tournament-hero__backdrop::after {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(90deg, rgba(7, 21, 34, .9), rgba(7, 21, 34, .4) 52%, #071522),
        linear-gradient(0deg, #071522, transparent 65%);
}
.tournaments-page .tournament-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
}
.tournaments-page .tournament-hero__copy { min-width: 0; max-width: 38rem; }
.tournaments-page .tournament-hero__copy .eyebrow {
    display: flex; align-items: center; gap: .75rem;
    margin: 0 0 1.5rem; color: #b6d5ed;
    font-size: .8rem; line-height: 1.6; letter-spacing: .12em;
}
.tournaments-page .tournament-hero__copy .eyebrow::before {
    content: ""; width: 1.8rem; height: 2px; flex: 0 0 auto;
    background: var(--tournament-lime);
}
.tournaments-page .tournament-hero__copy h1 {
    margin: 0; max-width: 100%; color: #fff;
    font-size: clamp(3.1rem, 5.9vw, 5.8rem); font-weight: 850;
    line-height: 1.08; letter-spacing: -.055em;
}
.tournaments-page .tournament-hero__copy .hero-lead {
    max-width: 33rem; margin: 1.5rem 0 0; color: #c8d6e3;
    font-size: clamp(1rem, 1.25vw, 1.125rem); line-height: 1.75;
}
.tournaments-page .tournament-hero__tournaments-link {
    gap: 1rem; margin-top: 1.75rem; color: #fff; font-size: .9rem;
}
.tournaments-page .tournament-hero__tournaments-link span:last-child {
    width: 2rem; color: var(--tournament-lime);
    background: rgba(188, 245, 43, .08); border: 1px solid #587139;
}

/* The next tournament remains the primary working surface, not an image card. */
.tournaments-page .next-tournament,
.tournaments-page .tournament-empty--hero {
    min-width: 0; padding: clamp(1.4rem, 2.6vw, 2rem);
    color: #fff; background: rgba(12, 32, 48, .97);
    border: 1px solid #496378; border-radius: 1rem;
    box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, .18);
}
.tournaments-page .next-tournament { overflow: visible; }
.tournaments-page .next-tournament::before { content: none; }
.tournaments-page .next-tournament__topline { gap: .75rem; margin-bottom: 1.6rem; }
.tournaments-page .next-tournament .status-pill--next {
    padding: 0; min-height: 1.75rem;
    color: var(--tournament-lime); background: transparent;
    font-size: .8rem; line-height: 1.5; letter-spacing: .08em;
}
.tournaments-page .next-tournament .proximity-label {
    color: #dcebbf; background: #273e28; font-size: .75rem; line-height: 1.4;
}
.tournaments-page .next-tournament .status-pill--cancelled { font-size: .8rem; line-height: 1.4; }
.tournaments-page .next-tournament.is-cancelled { border-color: #8d6164; }
.tournaments-page .next-tournament__main { gap: 1.25rem; align-items: start; }
.tournaments-page .next-tournament h2 {
    margin: .85rem 0 0; max-width: none; color: #fff;
    font-size: clamp(1.75rem, 2.7vw, 2.5rem);
    line-height: 1.15; letter-spacing: -.035em; overflow-wrap: anywhere; text-wrap: balance;
}
.tournaments-page .next-tournament__main p {
    margin: .85rem 0 0; color: #c8d6e3; font-size: 1rem; line-height: 1.7; overflow-wrap: anywhere;
}
.tournaments-page .next-tournament .tournament-date {
    width: 6rem; min-height: 7.5rem; padding: .85rem .6rem;
    color: #071522; background: var(--tournament-lime);
    border: 1px solid transparent; border-radius: .7rem; box-shadow: none;
}
.tournaments-page .next-tournament .tournament-date strong {
    font-size: 2.5rem; line-height: 1.05; letter-spacing: -.05em;
}
.tournaments-page .next-tournament .tournament-date span,
.tournaments-page .next-tournament .tournament-date small { color: #213315; font-size: .8rem; line-height: 1.25; }
.tournaments-page .next-tournament .tournament-date small { margin-top: .4rem; }
.tournaments-page .next-tournament .tournament-details { border-color: #385063; }
.tournaments-page .next-tournament .tournament-details dt { color: #b4c8d8; font-size: .75rem; }
.tournaments-page .next-tournament .tournament-details dd { color: #fff; font-size: 1rem; }
.tournaments-page .next-tournament .type-badge { color: #dce7ee; background: #2b4255; font-size: .75rem; line-height: 1.4; }
.tournaments-page .next-tournament .tournament-action {
    gap: 1rem; margin-top: 1.75rem; padding-top: 1.4rem;
    border-top: 1px solid #385063;
}
.tournaments-page .next-tournament .tournament-action--ace { align-items: center; }
.tournaments-page .next-tournament .button-primary {
    min-height: 3.2rem; padding: .85rem 1.2rem;
    color: #071522; background: var(--tournament-lime);
    border: 1px solid transparent; border-radius: .65rem; box-shadow: none;
    font-size: .9rem; line-height: 1.5; text-align: center;
}
.tournaments-page .next-tournament .button-primary:hover { color: #071522; background: #d2ff69; }
.tournaments-page .next-tournament .tournament-action > small,
.tournaments-page .next-tournament .registration-note { color: #c8d6e3; font-size: .875rem; line-height: 1.6; }
.tournaments-page .next-tournament .ace-capacity { flex-wrap: wrap; max-width: 100%; border-radius: .75rem; box-shadow: none; }
.tournaments-page .next-tournament .ace-capacity__count { gap: .15rem; line-height: 1.3; }
.tournaments-page .next-tournament .ace-capacity__count > span { font-size: 1rem; }
.tournaments-page .next-tournament .ace-capacity__count strong { font-size: 1.2rem; }
.tournaments-page .next-tournament .ace-capacity__count small {
    margin-top: .1rem; font-size: .75rem; line-height: 1.4;
    letter-spacing: 0; text-transform: none;
}

/* Do not clip format descriptions or open them merely by focusing the CTA. */
.tournaments-page .next-tournament .tournament-format__badge {
    max-width: 100%; min-height: 2rem; font-size: .75rem; line-height: 1.4;
    letter-spacing: .015em; white-space: normal;
}
.tournaments-page .next-tournament .tournament-format__info { flex: 0 0 auto; }
.tournaments-page .next-tournament .tournament-format__tooltip {
    left: auto; right: 0; max-width: calc(100vw - 3rem);
    border-radius: .75rem; z-index: 30;
}
.tournaments-page .next-tournament .tournament-format__tooltip::after { left: auto; right: 1.25rem; }
.tournaments-page .next-tournament .tournament-format__description { font-size: .875rem; line-height: 1.65; }
.tournaments-page .next-tournament .tournament-format__eyebrow,
.tournaments-page .next-tournament .tournament-format__duration small { font-size: .75rem; line-height: 1.4; }
.tournaments-page .next-tournament .tournament-format__duration strong { font-size: .875rem; line-height: 1.4; }
.tournaments-page .next-tournament:focus-within .tournament-format__tooltip { visibility: hidden; opacity: 0; }
.tournaments-page .next-tournament .tournament-format:is(:hover, :focus, :focus-within) .tournament-format__tooltip {
    visibility: visible; opacity: 1; transform: none;
}
.tournaments-page .tournament-empty--hero { min-height: 15rem; }
.tournaments-page .tournament-empty--hero strong { color: #fff; font-size: 1.65rem; line-height: 1.25; }
.tournaments-page .tournament-empty--hero p { color: #c8d6e3; font-size: 1rem; line-height: 1.75; }
.tournaments-page .tournament-empty--hero .text-link { color: var(--tournament-lime); min-height: 2.75rem; }
.tournaments-page .tournament-empty__calendar { background: #294154; color: var(--tournament-lime); border-radius: .65rem; }

/* Light, quiet lists balance the photographic hero. Layout and controls stay intact. */
.tournaments-page .ace-schedule { overflow: visible; background: #f5f7f7; border-color: #d7dfe5; }
.tournaments-page .ace-schedule::before { content: none; }
.tournaments-page .ace-schedule,
.tournaments-page .tournament-section,
.tournaments-page .tournament-history { padding-block: clamp(3rem, 6vw, 5.5rem); }
.tournaments-page .ace-schedule__copy h2,
.tournaments-page .tournament-section__heading h2 {
    max-width: 23ch; font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.12;
}
.tournaments-page .ace-event-group,
.tournaments-page .ace-past-card,
.tournaments-page .tournament-row { border-color: #d7dfe5; border-radius: .85rem; box-shadow: none; }
.tournaments-page .ace-community-link { border-radius: .75rem; background: #071522; box-shadow: none; }
.tournaments-page .ace-community-link:hover { box-shadow: none; transform: none; }
.tournaments-page .ace-load-more { border-radius: .65rem; background: #071522; box-shadow: none; font-size: .875rem; }
.tournaments-page .ace-load-more:hover { background: #16436a; box-shadow: none; transform: none; }
.tournaments-page .ace-load-more__arrow { border-radius: .45rem; background: #bcf52b; color: #071522; }
.tournaments-page .ace-event-card--tournament .ace-event-card__cta { border-radius: .65rem; }
.tournaments-page .tournament-history { background: #fff; }
.tournaments-page a:focus-visible,
.tournaments-page [tabindex="0"]:focus-visible { outline: 3px solid #007bff; outline-offset: 5px; }
.tournaments-page .tournament-hero a:focus-visible,
.tournaments-page .tournament-hero [tabindex="0"]:focus-visible { outline-color: var(--tournament-lime); }

@media (min-width: 64rem) {
    .tournaments-page .tournament-hero__grid {
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
        gap: clamp(2rem, 4.5vw, 4.5rem);
    }
}
@media (max-width: 63.99rem) {
    .tournaments-page .tournament-hero__copy { max-width: 42rem; }
    .tournaments-page .tournament-hero__copy .hero-lead { max-width: 40rem; }
    .tournament-hero__backdrop img { object-position: 65% center; opacity: .3; }
}
@media (max-width: 39.99rem) {
    .tournaments-page .tournament-hero { padding-block: 2.25rem; }
    .tournaments-page .tournament-hero__grid { gap: 2rem; }
    .tournaments-page .tournament-hero__copy h1 { font-size: clamp(2.8rem, 11vw, 4rem); }
    .tournaments-page .tournament-hero__copy .eyebrow { font-size: .75rem; letter-spacing: .08em; margin-bottom: 1.1rem; }
    .tournaments-page .tournament-hero__copy .hero-lead { margin-top: 1rem; }
    .tournaments-page .tournament-hero__tournaments-link { margin-top: 1.1rem; }
    .tournaments-page .next-tournament { padding: 1.25rem; }
    .tournaments-page .next-tournament__topline { margin-bottom: 1.25rem; }
    .tournaments-page .next-tournament__ace-logo { width: 4.25rem; }
    .tournaments-page .next-tournament__main { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .tournaments-page .next-tournament .tournament-date {
        width: max-content; max-width: 100%; min-height: 3rem; flex-direction: row;
        justify-content: flex-start; flex-wrap: wrap; gap: .45rem; padding: .7rem 1rem;
    }
    .tournaments-page .next-tournament .tournament-date strong { font-size: 1.5rem; }
    .tournaments-page .next-tournament .tournament-date span,
    .tournaments-page .next-tournament .tournament-date small { margin: 0; font-size: .875rem; }
    .tournaments-page .next-tournament .tournament-date small { padding-left: .65rem; border-left: 1px solid #718a41; }
    .tournaments-page .next-tournament h2 { font-size: clamp(1.7rem, 6.5vw, 2rem); }
    .tournaments-page .next-tournament .tournament-action { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; margin-top: 1.4rem; }
    .tournaments-page .next-tournament .ace-capacity { align-self: flex-start; justify-self: start; }
    .tournaments-page .next-tournament .button-primary { width: 100%; }
    .tournaments-page .next-tournament .tournament-badges { position: relative; }
    .tournaments-page .next-tournament .tournament-format { position: static; max-width: 100%; }
    .tournaments-page .next-tournament .tournament-format__tooltip { left: 0; right: auto; width: 100%; max-width: none; }
    .tournaments-page .next-tournament .tournament-format__tooltip::after { left: 1.25rem; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .tournaments-page .next-tournament .button-primary,
    .tournaments-page .ace-community-link,
    .tournaments-page .ace-load-more { transition: none; }
}
