/* FILE: assets/css/stl-hub.css
 MoFutbol STL Soccer Hub styles (companion to stl-hub.js)
 Inherits CSS variables from style.css
 */

/* PRO TIER cards */.stl-hub-tier-grid{
 display:grid;gap:1rem;
 grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}.stl-hub-tier-card{
 position:relative;padding:1.25rem 1.25rem 1rem;
 background:var(--surface);border:1px solid var(--border);
 border-radius:var(--r-md);
 border-top:3px solid var(--tier-color,var(--accent));
 display:flex;flex-direction:column;gap:.55rem;
 transition:transform.15s ease,border-color.15s ease;
}.stl-hub-tier-card:hover{transform:translateY(-2px);border-color:var(--tier-color,var(--accent));}.stl-hub-tier-head{display:flex;align-items:flex-start;gap:.75rem;}.stl-hub-tier-icon{font-size:1.6rem;line-height:1;}.stl-hub-tier-league{
 font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;
 color:var(--tier-color,var(--accent));text-transform:uppercase;font-weight:700;
}.stl-hub-tier-club{
 font-family:var(--f-display),sans-serif;font-size:1.15rem;font-weight:900;
 color:var(--text);line-height:1.2;margin:0;
}.stl-hub-tier-blurb{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0;}.stl-hub-tier-meta{
 display:flex;flex-wrap:wrap;gap:.6rem;
 font-family:var(--f-mono);font-size:.65rem;color:var(--muted);
}.stl-hub-tier-note{
 margin-top:.25rem;padding:.55rem.75rem;background:var(--surface-2);
 border-left:3px solid var(--tier-color,var(--accent));
 border-radius:var(--r-sm);font-size:.78rem;color:var(--text);
}.stl-hub-tier-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.5rem;}.stl-hub-tier-link{
 font-family:var(--f-mono);font-size:.7rem;color:var(--tier-color,var(--accent));
 text-decoration:none;border-bottom:1px solid transparent;
 transition:border-color.15s ease;
}.stl-hub-tier-link:hover{border-color:var(--tier-color,var(--accent));}

/* LEAGUE blocks (NPSL/MWPL/MLS Next/ECNL/DA/College) */.stl-hub-league{
 margin-top:1.5rem;padding:1.25rem;
 background:var(--surface);border:1px solid var(--border);
 border-radius:var(--r-md);
 border-left:3px solid var(--lg-color,var(--accent));
}.stl-hub-league:first-child{margin-top:0;}.stl-hub-league-head{
 display:flex;justify-content:space-between;align-items:flex-start;
 gap:1rem;flex-wrap:wrap;margin-bottom:1rem;
}.stl-hub-league-title{
 display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;
 font-family:var(--f-display),sans-serif;font-size:1.05rem;font-weight:900;
 color:var(--text);letter-spacing:.02em;
}.stl-hub-league-icon{font-size:1.2rem;}.stl-hub-league-blurb{
 margin-top:.4rem;font-size:.85rem;color:var(--muted);line-height:1.55;
 max-width:70ch;
}.stl-hub-league-actions{display:flex;flex-wrap:wrap;gap:.5rem;}.stl-hub-status{
 font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;
 padding:.25rem.55rem;border-radius:var(--r-full);
 background:var(--accent-bg);color:var(--accent);
}

/* TEAM TABLES */.stl-hub-table-wrap{overflow-x:auto;border-radius:var(--r-sm);}.stl-hub-table{
 width:100%;border-collapse:collapse;font-size:.88rem;
}.stl-hub-table thead th{
 text-align:left;padding:.6rem.8rem;
 font-family:var(--f-mono);font-size:.65rem;letter-spacing:.06em;
 color:var(--muted);text-transform:uppercase;
 border-bottom:1px solid var(--border);
 background:var(--surface-2);
}.stl-hub-table tbody td{
 padding:.7rem.8rem;border-bottom:1px solid var(--border);
 vertical-align:top;color:var(--text);
}.stl-hub-table tbody tr:hover td{background:var(--surface-2);}.stl-hub-table tbody tr:last-child td{border-bottom:none;}.stl-hub-team-name strong{font-weight:700;}.stl-hub-team-note{
 margin-top:.25rem;font-family:var(--f-mono);font-size:.65rem;color:var(--muted);
 line-height:1.4;
}.stl-hub-mascot{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);}.stl-hub-team-venue{font-size:.8rem;color:var(--muted);}.stl-hub-team-side{display:flex;flex-wrap:wrap;gap:.3rem;}.stl-hub-team-links{display:flex;gap:.5rem;align-items:center;}.stl-hub-team-link{
 text-decoration:none;font-size:.95rem;
 padding:.2rem.35rem;border-radius:var(--r-sm);
 transition:background.15s ease;
}.stl-hub-team-link:hover{background:var(--surface-3);}

