@import url("/assets/site-footer-unified.css?v=20260920r2");
/* New Softball Game Plan identity and responsive marketing safeguards. */
:root{--sgp-brand-navy:#071a33;--sgp-brand-coral:#ff5944}
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,iframe{max-width:100%}

/* Use the supplied white wordmark anywhere the marketing brand sits on navy. */
header:has(nav[aria-label="Main navigation"]) a[aria-label="Softball Game Plan home"],
.sgp-marketing-page footer a[aria-label="Softball Game Plan home"]{display:inline-flex!important;width:190px!important;height:58px!important;min-width:190px;flex:0 0 190px;align-items:center;text-decoration:none!important}
header:has(nav[aria-label="Main navigation"]) a[aria-label="Softball Game Plan home"]>span,
.sgp-marketing-page footer a[aria-label="Softball Game Plan home"]>span{display:none!important}
.sgp-header-logo{display:block;width:190px!important;height:auto!important;max-height:58px;object-fit:contain;object-position:left center}

/* The desktop header appears only when all labels and actions fit without wrapping. */
header:has(>nav[aria-label="Main navigation"]),
header:has(>div>nav[aria-label="Main navigation"])>div{max-width:1760px!important;padding-inline:clamp(18px,2.2vw,38px)!important;gap:clamp(12px,1.2vw,22px)}
header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]{display:flex;flex:1 1 auto;justify-content:center;gap:clamp(.75rem,1.15vw,1.35rem)!important;min-width:0}
header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]>a{flex:none;font-size:clamp(.76rem,.78vw,.875rem)!important;line-height:1.2!important;overflow-wrap:normal!important;word-break:normal!important;white-space:nowrap!important}
header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]+div{display:flex;flex:0 0 auto;gap:8px!important;min-width:0}
header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]+div>a{font-size:.8rem!important;line-height:1.15!important;overflow-wrap:normal!important;white-space:nowrap!important}
header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]+div>a[href*="/signup"]{padding:.68rem 1rem!important}
header:has(nav[aria-label="Main navigation"]) .sgp-player-login-link{font-size:.78rem!important;padding:.62rem .78rem!important;white-space:nowrap!important}
header:has(nav[aria-label="Main navigation"]) details{display:none!important}

