/* =========================================================
   LiBERTÀ - Tournaments page（国際大会・写真なし・ロゴのみ）
   - 黒80%カード + 1px グラデ枠（擬似要素）
   - セクション見出し：白文字＋下線グラデ
   - ステータス色分け：UPCOMING（緑→シアン）/ RESULT（橙→桃）
   - 「大会詳細」はシンプルな文字リンク（下線＆矢印、ホバーで微アニメ）
   - maincontents.css の見出し装飾をこのページ内だけで無効化（防波堤）
   ========================================================= */

/* ----- Tokens ----- */
:root{
  --tour-grad-main     : linear-gradient(to right, #ff8a00, #e52e71); /* サイト基調 */
  --tour-grad-upcoming : linear-gradient(to right, #42e695, #3bb2b8); /* UPCOMING表示のアクセント */
  --tour-fg            : #e5e5e5;
  --tour-fg2           : #bbb;
  --tour-card-bg       : rgba(17,17,17,.8); /* 黒80% */
  --tour-shadow        : rgba(0,0,0,.4);
  --tour-shadow-h      : rgba(0,0,0,.6);
}

/* ----- Page Container ----- */
.tournaments-page{
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px;
  color: var(--tour-fg);
}

/* ----- Section Headings ----- */
.tournaments-section{ margin-top: 12px; }

.tournaments-section__title{
  font-size: 1.3rem;
  margin: 0 0 8px;
  color: #fff;
  position: relative;
  padding-bottom: 6px;
}
.tournaments-section__title::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:3px; border-radius:2px;
  background: var(--tour-grad-main);
  opacity:.9;
}

/* 年見出し（小さめ） */
.tournaments-year{
  margin: 14px 0 8px;
  font-size: 1rem;
  color: #fff;
  opacity: .9;
}

/* ----- Grid ----- */
.tournaments-grid{
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}
@media (min-width: 640px){
  .tournaments-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 1024px){
  .tournaments-grid{ grid-template-columns: repeat(3,1fr); }
}

/* ----- Card ----- */
.tournament-card{
  position: relative;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;

  background-color: var(--tour-card-bg);
  box-shadow: 0 4px 12px var(--tour-shadow);
  transition: transform .15s ease, box-shadow .15s ease;
}
.tournament-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px var(--tour-shadow-h);
}

/* 1px gradient border via pseudo-element */
.tournament-card::before{
  content:"";
  position:absolute; inset:0; padding:1px; border-radius:16px;
  background: var(--tour-grad-main);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}

/* ----- Card Head（タイトル＋ロゴ） ----- */
.tournament-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.tournament-card__title{
  font-size:1.05rem;
  font-weight:800;
  margin:0;
  color:#fff;
  position:relative;
  padding-bottom:6px;
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}
/* タイトル下線グラデ（サイト基調色） */
.tournament-card__title::after{
  content:"";
  position:absolute; left:0; bottom:0;
  width:100%; height:3px; border-radius:2px;
  background: var(--tour-grad-main);
}

/* ロゴ（右上に小さく） */
.tournament-logo{
  max-height:48px;
  width:auto;
  object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));
}

/* ----- Facts （開催地/日程/成績など） ----- */
.tournament-facts{
  display:grid;
  gap:6px;
  margin:0;
}
.tournament-facts__row{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:8px;
}
.tournament-facts__term{
  color:#ff8500;            /* Teamsに合わせたアクセント */
  font-size:.82rem;
  font-weight:400;
  letter-spacing:.2px;
}
.tournament-facts__desc{
  margin:0;
  font-size:.95rem;
  color:#f1f1f1;
}

/* ----- Actions（ステータス表示＋詳細リンク） ----- */
.tournament-actions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

/* 小さめピル：ステータス色分け */
.tournament-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:700;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
}
.tournament-chip--upcoming{ color:#42e695; border-color:rgba(66,230,149,.4); }
.tournament-chip--result  { color:#ff9a33; border-color:rgba(255,154,51,.4); }

/* シンプル強調リンク（大会詳細） */
.tournament-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:900;                 /* 太字強調 */
  font-size: .95rem;
  letter-spacing: .5px;
  padding:6px 12px;
  border-radius: 8px;
  color: #fff;

  /* サイト基調のグラデをテキストに適用 */
  background: linear-gradient(to right, #ff8a00, #e52e71);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition: all .2s ease;
}

/* 下線もグラデに */
.tournament-link::before{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:100%; height:2px;
  background: linear-gradient(to right, #ff8a00, #e52e71);
  opacity:.6;
  transition:opacity .2s ease;
}

/* 矢印アイコン */
.tournament-link::after{
  content:"→";
  font-weight:900;
  transform: translateX(0);
  transition: transform .2s ease;
  background: linear-gradient(to right, #ff8a00, #e52e71);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ホバーでアクセント */
.tournament-link:hover::after{
  transform: translateX(4px);
}
.tournament-link:hover::before{
  opacity:1;
}

/* ----- 防波堤：maincontents.css の見出し装飾をこのページ内だけで無効化 ----- */
.tournaments-page h1,
.tournaments-page h2,
.tournaments-page h3,
.tournaments-page h4,
.tournaments-page h5{
  margin:0;
  border:0;
  color:inherit;
  text-shadow:none;
}
.tournaments-page h2{ border-bottom:0; }
.tournaments-page h2::before{ content:none; }
.tournaments-page h3{
  border-left:0;
  border-image:none;
  padding-left:0;
  margin:0;
}
/* もし a に背景指定のリセットがあっても、詳細リンクは文字リンクを維持 */
.tournaments-page a{ background: transparent; -webkit-text-fill-color: inherit; }

/* 年バッジ（大会タイトル右肩に表示） */
.tournament-yearchip {
  margin-left: 8px;
  padding: 2px 8px;
  font-size: .72rem;
  font-weight: 800;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(to right, #ff8a00, #e52e71);
  vertical-align: middle;
}