/* ===== tournaments page ===== */

.tournaments-page .header .title {
  font-size: 6rem;
  text-align:center;
}
.sub
{
  text-align:center;
}

.tyear {
  margin-top: 22px;
}

/* year split: solo left / team right */
.year-split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 10px;
}

.col{
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
}

.col-title{
  font-weight: 800;
  letter-spacing: .4px;
  opacity: .9;
  margin-bottom: 10px;
}

.col-empty{
  margin-top: 8px;
}

/* cards grid */
.tournaments-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, 49%);
  gap: 14px;
}

/* card clickable */
.tcard{
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 6px;
  border-radius: 14px;
  border: 2px solid rgba(255,255,255,.18); /* fallback */
  background: rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}

.tcard:hover{
  transform: translateY(-2px);
  box-shadow: 0 0 22px rgba(67,180,206,.22), 0 0 18px rgba(254,33,225,.14);
}

.tcard-name{
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
}

.tcard-meta{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tcard-actions{
  margin-top: 10px;
}


.tcard button{
  cursor: pointer;
}

.tcard{
  display: flex;                 /* au lieu de block */
  flex-direction: column;
  justify-content: center;       /* centre verticalement */
  align-items: center;           /* centre horizontalement */
  text-align: center;            /* centre le texte */
}

/* responsive */
@media (max-width: 900px){
  .year-split{ grid-template-columns: 1fr; }
}

/* ===== per-type neon borders ===== */
/* existing */
.tcard.ttype-spl {
  border-color: rgba(255, 145, 120, .85); /* salmon */
  box-shadow:
    0 0 0 1px rgba(255,145,120,.18),
    0 0 14px rgba(255,145,120,.28);
}
.tcard.ttype-ssd  { border-color: rgba(254,33,225,.75); }
.tcard.ttype-wc   { border-color: rgba(31,209,249,.80); box-shadow: 0 0 0 1px rgba(31,209,249,.10); }
.tcard.ttype-wcop { border-color: rgba(31,209,249,.60); }
.tcard.ttype-ost  { border-color: rgba(118,33,254,.80); box-shadow: 0 0 0 1px rgba(118,33,254,.10); }
.tcard.ttype-ssnl { border-color: rgba(70,255,140,.70); box-shadow: 0 0 0 1px rgba(70,255,140,.08); }
.tcard.ttype-other{ border-color: rgba(255,255,255,.22); }

/* missing ones you asked */
.tcard.ttype-gs   { border-color: rgba(255,214, 61,.75); box-shadow: 0 0 0 1px rgba(255,214,61,.10); }
.tcard.ttype-olt  { border-color: rgba( 70,255,140,.75); box-shadow: 0 0 0 1px rgba(70,255,140,.10); }
.tcard.ttype-st {
  border-color: rgba(255, 59, 48, .80); /* neon red */
  box-shadow:
    0 0 0 1px rgba(255,59,48,.15),
    0 0 14px rgba(255,59,48,.25);
}
.tcard.ttype-sc {
  border-color: rgba(192, 197, 206, .85); /* silver */
  box-shadow:
    0 0 0 1px rgba(192,197,206,.15),
    0 0 14px rgba(192,197,206,.25);
}

/* ===== Year layout: Solo 70% left, Team 70% right (stacked) ===== */

.year-stack{
  display: grid;
  gap: 16px;
  margin-top: 10px;
  margin-top:5%;
}

.year-section{
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.10);
  width: 80%;
}

.year-section.is-solo{ justify-self: start; }
.year-section.is-team{ justify-self: end; }

@media (max-width: 900px){
  .year-section{ width: 100%; }
}

/* classe année pour custom */
.tyear{
  margin-top: 22px;
}

/* ===== Cards ===== */

.tcard{
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 14px;
  border-radius: 14px;
  border: 2px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}

