/**
 * GTGF v15.99.67 — usability coherence.
 * Restores readable type, predictable touch targets and a five-item mobile
 * dashboard navigation without changing planner or coaching calculations.
 */

:root {
  --gtgf-ux67-orange: #ff5a00;
  --gtgf-ux67-focus: rgba(255, 118, 42, .96);
  --gtgf-ux67-touch: 48px;
}

/* A visible, consistent keyboard state throughout the public site and tools. */
body.gtgf-v14 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--gtgf-ux67-focus) !important;
  outline-offset: 3px !important;
}

/* Header: still compact, but no longer miniature. */
body.gtgf-v14 .v14-header-inner {
  min-height: var(--v14-header-h, 72px) !important;
}
body.gtgf-v14 .v159947-nav-list > li > a {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding-inline: 9px !important;
  font-size: .84rem !important;
  line-height: 1.15 !important;
  letter-spacing: .055em !important;
}
body.gtgf-v14 .v159947-submenu a {
  min-height: 44px !important;
  font-size: .875rem !important;
}
body.gtgf-v14 :is(.v1581-member-cta, .v1581-profile-trigger) {
  min-height: 44px !important;
  font-size: .82rem !important;
}

/* Shared calls to action remain visually compact, but read as real controls. */
body.gtgf-v14 :is(.button, a.button, button.button, .v14-btn, .wp-element-button) {
  min-height: var(--gtgf-ux67-touch) !important;
  font-size: .875rem !important;
  line-height: 1.2 !important;
}

/* Homepage: strengthen explanatory copy without adding another content layer. */
body.home.gtgf-v14 .gtgf-home45__eyebrow,
body.home.gtgf-v14 .gtgf-home45__cap-head span,
body.home.gtgf-v14 .gtgf-home45__section-head > div > p,
body.home.gtgf-v14 .gtgf-home45__route-copy > small {
  font-size: .78rem !important;
}
body.home.gtgf-v14 .gtgf-home45__cap-head strong {
  font-size: .9rem !important;
}
body.home.gtgf-v14 .gtgf-home45__capabilities > a {
  min-height: 74px !important;
}
body.home.gtgf-v14 .gtgf-home45__capabilities > a strong {
  font-size: 1rem !important;
}
body.home.gtgf-v14 .gtgf-home45__capabilities > a small {
  font-size: .875rem !important;
  line-height: 1.45 !important;
}
body.home.gtgf-v14 .gtgf-home45__steps strong {
  font-size: 1.05rem !important;
}
body.home.gtgf-v14 .gtgf-home45__steps p,
body.home.gtgf-v14 .gtgf-home45__route-copy > em,
body.home.gtgf-v14 .gtgf-home45__route-card.is-cockpit .gtgf-home45__route-copy > em,
body.home.gtgf-v14 .gtgf-home45__route-card.is-progress .gtgf-home45__route-copy > em {
  font-size: .94rem !important;
}
body.home.gtgf-v14 .gtgf-home45__route-copy > b,
body.home.gtgf-v14 .gtgf-home45__route-card.is-cockpit .gtgf-home45__route-copy > b,
body.home.gtgf-v14 .gtgf-home45__route-card.is-progress .gtgf-home45__route-copy > b {
  font-size: .875rem !important;
}