/* TAGS */.stl-hub-tag{
 display:inline-block;padding:.18rem.5rem;
 font-family:var(--f-mono);font-size:.6rem;letter-spacing:.05em;
 border-radius:var(--r-full);background:var(--surface-2);color:var(--text);
 border:1px solid var(--border);
}.stl-hub-tag--m{background:rgba(78,170,255,.12);color:#7ec0ff;border-color:rgba(78,170,255,.35);}.stl-hub-tag--w{background:rgba(231,76,154,.12);color:#f08fc1;border-color:rgba(231,76,154,.35);}.stl-hub-tag--ghost{background:transparent;color:var(--muted);}

/* COLLEGE specific */.stl-hub-coll-section{margin-top:1.25rem;}.stl-hub-coll-section:first-child{margin-top:0;}.stl-hub-coll-section-head{
 display:flex;align-items:center;justify-content:space-between;gap:1rem;
 flex-wrap:wrap;margin-bottom:.85rem;padding-bottom:.55rem;
 border-bottom:1px dashed var(--border);
}.stl-hub-coll-section-tag{
 font-family:var(--f-display),sans-serif;font-size:.78rem;font-weight:900;
 letter-spacing:.05em;color:var(--accent);text-transform:uppercase;
}.stl-hub-coll-section-tag--ghost{color:var(--muted);}.stl-hub-coll-section-meta{
 font-family:var(--f-mono);font-size:.65rem;color:var(--muted);letter-spacing:.04em;
}.stl-hub-coll-group{margin-top:1rem;}.stl-hub-coll-group:first-child{margin-top:0;}.stl-hub-coll-div{
 display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem;
}.stl-hub-coll-divbadge{
 font-family:var(--f-display),sans-serif;font-size:.78rem;font-weight:900;
 padding:.25rem.65rem;border-radius:var(--r-sm);
 background:var(--lg-color,var(--accent));color:#0a0a0a;letter-spacing:.04em;
}.stl-hub-coll-count{
 font-family:var(--f-mono);font-size:.62rem;color:var(--muted);letter-spacing:.04em;
}

/* PATHWAYS ladder */.stl-hub-ladder{
 list-style:none;padding:0;margin:0;
 display:grid;gap:.75rem;
 grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}.stl-hub-ladder-step{
 display:flex;align-items:flex-start;gap:.75rem;
 padding:.85rem 1rem;background:var(--surface);
 border:1px solid var(--border);border-radius:var(--r-md);
 border-left:3px solid var(--accent);
}.stl-hub-ladder-num{
 width:32px;height:32px;border-radius:50%;
 background:var(--accent);color:#0a0a0a;
 display:flex;align-items:center;justify-content:center;
 font-family:var(--f-display),sans-serif;font-weight:900;font-size:.95rem;
 flex-shrink:0;
}.stl-hub-ladder-label{
 font-weight:700;color:var(--text);font-size:.92rem;margin-bottom:.2rem;
}.stl-hub-ladder-desc{
 font-family:var(--f-mono);font-size:.7rem;color:var(--muted);line-height:1.5;
}

/* TRYOUTS grid */.stl-hub-tryout-grid{
 display:grid;gap:.75rem;
 grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}.stl-hub-tryout{
 padding:.85rem 1rem;background:var(--surface);
 border:1px solid var(--border);border-radius:var(--r-md);
 display:flex;flex-direction:column;gap:.3rem;
}.stl-hub-tryout-date{
 font-family:var(--f-mono);font-size:.68rem;color:var(--accent);
 letter-spacing:.06em;font-weight:700;text-transform:uppercase;
}.stl-hub-tryout-club{font-weight:700;font-size:.95rem;color:var(--text);}.stl-hub-tryout-detail{font-size:.85rem;color:var(--text);}.stl-hub-tryout-meta{
 font-family:var(--f-mono);font-size:.65rem;color:var(--muted);line-height:1.5;
}.stl-hub-tryout-level{
 margin-top:.35rem;padding:.25rem.55rem;align-self:flex-start;
 font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;
 border-radius:var(--r-full);background:var(--accent-bg);color:var(--accent);
 text-transform:uppercase;
}

/* Mobile */
@media (max-width:640px){.stl-hub-table thead{display:none;}.stl-hub-table tbody td{
 display:block;padding:.4rem.8rem;border-bottom:none;
 }.stl-hub-table tbody tr{
 display:block;padding:.6rem.2rem;border-bottom:1px solid var(--border);
 }.stl-hub-table tbody td:first-child{padding-top:.7rem;}.stl-hub-table tbody td:last-child{padding-bottom:.7rem;}.stl-hub-team-venue::before{content:" ";opacity:.6;}.stl-hub-team-links{padding-top:.3rem;}
}
