/* PTP shared frontend visual system — 2026.09.10.1
 * Intentionally no display/position/z-index/overflow rules on functional widgets.
 * Scoped adapters beat legacy inline styles without changing booking behavior.
 * Do not apply to WordPress admin, emails, PDFs, maps or payment-provider iframes.
 */
:root {
  --ptp-ui-gold: #FCB900;
  --ptp-ui-ink: #0A0A0A;
  --ptp-ui-paper: #FFFFFF;
  --ptp-ui-surface: #F7F7F2;
  --ptp-ui-muted: #595951;
  --ptp-ui-line: #D4D4CB;
  --ptp-ui-input-line: #77776F;
  --ptp-ui-body: 'Inter', Arial, sans-serif;
  --ptp-ui-display: "Barlow Condensed", 'Arial Narrow', Arial, sans-serif;
  /* Shared media scale. One place decides how tall any PTP image gets. */
  --ptp-media-hero: 420px; --ptp-media-poster: 520px; --ptp-media-card: 260px; --ptp-media-avatar: 44px;
  --ptp-ui-gutter: clamp(20px, 4vw, 48px);
  --ptp-ui-section: clamp(48px, 7vw, 96px);
  --ptp-ui-content: 1200px;
}
/* Campaign and clinic adapters share one palette, type scale and control shape. */
html body:not(.wp-admin) :is(.mc,.ptp-fc,.ptp-cinema,.ptp-gc-wrapper,.pcx,.ptp-prereg,.ptp-home-clinic,.ptp-gc,.mt-wrap){
  --font-serif:var(--ptp-ui-display);--font-sans:var(--ptp-ui-body);--mc-gold:var(--ptp-ui-gold);--mc-black:var(--ptp-ui-ink);--mc-bg:#f4f3ed;--mc-border:var(--ptp-ui-line);
  --pgc-font-h:var(--ptp-ui-display);--pgc-font-b:var(--ptp-ui-body);--pgc-k:var(--ptp-ui-ink);--pgc-y:var(--ptp-ui-gold);
  font-family:var(--ptp-ui-body)!important;
}
html body:not(.wp-admin) :is(.ptp-cinema,.ptp-gc-wrapper,.pcx,.ptp-prereg,.ptp-home-clinic,.ptp-gc,.mt-wrap) :is(h1,h2,h3,h4){font-family:var(--ptp-ui-display)!important;font-weight:800!important;letter-spacing:-.025em}
html body:not(.wp-admin) :is(.ptp-fc .fr,.ptp-proof__claim,.ptp-hero__stat-val,.mc-card-title,.mc-section-headline,.mc-section-headline em){font-family:var(--ptp-ui-display)!important;font-style:normal!important}
html body:not(.wp-admin) :is(.ptp-cinema .ptp-cinema-title h1,.mc .mc-hero-headline,.ptp-fc .ptp-hero h1,.ptp-gc-wrapper .ptp-gc-hero-h){font-family:var(--ptp-ui-display)!important;font-weight:800!important;font-size:clamp(52px,8vw,110px)!important;line-height:1!important;letter-spacing:-.035em!important;text-transform:uppercase;text-wrap:balance}
html body:not(.wp-admin) :is(.mc .mc-hero-headline em,.ptp-fc .ptp-hero h1 span){font-style:normal!important;color:#fff!important}
html body:not(.wp-admin) .mc .mc-hero-overlay{background:linear-gradient(180deg,#0003,#0005 35%,#000c)}
html body:not(.wp-admin) .mc .mc-hero{color:#fff}
html body:not(.wp-admin) .mc .mc-hero-content{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:88svh;max-width:1200px;padding:80px 28px;gap:0}
html body:not(.wp-admin) .mc .mc-hero-left{max-width:1000px}.mc .mc-hero-card{display:none!important}
html body:not(.wp-admin) .mc :is(.mc-hero-btns,.mc-hero-stats){justify-content:center;margin-inline:auto}
html body:not(.wp-admin) .mc .mc-hero-sub{max-width:600px;margin:24px auto;font-size:17px;line-height:1.6;color:#fff}
html body:not(.wp-admin) .mc .mc-hero-eyebrow{background:transparent;color:var(--ptp-ui-gold);font:700 11px/1.4 var(--ptp-ui-body);letter-spacing:.18em}
html body:not(.wp-admin) .ptp-fc .ptp-hero:not(.ptp-hero--ad){min-height:75svh;display:flex;align-items:center;justify-content:center;padding:70px 24px}
html body:not(.wp-admin) .ptp-fc .ptp-hero__content{max-width:1050px;width:100%}
html body:not(.wp-admin) .ptp-fc .ptp-hero__bg{background-image:url('https://ptpsummercamps.com/wp-content/uploads/2026/08/6__0094.jpg');opacity:1}
html body:not(.wp-admin) .ptp-fc .ptp-hero__bg:after{background:linear-gradient(180deg,#0005,#0006 30%,#000c)}
html body:not(.wp-admin) .ptp-fc .ptp-hero__sub{max-width:620px;font-size:17px;color:#fff}
html body:not(.wp-admin) .ptp-fc .ptp-hero__label{background:none;color:var(--ptp-ui-gold);letter-spacing:.16em;font-family:var(--ptp-ui-body);font-size:11px}
html body:not(.wp-admin) .ptp-fc .ptp-hero--ad h1{font-size:clamp(30px,5vw,54px)!important}
html body:not(.wp-admin) .ptp-fc .ptp-brand-hero-cta{margin-top:28px;display:inline-flex;align-items:center;gap:32px}.ptp-fc #ptp-camp-search{scroll-margin-top:28px}
html body:not(.wp-admin) :is(.ptp-cinema-button,.ptp-gc-hero-cta,.ptp-gc-btn,.pcx-btn,.pcx-reg-submit,.ppx-submit,.ptp-home-clinic-button,.gc-link,.mt-btn){border-radius:0!important;background:var(--ptp-ui-gold);color:var(--ptp-ui-ink);font:700 13px/1.4 var(--ptp-ui-body)!important;min-height:48px;padding:14px 24px;border:2px solid var(--ptp-ui-gold);text-transform:uppercase;text-decoration:none;box-shadow:none}
html body:not(.wp-admin) :is(.ptp-cinema,.ptp-gc-wrapper,.pcx,.ptp-prereg,.ptp-gc,.mt-wrap) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){font-family:var(--ptp-ui-body)!important;border-radius:0!important;font-size:16px;min-height:48px;border-color:#77776f}
html body:not(.wp-admin) :is(.mc-testimonial,.ptp-review,.ptp-row,.ptp-gc-card,.pcx-reg,.pcx-reg-body,.mt-card,.gc-approved-card){border-radius:0!important;box-shadow:none!important}
html body:not(.wp-admin) :is(.mc-testimonial,.ptp-review){border-top:3px solid var(--ptp-ui-gold);background:#fff}
html body:not(.wp-admin) .ptp-gc-wrapper .ptp-gc-hero{min-height:65svh;display:flex;align-items:center;padding-block:70px}
html body:not(.wp-admin) .ptp-gc-wrapper .ptp-gc-hero-scrim{background:linear-gradient(180deg,#0004,#000c)}
html body:not(.wp-admin) .ptp-gc-wrapper .ptp-gc-hero-inner{width:100%}
html body:not(.wp-admin) :is(.mc,.ptp-fc){background:#f4f3ed}
html body:not(.wp-admin) .ptp-brand-review-date{display:block;font:400 11px/1.5 var(--ptp-ui-body);color:#666;margin-top:10px}
.mc .mc-hero-motion{position:absolute;bottom:24px;left:24px;z-index:4;min-height:44px;padding:10px 16px;border:1px solid #fff;background:#111;color:#fff;font:600 12px Inter,Arial,sans-serif;cursor:pointer}
@media(max-width:760px){
 html body:not(.wp-admin) :is(.ptp-cinema .ptp-cinema-title h1,.mc .mc-hero-headline,.ptp-fc .ptp-hero h1,.ptp-gc-wrapper .ptp-gc-hero-h){font-size:clamp(42px,11vw,72px)!important}
 html body:not(.wp-admin) .mc .mc-hero-content{padding:66px 20px;min-height:85svh}
 html body:not(.wp-admin) .mc .mc-hero-sub,.ptp-fc .ptp-hero__sub{font-size:15px!important}
 html body:not(.wp-admin) .mc .mc-hero-btns{flex-wrap:wrap;max-width:100%}
 html body:not(.wp-admin) .ptp-fc .ptp-hero:not(.ptp-hero--ad){min-height:70svh;padding:56px 20px}
 html body:not(.wp-admin) .ptp-fc .ptp-hero__stats{gap:20px}
 html body:not(.wp-admin) .ptp-gc-wrapper .ptp-gc-hero{min-height:65svh;padding-block:48px}
 .mc .mc-hero-motion{bottom:10px;left:16px}
}
/* Shared type, including ordinary WordPress content pages. Icon fonts untouched. */
html body:not(.wp-admin) { font-family: var(--ptp-ui-body); }
html body:not(.wp-admin) :is(.mc,.ptp-fc,.pcr,.ptl,.ptpgs,.gsen,.ptp-public,.ptp-public-repair,.ft,.ft-main,.tp178-wrap,.ptp-auth,.dash,.pd-tab,.pd-hdr,.ptp-co,.ptp-bpx,.ptp-cart-v13,.checkout-page,.ptp-msg) {
  font-family: var(--ptp-ui-body) !important;
  --gold: var(--ptp-ui-gold); --black: var(--ptp-ui-ink);
  --font-body: var(--ptp-ui-body); --font-display: var(--ptp-ui-display);
  --radius-sm: 0px; --radius-md: 0px; --radius-lg: 0px; --radius-xl: 0px;
  --r: 0px; --r-sm: 0px; --r-md: 0px; --r-lg: 0px;
}
html body:not(.wp-admin) :is(h1,h2,h3,h4,h5,h6,.mc-sh,.ptl-sh,.pcr-h,.pcr-section-h,.pd-sec-title,.card-title,.ptp-co-title,.c-title,.pbx-sec-ttl,.checkout-title) {
  font-family: var(--ptp-ui-display) !important;
  font-weight: 600 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
}
html body:not(.wp-admin) :is(.mc-hero-headline,.ptp-hero h1,.ptl-hero h1,.ptp-public-hero h1) {
  font-size: clamp(44px, 7.2vw, 96px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase;
}
html body:not(.wp-admin) .pcr-h { font-size: clamp(32px,4vw,56px) !important; line-height: 1.05 !important; }
html body:not(.wp-admin) :is(.mc-hero-headline em,.ptl-sh em,.ptl-hero h1 em) {
  font-family: inherit !important; font-style: normal !important;
}
html body:not(.wp-admin) :is(.mc-section-title,.ptl-sh,.ptpgs-title,.ptp-public h2,.ptp-public-repair h2) {
  font-size: clamp(30px, 4vw, 48px) !important; line-height: 1.1 !important;
}
html body:not(.wp-admin) :is(.entry-content,.ptp-public,.ptp-public-repair) p {
  line-height: 1.65;
}
/* Consistent control geometry. No blanket background rule: calendars, toggles,
 * alerts, danger actions and progress indicators retain their state colors. */
html body:not(.wp-admin) :is(button,input[type='submit'],input[type='button'],.button,.wp-block-button__link,.elementor-button) {
  font-family: var(--ptp-ui-body) !important;
  border-radius: 0 !important;
}
html body:not(.wp-admin) :is(.mc-btn,.mc-card-cta,.ptp-btn,.pcr-pay,.pcr-stick-btn,.ptl-btn,.ptpgs-btn,.gsen-btn,.ptp-public-button,.ptp-next,.ptp-auth-submit,.pd-btn,.pd-hub-button,.pd-empty-cta,.pd-credit-btn,.dash .btn,.checkout-submit,.pbx-cta,.c-checkout-btn,.checkout-page .submit-btn,.mobile-summary-btn,.tp178-sidebar-book,.tp178-mobile-book,.tp178-cta,.ptp-msg-empty-btn,.wp-block-button__link,.elementor-button) {
  min-height: 48px !important;
  padding: 13px 24px !important;
  border: 2px solid var(--ptp-ui-gold) !important;
  border-radius: 0 !important;
  background: var(--ptp-ui-gold) !important;
  color: var(--ptp-ui-ink) !important;
  font-family: var(--ptp-ui-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: normal;
  box-shadow: none !important;
  text-align: center;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
@media (hover: hover) {
  html body:not(.wp-admin) :is(.mc-btn,.mc-card-cta,.ptp-btn,.pcr-pay,.pcr-stick-btn,.ptl-btn,.ptpgs-btn,.gsen-btn,.ptp-public-button,.ptp-next,.ptp-auth-submit,.pd-btn,.pd-hub-button,.pd-empty-cta,.pd-credit-btn,.dash .btn,.checkout-submit,.pbx-cta,.c-checkout-btn,.checkout-page .submit-btn,.mobile-summary-btn,.tp178-sidebar-book,.tp178-mobile-book,.tp178-cta,.ptp-msg-empty-btn,.wp-block-button__link,.elementor-button):hover:not(:disabled):not([aria-disabled='true']) {
    background: var(--ptp-ui-ink) !important; color: var(--ptp-ui-gold) !important;
    border-color: var(--ptp-ui-ink) !important;
  }
}
/* Outlined secondary actions remain legible on light AND photo/dark sections. */
html body:not(.wp-admin) :is(.mc-btn--outline,.ptp-btn--out,.ptpgs-btn.off,.pd-hub-button-light,.dash .btn-outline,.ptp-auth-google) {
  background: transparent !important; color: inherit !important;
  border: 2px solid currentColor !important; box-shadow: none !important;
  border-radius: 0 !important;
}
html body:not(.wp-admin) .dash .btn-danger {
  background: #FFF0F0 !important; color: #A31919 !important; border-color: #A31919 !important;
}
html body:not(.wp-admin) .dash .btn-green {
  background: #EAF7ED !important; color: #176633 !important; border-color: #176633 !important;
}
html body:not(.wp-admin) .dash .btn.btn-danger:hover:not(:disabled):not([aria-disabled='true']) {
  background: #A31919 !important; color: #FFFFFF !important; border-color: #A31919 !important;
}
html body:not(.wp-admin) .dash .btn.btn-green:hover:not(:disabled):not([aria-disabled='true']) {
  background: #176633 !important; color: #FFFFFF !important; border-color: #176633 !important;
}
html body:not(.wp-admin) :is(button,input[type='submit'],input[type='button']):disabled,
html body:not(.wp-admin) [aria-disabled='true'] {
  cursor: not-allowed !important; opacity: .6;
}
/* Text-entry inputs only. Native radio/checkbox/date icons and Stripe stay native. */
html body:not(.wp-admin) :is(.entry-content,.mc,.ptp-fc,.pcr,.ptl,.ptpgs,.gsen,.ptp-public,.ptp-auth,.dash,.pd-tab,.ptp-co,.ptp-bpx,.checkout-page,.ptp-cart-v13,.ptp-msg,.tp178-wrap) :is(input:not([type]),input[type='text'],input[type='email'],input[type='tel'],input[type='password'],input[type='number'],input[type='search'],input[type='date'],input[type='time'],select,textarea) {
  box-sizing: border-box;
  font-family: var(--ptp-ui-body) !important;
  font-size: 16px !important;
  min-height: 48px;
  max-width: 100%;
  border-radius: 0 !important;
  border: 1px solid var(--ptp-ui-input-line);
  background-color: var(--ptp-ui-paper);
  color: var(--ptp-ui-ink);
  line-height: 1.5;
}
html body:not(.wp-admin) :is(input,select,textarea)[aria-invalid='true'] {
  border: 2px solid #A31919 !important;
}
html body:not(.wp-admin) :is(input[type='checkbox'],input[type='radio']) { accent-color: var(--ptp-ui-ink); }
html body:not(.wp-admin) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--ptp-ui-gold) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--ptp-ui-ink) !important;
}
/* Open editorial sections replace floating rounded cards, not modals or alerts. */
html body:not(.wp-admin) :is(.mc-path,.mc-event-card,.mc-hero-card,.ptp-row,.ft-card,.ptl-cc,.ptl-rc,.ptpgs-card,.ptp-public-card,.ptp-public-repair,.pcr-card,.pcr-dayopt,.pcr-wk,.ptpgs-pill,.pd-sess,.pd-player,.dash .card,.scard,.ptp-co .checkout-section,.pbx-sec,.checkout-page .form-section) {
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body:not(.wp-admin) :is(.ptp-row,.ft-card,.ptl-cc,.ptl-rc,.ptpgs-card,.ptp-public-card,.pd-sess,.pd-player,.dash .card) {
  border-left: 0 !important; border-right: 0 !important; border-bottom: 0 !important;
  border-top: 1px solid var(--ptp-ui-line) !important;
}
html body:not(.wp-admin) :is(.ptp-public,.ptp-public-repair,.ptpgs) {
  width: 100%; box-sizing: border-box; max-width: var(--ptp-ui-content);
  padding-inline: var(--ptp-ui-gutter) !important;
  margin-inline: auto;
}
html body:not(.wp-admin) :is(.ptl-how,.ptl-coaches,.ptl-rev) { padding-block: var(--ptp-ui-section) !important; }
/* Public tabs are flat and underlined; portal nav positions/visibility untouched. */
html body:not(.wp-admin) :is(.ptp-public-nav,.pd-subtabs) {
  border-radius: 0 !important; box-shadow: none !important;
  background: var(--ptp-ui-paper) !important;
}
html body:not(.wp-admin) :is(.ptp-public-nav a,.pd-subtab) {
  border-radius: 0 !important; box-shadow: none !important;
  min-height: 44px; font-family: var(--ptp-ui-body) !important;
}
html body:not(.wp-admin) :is(.ptp-public-nav a[aria-current='page'],.pd-subtab[aria-selected='true']) {
  background: var(--ptp-ui-ink) !important; color: var(--ptp-ui-gold) !important;
}
/* Authentication: black brand panel / clean light form, shared with checkout. */
html body:not(.wp-admin) .ptp-auth {
  --text: var(--ptp-ui-ink); --text-dim: var(--ptp-ui-muted); --text-muted: var(--ptp-ui-muted);
  --surface: var(--ptp-ui-paper); --surface-2: var(--ptp-ui-surface); --border: var(--ptp-ui-line);
  background: var(--ptp-ui-paper) !important;
}
html body:not(.wp-admin) .ptp-auth-brand {
  --text: var(--ptp-ui-paper); --text-dim: #D1D1CB; --text-muted: #D1D1CB;
  background: var(--ptp-ui-ink) !important; color: var(--ptp-ui-paper);
}
html body:not(.wp-admin) .ptp-auth-form-panel { background: var(--ptp-ui-paper) !important; color: var(--ptp-ui-ink); }
html body:not(.wp-admin) .ptp-auth-field-link { color: #765700 !important; }
html body:not(.wp-admin) .ptp-auth-msg-error { background: #FFF0F0 !important; color: #A31919 !important; }
html body:not(.wp-admin) .ptp-auth-msg-success { background: #EAF7ED !important; color: #176633 !important; }
html body:not(.wp-admin) .ptp-auth-pass-wrap input { padding-right: 52px !important; }
html body:not(.wp-admin) .ptp-auth-pass-toggle { color: var(--ptp-ui-ink) !important; min-height: 44px; min-width: 44px; }
/* Portals share the same header and density, but keep their existing app layout. */
html body:not(.wp-admin) :is(.pd-hdr,.dash-header) {
  background: var(--ptp-ui-ink) !important; color: var(--ptp-ui-paper) !important;
  border-bottom: 3px solid var(--ptp-ui-gold);
}
html body:not(.wp-admin) :is(.dash-header::before,.dash-header::after) { background: none !important; }
html body:not(.wp-admin) :is(.dash-name,.pd-greeting,.ptp-auth-form-header h2) {
  font-family: var(--ptp-ui-display) !important; font-size: clamp(28px,4vw,42px) !important;
  line-height: 1.1 !important;
}
html body:not(.wp-admin) :is(.pd-sec-title,.dash .card-title) { font-size: 22px !important; line-height: 1.2; }
html body:not(.wp-admin) :is(.pd-sec,.dash .card) { margin-bottom: 24px; }
html body:not(.wp-admin) :is(.pd-sess,.pd-player,.dash .card) { padding: 20px 16px; }
/* Checkout section rhythm, without moving Stripe elements or sticky pay bars. */
html body:not(.wp-admin) :is(.ptp-co,.ptp-bpx,.checkout-page,.ptp-cart-v13) { background-color: var(--ptp-ui-surface); }
html body:not(.wp-admin) :is(.ptp-co .checkout-section,.pbx-sec,.pbx-sum,.checkout-page .form-section,.c-sum) {
  border-radius: 0 !important; box-shadow: none !important;
}
html body:not(.wp-admin) :is(.pbx-sec,.checkout-page .form-section) { padding: 24px; }
/* Explanatory pages inherit typography, without changing their content widths. */
html body:not(.wp-admin) :is(.entry-content blockquote,.entry-content details) {
  border-radius: 0; box-shadow: none;
}
html body:not(.wp-admin) :is(.site-header,.site-footer,.elementor-location-header,.elementor-location-footer) :is(a,button,p) {
  font-family: var(--ptp-ui-body) !important;
}
@media (max-width: 600px) {
  html body:not(.wp-admin) :is(.ptpgs-grid,.ptp-public-grid) { grid-template-columns: minmax(0,1fr); }
  html body:not(.wp-admin) :is(.pd-sess,.pd-player,.dash .card,.pbx-sec,.checkout-page .form-section) { padding: 20px 12px; }
  html body:not(.wp-admin) :is(.mc-btn,.mc-card-cta,.ptp-btn,.ptl-btn,.ptpgs-btn,.pd-hub-button) { padding-inline: 16px !important; }
  html body:not(.wp-admin) :is(.ptp-public-nav a,.pd-subtab) { padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  html body:not(.wp-admin) :is(.mc,.ptp-fc,.pcr,.ptl,.ptpgs,.ptp-public,.ptp-auth,.dash,.pd-tab,.ptp-co,.ptp-bpx,.checkout-page) *,
  html body:not(.wp-admin) :is(.mc,.ptp-fc,.pcr,.ptl,.ptpgs,.ptp-public,.ptp-auth,.dash,.pd-tab,.ptp-co,.ptp-bpx,.checkout-page) *::before,
  html body:not(.wp-admin) :is(.mc,.ptp-fc,.pcr,.ptl,.ptpgs,.ptp-public,.ptp-auth,.dash,.pd-tab,.ptp-co,.ptp-bpx,.checkout-page) *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}

/* PTP sports typography: display titles, readable task and form text. */
body:not(.wp-admin){font-family:var(--ptp-ui-body,Inter,Arial,sans-serif);font-weight:400}
body:not(.wp-admin) :is(main,#content,.ptp-gc,.gc-account-summary,.pcx,.ptp-prereg) :is(h1,h2,h3,h4){font-family:var(--ptp-ui-display,"Barlow Condensed","Arial Narrow",sans-serif)!important;font-weight:800!important;font-style:normal;line-height:1.08;letter-spacing:-.025em;text-transform:uppercase}
body:not(.wp-admin) :is(main,#content) :is(input,select,textarea){font-family:var(--ptp-ui-body,Inter,Arial,sans-serif);font-size:16px;line-height:1.5}
body:not(.wp-admin) :is(.ptp-gc,.gc-account-summary,.pcx,.ptp-prereg) :is(button,.gc-link,.pcx-pay){font-family:Inter,Arial,sans-serif!important;font-weight:700!important;letter-spacing:.025em;border-radius:0!important;min-height:48px}
#group-schedule.ptp-gc #group-participation{max-width:840px;margin:28px auto;border:1px solid #d4d4cb;background:#fff;padding:clamp(18px,3vw,32px)}
#group-schedule.ptp-gc #group-participation>summary{font:800 clamp(24px,3vw,32px)/1.15 "Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:-.02em;border-bottom:4px solid #fcb900;margin-bottom:20px;padding-bottom:20px}
#group-participation .gc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;border:0;padding:20px 0;margin:0;min-width:0}
#group-participation :is(.gc-fields,.gc-waiver) legend{font:800 22px/1.2 "Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:-.02em;padding:0}
#group-participation .gc-fields p{margin:0;min-width:0}
#group-participation .gc-fields label{font:600 14px/1.5 Inter,Arial,sans-serif;color:#111}
#group-participation .gc-fields :is(input,select,textarea){display:block;width:100%;margin-top:8px;box-sizing:border-box;font-weight:400!important;background:#fff}
#group-participation .gc-safety p:last-child{grid-column:1/-1}
#group-participation .gc-waiver{border:0;border-top:1px solid #d4d4cb;padding:20px 0;margin:16px 0;min-width:0;font:400 15px/1.6 Inter,Arial,sans-serif}
#group-participation .gc-waiver input[type=checkbox]{width:20px!important;height:20px;min-height:20px;accent-color:#111;vertical-align:middle;margin-right:8px}
#group-participation form>button{width:100%;margin-top:12px}
@media(max-width:600px){#group-participation .gc-fields{grid-template-columns:1fr;gap:16px}#group-schedule.ptp-gc #group-participation{margin:20px 0}#group-participation .gc-waiver label{display:flex;gap:8px;align-items:flex-start}#group-participation .gc-waiver input[type=checkbox]{flex-shrink:0}}

/* Athletic hierarchy: heavy display type, quieter readable booking controls. */
body:not(.wp-admin) :is(main,#content,.ptp-gc,.gc-account-summary,.pcx,.ptp-prereg,.ptp-cinema,.mc,.ptp-fc,.pd-hdr,.dash) :is(h1,h2,h3,h4){font-weight:800!important;letter-spacing:-.025em;line-height:1.02}
body:not(.wp-admin) :is(.gc-fields,.gc-waiver) legend{font-weight:800!important}
body:not(.wp-admin) :is(.ptp-gc,.gc-account-summary,.pcx,.ptp-prereg) :is(p,label){letter-spacing:normal}
body:not(.wp-admin) :is(.ptp-gc,.gc-account-summary,.pcx,.ptp-prereg) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #765700;outline-offset:3px}
body:not(.wp-admin) :is(.ptp-gc,.pcx,.ptp-prereg) :is(h1,h2,h3,h4){overflow-wrap:break-word}

/* v306.36.0 media sizing. Images are capped by the shared scale and always keep
   a declared box, so a tall upload cannot push the page content off a phone. */
body:not(.wp-admin) :is(.ptp-gc,.pcx,.ptp-prereg,.ptp-class-list) img{max-width:100%;height:auto}
#group-schedule.ptp-gc .gc-program-intro img{aspect-ratio:3/2;max-height:var(--ptp-media-hero);object-fit:cover}
/* Clinic poster and prereg flyer are the artwork, not decoration: they run at
   their own proportions and fill the column. Capping their height letterboxed a
   portrait flyer with black bars down both sides. */
.pcx .pcx-reg-photo img,.ptp-prereg .ppx-flyer-img{max-height:none;width:100%;height:auto}
.ptp-class-list .ptp-class-time img,.gc-card img,.gc-chosen img{width:var(--ptp-media-avatar);height:var(--ptp-media-avatar);aspect-ratio:1;object-fit:cover}
@media(max-width:600px){
 :root{--ptp-media-hero:220px;--ptp-media-poster:320px;--ptp-media-card:180px;--ptp-media-avatar:40px}
 #group-schedule.ptp-gc .gc-program-intro img{aspect-ratio:16/9}
}

/* Homepage clinic catalog: explicit layout independent of homepage builder CSS. */
html body .ptp-clinic-catalog{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:32px 20px;background:#fff;color:#111;}
html body .ptp-clinic-catalog *{box-sizing:border-box;}
html body .ptp-clinic-catalog>h2{font:800 clamp(32px,5vw,56px)/1.05 "Barlow Condensed",Oswald,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 12px!important;}
html body .ptp-clinic-catalog>p{font:400 16px/1.5 Inter,Arial,sans-serif!important;max-width:620px;margin:0 0 24px!important;color:#555;}
html body .ptp-clinic-catalog .ptp-home-clinic{margin:0 0 20px!important;padding:0!important;border:1px solid #d4d4cb;background:#f7f7f2;overflow:hidden;}
html body .ptp-clinic-catalog .ptp-home-clinic-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;width:100%;max-width:none;padding:0!important;}
html body .ptp-clinic-catalog img.ptp-home-clinic-photo{display:block!important;width:100%!important;max-width:100%!important;height:240px!important;object-fit:cover!important;object-position:center 48%;margin:0!important;border-radius:0;}
html body .ptp-clinic-catalog .ptp-home-clinic-copy{min-width:0;padding:22px 20px 12px;}
html body .ptp-clinic-catalog .ptp-home-clinic-copy h2{font:800 clamp(28px,4vw,40px)/1.1 "Barlow Condensed",Oswald,Arial,sans-serif!important;letter-spacing:-.02em;text-transform:uppercase;margin:8px 0 16px!important;overflow-wrap:break-word;}
html body .ptp-clinic-catalog .ptp-home-clinic-copy p{font:400 15px/1.55 Inter,Arial,sans-serif!important;margin:0 0 12px!important;}
html body .ptp-clinic-catalog .ptp-home-clinic-copy .ptp-home-clinic-kicker{font:700 12px/1.4 Inter,Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.08em;}
html body .ptp-clinic-catalog a.ptp-home-clinic-link{display:flex!important;align-items:center;justify-content:center;gap:10px;margin:0 20px 20px!important;padding:16px!important;min-height:52px;max-width:100%;white-space:normal!important;text-align:center;text-decoration:none!important;font:700 15px/1.4 Inter,Arial,sans-serif!important;background:#fcb900!important;color:#111!important;border:1px solid #111;}
html body .ptp-clinic-catalog a.ptp-home-clinic-link:focus-visible{outline:3px solid #765700;outline-offset:3px;}
@media(min-width:768px){html body .ptp-clinic-catalog{padding:48px 28px;}html body .ptp-clinic-catalog .ptp-home-clinic-inner{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)!important;}html body .ptp-clinic-catalog img.ptp-home-clinic-photo{grid-row:1/3;height:100%!important;min-height:340px;max-height:440px;}html body .ptp-clinic-catalog .ptp-home-clinic-copy{padding:28px 28px 12px;}html body .ptp-clinic-catalog a.ptp-home-clinic-link{grid-column:2;margin:0 28px 28px!important;align-self:end;}}

/* v306.36.9: audit repairs. Keep controls functional and photo overlays dark. */
html body:not(.wp-admin) .ptp-clinic-catalog .ptp-home-clinic {background:#F7F7F2!important;color:#0A0A0A!important;border:2px solid #0A0A0A;border-radius:0!important;box-shadow:none!important}
html body:not(.wp-admin) .ptp-clinic-catalog .ptp-home-clinic-copy :is(h2,p){color:#0A0A0A!important;opacity:1!important}
html body:not(.wp-admin) .ptp-clinic-catalog .ptp-home-clinic-copy .ptp-home-clinic-kicker{color:#765700!important}
html body:not(.wp-admin) :is(.ptph-shell,.ptph-cta,.ptph-menu,.pcl-card,.pcl-strip-all,.pcl-strip-ey,.pcl-tag,.pcl-badge,.pmc,.pgs-card,.pgs-meta,.pgs-map,.pgs-in,.pgs-btn,.gc-more,.gc-change,.gc-tools,.gc-card,.gc-link,.ptp-class-list a,.ptp-class-list summary){border-radius:0!important;box-shadow:none!important}
html body:not(.wp-admin) :is(.pcl-strip .pcl-card::after,.pcl-strip .pcl-card:hover){border-radius:0!important;box-shadow:none!important;transform:none}
html body:not(.wp-admin) .ptph-shell{background:#fff!important;border-bottom:2px solid #0A0A0A}
html body:not(.wp-admin) :is(.mc-event,.pcl-body,.pgs-head,.pgs-meta){background:#F7F7F2!important}
html body:not(.wp-admin) :is(.mc,.pgs-wrap){--mc-bg:#F7F7F2;--canvas:#F7F7F2;--ink3:#595951;--font-sans:Inter,Arial,sans-serif}
html body:not(.wp-admin) :is(.mc-testimonial-text,.mc-path-desc,.mc-why-desc,.pgs-note,.pgs-meta,.pgs-sub){font:400 16px/1.6 Inter,Arial,sans-serif!important;color:#595951}
html body:not(.wp-admin) :is(.pgs-lab,.pgs-spots,.pgs-price span,.pgs-extra,.ptp-class-list .gc-card-meta){color:#595951;font-size:14px}
html body:not(.wp-admin) :is(.pgs-title,.pgs-price){font-family:var(--ptp-ui-display)!important}
html body:not(.wp-admin) :is(.pgs-in,.pgs-btn,.ptp-audit-empty a){min-height:48px;font-size:16px;border-width:2px}
html body:not(.wp-admin) :is(.ptph-shell,.mc,.pgs-wrap,.pcl,.ptp-class-list) :is(a,button,input,select,summary):focus-visible{outline:3px solid #765700!important;outline-offset:3px}
html body:not(.wp-admin) .gc-initial{display:inline-flex;align-items:center;justify-content:center;background:#F7F7F2;color:#0A0A0A!important;font:700 18px/1 Inter,Arial,sans-serif}
html body:not(.wp-admin) .ptp-audit-empty{padding:28px 20px;max-width:1200px;margin:0 auto;background:#fff;color:#0A0A0A}
html body:not(.wp-admin) .ptp-audit-empty a{display:inline-flex;align-items:center;padding:12px 18px;margin:4px;background:#FCB900;color:#0A0A0A;border:2px solid #0A0A0A;text-decoration:none;font-weight:700}
@media(max-width:600px){
 html body:not(.wp-admin) :is(.pgs-wrap,.ptp-clinic-catalog){width:100%;max-width:100%;padding-inline:16px;box-sizing:border-box}
 html body:not(.wp-admin) :is(.pgs-in,.pgs-btn){width:100%;box-sizing:border-box}
 html body:not(.wp-admin) .ptp-audit-empty a{display:flex;justify-content:center;margin:10px 0}
 html body:not(.wp-admin) .ptp-home-clinic-link{white-space:normal;overflow-wrap:anywhere}
}