@supports (color: color-mix(in srgb, white 50%, black)){
  .tcard{
    border-color: color-mix(in srgb, var(--tbg) 65%, rgba(255,255,255,.14));
    background: color-mix(in srgb, var(--tbg) 14%, rgba(0,0,0,.55));
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--tbg) 18%, transparent),
      0 0 18px color-mix(in srgb, var(--tbg) 22%, transparent);
  }
}

.tcard:hover{
  transform: translateY(-2px);
  box-shadow:
    0 0 22px color-mix(in srgb, var(--tbg) 28%, transparent),
    0 0 18px rgba(254,33,225,.10);
}

.tcard-title{
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.15;
}

/* Glow texte (même idée que tes tt-glow HOF) */
.tt-glow{
  color: inherit;
  text-shadow:
    0 0 10px color-mix(in srgb, var(--tt-color) 55%, transparent),
    0 0 22px color-mix(in srgb, var(--tt-color) 35%, transparent),
    0 0 42px color-mix(in srgb, var(--tt-color) 18%, transparent);
}

/* second line */
.tcard-sub{
  margin-top: 10px;
  min-height: 22px;
}


.twin-name{
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
  color: inherit;
  opacity: .95;
}

/* team winner line */
.tcard-teamwin{
  min-width: 0;
}

.tteam-name{
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* 1 tournoi = 2 bulles */
.titem{
  display: grid;
  grid-template-columns: 1.25fr 1fr; /* gauche + droite */
  gap: 14px;
  align-items: stretch;
}

/* La carte winner doit être "en bas" avec du vide au-dessus */
.tcard--winner{
  display: flex;
  flex-direction: column;
      justify-content: center;  /* pousse le contenu en bas */
  height:fit-content;
      margin-top: 12.5%;
}

/* La carte tournoi peut rester normale */
.tcard--tournament{
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

/* IMPORTANT: plus de wrapper qui crée une "bulle vide" */
.tcard-sub{ display:none; } /* ou supprime carrément ce bloc HTML */

/* Winner row: avatar + nom côte à côte */
.tcard-winner{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.twin-avatar{
  width: 64px;
  height: 64px;
  border-radius: 10px;
  flex: 0 0 auto;
}

.twin-name{
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size:2rem;
}

/* Team winner line */
.tcard-teamwin{
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.tteam-name{
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Responsive */
@media (max-width: 900px){
  .titem{ grid-template-columns: 1fr; }
}

body.theme-neon h2.tyear{
  margin-top:10%;
  font-size: 6rem;
  text-align:center;
}

/* ===== Year section glow ===== */

body.theme-neon .year-section.is-solo{
  border: none;
}

body.theme-neon .year-section.is-team{
  border: none;
}

body.theme-neon .year-section.is-team .tcard.neon-frame{
  min-height: 100px; /* ajuste */
}

.winner-strike{
  text-decoration: line-through;
  opacity: .65;
}

/* ===== Tournaments TOC sticky (years) ===== */

.ty-toc{
  position: sticky;
  top: 0;              /* ajuste si tu as une navbar fixe */
  z-index: 60;

  width: fit-content;
  margin: 16px auto 0;

  padding: 10px 12px;
  border-radius: 14px;

  background: rgba(15,15,15,.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  box-shadow: 0 10px 24px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.12);
}

.ty-toc-link{
  color: inherit;
  text-decoration: none;
  padding: 0 4px;
  opacity: .85;
  white-space: nowrap;
}

.ty-toc-link:hover{
  text-decoration: underline;
  opacity: 1;
}

.ty-sep{
  opacity: .35;
  padding: 0 3px;
}

/* évite que le h2 année soit “caché” derrière le sticky */
h2.tyear{
  scroll-margin-top: 90px;  /* ajuste si top sticky plus grand */
}

/* option : highlight année active (si tu ajoutes le JS ci-dessous) */
.ty-toc-link.is-active{
  opacity: 1;
  text-shadow: 0 0 8px rgba(67,180,206,.55), 0 0 16px rgba(254,33,225,.25);
  text-decoration: underline;
}

/* option : smooth scroll même sans JS */
html{ scroll-behavior: smooth; }