.elementor-kit-19{--e-global-color-primary:#E46E00;--e-global-color-secondary:#2A272C;--e-global-color-text:#3E3B40;--e-global-color-accent:#C2410C;--e-global-color-custom_1:#1E1E1E;--e-global-color-custom_2:#2A272C;--e-global-color-custom_3:#3A373D;--e-global-color-custom_4:#F7F6F5;--e-global-color-custom_5:#FFFFFF;--e-global-color-custom_6:#3E3B40;--e-global-color-custom_7:#6E6970;--e-global-color-custom_8:#8A858C;--e-global-color-custom_9:#D9D6D5;--e-global-color-custom_10:#E46E00;--e-global-color-custom_11:#F0873A;--e-global-color-custom_12:#C2410C;--e-global-color-custom_13:#A0340A;--e-global-color-custom_14:#1F6F78;--e-global-color-custom_15:#3D9DA8;--e-global-color-custom_16:#2E7D51;--e-global-color-custom_17:#B45309;--e-global-color-custom_18:#B3261E;--e-global-color-custom_19:#2C6BA8;--e-global-typography-primary-font-family:"Barlow Semi Condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Barlow Semi Condensed";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;}.elementor-kit-19 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --ink-900:#1E1E1E; --ink-800:#2A272C; --ink-700:#3A373D; --surface-warm:#F7F6F5; --surface:#FFFFFF; --text:#3E3B40; --text-muted:#6E6970; --text-subtle:#8A858C; --border:#D9D6D5; --brand-fill:#E46E00; --brand-hi:#F0873A; --brand-text:#C2410C; --brand-text-deep:#A0340A; --teal:#1F6F78; --teal-on-dark:#3D9DA8; --success:#2E7D51; --warning:#B45309; --danger:#B3261E; --info:#2C6BA8; --font-heading:Barlow Semi Condensed; --font-body:Inter; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-6:1.5rem; --space-8:2rem; --space-12:3rem; --space-16:4rem; --radius-sm:4px; --radius-md:12px; --section-y:clamp(3.5rem, 2rem + 6vw, 8rem); --text-h1:clamp(2.5rem, 1.6rem + 3.6vw, 4rem); --text-h2:clamp(2rem, 1.5rem + 2vw, 3rem); --text-h3:clamp(1.5rem, 1.25rem + 1vw, 2rem); --text-h4:clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); --text-body:1rem; --text-small:0.875rem; --container-max:1200px; --measure:68ch; --logo-header:clamp(5rem, 2.5rem + 10vw, 9.375rem); --logo-footer:clamp(5rem, 4rem + 4vw, 8rem); --radius-pill:999px; }
/* Start custom CSS *//* TEC + Event Tickets mapped to the site's Elementor variables (v3). */
/* TEC derives some variables at :root (e.g. button-primary from accent-primary), so derived ones are redefined here too. */

body {
  --tec-font-family-sans-serif: var(--font-body), system-ui, sans-serif;
  --tec-font-family-base: var(--font-body), system-ui, sans-serif;
  --tec-font-weight-bold: 600;

  --tec-color-text-primary: var(--text);
  --tec-color-text-primary-light: var(--text-muted);
  --tec-color-text-secondary: var(--text-muted);
  --tec-color-text-events-title: var(--text);
  --tec-color-text-event-title: var(--text);
  --tec-color-text-event-date: var(--text);
  --tec-color-text-secondary-event-date: var(--text-muted);

  --tec-color-icon-primary: var(--text-muted);
  --tec-color-icon-primary-alt: var(--text-muted);
  --tec-color-icon-secondary: var(--text-subtle);
  --tec-color-icon-active: var(--text);
  --tec-color-icon-focus: var(--brand-text);
  --tec-color-icon-error: var(--danger);
  --tec-color-event-icon: var(--text);
  --tec-color-event-icon-hover: var(--brand-text);

  --tec-color-accent-primary: var(--brand-text);
  --tec-color-accent-primary-hover: var(--brand-text-deep);
  --tec-color-accent-primary-active: var(--brand-text-deep);
  --tec-color-accent-primary-background: color-mix(in srgb, var(--brand-text) 8%, transparent);
  --tec-color-accent-secondary: var(--ink-800);
  --tec-color-accent-secondary-hover: var(--ink-700);
  --tec-color-accent-secondary-active: var(--ink-900);
  --tec-color-accent-secondary-background: color-mix(in srgb, var(--ink-800) 8%, transparent);

  --tec-color-button-primary: var(--brand-text);
  --tec-color-button-primary-hover: var(--brand-text-deep);
  --tec-color-button-primary-active: var(--brand-text-deep);
  --tec-color-button-primary-background: color-mix(in srgb, var(--brand-text) 8%, transparent);
  --tec-color-button-secondary: var(--ink-800);
  --tec-color-button-secondary-hover: var(--ink-700);
  --tec-color-button-secondary-active: var(--ink-900);
  --tec-color-button-secondary-background: color-mix(in srgb, var(--ink-800) 8%, transparent);

  --tec-color-link-primary: var(--text);
  --tec-color-link-accent: var(--brand-text);
  --tec-color-link-accent-hover: var(--brand-text-deep);

  --tec-color-border-default: var(--border);
  --tec-color-border-secondary: var(--border);
  --tec-color-border-tertiary: var(--text-subtle);
  --tec-color-border-hover: var(--text-muted);
  --tec-color-border-active: var(--ink-800);

  --tec-color-background: var(--surface-warm);
  --tec-color-background-secondary: var(--surface);
  --tec-color-background-secondary-hover: var(--surface-warm);
  --tec-color-background-secondary-datepicker: var(--surface);
  --tec-color-accent-primary-background-datepicker: color-mix(in srgb, var(--brand-text) 8%, transparent);
  --tec-color-background-error: color-mix(in srgb, var(--danger) 8%, transparent);

  --tec-form-color-background: var(--surface);
  --tec-form-color-border-default: var(--text);
  --tec-form-color-border-active: var(--ink-800);
  --tec-form-color-border-secondary: var(--text-subtle);
  --tec-form-color-accent-primary: var(--brand-text);
  --tec-outline-color-default: var(--teal);

  --tec-color-background-primary-multiday: color-mix(in srgb, var(--brand-text) 24%, transparent);
  --tec-color-background-primary-multiday-hover: color-mix(in srgb, var(--brand-text) 34%, transparent);
  --tec-color-accent-primary-week-event: color-mix(in srgb, var(--brand-text) 10%, transparent);
  --tec-color-accent-primary-week-event-hover: color-mix(in srgb, var(--brand-text) 20%, transparent);

  /* Derived variables from the TEC views, re-declared so they resolve against the values above. */
  --tec-color-background-events-bar: var(--tec-color-background);
  --tec-color-background-events-bar-submit-button: var(--tec-color-button-primary);
  --tec-color-background-events-bar-submit-button-active: var(--tec-color-button-primary-active);
  --tec-color-background-events-bar-submit-button-hover: var(--tec-color-button-primary-hover);
  --tec-color-background-search-container: var(--tec-color-background-events-bar);
  --tec-color-background-subscribe-list-item-hover: var(--tec-color-background-secondary);
  --tec-color-background-tooltip: var(--tec-color-background);
  --tec-color-background-view-\73 elector: var(--tec-color-background-events-bar);
  --tec-color-background-view-\73 elector-list-item-hover: var(--tec-color-background-secondary);
  --tec-color-background-view-\73 elector-tabs: var(--tec-color-background-view-\73 elector);
  --tec-color-border-active-month-grid-hover: var(--tec-color-border-active);
  --tec-color-border-events-bar: var(--tec-color-border-secondary);
  --tec-color-border-secondary-month-grid: var(--tec-color-border-secondary);
  --tec-color-category-legend-default-1: var(--tec-color-accent-primary);
  --tec-color-category-text: var(--tec-color-text-primary);
  --tec-color-day-marker-current-month: var(--tec-color-day-marker-month);
  --tec-color-day-marker-current-month-active: var(--tec-color-day-marker-month-active);
  --tec-color-day-marker-current-month-hover: var(--tec-color-day-marker-month-hover);
  --tec-color-day-marker-month: var(--tec-color-text-primary);
  --tec-color-day-marker-month-active: var(--tec-color-text-primary-active);
  --tec-color-day-marker-month-hover: var(--tec-color-text-primary-hover);
  --tec-color-day-marker-past-month: var(--tec-color-text-primary);
  --tec-color-day-marker-past-month-active: var(--tec-color-day-marker-past-month);
  --tec-color-day-marker-past-month-hover: var(--tec-color-day-marker-past-month);
  --tec-color-icon-events-bar: var(--tec-color-icon-primary);
  --tec-color-icon-events-bar-active: var(--tec-color-icon-active);
  --tec-color-icon-events-bar-hover: var(--tec-color-icon-hover);
  --tec-color-recurring-icon-day: var(--tec-color-text-primary);
  --tec-color-recurring-icon-day-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-list: var(--tec-color-text-primary);
  --tec-color-recurring-icon-list-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-map: var(--tec-color-text-primary);
  --tec-color-recurring-icon-map-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-month: var(--tec-color-text-primary);
  --tec-color-recurring-icon-month-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-month-multiday: var(--tec-color-text-primary);
  --tec-color-recurring-icon-month-multiday-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-photo: var(--tec-color-text-primary);
  --tec-color-recurring-icon-photo-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-week: var(--tec-color-text-primary);
  --tec-color-recurring-icon-week-hover: var(--tec-color-text-primary);
  --tec-color-recurring-icon-week-multiday: var(--tec-color-text-primary);
  --tec-color-recurring-icon-week-multiday-hover: var(--tec-color-text-primary);
  --tec-color-text-day-of-week-month: var(--tec-color-text-secondary);
  --tec-color-text-day-of-week-week: var(--tec-color-text-secondary);
  --tec-color-text-event-title-list: var(--tec-color-text-events-title);
  --tec-color-text-events-bar-input: var(--tec-color-text-primary);
  --tec-color-text-events-bar-input-placeholder: var(--tec-color-text-secondary);
  --tec-color-text-events-bar-submit-button: var(--tec-color-background);
  --tec-color-text-events-bar-submit-button-active: var(--tec-color-text-events-bar-submit-button);
  --tec-color-text-events-bar-submit-button-hover: var(--tec-color-text-events-bar-submit-button);
  --tec-color-text-events-title-day: var(--tec-color-text-events-title);
  --tec-color-text-events-title-latest-past: var(--tec-color-text-events-title);
  --tec-color-text-events-title-month-multiday: var(--tec-color-text-events-title);
  --tec-color-text-events-title-widget-list: var(--tec-color-text-events-title);
  --tec-color-text-secondary-event-date-month: var(--tec-color-text-secondary-event-date);
  --tec-color-text-secondary-event-date-month-mobile: var(--tec-color-text-secondary-event-date-month);
  --tec-color-text-view-\73 elector-list-item: var(--tec-color-text-primary);
  --tec-color-text-view-\73 elector-list-item-hover: var(--tec-color-accent-secondary-hover);

  --tec-color-accent-primary-week-event-featured: color-mix(in srgb, var(--brand-text) 4%, transparent);
  --tec-color-accent-primary-week-event-featured-hover: color-mix(in srgb, var(--brand-text) 14%, transparent);
  --tec-color-background-messages: color-mix(in srgb, var(--ink-800) 8%, transparent);
  --tec-color-background-secondary-multiday: color-mix(in srgb, var(--ink-800) 24%, transparent);
  --tec-color-background-secondary-multiday-hover: color-mix(in srgb, var(--ink-800) 34%, transparent);
}

.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6,
.tribe-common .tribe-common-h7,
.tribe-common .tribe-common-h8,
.tribe-events .tribe-events-header__title-text,
.tribe-events-single-event-title,
.tribe-events-single-section-title {
  --tec-font-family-sans-serif: var(--font-heading), system-ui, sans-serif;
  --tec-font-weight-bold: 700;
}

/* Filled buttons match btn-primary (brand-fill, dark text). Variables are scoped to the button, so plugin rule specificity doesn't matter. */
.tribe-common-c-btn,
.tribe-tickets__tickets-buy,
.tribe-tickets__attendee__fields__footer_checkout-button {
  --tec-color-accent-primary: var(--brand-fill);
  --tec-color-accent-primary-hover: var(--brand-hi);
  --tec-color-accent-primary-active: var(--brand-hi);
  --tec-color-button-primary: var(--brand-fill);
  --tec-color-button-primary-hover: var(--brand-hi);
  --tec-color-button-primary-active: var(--brand-hi);
  --tec-color-background: var(--ink-900);
  --tec-color-background-events-bar-submit-button: var(--brand-fill);
  --tec-color-background-events-bar-submit-button-hover: var(--brand-hi);
  --tec-color-background-events-bar-submit-button-active: var(--brand-hi);
  --tec-color-text-events-bar-submit-button: var(--ink-900);
  --tec-color-text-events-bar-submit-button-hover: var(--ink-900);
  --tec-color-text-events-bar-submit-button-active: var(--ink-900);
}

.tribe-tickets__tickets-buy:disabled,
.tribe-tickets__attendee__fields__footer_checkout-button:disabled {
  --tec-color-accent-primary: var(--border);
  --tec-color-text-disabled: var(--text-muted);
}

/* Two hard-coded blues in Event Tickets that bypass the variables. */
.event-tickets .tribe-tickets__tickets-item-content-sale-label {
  background-color: color-mix(in srgb, var(--brand-text) 10%, var(--surface));
}

.accordion-header:focus {
  outline-color: var(--brand-text);
}


/* Inline hyperlinks on light surfaces. Elementor's atomic reset (.e-heading-base a, .e-paragraph-base a) removes colour and underline, so plain links inside text need an explicit treatment. Brand text is the approved link colour on light. */
.elementor .e-paragraph-base a:not(.e-button-base),
.elementor .e-heading-base a:not(.e-button-base),
.elementor .e-list-base a:not(.e-button-base) {
  color: var(--brand-text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.elementor .e-paragraph-base a:not(.e-button-base):hover,
.elementor .e-paragraph-base a:not(.e-button-base):focus-visible,
.elementor .e-heading-base a:not(.e-button-base):hover,
.elementor .e-heading-base a:not(.e-button-base):focus-visible,
.elementor .e-list-base a:not(.e-button-base):hover,
.elementor .e-list-base a:not(.e-button-base):focus-visible {
  color: var(--brand-text-deep);
}

/* Inline hyperlinks on dark surfaces: brand-hi is the approved dark-surface link colour. */
.elementor .text-on-dark a:not(.e-button-base),
.elementor .section-dark a:not(.e-button-base),
.elementor .section-darkest a:not(.e-button-base),
.elementor .link-on-dark a:not(.e-button-base) {
  color: var(--brand-hi);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.elementor .text-on-dark a:not(.e-button-base):hover,
.elementor .text-on-dark a:not(.e-button-base):focus-visible,
.elementor .section-dark a:not(.e-button-base):hover,
.elementor .section-dark a:not(.e-button-base):focus-visible,
.elementor .section-darkest a:not(.e-button-base):hover,
.elementor .section-darkest a:not(.e-button-base):focus-visible,
.elementor .link-on-dark a:not(.e-button-base):hover,
.elementor .link-on-dark a:not(.e-button-base):focus-visible {
  color: var(--surface);
}

/* Event calendar and Event Tickets: event titles and text links read as links on the light event surfaces. */
body {
  --tec-color-link-primary: var(--brand-text);
  --tec-color-text-events-title: var(--brand-text);
  --tec-color-text-event-title: var(--brand-text);
}


/* Event calendar / Event Tickets text links: colour only, so the plugin's own hover underline still works. */
body .tribe-common a.tribe-common-anchor-thin,
body .tribe-common a.tribe-common-anchor-thin-alt {
  color: var(--brand-text);
}
body .tribe-common a.tribe-common-anchor-thin:hover,
body .tribe-common a.tribe-common-anchor-thin:focus,
body .tribe-common a.tribe-common-anchor-thin-alt:hover,
body .tribe-common a.tribe-common-anchor-thin-alt:focus {
  color: var(--brand-text-deep);
}

/* Event calendar navigation links (view tabs, subscribe dropdown, back link) use the same link colour. */
body .tribe-events .tribe-events-c-view-\73 elector__list-item-link,
body .tribe-events .tribe-events-c-subscribe-dropdown__list-item-link,
body .tribe-events-back a,
body .tribe-events-gmap {
  color: var(--brand-text);
}
body .tribe-events .tribe-events-c-view-\73 elector__list-item-link:hover,
body .tribe-events .tribe-events-c-view-\73 elector__list-item-link:focus,
body .tribe-events .tribe-events-c-subscribe-dropdown__list-item-link:hover,
body .tribe-events .tribe-events-c-subscribe-dropdown__list-item-link:focus,
body .tribe-events-back a:hover,
body .tribe-events-back a:focus,
body .tribe-events-gmap:hover,
body .tribe-events-gmap:focus {
  color: var(--brand-text-deep);
}



/* Footer contact icons: flat brand-coloured icons, 44px targets, no circles. */
.elementor .footer-socials .elementor-social-icons-wrapper {
  gap: var(--space-1);
}
.elementor .footer-socials .elementor-icon {
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  background-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.elementor .footer-socials .elementor-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  transition: transform 0.2s ease;
}
.elementor .footer-socials .elementor-icon:hover {
  transform: translateY(-1px);
  background-color: color-mix(in srgb, currentColor 14%, transparent);
}
.elementor .footer-socials .elementor-icon:focus-visible {
  outline: 3px solid var(--teal-on-dark);
  outline-offset: 2px;
}
.elementor .footer-socials .elementor-social-icon-facebook {
  color: #1877F2;
}
.elementor .footer-socials .elementor-social-icon-instagram {
  color: #E4405F;
}
.elementor .footer-socials .elementor-social-icon-envelope {
  color: #EA4335;
}
.elementor .footer-socials .elementor-social-icon-phone-alt {
  color: #34A853;
}


/* Footer brand block: keep the logo aligned with the tagline and column edge. */
.elementor .footer-brand .elementor-widget-theme-site-logo {
  text-align: center;
}
.elementor .footer-brand .elementor-widget-theme-site-logo a {
  display: inline-block;
}


/* Footer legal links: colour only, no underline. brand-hi at rest, surface (white) on hover/focus. */
.elementor .footer-panel .footer-utility-link a,
.elementor .footer-panel .footer-utility-link a:visited {
  color: var(--brand-hi);
  text-decoration: none;
}
.elementor .footer-panel .footer-utility-link a:hover,
.elementor .footer-panel .footer-utility-link a:focus-visible {
  color: var(--surface);
}


/* Footer brand mark: compact logo so the tagline carries the footer statement. */
.elementor .footer-brand .elementor-widget-theme-site-logo img {
  width: var(--logo-footer);
  height: auto;
  max-width: 100%;
}


/* Mobile footer rail: keep the icons and both utility links on one line. */
@media (max-width: 767px) {
  .elementor .footer-socials .elementor-icon {
    width: 36px;
    height: 36px;
  }
  .elementor .footer-socials .elementor-icon svg {
    width: 20px;
    height: 20px;
  }
  .elementor .footer-panel-links {
    gap: var(--space-2);
  }
}

/* Header site title wordmark (2026-10-20). Two-line lockup: "On Point" over "Training".
   The Site Title widget is V3, so it is styled from the kit CSS, scoped to the header's nav-group.
   max-inline-size in em keeps the break after "Point" at every viewport and every font size. */
header.elementor-99 .nav-group .elementor-widget-theme-site-title .elementor-heading-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.25rem, 0.95rem + 1.3vw, 2.5rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  color: var(--surface-warm);
  max-inline-size: 4.6em;
}
header.elementor-99 .nav-group .elementor-widget-theme-site-title .elementor-heading-title a {
  color: inherit;
  text-decoration: none;
  transition: color 150ms ease;
}
header.elementor-99 .nav-group .elementor-widget-theme-site-title .elementor-heading-title a:hover,
header.elementor-99 .nav-group .elementor-widget-theme-site-title .elementor-heading-title a:focus-visible {
  color: var(--brand-hi);
}


/* Nav-menu carets (2026-10-22). The V3 Menu widget's Custom CSS sets item colours but not
   fill, so the sub-arrow SVGs inherited the classic global "Text" fill from Elementor's
   type-default rules. Once that global became the brand text colour (#3E3B40) the carets
   went near-invisible on the dark header (~1.66:1). Match the carets to the items. */
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item { fill: var(--surface-warm); }
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted { fill: var(--brand-hi); }
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item { fill: var(--surface-warm); }
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item:hover,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item:focus,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item:hover,
header.elementor-99 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item:focus { fill: var(--brand-hi); }


/* ── WooCommerce checkout process pages (2026-10-24) ─────────────────────
   Cart, checkout and attendee registration are not Elementor documents.
   This block puts the funnel on the design tokens. Scoped to body classes:
   woocommerce-cart, woocommerce-checkout, page-tribe-attendee-registration,
   woocommerce-order-received. */

body.woocommerce-cart,
body.woocommerce-checkout,
body.page-tribe-attendee-registration,
body.woocommerce-order-received {
  background: var(--surface-warm);
}

body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.page-tribe-attendee-registration #content,
body.woocommerce-order-received #content {
  padding-top: var(--space-8);
  padding-bottom: var(--space-12);
  color: var(--text);
  font-family: var(--font-body);
}

body.woocommerce-cart #content h1,
body.woocommerce-cart #content h2,
body.woocommerce-cart #content h3,
body.woocommerce-checkout #content h1,
body.woocommerce-checkout #content h2,
body.woocommerce-checkout #content h3,
body.page-tribe-attendee-registration #content h1,
body.page-tribe-attendee-registration #content h2,
body.page-tribe-attendee-registration #content h3,
body.woocommerce-order-received #content h1,
body.woocommerce-order-received #content h2,
body.woocommerce-order-received #content h3 {
  font-family: var(--font-heading);
  color: var(--text);
}

/* Sentence-case the block headings Woo ships uppercase. */
body.woocommerce-cart #content .wc-block-cart__totals-title,
body.woocommerce-cart #content .wc-block-cart-items__header th,
body.woocommerce-checkout #content .wc-block-components-title {
  text-transform: none;
  font-family: var(--font-heading);
  color: var(--text);
}

