/* Optional Matchday font (safe fallback if font not present) */
@font-face{
  font-family:"Matchday";
  src:url("../fonts/Matchday.ttf") format("truetype");
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg1:#0b1a2a;
  --bg2:#4a0f0f;
  --gold:#d4a44c;

  --text:#ffffff;
  --muted:rgba(255,255,255,0.68);

  --cardBg: rgba(255,255,255,0.06);
  --cardBorder: rgba(255,255,255,0.14);
  --shadow: 0 18px 40px rgba(0,0,0,0.5);
  --radius: 14px;
}

*{ box-sizing:border-box; }

html,body{
  margin:0;
  width:100%;
  height:100%;
  overflow:hidden;
  font-family: system-ui, -apple-system, "Segoe UI";
  background: radial-gradient(circle at center, var(--bg2), var(--bg1));
  color:var(--text);
}

.scene{
  position:relative;
  width:100%;
  height:100%;
}

/* Hint */
.scene-hint{
  position:absolute;
  top:14px;
  width:100%;
  text-align:center;
  font-size:12px;
  color:rgba(255,255,255,.45);
  pointer-events:none;
  z-index:3;
}

/* Logo */
.logo-core{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  background:none;
  border:none;
  cursor:pointer;
  z-index:5;
}

.logo-core img{
  width:min(520px,75vw);
  animation:breathe 6s ease-in-out infinite;
  filter:
    drop-shadow(0 0 28px rgba(212,164,76,0.45))
    drop-shadow(0 0 85px rgba(212,164,76,0.25));
}

@keyframes breathe{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.05); }
}

/* Radial menu */
.radial-menu{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:6;
}

.menu-item{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(.8);
  opacity:0;
  pointer-events:none;

  background:none;
  border:none;
  padding:0;
  cursor:pointer;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;

  transition:.35s ease;
}

/* icon sizing */
.menu-item img,
.menu-item .menu-svg{
  width:40px;
  height:40px;
  filter: drop-shadow(0 0 12px rgba(255,255,255,0.25));
}

/* ✅ FORCE menu labels to white + consistent font */
.menu-item span{
  font-family:"Matchday", system-ui;
  font-size:1.05rem;   /* keep reasonable */
  font-weight:700;
  color:#ffffff !important;
  text-shadow: 0 8px 18px rgba(0,0,0,0.55);
}

.scene.is-open .menu-item{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%) scale(1);
}

/* Overlay */
.overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  z-index:20;
}

.overlay.active{
  opacity:1;
  pointer-events:auto;
}

.overlay-content{
  max-width:840px;
  margin:56px auto 0;
  padding:18px 18px 24px;
  max-height:calc(100vh - 96px);
  overflow:auto;
}

.close-btn{
  position:sticky;
  top:10px;
  float:right;
  background:none;
  border:none;
  color:#fff;
  font-size:26px;
  cursor:pointer;
}

/* Titles */
.overlay-title{
  font-size:2rem;
  font-weight:800;
  margin:0 0 8px;
}

.subtext{
  color:var(--muted);
  margin-bottom:12px;
}

/* Grid & cards */
.card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}
@media(min-width:720px){
  .card-grid{ grid-template-columns:1fr 1fr; }
}

.card{
  border-radius:var(--radius);
  border:1px solid var(--cardBorder);
  background:var(--cardBg);
  box-shadow:var(--shadow);
  padding:14px;
  cursor:pointer;
  transition:.2s ease;
  overflow:hidden; /* ✅ prevents weird bleed */
}

.card:hover{
  transform:translateY(-2px);
  border-color:rgba(212,164,76,0.35);
}

/* ✅ HARD LOCK tournament icon size so it never becomes huge */
.card-top img,
.card-left img,
.card-icon{
  width:34px !important;
  height:34px !important;
  object-fit:contain;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 10px rgba(212,164,76,0.15));
}

/* ✅ prevent any accidental big images inside cards */
.card img{
  max-width:100%;
  height:auto;
}

/* Back button — alive */
.back-btn,
.clear-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;

  padding:8px 14px;
  border-radius:999px;

  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28);

  color:#ffffff !important;
  font-size:.85rem;
  cursor:pointer;
  transition:.2s ease;
}

.back-btn:hover,
.clear-btn:hover{
  background:rgba(212,164,76,0.22);
  border-color:rgba(212,164,76,0.65);
}

/* Squad search */
.squad-search{
  display:flex;
  gap:10px;
  margin-bottom:12px;
}

.squad-search input{
  width:100%;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  font-size:.95rem;
}
.squad-search input::placeholder{
  color:rgba(255,255,255,0.55);
}