/* Light custom pages use the supplied full-color navy/coral wordmark. */
.pp-brand,.legal-brand,.fc-brand{display:inline-flex!important;align-items:center;gap:9px;min-width:0;text-decoration:none}
.pp-brand img,.legal-brand img{content:url('/softball-game-plan-logo-color.png');width:180px!important;height:auto!important;max-height:58px;object-fit:contain;flex:0 1 180px}
.pp-brand::after,.legal-brand::after{content:none}
.pp-brand .pp-brand-label{margin-left:5px}
.pp-loading>img{content:url('/softball-game-plan-logo-color.png');width:220px!important;max-height:94px;object-fit:contain}
.fc-mark{order:0;width:180px!important;height:54px!important;flex:0 1 180px!important;border-radius:0!important;background:transparent url('/softball-game-plan-logo-color.png') left center/contain no-repeat!important;color:transparent!important;font-size:0!important}
.fc-brand-logo{order:0;display:block;width:180px!important;height:auto!important;max-height:54px;flex:0 1 180px!important;object-fit:contain;object-position:left center}
.fc-brand::before{content:none}
.fc-brand>span:last-child{order:2;padding-left:10px;border-left:1px solid #d8e0e8;font-size:.78rem;line-height:1.15;letter-spacing:0}

/* Page-level containment and sensible type scaling. */
.responsive-page section,.responsive-page article,.responsive-page div,.pp-card,.fc-card,.legal-card{min-width:0}
.responsive-page :where(h1,h2,h3,p,a,button),.pp-shell :where(h1,h2,h3,p,a,button){overflow-wrap:anywhere}
.responsive-page :where(input,select,textarea,button),.pp-shell :where(input,select,textarea,button){max-width:100%;min-width:0}

@media(max-width:1500px){
  header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"],
  header:has(nav[aria-label="Main navigation"]) nav[aria-label="Main navigation"]+div{display:none!important}
  header:has(nav[aria-label="Main navigation"]) details{display:block!important;margin-left:auto}
  header:has(nav[aria-label="Main navigation"]) details nav{display:grid!important}
  header:has(>nav[aria-label="Main navigation"]),
  header:has(>div>nav[aria-label="Main navigation"])>div{max-width:1240px!important}
}
@media(max-width:767px){
  body{font-size:.95rem}
  header:has(nav[aria-label="Main navigation"]) a[aria-label="Softball Game Plan home"],
  .sgp-marketing-page footer a[aria-label="Softball Game Plan home"]{width:170px!important;height:52px!important;min-width:170px;flex-basis:170px}
  .sgp-header-logo{width:170px!important;max-height:52px}
  .responsive-page .sgp-page-hero h1,.responsive-page .coach-site-hero h1{font-size:clamp(2.1rem,10.5vw,2.85rem)!important;line-height:1.01!important}
  .responsive-page section h2{font-size:clamp(1.72rem,8.2vw,2.35rem)!important;line-height:1.06!important}
  .responsive-page p{font-size:.94rem;line-height:1.62}
  .responsive-page a[class],.responsive-page button{font-size:.88rem}
  .pp-brand img,.legal-brand img{width:160px!important;height:auto!important;max-height:50px;flex-basis:160px}
  .fc-mark{width:160px!important;height:48px!important;flex-basis:160px!important}
  .fc-brand-logo{width:160px!important;max-height:48px;flex-basis:160px!important}
  .pp-brand .pp-brand-label,.fc-brand>span:last-child{display:none!important}
}
@media(max-width:430px){
  body{font-size:.93rem}
  header:has(nav[aria-label="Main navigation"]) a[aria-label="Softball Game Plan home"],
  .sgp-marketing-page footer a[aria-label="Softball Game Plan home"]{width:150px!important;height:46px!important;min-width:150px;flex-basis:150px}
  .sgp-header-logo{width:150px!important;max-height:46px}
  .responsive-page .sgp-page-hero h1,.responsive-page .coach-site-hero h1{font-size:clamp(1.95rem,10vw,2.4rem)!important}
  .responsive-page section h2{font-size:clamp(1.55rem,7.8vw,2rem)!important}
  .responsive-page p{font-size:.9rem}
  .pp-brand img,.legal-brand img{width:145px!important;max-height:45px;flex-basis:145px}
  .fc-mark{width:145px!important;height:44px!important;flex-basis:145px!important}
  .fc-brand-logo{width:145px!important;max-height:44px;flex-basis:145px!important}
}

/* 2026-09-20 full website and demo QA safeguards. */
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(240,100,73,.5)!important;
  outline-offset:3px;
}
.fc-topbar-inner,.fc-layout,.sgp-global-footer__main,.sgp-global-footer__bottom-inner{min-width:0}
.fc-actions>a,.fc-actions>button,.sgp-global-footer__nav a{overflow-wrap:anywhere}
@media(max-width:520px){
  .fc-topbar{position:static}
  .fc-topbar-inner{align-items:center;gap:8px;padding:9px 12px}
  .fc-brand{flex:1 1 auto}
  .fc-mark{width:132px!important;height:40px!important;flex-basis:132px!important}
  .fc-brand-logo{width:132px!important;max-height:40px;flex-basis:132px!important}
  .fc-actions{flex:0 0 auto}
  .fc-actions .fc-button{min-height:42px;width:auto!important;padding:8px 10px!important;font-size:.72rem!important;white-space:nowrap!important}
  .fc-layout{padding:12px}
  .fc-mobile-select{margin-bottom:12px}
  .fc-hero h1,.fc-heading h1{font-size:clamp(1.78rem,10vw,2.35rem)!important;line-height:1.03}
}
@media(max-width:350px){
  .fc-mark{width:116px!important;height:36px!important;flex-basis:116px!important}
  .fc-brand-logo{width:116px!important;max-height:36px;flex-basis:116px!important}
  .fc-actions .fc-button{font-size:.68rem!important;padding:7px 8px!important}
  .sgp-global-footer__main,.sgp-global-footer__bottom-inner{padding-inline:16px}
}

