/* Loaded only where Fort widgets appear. Theme tokens are the primary source. */
/* SECTION SIDE PADDING - one token for every Fort section (content column = theme header column).
   --fort-section-inline is used as `padding-inline` on the section itself, so `100%` is the section width:
   below the header max it equals the header padding; above it, the section background stays full-bleed and the
   content is centred in a --fort-section-max column. Theme tokens (tokens.css) are primary; the fallbacks keep
   the plugin usable without the theme. Opt out per widget: Advanced > Fort layout > Full-width content
   (class .fort-section--full) or the legacy .fort-full class; both restore --fort-section-inline-bleed. */
:root{
--fort-section-pad:var(--fort-header-pad-inline,clamp(24px,5.6vw,80px));
--fort-section-max:var(--fort-header-max,1440px);
--fort-section-inline:max(var(--fort-section-pad),calc((100% - var(--fort-section-max)) / 2 + var(--fort-section-pad)));
--fort-section-inline-bleed:clamp(24px,5.6vw,80px)}
.elementor-widget.fort-section--full,.elementor-widget.fort-full{--fort-section-inline:var(--fort-section-inline-bleed)}
.fort-heading-section,.fort-feature-cards,.fort-studio-grid,.fort-class-cards,.fort-colour-panels,.fort-training-blocks,.fort-coach-strip{padding:var(--fort-space-9,110px) var(--fort-section-inline)}
.fort-section-pad--cta{padding-block:90px}.fort-section-pad--none{padding-block:0}
.fort-section-bg--bg{background:var(--fort-color-bg,#fff)}.fort-section-bg--bg-alt{background:var(--fort-color-surface,#f4f5f7)}.fort-section-bg--white{background:#fff}.fort-section-bg--navy{background:var(--fort-color-primary,#112044);color:#fff}.fort-section-bg--navy-dark{background:var(--fort-color-navy-dark,#0c1836);color:#fff}.fort-section-bg--red{background:var(--fort-color-red,#bf2538);color:#fff}
.fort-section-heading{margin:0 0 56px}.fort-section-heading:empty{margin:0}.fort-section-heading--centre{text-align:center}.fort-section-heading__eyebrow,.fort-hero__eyebrow{display:block;font:600 14px var(--fort-font-label,Oswald,sans-serif);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:16px}.fort-eyebrow--red{color:var(--fort-color-red,#ca273c)}.fort-eyebrow--blue{color:var(--fort-color-blue,#70bbed)}.fort-eyebrow--white{color:#fff}.fort-eyebrow--gold{color:var(--fort-color-accent,#e0a100)}
.fort-section-heading__title{font:400 clamp(40px,4vw,56px)/1.05 var(--fort-font-display,'Bebas Neue',sans-serif);text-transform:uppercase;margin:0}.fort-section-heading--xl .fort-section-heading__title{font-size:clamp(40px,5vw,64px)}.fort-section-heading--s .fort-section-heading__title{font-size:clamp(40px,4vw,52px)}.fort-section-heading--m .fort-section-heading__title{font-size:40px}.fort-section-heading__lead{font:400 17px/1.65 var(--fort-font-body,'Open Sans',sans-serif);max-width:680px;margin:16px 0 0}.fort-section-heading--centre .fort-section-heading__lead{margin-inline:auto}
.fort-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:16px 30px;border:1.5px solid transparent;border-radius:3px;font:600 14px var(--fort-font-label,Oswald,sans-serif);letter-spacing:1.2px;text-transform:uppercase;text-decoration:none!important;white-space:nowrap;transition:opacity .2s}.fort-button:hover{opacity:.85}.fort-button:focus-visible{outline:3px solid var(--fort-color-blue,#70bbed);outline-offset:3px}.fort-button--small{padding:14px 26px;font-size:13px}.fort-button--red{background:var(--fort-color-red,#ca273c);color:#fff}.fort-button--navy{background:var(--fort-color-primary,#112044);color:#fff}.fort-button--white{background:#fff;color:var(--fort-color-red,#ca273c)}.fort-button--outline{border-color:#fff;color:#fff}.fort-button--outline-navy{border-color:var(--fort-color-primary,#112044);color:var(--fort-color-primary,#112044)}
@media(max-width:960px){.fort-heading-section,.fort-feature-cards,.fort-studio-grid,.fort-class-cards,.fort-colour-panels,.fort-training-blocks,.fort-coach-strip{padding-block:72px}}@media(max-width:640px){.fort-section-heading{margin-bottom:56px}}
/* Presets override each component's default box rules. */
section.fort-section-pad--default{padding-block:110px}
section.fort-section-pad--cta{padding-block:90px}
section.fort-section-pad--none{padding-block:0}
section.fort-section-bg--bg{background:var(--fort-bg,#fafaf8)}
section.fort-section-bg--bg-alt{background:var(--fort-bg-alt,#efede5)}
section.fort-section-bg--white{background:var(--fort-white,#fff)}
section.fort-section-bg--navy{background:var(--fort-navy,#111f43);color:#fff}
section.fort-section-bg--navy-dark{background:var(--fort-navy-dark,#0b1635);color:#fff}
section.fort-section-bg--red{background:var(--fort-red,#a63232);color:#fff}
@media(max-width:960px){section.fort-section-pad--default{padding-block:72px}}
/* Two white Fort sections in a row each bring a full block pad, so the seam is two pads.
   Keep the first section's bottom pad and drop the next section's top pad. */
.e-con:has(> .elementor-widget > .elementor-widget-container > section.fort-section-bg--white.fort-section-pad--default) + .e-con:has(> .elementor-widget > .elementor-widget-container > section.fort-section-bg--white.fort-section-pad--default) > .elementor-widget > .elementor-widget-container > section.fort-section-pad--default{padding-block-start:0}
.fort-section-heading__title{color:var(--fort-navy)}
.fort-section-bg--navy .fort-section-heading__title,.fort-section-bg--navy-dark .fort-section-heading__title,.fort-section-bg--red .fort-section-heading__title{color:#fff}
.fort-section-heading__lead{color:var(--fort-text-gray)}
.fort-section-heading--48 .fort-section-heading__title{font-size:48px}
.fort-section-bg--navy .fort-section-heading__lead,.fort-section-bg--navy-dark .fort-section-heading__lead,.fort-section-bg--red .fort-section-heading__lead{color:var(--fort-text-on-dark-strong)}
/* Optional section button (Studios grid, Class cards): centred under the grid. */
.fort-section-cta{display:flex;justify-content:center;margin-top:48px}

/* Second heading line (doc revisions 2026-10-12): smaller display line under the title. */
.fort-section-heading__sub{font:400 clamp(26px,2.6vw,34px)/1.05 var(--fort-font-display,"Bebas Neue",sans-serif);text-transform:uppercase;color:var(--fort-navy);margin:6px 0 0}
.fort-section-bg--navy .fort-section-heading__sub,.fort-section-bg--navy-dark .fort-section-heading__sub,.fort-section-bg--red .fort-section-heading__sub{color:#fff}