/* Squad cards */
.player-card{
  text-align:center;
  padding:16px 14px;
}

.avatar{
  width:92px;
  height:92px;
  border-radius:50%;
  margin:0 auto 12px;
  background:rgba(255,255,255,0.06);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.player-name{
  font-size:1.05rem;
  font-weight:900;
  color:#fff;
}
.player-role{
  font-size:.95rem;
  color:var(--muted);
}

/* Detail card (Level 3) */
.detail-card{
  max-width:520px;
  margin:32px auto 0;
  padding:24px;
  background:rgba(0,0,0,0.55);
  border:1px solid var(--cardBorder);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.detail-card .avatar{
  width:96px;
  height:96px;
  margin:0 auto 16px;
}

.detail-row{ margin-bottom:14px; }

.detail-label{
  font-size:.85rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}

.detail-value{
  font-size:1rem;
  font-weight:600;
  margin-top:4px;
}

.detail-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.12);
}

/* ===============================
   SPONSORS BAR (HOMEPAGE)
   =============================== */

/* =========================================
   POWERING THE PRIDE (HOME CTA)
   ========================================= */

.sponsor-trigger{
  position:absolute;
  bottom:20px;
  width:100%;
  text-align:center;

  font-family:"Matchday", system-ui;
  font-size:1rem;
  letter-spacing:1px;

  color:#ffffff;
  cursor:pointer;

  z-index:4;

  /* glow */
  text-shadow:
    0 0 8px rgba(212,164,76,0.6),
    0 0 18px rgba(212,164,76,0.35);

  transition:all 0.3s ease;
}

.sponsor-trigger:hover{
  transform:scale(1.05);
  text-shadow:
    0 0 12px rgba(212,164,76,0.85),
    0 0 28px rgba(212,164,76,0.55);
}

/* hide when overlay is open */
.overlay.active ~ .sponsor-trigger{
  display:none;
}

/* ===============================
   SPONSOR GRID (LOGOS ONLY)
   =============================== */

.sponsor-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:40px;

  margin-top:24px;
}

/* ✅ remove card look completely */
.sponsor-card{
  background:none;
  border:none;
  padding:0;
  box-shadow:none;

  cursor:pointer;
  transition:0.2s ease;
}

/* ✅ logos only */
.sponsor-logo{
  height:120px;
  width:auto;
  object-fit:contain;

  display:block;

  /* subtle default style */
  opacity:0.85;
  filter: grayscale(30%) brightness(0.9);

  transition: all 0.25s ease;
}

/* ✅ hover — bring logo alive */
.sponsor-card:hover .sponsor-logo{
  opacity:1;
  filter: none;
  transform: scale(1.08);
}

/* mobile spacing */
@media(max-width:480px){
  .sponsor-grid{
    gap:24px;
  }

  .sponsor-logo{
    height:50px;
  }
}

/* =========================================
   SPONSOR CTA (ENHANCED)
   ========================================= */

.sponsor-trigger{
  position:absolute;
  bottom:20px;
  width:100%;
  text-align:center;
  cursor:pointer;
  z-index:4;
}

/* hint text */
.sponsor-hint{
  font-size:0.7rem;
  letter-spacing:1px;
  color:rgba(255,255,255,0.6);

  margin-bottom:4px;

  animation: hintPulse 2s infinite ease-in-out;
}

/* main text */
.sponsor-text{
  font-family:"Matchday", system-ui;
  font-size:1rem;
  letter-spacing:1px;
  color:#ffffff;

  text-shadow:
    0 0 8px rgba(212,164,76,0.6),
    0 0 18px rgba(212,164,76,0.4);

  transition:.3s ease;
}

/* hover = slightly stronger */
.sponsor-trigger:hover .sponsor-text{
  transform:scale(1.05);
  text-shadow:
    0 0 12px rgba(212,164,76,0.85),
    0 0 28px rgba(212,164,76,0.55);
}

/* subtle pulse animation (non-tacky) */
@keyframes hintPulse{
  0%{ opacity:0.6; transform:translateY(0); }
  50%{ opacity:1; transform:translateY(-2px); }
  100%{ opacity:0.6; transform:translateY(0); }
}

/* hide when overlay opens */
.overlay.active ~ .sponsor-trigger{
  display:none;
}


/* Mobile */
@media(max-width:480px){
  .logo-core img{ width:min(430px,86vw); }
  .menu-item span{ font-size:1rem; }
  .overlay-title{ font-size:1.6rem; }
  .avatar{ width:84px; height:84px; }
  .detail-card{ margin-top:20px; padding:18px; }
}
