/* Tournaments Page Styles - scoped, minimal, and leveraging base.css structure */
.tournaments-page .container { max-width: 1200px; margin-inline: auto; padding-inline: 1rem; }

/* Hero */
.tournaments-hero { position: relative; display: grid; grid-template-columns: 1fr; background: #0a0a0f; }
.tournaments-hero__content { position: relative; z-index: 2; padding-block: clamp(2rem, 6vw, 5rem); color: #e9e9ff; text-align: left; }
.tournaments-hero__lead { margin-block: 0.75rem 1.25rem; max-width: 60ch; color: #cfd3ff; }
.tournaments-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.tournaments-hero__media { position: relative; z-index: 1; overflow: hidden; line-height: 0; }
.tournaments-hero__media img { width: 100%; height: auto; object-fit: cover; filter: saturate(1.1) contrast(1.05); }

/* Utility buttons drawing from base palette (assume .btn exists in base.css) */
.btn.btn-outline { background: transparent; border: 2px solid var(--accent, #7a5cff); color: var(--accent, #7a5cff); }
.btn.btn-outline:hover { background: color-mix(in srgb, var(--accent, #7a5cff) 12%, transparent); }

/* Sections */
.section--padded { padding-block: clamp(2rem, 6vw, 4rem); }
.section-header { margin-block-end: 1.25rem; }
.section-header p { color: #b9bdd6; max-width: 70ch; }

/* Filter */
.tournaments-filter { margin-block: 0 1rem; display: flex; justify-content: flex-end; }
.tournaments-filter__select { min-width: 220px; padding: 0.6rem 0.8rem; border-radius: 0.5rem; border: 1px solid #33384d; background: #111423; color: #e7e9ff; }
.tournaments-filter__select:focus { outline: 2px solid #7a5cff; outline-offset: 2px; }

/* Schedule Cards */

.schedule-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1rem; }
.schedule-card { background: linear-gradient(180deg, #121426, #0d0f1c); border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; box-shadow: 0 0 0 / 0 transparent; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.schedule-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,0.35); }
.schedule-card__header { border-bottom: 1px solid #242845; margin-bottom: 0.75rem; padding-bottom: 0.5rem; }
.schedule-card__title { font-size: 1.05rem; margin: 0; color: #ffffff; }
.schedule-card__meta { color: #93a0ff; font-size: 0.95rem; margin: 0.2rem 0 0.4rem; }
.schedule-card__body p { margin: 0.25rem 0; color: #cfd3ff; }
.schedule-card__footer { margin-top: 0.5rem; display: flex; justify-content: flex-end; }

/* Prizes */
.prizes-container { display: grid; gap: 1.25rem; }
.prizes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.prize-item { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; }
.prize-item h3 { margin-top: 0; color: #b5b8ff; }
.prizes-media { margin-top: 1rem; border-radius: 0.75rem; overflow: hidden; border: 1px solid #20233b; }
.prizes-media img { width: 100%; height: auto; object-fit: cover; }

/* Steps */
.steps-list { counter-reset: step; display: grid; gap: 0.75rem; }
.steps-list > li { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; }
.steps-list h3 { margin: 0 0 0.25rem 0; color: #d7d9ff; font-size: 1.05rem; }
.cta-bar { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; }

/* Rules */
.rules-container details { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.5rem; padding: 0.75rem 1rem; color: #e8eaff; margin-bottom: 0.6rem; }
.rules-container summary { cursor: pointer; font-weight: 600; color: #b5b8ff; }
.rules-container details[open] { border-color: #2f3563; }

/* Winners */
.winners-list { display: grid; gap: 0.5rem; padding: 0; margin: 0 0 1rem 0; list-style: none; }
.winners-list h3 { margin: 0; color: #e7e9ff; font-size: 1rem; }
.winners-media { border-radius: 0.75rem; overflow: hidden; border: 1px solid #20233b; }
.winners-media img { width: 100%; height: auto; }

/* Formats */
.formats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.format-item { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; }

/* Leaderboard */
.table-responsive { overflow-x: auto; }
.leaderboard-table { width: 100%; border-collapse: collapse; color: #e8eaff; }
.leaderboard-table th, .leaderboard-table td { padding: 0.75rem; border-bottom: 1px solid #242845; text-align: left; }
.leaderboard-table thead th { position: sticky; top: 0; background: #101328; color: #cfd3ff; }
.leaderboard-table tr:nth-child(odd) td { background: #0c0f1e; }
.leaderboard-table tr:nth-child(even) td { background: #0a0d1a; }
.leaderboard-table tr.top-3 td { background: linear-gradient(90deg, rgba(122,92,255,0.18), transparent); }

/* Sponsor */
.sponsor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.sponsor-item { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; }

/* Testimonials */
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.testimonial { background: #0d0f1c; border: 1px solid #20233b; border-radius: 0.75rem; padding: 1rem; color: #e8eaff; }
.testimonial footer { color: #aab0d9; margin-top: 0.5rem; }

/* Media Queries (small tweaks) */
@media (min-width: 900px) {
  .tournaments-hero { grid-template-columns: 1.1fr 1fr; align-items: center; }
  .tournaments-hero__media { order: 2; }
}
