/* SportsLine — Responsive rules (mobile-first overrides) */

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .near-me-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

/* 13 menu items don't fit one row on small laptops/tablets: use the hamburger menu there too. */
@media (min-width: 901px) and (max-width: 1040px) {
  .nav-menu { display: none; }
  .nav-toggle { display: block; margin-left: auto; }
}

@media (max-width: 900px) {
  .nav-menu { display: none; }
  .nav-toggle { display: block; margin-left: auto; }
  .top-search { display: none; }
  .home-grid { grid-template-columns: 1fr; }
  .home-sidebar { position: static; }
  .news-hero-grid { grid-template-columns: 1fr; }
  .news-hero-featured { min-height: 300px; }
}

@media (max-width: 768px) {
  .top-header .container { flex-wrap: wrap; }
  .top-actions { display: none; }
  .hero .container { padding: 48px 20px 60px; }
  .hero h1 { font-size: 2rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-field select, .filter-field input { min-width: 0; width: 100%; }
  .utility-clock { display: none; }
  .hero-strip-card { width: 230px; }
  .sports-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .authority-grid { grid-template-columns: 1fr; }
  .sports-scroller .sport-card { width: 112px; }
  .breadcrumbs { font-size: var(--fs-13); }
  .breadcrumbs li:last-child span { max-width: 160px; }
  .near-me-hero { padding: 28px 18px; }
  .near-me-hero__controls { flex-direction: column; }
  .near-me-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .athlete-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .athlete-scroller .athlete-card { width: 168px; }
  .athlete-hero__inner { flex-direction: column; align-items: center; text-align: center; padding: 0 18px 20px; }
  .athlete-hero__main { padding-top: 0; }
  .athlete-hero .profile-tags, .athlete-hero .profile-actions { justify-content: center; }
}

@media (max-width: 425px) {
  .container { padding: 0 16px; }
  .section { padding: 36px 0; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .brand-text { display: none; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .utility-bar__left a:nth-child(2) { display: none; }
  .sports-pill { padding: 6px 10px; font-size: var(--fs-13); }
}

@media (max-width: 375px) {
  .card-grid { grid-template-columns: 1fr; }
}

/* ---------- Athlete (and other profile) hero on phones ---------- */
/* .btn-outline is white-on-transparent for dark headers; on the white profile cards it was invisible
   (that is why Share / WhatsApp seemed to leave a blank gap). */
.athlete-hero .btn-outline, .profile-header-card .btn-outline { border-color: var(--primary-purple); color: var(--primary-purple); }
.athlete-hero .btn-outline:hover, .profile-header-card .btn-outline:hover { background: var(--soft-lavender); }

@media (max-width: 640px) {
  .athlete-hero__banner { height: 104px; }
  .athlete-hero__inner { margin-top: -50px; padding: 0 16px 18px; gap: 12px; }
  .athlete-hero__photo, .athlete-hero__initials { flex-basis: 112px; width: 112px; height: 112px; }
  .athlete-hero__main h1 { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 8px; margin: 0 0 10px; font-size: 1.6rem; line-height: 1.2; overflow-wrap: anywhere; }
  .athlete-hero .profile-tags { gap: 6px; justify-content: center; }
  .athlete-hero .profile-tag { font-size: var(--fs-12); padding: 4px 10px; }
  .athlete-hero .profile-loc { justify-content: center; margin-bottom: 12px; }
  .athlete-hero .rating-summary { justify-content: center; }
  .athlete-hero .profile-actions { gap: 8px; }
  .athlete-hero .profile-actions .btn { flex: 1 1 130px; justify-content: center; }
  .athlete-stats { grid-template-columns: repeat(2, 1fr); }
  .athlete-stat { padding: 14px 8px; border-right: 0; border-bottom: 1px solid var(--light-gray); }
  .athlete-stat:nth-child(odd) { border-right: 1px solid var(--light-gray); }
  .athlete-stat:last-child { border-bottom: 0; }
  .athlete-stat:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
  .athlete-stat strong { font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
}
