/* Shared body layout: brand-neutral and independent of public/authenticated rendering.
   Full-bleed backgrounds and the logo/tagline header are intentionally not containers. */
:root{--club-wide-max:1520px;--club-focused-max:1200px;--club-form-max:1120px;--club-content-max:var(--club-focused-max);--club-content-gutters:max(24px,6vw);--club-content-width:min(calc(100vw - var(--club-content-gutters)),var(--club-content-max))}
.club-content,
.club-site .club-home>.club-title,
.club-site .club-story-section>.club-title,
.club-site .club-home .club-service-content,
.club-site .club-home .club-service-intro,
.club-site .club-home .club-nav-wrap{box-sizing:border-box;width:var(--club-content-width);max-width:none;min-width:0;margin-inline:auto}
.club-site .club-home .club-nav-wrap{padding-inline:0}
.club-site .club-home .club-nav{width:100%}
.club-site .club-home .club-nav>ul{flex-wrap:wrap}
/* Copy and forms retain readable inner measures. */
.club-site .club-home .club-intro,
.club-site .club-home .club-story-copy{width:min(980px,var(--club-content-width));margin-inline:auto}
/* A secondary introductory block shares the primary copy's readable measure. */
.club-site .club-home .club-service-note{width:min(var(--club-form-max),var(--club-content-width))}
.club-site .club-home:has(>.club-service-note)>.club-service-intro{width:min(var(--club-form-max),var(--club-content-width));padding-inline:0}
.club-site .club-home .club-service-intro{text-wrap:pretty;padding-inline:max(0px,calc((var(--club-content-width) - 980px)/2))}
.club-site .club-service-content :is(.nfp-trf-form,.nfp-tryouts-card){width:100%;max-width:var(--club-form-max);margin-inline:auto}
/* Embedded PHP roots use the containing canvas rather than a second page cap. */
:is(.club-service-content,.nfp-ud-wrap) :is(.nfp-gal-wrap,.nfp-spn,.nfp-tp-wrap){width:100%;max-width:none;min-width:0;box-sizing:border-box}
:is(.club-service-content,.nfp-ud-wrap) .nfp-gal-wrap{padding-inline:0}
/* Legacy shortcode shells may sit inside a narrower theme column. Only roots break out. */
.nfp-ud-wrap:not(.club-content),.club-tool:not(.club-content){box-sizing:border-box;width:var(--club-content-width);max-width:none;margin-inline:calc((100% - var(--club-content-width))/2)}
.club-site .club-dashboard .nfp-ud-wrap,
.nfp-ud-wrap .club-tool,
.club-content :is(.nfp-ud-wrap,.club-tool){width:100%;max-width:100%;margin-inline:0}
/* Use real carousel container space, retaining existing mobile slides and arrow behavior. */
:is(.club-service-content,.nfp-ud-wrap) :is(.nfp-teams-wrap,.nfp-coaches-wrap){container-type:inline-size;container-name:club-carousel}
@container club-carousel (min-width:1050px){
 :is(.club-service-content,.nfp-ud-wrap) :is(.nfp-teams-wrap,.nfp-coaches-wrap) :is(.nfp-teams-track,.nfp-coaches-track){grid-auto-columns:calc((100% - 84px)/4)}
}
@container club-carousel (min-width:1400px){
 :is(.club-service-content,.nfp-ud-wrap) :is(.nfp-teams-wrap,.nfp-coaches-wrap) :is(.nfp-teams-track,.nfp-coaches-track){grid-auto-columns:calc((100% - 112px)/5)}
}

/* The dashboard service root owns Welcome, tabs, breadcrumbs and all panels.
   Higher specificity also protects it from previously cached legacy page CSS. */
.club-site .club-home.club-dashboard .club-service-content{width:var(--club-content-width);max-width:none;margin-inline:auto}
@media(min-width:1440px){.nfp-ud-wrap>.nfp-ud-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(min-width:1025px){
 .club-site .club-home .club-nav>ul{justify-content:space-evenly;column-gap:clamp(4px,.6vw,12px)}
}
/* Intentional inner measures: forms and prose, never the full operational canvas. */
.club-site .club-service-content .nfp-cf-wrap{width:100%;max-width:var(--club-form-max);margin-inline:auto}
.club-site .club-service-content :is(.nfp-reg-wrap,.nfp-tryouts-wrap){width:100%;max-width:var(--club-form-max);margin-inline:auto}
.club-site .club-about .club-story-copy{width:min(var(--club-form-max),var(--club-content-width))}

/* Desktop header composition follows the body canvas; tablet/phone stay unchanged. */
@media(min-width:1025px){
 .club-site .club-header .club-header__inner{width:min(calc(100vw - var(--club-content-gutters)),var(--club-wide-max));max-width:none}
 .club-site .club-header__inner>.club-socials{justify-content:flex-end}
}
/* Keep the existing guardian action prominent without a full-canvas callout. */
.club-site .club-service-content .club-family-entry{box-sizing:border-box;width:100%;max-width:var(--club-form-max);min-height:0;margin:0 auto 20px;padding:12px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}
.club-site .club-family-entry>a{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* One primary body canvas; the focused class retains only inner copy treatment. */
.club-site .club-canvas--focused .club-service-intro{padding-inline:max(0px,calc((var(--club-content-width) - var(--club-form-max))/2))}
.club-site .club-canvas--focused:has(>.club-service-note)>.club-service-intro{padding-inline:0}
@media(min-width:1025px){
 .club-site .club-home .club-nav-wrap{width:min(calc(100vw - var(--club-content-gutters)),var(--club-focused-max))}
}

/* Home copy and feature layout supersede the legacy narrow, stacked renderer. */
.club-site .club-home>.club-intro{width:min(var(--club-form-max),var(--club-content-width));margin-inline:auto}
.club-site .club-home>.club-features{display:grid;grid-template-columns:minmax(0,1fr);width:var(--club-content-width);max-width:none;margin-inline:auto;padding:0;gap:20px;align-items:stretch;box-sizing:border-box}
.club-site .club-home>.club-features>.club-feature{width:100%;max-width:none;min-width:0;box-sizing:border-box}
@media(min-width:768px){
 .club-site .club-home>.club-features{grid-template-columns:repeat(2,minmax(0,1fr))}
}
