/* Styles for the parts of the page that the design left as static markup and
   that are now rendered from the database. Everything here builds on the tokens
   in site.css, so light and dark mode follow automatically. */

.empty-state{
  max-width:640px;margin:0 auto;text-align:center;
  color:var(--ink-soft);background:var(--paper-tint);
  border-radius:var(--radius-sm);padding:26px 22px;font-size:.92rem;
}

.loading-state{text-align:center;color:var(--ink-soft);padding:40px 20px;font-size:.92rem;}

/* Archive season picker, above the age pills */
.archive-season-toggle{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;}
.archive-season-toggle button{
  font-family:var(--font-display);font-weight:600;padding:9px 20px;border-radius:100px;
  border:2px solid var(--pitch-deep);background:transparent;color:var(--pitch-deep);cursor:pointer;
}
.archive-season-toggle button.active{background:var(--pitch-deep);color:#fff;}

/* Shootout score shown next to a level knockout result */
.pen-note{font-size:.76rem;color:var(--ink-soft);font-family:var(--font-body);font-weight:600;}
.bracket-match .bm-team .bm-score{font-weight:800;}

/* Group blocks in the current view reuse the full standings table */
.group-block{margin-bottom:34px;}
.group-block > h4{
  font-family:var(--font-display);font-size:1rem;color:var(--sky-deep);
  background:var(--sky-light);border-radius:100px;padding:8px 18px;display:inline-block;margin-bottom:12px;
}

/* Footer social link */
.footer-social{text-align:center;margin:10px 0 4px;}
.footer-social a{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:var(--font-display);font-weight:600;font-size:.9rem;opacity:.9;
}
.footer-social a:hover{opacity:1;text-decoration:underline;}

/* Form feedback */
.form-note{display:none;}
.form-note.show{display:block;}
.form-note.error{color:#b23b2c;}

/* The roster trigger is attached to every team reference, including inside brackets */
.bracket-match .roster-trigger{border-bottom-style:dashed;}
.bm-team .roster-trigger{border-bottom:none;cursor:pointer;}
.bm-team .roster-trigger:hover{text-decoration:underline;}

/* Gallery */
.gallery-cta{text-align:center;margin:36px 0 18px;}
.gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;
}
.gallery-grid img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);
  border:1px solid var(--line);
}

/* Awards rendered from the admin panel */
.award-card img.award-photo{
  width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 16px;
  box-shadow:0 12px 22px -10px rgba(22,50,79,.4);
}
