/* GTGF v16.85 - Training Planner visual guard
 * Final cascade repair for overlap, nested legend sizing and light-surface contrast.
 * Scoped to the Training Planner so site-wide surfaces remain untouched.
 */

body.gtgf-v14.gtgf-vp94-planner #gtgf-planner-form .planner-wizard__top,
body.gtgf-v14 #gtgf-planner-form .planner-wizard__top {
  position: sticky !important;
  top: var(--v14-header-h, 78px) !important;
  z-index: 60 !important;
  display: block !important;
  padding: 8px !important;
  min-height: 0 !important;
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid rgba(17,17,17,.14) !important;
  box-shadow: 0 10px 26px rgba(17,17,17,.07) !important;
  backdrop-filter: blur(14px) !important;
}
body.admin-bar.gtgf-v14 #gtgf-planner-form .planner-wizard__top {
  top: calc(var(--v14-header-h, 78px) + 32px) !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-wizard__intro {
  display: none !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress {
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress button {
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 7px 10px !important;
  overflow: hidden !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-wizard__body {
  position: relative !important;
  top: auto !important;
  margin-top: 0 !important;
}

/* Generic step legends may stay large. Nested preference legends may not inherit them. */
body.gtgf-v14.gtgf-vs2.gtgf-vp94-planner #gtgf-planner-form .planner-v3-preference-grid > fieldset > legend,
body.gtgf-v14.gtgf-vs2.gtgf-vp94-planner #gtgf-planner-form .planner-v1682-personalization__group > legend,
body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid > fieldset > legend,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group > legend {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 6px !important;
  color: #171512 !important;
  font-family: var(--gtgf-font-body, Inter, Arial, sans-serif) !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
  white-space: normal !important;
}

/* The planner column is intentionally narrow next to the live summary. Give each
 * preference family the full available width instead of squeezing two families
 * side by side and breaking words vertically. */
body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid {
  grid-template-columns: minmax(0,1fr) !important;
  gap: 14px !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid > fieldset,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group {
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid #d9d2c8 !important;
  border-radius: 14px !important;
  background: #fbfaf7 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid .planner-v15-style-grid,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group .planner-v15-style-grid {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}
body.gtgf-v14 #gtgf-planner-form :is(.planner-v3-preference-grid,.planner-v1682-personalization__group) .planner-v15-choice {
  min-width: 0 !important;
}
body.gtgf-v14 #gtgf-planner-form :is(.planner-v3-preference-grid,.planner-v1682-personalization__group) .planner-v15-choice strong {
  color: #171512 !important;
  font-family: var(--gtgf-font-body, Inter, Arial, sans-serif) !important;
  font-size: .86rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}
body.gtgf-v14 #gtgf-planner-form :is(.planner-v3-preference-grid,.planner-v1682-personalization__group) .planner-v15-choice small {
  color: #5f5952 !important;
  font-family: var(--gtgf-font-body, Inter, Arial, sans-serif) !important;
  font-size: .76rem !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

/* v16.82 was authored for a dark disclosure. The final planner surface is light. */
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__intro {
  padding: 14px 16px !important;
  border: 1px solid #d9d2c8 !important;
  background: #f5f1ea !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__intro strong,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group > strong,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-target-toggle strong {
  color: #171512 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__intro span,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group > small,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-target-toggle small,
body.gtgf-v14 #gtgf-planner-form .planner-v1682-target-note {
  color: #625c55 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v1682-target-toggle {
  border-color: #d9d2c8 !important;
  background: #fff !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-v1682-target-note.is-warning {
  color: #9d4100 !important;
}

/* Light cards that still inherited white-on-dark helper colours. */
body.gtgf-v14 #gtgf-planner-form #planner-length-options > summary > span,
body.gtgf-v14 #gtgf-planner-form .planner-advanced-option > summary > span {
  color: #625c55 !important;
}
body.gtgf-v14 #gtgf-planner-form #planner-event-options > summary {
  color: #171512 !important;
}
body.gtgf-v14 #gtgf-planner-form #planner-event-options > summary > span,
body.gtgf-v14 #gtgf-planner-form #planner-event-options .planner-date-hint {
  color: #625c55 !important;
}
body.gtgf-v14 #gtgf-planner-form #planner-event-options .planner-field label {
  color: #171512 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-live-summary dt {
  color: #5f5952 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-field-heading b,
body.gtgf-v14 #gtgf-planner-form .planner-required-note strong {
  color: #a93600 !important;
}
body.gtgf-v14 #gtgf-planner-form .planner-field-heading b {
  font-size: .64rem !important;
}

@media (max-width: 760px) {
  body.gtgf-v14 #gtgf-planner-form .planner-wizard__top {
    top: var(--v14-header-h, 70px) !important;
    padding: 6px !important;
  }
  body.admin-bar.gtgf-v14 #gtgf-planner-form .planner-wizard__top {
    top: calc(var(--v14-header-h, 70px) + 46px) !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress {
    gap: 4px !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress button {
    min-height: 42px !important;
    padding: 6px 4px !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress button span {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    margin-right: 4px !important;
    font-size: .56rem !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-wizard__progress button strong {
    font-size: .66rem !important;
    letter-spacing: .01em !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid .planner-v15-style-grid,
  body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group .planner-v15-style-grid {
    grid-template-columns: 1fr !important;
  }
  body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-grid > fieldset,
  body.gtgf-v14 #gtgf-planner-form .planner-v1682-personalization__group {
    padding: 12px !important;
  }
}

/* Final visual-flow lock: do not let position:sticky paint the progress bar over
 * the first question. The planner already has persistent step actions below. */
body.gtgf-v14.gtgf-vp94-planner #gtgf-planner-form .planner-wizard__top,
body.gtgf-v14 #gtgf-planner-form .planner-wizard__top {
  position: relative !important;
  top: auto !important;
}

body.gtgf-v14 #gtgf-planner-form .planner-v3-preference-head > span {
  color: #a93600 !important;
}

/* The date hint itself is intentionally a dark micro-callout in the calendar
 * component, so its copy must remain light even though the surrounding card is light. */
body.gtgf-v14 #gtgf-planner-form #planner-event-options .planner-date-hint {
  color: #f1eee8 !important;
}
