.rstf-tournament-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:24px 0; }
.rstf-tournament-card { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:18px; background:linear-gradient(145deg, rgba(15,18,28,.94), rgba(7,9,14,.98)); box-shadow:0 16px 35px rgba(0,0,0,.28); color:#f7f7fb; }
.rstf-tournament-card:before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at top right, rgba(255,98,0,.18), transparent 34%); }
.rstf-tournament-card > * { position:relative; z-index:1; }
.rstf-card-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.rstf-badge, .rstf-confidence { display:inline-flex; align-items:center; min-height:24px; border-radius:999px; padding:3px 10px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.rstf-badge { background:rgba(255,255,255,.12); color:#fff; }
.rstf-status-open { background:rgba(46,204,113,.22); color:#b9ffd4; }
.rstf-status-upcoming { background:rgba(255,152,0,.24); color:#ffd59e; }
.rstf-status-closed { background:rgba(255,255,255,.10); color:#b8beca; }
.rstf-confidence { background:rgba(255,255,255,.09); color:#dbe2ee; }
.rstf-tournament-card h3 { margin:0 0 12px; color:#fff; font-size:1.2rem; line-height:1.2; }
.rstf-meta { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 14px; }
.rstf-meta span { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.06); border-radius:10px; padding:5px 8px; font-size:12px; color:#e8edf7; }
.rstf-excerpt { color:#c7cfdd; font-size:14px; line-height:1.5; margin-bottom:16px; }
.rstf-button { display:inline-flex; align-items:center; justify-content:center; border-radius:12px; padding:9px 13px; background:#ff6a00; color:#fff !important; text-decoration:none !important; font-weight:800; }
.rstf-button:hover { filter:brightness(1.08); }
.rstf-empty { border:1px dashed rgba(255,255,255,.18); padding:18px; border-radius:14px; color:#c7cfdd; background:rgba(10,12,18,.75); }

.rstf-calendar-wrap { margin:28px 0; border:1px solid rgba(255,255,255,.12); border-radius:22px; overflow:hidden; background:linear-gradient(145deg, rgba(10,12,18,.96), rgba(5,7,11,.98)); color:#f7f7fb; box-shadow:0 22px 55px rgba(0,0,0,.32); }
.rstf-calendar-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px; border-bottom:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at top right, rgba(255,98,0,.18), transparent 35%); }
.rstf-calendar-head h2 { margin:4px 0 0; color:#fff; font-size:clamp(1.3rem, 2vw, 2rem); line-height:1.1; }
.rstf-calendar-kicker { display:inline-flex; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; color:#ffb16d; }
.rstf-calendar-count { display:inline-flex; align-items:center; white-space:nowrap; border:1px solid rgba(255,255,255,.12); border-radius:999px; padding:7px 12px; background:rgba(255,255,255,.07); color:#dbe2ee; font-weight:800; }
.rstf-calendar-month { padding:20px 22px 24px; }
.rstf-calendar-month + .rstf-calendar-month { border-top:1px solid rgba(255,255,255,.1); }
.rstf-calendar-month h3 { margin:0 0 14px; color:#fff; font-size:1.15rem; }
.rstf-calendar-list { display:grid; gap:12px; }
.rstf-calendar-event { display:grid; grid-template-columns:74px minmax(0,1fr) auto; gap:16px; align-items:center; border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:14px; background:rgba(255,255,255,.045); }
.rstf-calendar-datebox { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:68px; border-radius:16px; background:rgba(255,106,0,.14); border:1px solid rgba(255,106,0,.3); }
.rstf-calendar-datebox span { color:#ffb16d; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.rstf-calendar-datebox strong { color:#fff; font-size:24px; line-height:1; }
.rstf-calendar-body h4 { margin:7px 0 5px; color:#fff; font-size:1.08rem; line-height:1.25; }
.rstf-calendar-meta-row { display:flex; flex-wrap:wrap; gap:7px; }
.rstf-calendar-datetime { margin:0 0 8px; color:#dbe2ee; }
.rstf-calendar-tags { display:flex; flex-wrap:wrap; gap:7px; }
.rstf-calendar-tags span { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.06); border-radius:10px; padding:5px 8px; font-size:12px; color:#e8edf7; }
.rstf-calendar-link { display:flex; justify-content:flex-end; align-items:center; }
.rstf-picked-up-details { border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:14px; background:rgba(255,255,255,.05); }
.rstf-picked-up-details p { margin:.35em 0; }
@media (max-width: 720px) { .rstf-calendar-head { align-items:flex-start; flex-direction:column; } .rstf-calendar-event { grid-template-columns:64px minmax(0,1fr); } .rstf-calendar-link { grid-column:1 / -1; justify-content:flex-start; } }
