/* Player and brand hub pages (/players/, /brands/), generated by scripts/generate-player-brand-pages.py.
   Tokens from style.css :root only; borders var(--border), no accent borders. */
.hub .product-name{font-size:clamp(34px,5vw,var(--text-h1-static))}
.hub-lede{color:var(--text-secondary);max-width:70ch;line-height:1.6}
.hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-10)}
.hub-stats .spec-value{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:var(--text-subhead)}
.hub-stats .spec-value.hub-small{font-family:inherit;font-size:var(--text-small);font-weight:500}
.hub-muted{color:var(--text-secondary)}
.hub-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.hub-table{width:100%;border-collapse:collapse;font-size:var(--text-small)}
.hub-table th{text-align:left;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600;padding:var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border)}
.hub-table td{padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}
.hub-table tbody tr:nth-child(even){background:var(--bg-surface)}
.hub-table tbody tr:last-child td{border-bottom:none}
.hub-table a{color:var(--text-primary);font-weight:600;text-decoration:underline;text-decoration-color:var(--text-muted);text-underline-offset:3px}
.hub-zones{display:flex;flex-direction:column;gap:2px}
.hub-zone b{display:inline-block;width:1.2em;color:var(--text-secondary);font-weight:600}
.hub-filter{margin-bottom:var(--space-6)}
.hub-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}
.hub-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:20px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font:inherit;font-size:var(--text-small);cursor:pointer}
.hub-chip[aria-pressed="true"]{background:var(--text-primary);color:var(--bg-base);font-weight:700}
.hub-chip-n{font-size:var(--text-caption);opacity:.75}
.hub-count{font-size:var(--text-small);color:var(--text-secondary);margin-top:var(--space-3)}
.hub-more{display:flex;justify-content:center;margin-top:var(--space-6)}
.hub-more[hidden]{display:none}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}
.hub-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.hub-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.hub-card[hidden]{display:none}
.hub-card-img{background:#fff;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.hub-card-img img{width:100%;height:100%;object-fit:contain}
.hub-noimg{color:var(--text-muted);font-size:var(--text-caption)}
.hub-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}
.hub-card-name{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:var(--text-subhead);line-height:1.1;text-transform:uppercase}
.hub-ws{display:flex;flex-wrap:wrap;gap:var(--space-1)}
.hub-w{font-size:var(--text-caption);padding:2px var(--space-2);border-radius:20px;background:var(--bg-surface);border:1px solid var(--border)}
.hub-dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}
.hub-dl dt{font-size:var(--text-caption);color:var(--text-secondary)}
.hub-dl dd{font-size:var(--text-small);margin:0}
.hub-card-grip{font-size:var(--text-small)}
.hub-card-grip .hub-zones{flex-direction:row;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}
.hub-card-store{margin-top:auto;font-size:var(--text-caption);color:var(--text-secondary);padding-top:var(--space-2);border-top:1px solid var(--border)}
@media(max-width:900px){
  .hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-table-wrap{border:none}
  .hub-table thead{display:none}
  .hub-table,.hub-table tbody,.hub-table tr,.hub-table td{display:block;width:100%}
  .hub-table tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);background:var(--bg-card)}
  .hub-table tbody tr:nth-child(even){background:var(--bg-card)}
  .hub-table td{display:grid;grid-template-columns:110px 1fr;gap:var(--space-3);border-bottom:1px solid var(--border)}
  .hub-table td::before{content:attr(data-label);font-size:var(--text-caption);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}
  .hub-table td:first-child{font-size:var(--text-body)}
}
@media(max-width:480px){
  .hub.container{padding:var(--space-4) var(--space-4) var(--space-12)}
  .hub .product-name{font-size:34px}
}
@media(max-width:600px){
  .hub-grid{grid-template-columns:1fr;gap:var(--space-3)}
  .hub-card{flex-direction:row}
  .hub-card-img{flex:0 0 104px;aspect-ratio:auto;align-self:stretch}
  .hub-card-body{padding:var(--space-3);gap:var(--space-1)}
  .hub-card-name{font-size:var(--text-body)}
  .hub-dl{grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-2)}
  .hub-card-store{padding-top:var(--space-1)}
}