/* 2026-09-20 shared typography, cards, contrast, and brand consistency. */
:root{
  --sgp-readable-ink:#0b1d36;
  --sgp-readable-muted:#52627a;
  --sgp-card-line:#dfe5ec;
  --sgp-card-radius:20px;
  --sgp-inner-radius:14px;
  --sgp-card-shadow:0 10px 30px rgba(11,29,54,.055);
  --fc-muted:#52627a;
  --pp-muted:#52627a;
  --fs-muted:#52627a;
}
html,body,button,input,select,textarea,summary,.sgp-global-footer{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{color:var(--sgp-readable-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

/* Primary content cards share one surface, border, radius, and depth. */
:where(.fc-card,.legal-card,.pp-card,.fs-card,.coach-site-feature-grid article,.coach-site-faq details){
  border-color:var(--sgp-card-line)!important;
  border-radius:var(--sgp-card-radius)!important;
  background:#fff;
  box-shadow:var(--sgp-card-shadow)!important;
}
/* Smaller boxes inside those cards use the same nested treatment. */
:where(.fc-item,.fc-stat,.fc-check,.pp-metric,.pp-tile,.pp-media-card,.pp-video-item,.pp-history-item,.pp-season,.pp-pair,.pp-team-logo,.fs-summary-grid>div,.coach-site-ui article){
  border-color:var(--sgp-card-line)!important;
  border-radius:var(--sgp-inner-radius)!important;
}

/* No informational label is rendered below a readable 12px baseline. */
.responsive-page :where([class*="text-[.62rem]"],[class*="text-[.65rem]"],[class*="text-[.68rem]"],[class*="text-[0.66rem]"]){
  font-size:.75rem!important;
  line-height:1.4!important;
}
.fc-stat span,.fc-status,.fc-pill,.fc-eyebrow,.fc-table th,.fc-player span,
.pp-chip,.pp-stat span,.pp-metric span,.pp-metric p,.pp-tile p,.pp-history-item p,.pp-team-logo span,.pp-pair span,.pp-source-note,.pp-media-card span:not(.pp-play),.pp-video-details span,.pp-video-details a,.pp-event p,.pp-reference p,.pp-source-link,.pp-footer-inner,
.fs-eyebrow,.fs-summary-grid span,.fs-pill-row a,.fs-card>span,
.coach-site-ui-bar,.coach-site-ui aside b,.coach-site-search,.coach-site-filters span,.coach-site-ui h3,.coach-site-ui article p,.coach-site-ui article em,.coach-site-preview-action,.coach-site-stats span{
  font-size:.75rem!important;
  line-height:1.4!important;
}
.coach-site-proof span,.coach-site-avatar,.coach-site-feature-grid article>span{
  font-size:.75rem!important;
  line-height:1.4!important;
}
.fc-card p,.fc-item small,.fc-heading p,.legal-card p,.legal-card li,.pp-card p,.pp-list,.fs-card li,.coach-site-feature-grid p,.coach-site-faq details p{
  color:var(--sgp-readable-muted)!important;
}
.coach-site-hero p{color:#d5dfeb!important}
.coach-site-proof span{color:#d7e1eb!important}
.coach-site-ui aside b{color:#c1cedd!important}
.coach-site-ui article p,.coach-site-ui article em,.coach-site-search,.coach-site-filters span{color:#52627a!important}
.coach-site-preview-action{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:7px 10px!important}
.legal-hero p:last-child{color:#d5dfeb!important}

/* Hero calls to action follow one shared treatment across player/family pages. */
.sgp-page-hero a[class~="min-h-13"],
.sgp-page-hero .fs-button,
.sgp-page-hero .coach-site-button{
  display:inline-flex!important;
  min-height:52px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5rem!important;
  border-radius:1rem!important;
  padding:.875rem 1.5rem!important;
  font-size:1rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center;
}
.sgp-page-hero a[href="https://app.softballgameplan.com/signup/"][class~="min-h-13"],
.sgp-page-hero .fs-button.coral,
.sgp-page-hero .coach-site-button.primary{
  border:1px solid transparent!important;
  background:#f06449!important;
  color:#fff!important;
  box-shadow:0 16px 40px rgba(240,100,73,.2)!important;
}
.sgp-page-hero a[href="https://app.softballgameplan.com/"][class~="min-h-13"],
.sgp-page-hero .fs-button.ghost,
.sgp-page-hero .coach-site-button.light{
  border:1px solid rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.sgp-page-hero a[class~="min-h-13"]:hover,
.sgp-page-hero .fs-button:hover,
.sgp-page-hero .coach-site-button:hover{transform:translateY(-2px)}

/* The supplied wordmarks remain sharp and undistorted at every breakpoint. */
.sgp-header-logo,.fc-brand-logo,.pp-brand img,.legal-brand img,.sgp-global-footer__logo img{
  aspect-ratio:auto;
  object-fit:contain;
}
@media(max-width:760px){
  :where(.fc-card,.legal-card,.pp-card,.fs-card,.coach-site-feature-grid article,.coach-site-faq details){border-radius:18px!important}
  .sgp-page-hero a[class~="min-h-13"],.sgp-page-hero .fs-button,.sgp-page-hero .coach-site-button{width:100%!important}
}