/* Links on the funnel pages */
body.woocommerce-cart #content a,
body.woocommerce-checkout #content a,
body.page-tribe-attendee-registration #content a,
body.woocommerce-order-received #content a {
  color: var(--brand-text);
}
body.woocommerce-cart #content a:hover,
body.woocommerce-cart #content a:focus,
body.woocommerce-checkout #content a:hover,
body.woocommerce-checkout #content a:focus,
body.page-tribe-attendee-registration #content a:hover,
body.page-tribe-attendee-registration #content a:focus,
body.woocommerce-order-received #content a:hover,
body.woocommerce-order-received #content a:focus {
  color: var(--brand-text-deep);
}

/* Primary actions: brand buttons instead of Woo's defaults. */
body.woocommerce-cart #content .wc-block-cart__submit-button,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button {
  background: var(--brand-fill) !important;
  color: var(--ink-900) !important;
  border: 0;
  border-radius: var(--radius-sm);
  min-height: 3rem;
  padding: 0 var(--space-6);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  text-transform: none;
  transition: background-color .15s ease;
}
body.woocommerce-cart #content .wc-block-cart__submit-button:hover,
body.woocommerce-cart #content .wc-block-cart__submit-button:focus,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button:focus {
  background: var(--brand-hi) !important;
  color: var(--ink-900) !important;
  text-decoration: none;
}
body.woocommerce-cart #content .wc-block-cart__submit-button .wc-block-components-button__text,
body.woocommerce-checkout #content .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  text-decoration: none;
}

