/* TEAMGOLDUSA public Sports and Programs pages — 2026-07-27.2 */
.tg-program-page{background:var(--tg-soft)}
.tg-program-hero .tg-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)}
.tg-program-hero .tg-actions{margin-top:24px}
.tg-program-quick a{align-items:center}
.tg-program-quick a.is-current{background:rgba(244,197,66,.2);border-color:rgba(244,197,66,.7);box-shadow:inset 0 0 0 1px rgba(244,197,66,.12)}
.tg-program-quick a.is-current strong{color:#fff}
.tg-program-quick b{font-size:1.15rem}

.tg-program-intro{padding:42px 0 22px}
.tg-program-intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tg-program-family-card{display:flex;flex-direction:column;min-height:240px;padding:24px;border:1px solid var(--tg-line);border-radius:20px;background:#fff;color:var(--tg-ink);text-decoration:none;box-shadow:0 10px 32px rgba(7,26,51,.06);transition:.18s ease}
.tg-program-family-card:hover{transform:translateY(-3px);border-color:#9bb5d7;box-shadow:var(--tg-shadow)}
.tg-program-family-card h3{margin:8px 0;color:var(--tg-navy);font-size:1.35rem}
.tg-program-family-card p{margin:0;color:var(--tg-muted)}
.tg-program-family-card .tg-arrow{margin-top:auto;padding-top:18px}

.tg-sport-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tg-sport-card{display:block;padding:24px;border:1px solid var(--tg-line);border-radius:20px;background:#fff;color:var(--tg-ink);text-decoration:none;box-shadow:0 10px 32px rgba(7,26,51,.06);transition:.18s ease}
.tg-sport-card:hover{transform:translateY(-3px);border-color:#9bb5d7;box-shadow:var(--tg-shadow)}
.tg-sport-card h3{margin:8px 0;color:var(--tg-navy);font-size:1.35rem}
.tg-sport-card p{margin:0;color:var(--tg-muted)}

.tg-program-catalog-section{padding:46px 0 74px;background:#fff}
.tg-program-catalog-heading{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:end;margin-bottom:22px}
.tg-program-catalog-heading h2{margin:6px 0 10px;color:var(--tg-navy);font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.05;letter-spacing:-.04em}
.tg-program-catalog-heading p{max-width:780px;margin:0;color:var(--tg-muted)}
.tg-program-location-filter{display:block;color:var(--tg-navy);font-size:.82rem;font-weight:900}
.tg-program-location-filter select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #bdc9d8;border-radius:12px;background:#fff;color:var(--tg-navy);font:inherit}
.tg-program-offering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tg-program-offering-card{position:relative;display:flex;flex-direction:column;min-height:410px;padding:18px 16px;border:1px dashed #cbd7e5;border-radius:17px;background:#fff;color:var(--tg-ink);text-decoration:none;box-shadow:0 8px 22px rgba(7,26,51,.045);transition:.18s ease}
.tg-program-offering-card:hover{transform:translateY(-3px);border-style:solid;border-color:var(--tg-gold);box-shadow:0 16px 38px rgba(7,26,51,.12)}
.tg-program-offering-card[hidden]{display:none!important}
.tg-program-family-label{display:block;margin-bottom:8px;color:var(--tg-blue);font-size:.67rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.tg-program-offering-card h3{min-height:52px;margin:0 0 10px;color:var(--tg-navy);font-size:1.02rem;line-height:1.28}
.tg-program-age{display:block;padding-bottom:10px;border-bottom:1px solid #e8edf3;color:#607087;font-size:.78rem}
.tg-program-schedule{display:block;min-height:70px;padding:10px 0;border-bottom:1px solid #e8edf3}
.tg-program-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;color:#42526a;font-size:.77rem;line-height:1.3}
.tg-program-schedule-row+.tg-program-schedule-row{margin-top:5px}
.tg-program-schedule-row b{color:var(--tg-navy)}
.tg-program-coach{display:block;min-height:36px;padding:9px 0;border-bottom:1px solid #e8edf3;color:#42526a;font-size:.76rem}
.tg-program-coach.is-empty{color:#8a96a8}
.tg-program-price{display:block;padding-top:14px;color:var(--tg-navy);font-size:1.04rem}
.tg-program-site-name{display:block;margin-top:2px;color:var(--tg-muted);font-size:.7rem}
.tg-program-status{display:block;min-height:58px;margin-top:auto;padding-top:12px}
.tg-program-status strong,.tg-program-status small{display:block}
.tg-program-status strong{color:#067647;font-size:.78rem}
.tg-program-status small{margin-top:2px;color:var(--tg-muted);font-size:.69rem;line-height:1.3}
.tg-program-offering-card.status-coming-soon .tg-program-status strong{color:#8a5600}
.tg-program-offering-card.status-coming-soon .tg-program-status small,.tg-program-offering-card.status-closed .tg-program-status small{color:#d92d20;font-weight:850}
.tg-program-offering-card.status-limited .tg-program-status strong{color:#9b6c00}
.tg-program-offering-card.status-waitlist .tg-program-status strong{color:#9b6c00}
.tg-program-card-action{display:flex;justify-content:space-between;gap:12px;margin:12px -16px -18px;padding:12px 16px;border-radius:0 0 17px 17px;background:#f7f9fc;color:var(--tg-navy);font-size:.77rem;font-weight:900}
.tg-program-catalog-note{margin:18px 0 0;color:var(--tg-muted);font-size:.78rem}
.tg-program-empty{padding:26px;border:1px solid var(--tg-line);border-radius:18px;background:var(--tg-soft)}
.tg-program-empty h3{margin:0 0 5px;color:var(--tg-navy)}
.tg-program-empty p{margin:0;color:var(--tg-muted)}

.tg-program-content{padding:42px 0 68px}
.tg-program-content h2{margin:0 0 12px;color:var(--tg-navy);font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.07;letter-spacing:-.04em}
.tg-program-content-lead{max-width:800px;color:var(--tg-muted)}
.tg-program-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.tg-program-feature{padding:22px;border:1px solid var(--tg-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(7,26,51,.055)}
.tg-program-feature h3{margin:0 0 8px;color:var(--tg-navy)}
.tg-program-feature p{margin:0;color:var(--tg-muted)}

@media(max-width:1000px){
    .tg-program-hero .tg-hero-grid,.tg-program-catalog-heading{grid-template-columns:1fr}
    .tg-program-offering-grid,.tg-program-intro-grid,.tg-sport-card-grid,.tg-program-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tg-program-location-filter{max-width:380px}
}
@media(max-width:680px){
    .tg-program-offering-grid,.tg-program-intro-grid,.tg-sport-card-grid,.tg-program-feature-grid{grid-template-columns:1fr}
    .tg-program-offering-card{min-height:390px}
}