/* Training planner: questions, explanation and choices must remain readable. */
body.gtgf-v14 .planner-sidebar > p:not(.eyebrow),
body.gtgf-v14 .planner-wizard__intro > p:not(.eyebrow),
body.gtgf-v14 .training-guide159950__head > p,
body.gtgf-v14 .planner-step__intro {
  font-size: .95rem !important;
  line-height: 1.55 !important;
}
body.gtgf-v14 .planner-wizard__progress button,
body.gtgf-v14 .training-guide159950__progress button {
  min-height: 54px !important;
  padding: 9px 8px !important;
}
body.gtgf-v14 .planner-wizard__progress button span,
body.gtgf-v14 .training-guide159950__progress button span {
  font-size: .75rem !important;
}
body.gtgf-v14 .planner-wizard__progress button strong,
body.gtgf-v14 .training-guide159950__progress button strong {
  font-size: .875rem !important;
  line-height: 1.2 !important;
}
body.gtgf-v14 .planner-step legend > span,
body.gtgf-v14 .training-guide159950__step-label {
  font-size: .75rem !important;
}
body.gtgf-v14 .planner-field > label,
body.gtgf-v14 .planner-field label,
body.gtgf-v14 .planner-field-heading > span,
body.gtgf-v14 .training-guide159950 .planner-field label,
body.gtgf-v14 .training-guide159950 .planner-field-heading > span {
  font-size: .875rem !important;
  line-height: 1.4 !important;
}
body.gtgf-v14 .planner-field > small,
body.gtgf-v14 .planner-field-heading small,
body.gtgf-v14 .training-guide159950 .planner-field small,
body.gtgf-v14 .training-guide159950 .planner-field-heading small {
  font-size: .8rem !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .planner-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
body.gtgf-v14 .training-guide159950 .planner-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: var(--gtgf-ux67-touch) !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
}
body.gtgf-v14 .planner-primary-choice,
body.gtgf-v14 .training-guide159950 .planner-primary-choice {
  min-height: 84px !important;
  padding: 13px !important;
}
body.gtgf-v14 .planner-primary-choice strong,
body.gtgf-v14 .training-guide159950 .planner-primary-choice strong {
  font-size: .94rem !important;
  line-height: 1.3 !important;
}
body.gtgf-v14 .planner-primary-choice small,
body.gtgf-v14 .training-guide159950 .planner-primary-choice small,
body.gtgf-v14 .training-level-card159950__criteria span {
  font-size: .8rem !important;
  line-height: 1.45 !important;
}
body.gtgf-v14 .training-level-recommendation159950 strong {
  font-size: 1rem !important;
}
body.gtgf-v14 .training-level-recommendation159950 :is(p, small) {
  font-size: .82rem !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .training-level-recommendation159950 button,
body.gtgf-v14 .training-guide159950__actions button,
body.gtgf-v14 .planner-wizard__actions button {
  min-height: var(--gtgf-ux67-touch) !important;
  font-size: .875rem !important;
}
body.gtgf-v14 .training-guide159950__review span {
  font-size: .75rem !important;
}
body.gtgf-v14 .training-guide159950__review strong,
body.gtgf-v14 :is(.training-guide159950__review-warning, .training-guide159950__review-note) {
  font-size: .82rem !important;
  line-height: 1.5 !important;
}

/* Nutrition planner: the same reading rhythm and control size as training. */
body.gtgf-v14 .nutrition-guide159949__head > p,
body.gtgf-v14 .nutrition-form__section-head > p:last-child,
body.gtgf-v14 .v159946-planner-head > div > p:last-child {
  font-size: .95rem !important;
  line-height: 1.55 !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button {
  min-height: 54px !important;
  padding: 9px 7px !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button span {
  font-size: .75rem !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button strong {
  font-size: .84rem !important;
  line-height: 1.2 !important;
}
body.gtgf-v14 .nutrition-guide159949 .planner-field > label,
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .planner-field > label {
  font-size: .875rem !important;
  line-height: 1.4 !important;
}
body.gtgf-v14 .nutrition-guide159949 .planner-field > small,
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .planner-field > small {
  font-size: .8rem !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .nutrition-guide159949 .planner-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .planner-field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: var(--gtgf-ux67-touch) !important;
  font-size: 1rem !important;
}
body.gtgf-v14 .nutrition-mode__option {
  min-height: 74px !important;
}
body.gtgf-v14 .nutrition-mode__option strong {
  font-size: .94rem !important;
}
body.gtgf-v14 .nutrition-mode__option small,
body.gtgf-v14 .nutrition-guide159949__coach p,
body.gtgf-v14 .nutrition-guide159949__advanced > summary span {
  font-size: .8rem !important;
  line-height: 1.45 !important;
}
body.gtgf-v14 .nutrition-guide159949__advanced > summary strong,
body.gtgf-v14 .nutrition-guide159949__review-grid strong {
  font-size: .85rem !important;
}
body.gtgf-v14 .nutrition-guide159949__review-grid span,
body.gtgf-v14 .nutrition-guide159949__review-head span {
  font-size: .75rem !important;
}
body.gtgf-v14 .nutrition-guide159949__actions button,
body.gtgf-v14 .nutrition-guide159949__submit button {
  min-height: var(--gtgf-ux67-touch) !important;
  font-size: .875rem !important;
}

/* Mijn GTGF: larger navigation, readable decisions and a stable content canvas. */
body.gtgf-mijn-gtgf-app {
  --mg67-sidebar: 232px;
}
@media (min-width: 981px) {
  body.gtgf-mijn-gtgf-app .v159964-member-shell {
    padding-left: var(--mg67-sidebar) !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-dashboard-nav {
    width: var(--mg67-sidebar) !important;
    gap: 5px !important;
    padding: 26px 16px 20px !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-nav-label {
    padding: 2px 12px 13px !important;
    font-size: .75rem !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-nav-link {
    min-height: 48px !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    font-size: .875rem !important;
    line-height: 1.25 !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-nav-icon,
  body.gtgf-mijn-gtgf-app .v159965-nav-icon svg {
    width: 19px !important;
    height: 19px !important;
  }
  body.gtgf-mijn-gtgf-app .v159964-member-shell :is(.v159942-hub__shell, .v1582-shell),
  body.gtgf-mijn-gtgf-app .v159964-member-shell :is(#planning, #progressie, #community, .v14-member-stage--profile) > .wrap,
  body.gtgf-mijn-gtgf-app .v159964-member-shell .v1565-coach {
    width: min(1180px, calc(100% - 64px)) !important;
    margin-left: 32px !important;
  }
}
body.gtgf-mijn-gtgf-app .v159942-hub__top > div:first-child > span,
body.gtgf-mijn-gtgf-app .v159942-today__label span,
body.gtgf-mijn-gtgf-app .v159960-next-session > span,
body.gtgf-mijn-gtgf-app .v159963-status-rail span,
body.gtgf-mijn-gtgf-app .v1582-stagehead > div:first-child > span {
  font-size: .75rem !important;
  line-height: 1.25 !important;
}
body.gtgf-mijn-gtgf-app .v159942-hub__top p,
body.gtgf-mijn-gtgf-app .v159942-today p,
body.gtgf-mijn-gtgf-app .v1582-stagehead p,
body.gtgf-mijn-gtgf-app .v1565-coach__head p,
body.gtgf-mijn-gtgf-app .v1565-decision__copy p {
  font-size: .94rem !important;
  line-height: 1.6 !important;
}
body.gtgf-mijn-gtgf-app .v159963-coach-context {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 13px !important;
  font-size: .875rem !important;
}
body.gtgf-mijn-gtgf-app .v159942-today__cta span,
body.gtgf-mijn-gtgf-app .v159960-next-session > b,
body.gtgf-mijn-gtgf-app .v159963-status-rail b,
body.gtgf-mijn-gtgf-app .v1582-week-footer a {
  font-size: .82rem !important;
}
body.gtgf-mijn-gtgf-app .v159960-next-session > strong {
  font-size: 1.4rem !important;
  line-height: 1.12 !important;
}
body.gtgf-mijn-gtgf-app .v159960-next-session > small,
body.gtgf-mijn-gtgf-app .v159963-status-rail small {
  font-size: .82rem !important;
  line-height: 1.5 !important;
}
body.gtgf-mijn-gtgf-app .v159963-status-rail strong {
  font-size: 1rem !important;
  line-height: 1.25 !important;
}
body.gtgf-mijn-gtgf-app .v1582-segment button {
  min-height: 42px !important;
  padding-inline: 12px !important;
  font-size: .82rem !important;
}
body.gtgf-mijn-gtgf-app .v1582-search input {
  min-height: 44px !important;
  font-size: 1rem !important;
}
body.gtgf-mijn-gtgf-app .v1582-activity__body > small,
body.gtgf-mijn-gtgf-app .v1582-activity__right em,
body.gtgf-mijn-gtgf-app .v1582-day > header span,
body.gtgf-mijn-gtgf-app .v1582-day > header small,
body.gtgf-mijn-gtgf-app .v1582-dayitem > span {
  font-size: .75rem !important;
}
body.gtgf-mijn-gtgf-app .v1582-activity__body > strong,
body.gtgf-mijn-gtgf-app .v1582-dayitem strong {
  font-size: .94rem !important;
  line-height: 1.4 !important;
}
body.gtgf-mijn-gtgf-app .v1582-activity__body > span,
body.gtgf-mijn-gtgf-app .v1582-activity__right :is(b, small),
body.gtgf-mijn-gtgf-app .v1582-dayitem small,
body.gtgf-mijn-gtgf-app .v1582-week-score small,
body.gtgf-mijn-gtgf-app .v1582-activity-summary small {
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

/* More menu remains useful on both touch and keyboard. */
body.gtgf-v14 .v1575-more__panel > header span,
body.gtgf-v14 .v1575-more__group-title {
  font-size: .75rem !important;
}
body.gtgf-v14 .v1575-more__group a {
  min-height: 64px !important;
}
body.gtgf-v14 .v1575-more__group a > span {
  font-size: .94rem !important;
}
body.gtgf-v14 .v1575-more__group a > small {
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

@media (max-width: 980px) {
  /* Five actual slots: Overview, Week, Progress, Coach and More. */
  body.gtgf-mijn-gtgf-app .v159965-dashboard-nav > [data-v1575-view="activities"] {
    display: none !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-dashboard-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    min-height: calc(70px + env(safe-area-inset-bottom)) !important;
    padding: 5px 5px calc(5px + env(safe-area-inset-bottom)) !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-nav-link {
    min-height: 58px !important;
    gap: 5px !important;
    padding: 6px 3px !important;
    font-size: .7rem !important;
    line-height: 1.15 !important;
  }
  body.gtgf-mijn-gtgf-app .v159965-nav-icon,
  body.gtgf-mijn-gtgf-app .v159965-nav-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
  body.gtgf-mijn-gtgf-app .v159964-member-shell {
    padding-bottom: 82px !important;
  }
  body.gtgf-mijn-gtgf-app .v159963-status-rail small {
    display: block !important;
  }
}

@media (max-width: 720px) {
  body.gtgf-v14 .v159947-mobile-direct,
  body.gtgf-v14 .v159947-mobile-nav .v14-mobile-group > button {
    min-height: 58px !important;
    font-size: 1rem !important;
  }
  body.home.gtgf-v14 .gtgf-home45__capabilities > a {
    min-height: 70px !important;
  }
  body.home.gtgf-v14 .gtgf-home45__route-copy,
  body.home.gtgf-v14 .gtgf-home45__route-card.is-cockpit .gtgf-home45__route-copy,
  body.home.gtgf-v14 .gtgf-home45__route-card.is-progress .gtgf-home45__route-copy {
    width: 78% !important;
  }
  body.gtgf-v14 .planner-primary-choice-grid--goals,
  body.gtgf-v14 .planner-primary-choice-grid--levels,
  body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid--goals,
  body.gtgf-v14 .training-guide159950 .planner-primary-choice-grid--levels {
    grid-template-columns: 1fr !important;
  }
  body.gtgf-v14 .planner-primary-choice small,
  body.gtgf-v14 .training-guide159950 .planner-primary-choice small {
    display: block !important;
  }
  body.gtgf-v14 .planner-wizard__progress button,
  body.gtgf-v14 .training-guide159950__progress button,
  body.gtgf-v14 .nutrition-guide159949__progress button {
    min-height: 52px !important;
  }
  body.gtgf-mijn-gtgf-app .v159960-hub .v159942-today,
  body.gtgf-mijn-gtgf-app .v159960-next-session {
    padding: 18px !important;
  }
  body.gtgf-mijn-gtgf-app .v159963-status-rail {
    grid-template-columns: 1fr !important;
  }
  body.gtgf-mijn-gtgf-app .v159963-status-rail > a {
    min-height: 106px !important;
    border-left: 0 !important;
    border-top: 1px solid #252529 !important;
  }
  body.gtgf-mijn-gtgf-app .v159963-status-rail > a:first-child {
    border-top: 0 !important;
  }
  body.gtgf-v14 .v1575-more {
    grid-template-columns: 1fr !important;
  }
  body.gtgf-v14 .v1575-more__panel {
    grid-column: 1 !important;
    width: min(100%, 560px) !important;
    margin-left: auto !important;
    padding: 20px 16px calc(24px + env(safe-area-inset-bottom)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.gtgf-v14 *,
  body.gtgf-v14 *::before,
  body.gtgf-v14 *::after {
    scroll-behavior: auto !important;
  }
}
