/* ============================================================
   SHARED TOURNAMENT CARD (.k3-tc) — includes/partials/tournament-card.php
   Used on the home page and tournaments.php, always on a light sheet.
============================================================ */
.k3-tc{
  --tc-ink-60:rgba(11,32,24,.62);
  --tc-ink-14:rgba(11,32,24,.14);
  --tc-ink-08:rgba(11,32,24,.08);
  --tc-ease:cubic-bezier(.22,1,.36,1);
  --tc-accent:var(--k3-lime);
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:var(--k3-cream);color:var(--k3-ink);border-radius:24px;
  border:1px solid var(--tc-ink-08);box-shadow:0 12px 32px rgba(4,12,8,.1);
  transition:box-shadow .3s;transform-style:preserve-3d}
.k3-tc:hover{box-shadow:0 28px 56px rgba(4,12,8,.2)}
.k3-tc--ongoing{--tc-accent:#ff5a4e}
.k3-tc--registration_closed{--tc-accent:var(--k3-amber)}
.k3-tc.k3-hide{display:none}

/* media */
.k3-tc__media{position:relative;aspect-ratio:16/10;overflow:hidden;flex:none;
  background:linear-gradient(135deg,var(--k3-ink3),var(--k3-ink))}
.k3-tc__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--tc-ease)}
.k3-tc:hover .k3-tc__media img{transform:scale(1.06)}
.k3-tc__media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(5,13,9,.6),transparent 55%)}
.k3-tc__ph{position:absolute;inset:0;display:grid;place-items:center;font-size:2.5rem;color:rgba(241,239,228,.18)}
.k3-tc__status{position:absolute;left:16px;bottom:16px;z-index:1;display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:rgba(5,13,9,.45);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%)}
.k3-tc__dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--tc-accent)}
.k3-tc--ongoing .k3-tc__dot::after,.k3-tc--registration_open .k3-tc__dot::after{content:"";position:absolute;inset:0;
  border-radius:50%;background:inherit;animation:k3tcping 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes k3tcping{75%,100%{transform:scale(2.6);opacity:0}}
.k3-tc__date{position:absolute;top:16px;right:16px;z-index:1;display:flex;flex-direction:column;align-items:center;
  min-width:52px;padding:8px 8px 6px;border-radius:14px;background:var(--k3-cream);color:var(--k3-ink);
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px rgba(4,12,8,.25)}
.k3-tc__date b{font-family:var(--k3-display);font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:0}

/* body */
.k3-tc__body{display:flex;flex-direction:column;gap:16px;padding:24px;flex:1}
.k3-tc__urgent{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0;padding:6px 12px;
  border-radius:999px;background:rgba(217,164,65,.16);color:#7a5410;font-size:.75rem;font-weight:700}
.k3-tc__title{margin:0;font-family:var(--k3-display);text-transform:uppercase;font-weight:400;font-size:1.5rem;line-height:1.05}
.k3-scope a.k3-tc__link{color:inherit}
.k3-tc__link::after{content:"";position:absolute;inset:0;z-index:0}
.k3-tc__link:focus-visible{outline:none}
.k3-tc:has(.k3-tc__link:focus-visible){outline:3px solid var(--k3-ink3);outline-offset:3px}
.k3-tc__desc{margin:-4px 0 0;font-size:.9375rem;line-height:1.6;color:var(--tc-ink-60);max-width:52ch}
.k3-tc__chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.k3-tc__chips li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  background:var(--tc-ink-08);font-size:.75rem;font-weight:600;color:var(--k3-ink3)}
.k3-tc__chips i{font-size:.6875rem;opacity:.7}

.k3-tc__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px;margin:0;padding:16px 0 0;
  border-top:1px dashed var(--tc-ink-14)}
.k3-tc__facts dt{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tc-ink-60)}
.k3-tc__facts dd{margin:4px 0 0;font-weight:700;font-size:.9375rem;color:var(--k3-ink)}
.k3-tc__prize dd{font-family:var(--k3-display);font-weight:400;font-size:1.25rem;line-height:1.1}

.k3-tc__spots-row{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;font-weight:600;color:var(--tc-ink-60)}
.k3-tc__bar{margin-top:8px;height:6px;border-radius:999px;background:var(--tc-ink-08);overflow:hidden}
.k3-tc__bar i{display:block;height:100%;min-width:6px;border-radius:inherit;background:linear-gradient(90deg,var(--k3-ink3),var(--k3-lime))}

.k3-tc__actions{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:4px}
.k3-tc__actions .k3-btn{flex:1;justify-content:center}
.k3-scope a.k3-tc__more{font-weight:700;font-size:.875rem;color:var(--k3-ink3);padding:8px 4px;
  border-bottom:1.5px solid transparent;transition:border-color .2s}
.k3-scope a.k3-tc__more:hover{border-color:currentColor}
.k3-tc__more:focus-visible{outline:2px solid var(--k3-ink3);outline-offset:3px;border-radius:2px}
.k3-tc .k3-btn:focus-visible{outline-color:var(--k3-ink3)}

/* feature variant: image beside the details */
.k3-tc--feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.k3-tc--feature .k3-tc__media{aspect-ratio:auto;min-height:360px}
.k3-tc--feature .k3-tc__media img{position:absolute;inset:0}
.k3-tc--feature .k3-tc__body{padding:clamp(24px,3.5vw,48px);gap:20px}
.k3-tc--feature .k3-tc__title{font-size:clamp(2rem,3.4vw,3rem)}
.k3-tc--feature .k3-tc__actions .k3-btn{flex:0 1 auto;padding-inline:2rem}
@media(max-width:900px){
  .k3-tc--feature{display:flex}
  .k3-tc--feature .k3-tc__media{aspect-ratio:16/9;min-height:0}
}
@media(max-width:640px){
  .k3-tc__body{padding:20px}
  .k3-tc__title{font-size:1.25rem}
}
/* grid + empty state shared by the pages that list cards */
.k3-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
@media(max-width:640px){.k3-tgrid{grid-template-columns:1fr;gap:16px}}
.k3-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  padding:64px 24px;border-radius:24px;border:1.5px dashed rgba(11,32,24,.14);background:rgba(255,255,255,.4);color:var(--k3-ink)}
.k3-empty-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;
  background:var(--k3-ink);color:var(--k3-lime);font-size:1.25rem;margin-bottom:8px}
.k3-empty h3{margin:0;font-family:var(--k3-display);text-transform:uppercase;font-weight:400;font-size:1.5rem}
.k3-empty p{margin:0 0 12px;color:rgba(11,32,24,.62);max-width:44ch}

@media (prefers-reduced-motion:reduce){
  .k3-tc__dot::after{animation:none!important}
  .k3-tc:hover .k3-tc__media img{transform:none}
}
