/* GTGF v17.26 — corrected site-wide contrast pass.
 * v17.27 narrows the original rules so light and dark surfaces cannot bleed into each other.
 */
body.gtgf-v14{
  --gtgf1726-dark-text:#f5f4f0;
  --gtgf1726-dark-muted:#d6d2ca;
  --gtgf1726-light-text:#111214;
  --gtgf1726-light-muted:#4f4a43;
  --gtgf1726-light-soft:#5d584f;
  --gtgf1726-cta-text:#111214;
  --gtgf1726-disabled-bg:#d6d1c8;
  --gtgf1726-disabled-text:#3f433d;
  --gtgf1726-disabled-border:#b9b2a7;
}

/* Bright orange controls: dark ink gives materially better contrast. */
body.gtgf-v14 :is(
  .v14-btn--orange,
  .button--orange,
  .button--primary,
  .planner-readiness__actions button,
  .v1563-detail-placeholder button,
  .v1569-form-foot button,
  .planner-live.is-running .planner-live__controls button.is-primary,
  .planner-live__rpe button.is-selected,
  .planner-live__now .gtgf-term-help:hover,
  .planner-live__now .gtgf-term-help:focus-visible,
  .gtgf-term-help:hover,
  .gtgf-term-help:focus-visible,
  .gtgf-community-compose__bottom button,
  .gtgf-week-checkin button,
  .gtgf-sharing-form button,
  .gtgf-community-dashboard-teaser__copy a,
  .gtgf-club-nav__strava,
  .gtgf-private-strava-sync.is-empty>a,
  .gtgf-strava-club-bridge>a,
  .gtgf-private-strava-sync__intro>a:hover,
  .gtgf-strava-club-bridge__mark,
  .gtgf-sync-row a,
  .button--strava,
  .btn-strava,
  .member-strava-connect-button,
  .gtgf-strava-button,
  .gtgf-strava-badge,
  .planner-day__today
){color:var(--gtgf1726-cta-text)!important;-webkit-text-fill-color:var(--gtgf1726-cta-text)!important}

body.gtgf-v14 :is(
  .trip-v161-package-card:nth-child(2)::before,
  .trip-v161-package-card:nth-child(3)::before,
  .trip-v161-package-card:nth-child(4)::before
){color:var(--gtgf1726-cta-text)!important;-webkit-text-fill-color:var(--gtgf1726-cta-text)!important}

/* Only genuine dark surfaces receive dark-surface copy treatment. */
body.gtgf-v14 :is(
  .section--black,
  .page-hero,
  .v14-hero,
  .v14-member-stage--dark,
  .planner-auth-card:not(.planner-auth-card--orange),
  .v1566-fuel,
  .v1567-race,
  .v159985-execution,
  .gtgf-home13__hero,
  .gtgf-home13__resume,
  .gtgf-home13__flow,
  .gtgf-home13__discover-card,
  .gtgf-home13__cta,
  .gtgf-partners14__hero,
  .gtgf-partners14__ecosystem,
  .gtgf-partners14__principles,
  .gtgf-partners14__contact,
  .v169600-now,
  .v169600-article-apply,
  .v171600-core__head,
  .v171600-primary,
  .v171600-rail>a,
  .v171600-progress,
  .v171600-bottom>p,
  .v171800-decision,
  .v172100-review,
  .v172400-event-action,
  .v172400-post-race,
  .v172400-dashboard-journey,
  .v1587-event-details
) :is(p,li,small,label,dd,figcaption,.muted){
  color:var(--gtgf1726-dark-muted)!important;
  -webkit-text-fill-color:var(--gtgf1726-dark-muted)!important;
  opacity:1!important;
}

/* Light helpers: scoped to known paper/card surfaces only. */
body.gtgf-v14 :is(
  .section--paper,
  .v14-product-section,
  .trip-booking-form,
  .member-plan-card,
  .member-profile-card,
  .member-profile-form,
  .gtgf-community-compose,
  .gtgf-club-gate,
  .gtgf-week-switcher,
  .gtgf-sharing-form,
  .v172200-start,
  .v172300-reality,
  .v172400-event-journey,
  .v172400-result-form
) :is(p,li,small,label,dd,figcaption,.muted){
  color:var(--gtgf1726-light-muted)!important;
  -webkit-text-fill-color:var(--gtgf1726-light-muted)!important;
  opacity:1!important;
}

/* Known light-surface helpers. Event-detail copy is deliberately excluded here. */
body.gtgf-v14 .v1569-privacy-note,
body.gtgf-v14 .planner-summary__stats span,
body.gtgf-v14 .planner-day-nav__item,
body.gtgf-v14 .gtgf-week-checkin__note,
body.gtgf-v14 .v1584-club-onboarding__steps span,
body.gtgf-v14 #booking-date-status,
body.gtgf-v14 .trip-booking-form__note,
body.gtgf-v14 .trip-v158-extra-choice > label small,
body.gtgf-v14 .trip-v161-comparison__row b.is-added,
body.gtgf-v14 #planner-results .planner-results__summary,
body.gtgf-v14 #planner-build-plan.is-featured .planner-build-plan__meta{
  color:var(--gtgf1726-light-soft)!important;
  -webkit-text-fill-color:var(--gtgf1726-light-soft)!important;
  opacity:1!important;
}
body.gtgf-v14 .trip-v161-comparison__row b.is-added{color:#8a2d00!important;-webkit-text-fill-color:#8a2d00!important}

/* Disabled controls stay readable; no global submit-button recolouring. */
body.gtgf-v14 :is(button,[role="button"],input[type="submit"]):disabled,
body.gtgf-v14 :is(button,[role="button"],input[type="submit"]).is-disabled,
body.gtgf-v14 .booking-calendar button[disabled],
body.gtgf-v14 #trip-submit:disabled{
  background:var(--gtgf1726-disabled-bg)!important;
  color:var(--gtgf1726-disabled-text)!important;
  -webkit-text-fill-color:var(--gtgf1726-disabled-text)!important;
  border-color:var(--gtgf1726-disabled-border)!important;
  opacity:1!important;
}