/* Fields: token borders and a visible brand focus state. */
body.woocommerce-cart #content .wc-block-components-text-input input,
body.woocommerce-cart #content .wc-blocks-components-select__select,
body.woocommerce-checkout #content .wc-block-components-text-input input,
body.woocommerce-checkout #content .wc-blocks-components-select__select {
  background: var(--surface);
  color: var(--text);
  border-color: var(--border);
  border-radius: var(--radius-sm);
}
body.woocommerce-cart #content .wc-block-components-text-input input:focus,
body.woocommerce-cart #content .wc-blocks-components-select__select:focus,
body.woocommerce-checkout #content .wc-block-components-text-input input:focus,
body.woocommerce-checkout #content .wc-blocks-components-select__select:focus {
  border-color: var(--brand-text) !important;
  outline: 2px solid color-mix(in srgb, var(--brand-text) 30%, transparent);
  outline-offset: 1px;
  box-shadow: none !important;
}

/* Checkboxes and radios take the brand accent. */
body.woocommerce-cart #content input[type="checkbox"],
body.woocommerce-cart #content input[type="radio"],
body.woocommerce-checkout #content input[type="checkbox"],
body.woocommerce-checkout #content input[type="radio"] {
  accent-color: var(--brand-text);
}

/* Notices speak with the palette's signal colors. */
body.woocommerce-cart #content .wc-block-components-notice-banner.is-error,
body.woocommerce-checkout #content .wc-block-components-notice-banner.is-error {
  border-top-color: var(--danger);
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 4%, var(--surface));
}
body.woocommerce-cart #content .wc-block-components-notice-banner.is-info,
body.woocommerce-checkout #content .wc-block-components-notice-banner.is-info {
  border-top-color: var(--info);
  color: var(--info);
  background: color-mix(in srgb, var(--info) 4%, var(--surface));
}
body.woocommerce-cart #content .wc-block-components-notice-banner.is-success,
body.woocommerce-checkout #content .wc-block-components-notice-banner.is-success {
  border-top-color: var(--success);
  color: var(--success);
  background: color-mix(in srgb, var(--success) 4%, var(--surface));
}

/* The attendee-registration page shares the warm surface. */
body.page-tribe-attendee-registration {
  font-family: var(--font-body);
  color: var(--text);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Barlow Semi Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/barlow-semi-condensed-latin-600-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow Semi Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/barlow-semi-condensed-latin-700-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/inter-latin-400-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/inter-latin-400-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/inter-latin-600-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.onpointtraining.ca/wp-content/uploads/2026/10/inter-latin-600-italic.woff2') format('woff2');
}
/* End Custom Fonts CSS */