/* Only the public tournament index; legacy cards on other pages are unchanged. */
.x3-ui-next.x3-tournament-index { padding-block: 8px 32px; }
.x3-ui-next.x3-tournament-index .x3-list-filters { margin-bottom: 8px; }
.x3-ui-next.x3-tournament-index .x3-filter-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.x3-ui-next.x3-tournament-index .x3-filter-toggle, .x3-ui-next.x3-tournament-index .x3-index-toggle { min-height: 44px; }
.x3-ui-next.x3-tournament-index .x3-filter-heading .x3-next-button { padding-inline: 12px; }
.x3-ui-next.x3-tournament-index .x3-filter-summary { flex: 1 1 5rem; font-size: 14px; color: var(--x3-next-muted); }
.x3-ui-next.x3-tournament-index .x3-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding-top: 12px; }
.x3-ui-next.x3-tournament-index .x3-filter-field { display: grid; align-content: start; gap: 4px; min-width: 0; }
.x3-ui-next.x3-tournament-index .x3-filter-field label { font-size: 14px; color: var(--x3-next-muted); }
.x3-ui-next.x3-tournament-index .x3-filter-field input, .x3-ui-next.x3-tournament-index .x3-filter-field select {
    width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px;
    border: 1px solid var(--x3-next-control-border); border-radius: var(--x3-next-radius-sm);
    background: var(--x3-next-surface); color: var(--x3-next-text); font: inherit;
}
.x3-ui-next.x3-tournament-index input::placeholder { color: var(--x3-next-muted); opacity: 1; }
.x3-ui-next.x3-tournament-index .x3-filter-check { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.x3-ui-next.x3-tournament-index .x3-filter-check input { width: 20px; height: 20px; accent-color: var(--x3-next-green); flex: 0 0 auto; }
.x3-ui-next.x3-tournament-index .x3-list-layout { display: grid; gap: 16px; align-items: start; }
.x3-ui-next.x3-tournament-index .x3-list-index { min-width: 0; }
.x3-ui-next.x3-tournament-index .x3-list-index details { border-bottom: 1px solid var(--x3-next-border); }
.x3-ui-next.x3-tournament-index .x3-list-index summary, .x3-ui-next.x3-tournament-index .x3-list-index a { min-height: 44px; padding: 10px 8px; font-size: 14px; }
.x3-ui-next.x3-tournament-index .x3-list-index summary { cursor: pointer; color: var(--x3-next-green); }
.x3-ui-next.x3-tournament-index .x3-list-index a { display: flex; align-items: center; color: var(--x3-next-text); text-decoration: underline; text-underline-offset: 3px; }
.x3-ui-next.x3-tournament-index .x3-list-index ul { list-style: none; margin: 0; padding: 0 0 0 8px; }
.x3-ui-next.x3-tournament-index .x3-list-main { min-width: 0; display: grid; gap: 28px; }
.x3-ui-next.x3-tournament-index .bloque-circuito { min-width: 0; }
.x3-ui-next.x3-tournament-index .bloque-circuito > h2 { margin: 0 0 12px; color: var(--x3-next-green); font-size: 20px; line-height: 1.3; }
.x3-ui-next.x3-tournament-index .bloque-mes + .bloque-mes { margin-top: 28px; }
.x3-ui-next.x3-tournament-index .x3-month-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid var(--x3-next-border); border-left: 3px solid var(--x3-next-green); border-radius: var(--x3-next-radius-sm); background: var(--x3-next-raised); }
.x3-ui-next.x3-tournament-index .x3-month-heading h3 { margin: 0; color: var(--x3-next-text); font-size: 18px; font-weight: 700; line-height: 1.3; scroll-margin-top: 76px; }
.x3-ui-next.x3-tournament-index .x3-month-count { color: var(--x3-next-green); font-size: 13px; font-weight: 700; white-space: nowrap; }
.x3-ui-next.x3-tournament-index .contenedor-torneos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 12px; margin: 0; }
.x3-ui-next.x3-tournament-index .x3-tournament-card { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 12px; background: var(--x3-next-surface); border: 1px solid var(--x3-next-border); border-radius: var(--x3-next-radius-md); }
.x3-ui-next.x3-tournament-index .x3-tournament-overview { display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 10px; align-items: start; }
.x3-ui-next.x3-tournament-index .x3-tournament-info { min-width: 0; }
.x3-ui-next.x3-tournament-index .x3-tournament-state { display: inline-block; color: var(--x3-next-success); font-size: 14px; line-height: 1.4; }
.x3-ui-next.x3-tournament-index .x3-tournament-state.is-closed { color: var(--x3-next-warning); }
.x3-ui-next.x3-tournament-index .x3-tournament-info h4 { margin: 4px 0; color: var(--x3-next-text); font-size: 18px; font-weight: 600; line-height: 1.3; }
.x3-ui-next.x3-tournament-index .x3-tournament-facts { display: flex; flex-wrap: wrap; gap: 0 12px; margin: 0; font-size: 14px; line-height: 1.5; }
.x3-ui-next.x3-tournament-index .x3-tournament-circuit { margin: 2px 0 0; color: var(--x3-next-muted); font-size: 14px; line-height: 1.5; }
.x3-ui-next.x3-tournament-index .x3-tournament-poster { position: relative; display: flex; width: 64px; height: 80px; border-radius: 6px; background: var(--x3-next-raised); color: var(--x3-next-muted); text-decoration: none; }
.x3-ui-next.x3-tournament-index .x3-poster-fallback { width: 100%; display: flex; align-items: center; justify-content: center; padding: 4px; text-align: center; font-size: 14px; line-height: 1.3; }
.x3-ui-next.x3-tournament-index .x3-tournament-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.x3-ui-next.x3-tournament-index .x3-tournament-poster.is-unavailable img { display: none; }
.x3-ui-next.x3-tournament-index .x3-tournament-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; margin-top: auto; }
.x3-ui-next.x3-tournament-index .x3-tournament-action { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 40px; padding: 5px 10px; border: 1px solid transparent; border-radius: 6px; color: var(--x3-next-text); text-align: center; text-decoration: none; font-size: 13px; line-height: 1.3; }
.x3-ui-next.x3-tournament-index .x3-tournament-action--primary { flex: 1 0 100%; min-height: 44px; background: var(--x3-next-green); border-color: var(--x3-next-green); color: var(--x3-next-on-green); font-size: 14px; font-weight: 700; }
.x3-ui-next.x3-tournament-index .x3-tournament-action:not(.x3-tournament-action--primary) { color: var(--x3-next-green); text-decoration: underline; text-underline-offset: 3px; }
.x3-ui-next.x3-tournament-index .x3-tournament-action:hover { background: var(--x3-next-raised); }
.x3-ui-next.x3-tournament-index .x3-tournament-action--primary:hover { background: var(--x3-next-green-hover); }
.x3-ui-next.x3-tournament-index .x3-list-empty { grid-column: 1 / -1; padding: 24px 16px; border: 1px solid var(--x3-next-border); border-radius: 10px; text-align: center; }
.x3-ui-next.x3-tournament-index [hidden] { display: none; }
@media (min-width: 576px) {
    .x3-ui-next.x3-tournament-index .x3-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .x3-ui-next.x3-tournament-index .x3-filter-search { grid-column: 1 / -1; }
}
@media (min-width: 768px) {
    .x3-ui-next.x3-tournament-index .x3-filter-grid { grid-template-columns: minmax(10rem, 2fr) repeat(2, minmax(6rem, 1fr)) auto; align-items: end; }
    .x3-ui-next.x3-tournament-index .x3-filter-search { grid-column: auto; }
}
@media (min-width: 1200px) {
    .x3-ui-next.x3-tournament-index .x3-filter-grid { grid-template-columns: minmax(16rem, 2fr) repeat(2, minmax(8rem, 1fr)) auto; }
    .x3-ui-next.x3-tournament-index .x3-list-layout { grid-template-columns: 11rem minmax(0, 1fr); gap: 24px; }
    .x3-ui-next.x3-tournament-index .x3-list-index { position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow-y: auto; }
}
@media (max-width: 279.98px) {
    .x3-ui-next.x3-tournament-index .x3-tournament-overview { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .x3-ui-next.x3-tournament-index .collapsing { transition: none; }
}

@media (max-width: 1199.98px) {
    .x3-ui-next.x3-tournament-index .x3-list-index:has(> .collapse:not(.show):not(.collapsing)) { display: none; }
}
@media (max-width: 767.98px) {
    .x3-ui-next.x3-tournament-index .x3-filter-summary.has-filters { flex-basis: 100%; }
}
