/* GTGF v15.59 — Live UI Repair
 * Component contracts for issues verified from production screenshots.
 * Deliberately loaded after v15.58. Avoid broad parent-section color rules here.
 */

/* --------------------------------------------------------------------------
   1. Training planner — mail plan card
   -------------------------------------------------------------------------- */
body.gtgf-v14 .planner-mail-card {
  grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr) !important;
  align-items: start !important;
}
body.gtgf-v14 .planner-mail-card {
  background:#111 !important;
  color:#fff !important;
}
body.gtgf-v14 .planner-mail-card .home-kicker,
body.gtgf-v14 .planner-mail-card h3 {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.gtgf-v14 .planner-mail-card__intro > p:last-child {
  color:#c8c4bd !important;
}
body.gtgf-v14 .planner-mail-card > *,
body.gtgf-v14 .planner-mail-form,
body.gtgf-v14 .planner-mail-form__fields,
body.gtgf-v14 .planner-mail-form .form-row {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.gtgf-v14 .planner-mail-form__fields {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
body.gtgf-v14 .planner-mail-form .form-row label {
  color: #c8c4bd !important;
  font-size: max(.72rem,12px) !important;
}
body.gtgf-v14 .planner-mail-form .form-row input {
  min-height: 52px !important;
  padding: 12px 14px !important;
  border: 1px solid #bdb8b0 !important;
  background: #fff !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}
/* The old form used a checkbox in column 1. The checkbox was removed, so the
   old 21px/1fr grid collapsed the privacy text into a 21px column. */
body.gtgf-v14 .planner-mail-form .planner-join-consent {
  display: block !important;
  width: 100% !important;
  max-width: 72ch !important;
  margin: 2px 0 22px !important;
  color: #c8c4bd !important;
  font-size: max(.78rem,13px) !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  cursor: default !important;
}
body.gtgf-v14 .planner-mail-form .planner-join-consent > span,
body.gtgf-v14 .planner-mail-form .planner-join-consent a {
  display: inline !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}
body.gtgf-v14 .planner-mail-form .planner-join-consent a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.gtgf-v14 .planner-mail-form > .button {
  width: auto !important;
  max-width: 100% !important;
}

/* --------------------------------------------------------------------------
   2. Training planner — result summary: never let phase/level overlap
   -------------------------------------------------------------------------- */
body.gtgf-v14 #planner-results .planner-summary,
body.gtgf-v14 #planner-results .planner-summary > div,
body.gtgf-v14 #planner-results .planner-summary__stats,
body.gtgf-v14 #planner-results .planner-summary__stats > span,
body.gtgf-v14 #planner-results .planner-summary__stats strong {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.gtgf-v14 #planner-results .planner-summary__stats {
  overflow: hidden !important;
}
body.gtgf-v14 #planner-results .planner-summary__stats > span {
  overflow: hidden !important;
  container-type: inline-size;
}
body.gtgf-v14 #planner-results .planner-summary__stats strong {
  font-size: clamp(1.05rem,1.35vw,1.55rem) !important;
  line-height: 1.02 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  text-wrap: pretty;
}
body.gtgf-v14 #planner-results .planner-summary__stats span {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
@media (min-width:783px) and (max-width:1180px) {
  body.gtgf-v14 #planner-results.planner-results > .planner-summary {
    grid-template-columns: minmax(0,1fr) !important;
    align-items: start !important;
  }
  body.gtgf-v14 #planner-results .planner-summary__stats {
    width: 100% !important;
  }
  body.gtgf-v14 #planner-results .planner-summary__stats strong {
    font-size: clamp(1.1rem,2.1vw,1.5rem) !important;
  }
}
@media (max-width:620px) {
  body.gtgf-v14 #planner-results .planner-summary__stats {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.gtgf-v14 #planner-results .planner-summary__stats > span {
    border-left: 0 !important;
    border-top: 1px solid #d7d2ca !important;
    padding: 12px 10px !important;
  }
  body.gtgf-v14 #planner-results .planner-summary__stats > span:first-child {
    border-top: 3px solid var(--orange,#ff5a00) !important;
  }
}

/* --------------------------------------------------------------------------
   3. Nutrition — Weekcoach is a light container with self-contained dark cards
   -------------------------------------------------------------------------- */
body.gtgf-v14 .nutrition-week-coach {
  background: #f7f4ee !important;
  border: 1px solid #d8d3ca !important;
  color: #111 !important;
  box-shadow: none !important;
}
body.gtgf-v14 .nutrition-week-coach__head h3 {
  color: #111 !important;
}
body.gtgf-v14 .nutrition-week-coach__head > p {
  color: #5e5952 !important;
  opacity: 1 !important;
}
body.gtgf-v14 .nutrition-week-coach .eyebrow {
  color: var(--orange,#ff5a00) !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article,
body.gtgf-v14 .section--paper .nutrition-week-coach__grid article {
  background: #111 !important;
  border: 1px solid #292929 !important;
  color: #fff !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article.is-race,
body.gtgf-v14 .section--paper .nutrition-week-coach__grid article.is-race {
  background: #17110d !important;
  border-color: rgba(255,90,0,.65) !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article :is(span,strong,small,p),
body.gtgf-v14 .section--paper .nutrition-week-coach__grid article :is(span,strong,small,p) {
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article > span,
body.gtgf-v14 .section--paper .nutrition-week-coach__grid article > span {
  color: #ff7a2d !important;
  opacity: 1 !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article > strong {
  font-size: max(1rem,16px) !important;
  line-height: 1.35 !important;
}
body.gtgf-v14 .nutrition-week-coach__grid article > small {
  color: #c8c4bd !important;
  opacity: 1 !important;
  font-size: max(.76rem,12px) !important;
}

/* --------------------------------------------------------------------------
   4. Nutrition — adaptive weekcheck: explicit light form contract
   -------------------------------------------------------------------------- */
body.gtgf-v14 .nutrition-weekcheck {
  background: #f7f4ee !important;
  border: 1px solid #d8d3ca !important;
  color: #111 !important;
  box-shadow: none !important;
}
body.gtgf-v14 .nutrition-weekcheck__head h3,
body.gtgf-v14 .nutrition-weekcheck__grid label,
body.gtgf-v14 .nutrition-weekcheck__consent,
body.gtgf-v14 .nutrition-weekcheck__consent span {
  color: #111 !important;
  opacity: 1 !important;
}
body.gtgf-v14 .nutrition-weekcheck__head > p,
body.gtgf-v14 .nutrition-weekcheck__footer p {
  color: #5e5952 !important;
  opacity: 1 !important;
}
body.gtgf-v14 .nutrition-weekcheck .eyebrow {
  color: var(--orange,#ff5a00) !important;
}
body.gtgf-v14 .nutrition-weekcheck__grid .planner-field select {
  min-height: 50px !important;
  padding: 11px 38px 11px 13px !important;
  border: 1px solid #bdb8b0 !important;
  background-color: #fff !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  color-scheme: light !important;
  opacity: 1 !important;
}
body.gtgf-v14 .nutrition-weekcheck__grid .planner-field select option {
  background: #fff !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-weekcheck__consent {
  align-items: flex-start !important;
  gap: 12px !important;
  font-size: max(.84rem,13px) !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .nutrition-weekcheck__consent input {
  flex: 0 0 auto;
  width: 22px !important;
  height: 22px !important;
  margin-top: 1px !important;
  accent-color: var(--orange,#ff5a00);
}
body.gtgf-v14 .nutrition-weekcheck__footer .button--outline {
  border-color: #111 !important;
  background: transparent !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-weekcheck__footer .button--outline:hover,
body.gtgf-v14 .nutrition-weekcheck__footer .button--outline:focus-visible {
  background: #111 !important;
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   5. Nutrition — grocery list: always a readable utility surface
   -------------------------------------------------------------------------- */
body.gtgf-v14 .nutrition-shopping {
  width: min(1120px,100%) !important;
  margin: 28px auto 0 !important;
  padding: clamp(22px,3vw,38px) !important;
  border: 1px solid #d8d3ca !important;
  background: #f7f4ee !important;
  color: #111 !important;
  box-shadow: none !important;
}
body.gtgf-v14 .nutrition-shopping :is(h3,h4,strong,label,summary) {
  color: #111 !important;
  -webkit-text-fill-color: currentColor !important;
}
body.gtgf-v14 .nutrition-shopping .eyebrow {
  color: var(--orange,#ff5a00) !important;
}
body.gtgf-v14 .nutrition-shopping__head p:not(.eyebrow),
body.gtgf-v14 .nutrition-shopping__footnote,
body.gtgf-v14 .nutrition-shopping__ah-help p {
  color: #625d56 !important;
}
body.gtgf-v14 .nutrition-shopping__summary {
  border: 1px solid #d0cbc2 !important;
  background: #fff !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__summary :is(strong,span,small) {
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__controls > .button:first-child,
body.gtgf-v14 #nutrition-shopping-ah {
  border-color: var(--orange,#ff5a00) !important;
  background: var(--orange,#ff5a00) !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__controls > .button--outline,
body.gtgf-v14 .nutrition-shopping__more > summary {
  border-color: #77716a !important;
  background: transparent !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__controls > .button--outline:hover,
body.gtgf-v14 .nutrition-shopping__controls > .button--outline:focus-visible,
body.gtgf-v14 .nutrition-shopping__more > summary:hover,
body.gtgf-v14 .nutrition-shopping__more > summary:focus-visible {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}
body.gtgf-v14 .nutrition-shopping__more > div,
body.gtgf-v14 .nutrition-shopping__item-more > div {
  background: #fff !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__ah-help {
  border-color: #d8d3ca !important;
}
body.gtgf-v14 .nutrition-shopping__ah-help summary {
  color: #4f4a44 !important;
}
body.gtgf-v14 .nutrition-shopping__list {
  border-color: #d8d3ca !important;
}
body.gtgf-v14 .nutrition-shopping__category {
  border-color: #d8d3ca !important;
  background: transparent !important;
}
body.gtgf-v14 .nutrition-shopping__category-head h4 {
  color: #111 !important;
  font-size: max(.84rem,14px) !important;
}
body.gtgf-v14 .nutrition-shopping__category-head h4 small,
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary small,
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary > span:last-child {
  color: #6d675f !important;
  font-size: max(.7rem,12px) !important;
}
body.gtgf-v14 .nutrition-shopping__category-check,
body.gtgf-v14 .nutrition-shopping__remove {
  color: #3f3a35 !important;
  border-color: #aaa49b !important;
  font-size: max(.7rem,12px) !important;
}
body.gtgf-v14 .nutrition-shopping__category-check:hover,
body.gtgf-v14 .nutrition-shopping__category-check:focus-visible,
body.gtgf-v14 .nutrition-shopping__remove:hover,
body.gtgf-v14 .nutrition-shopping__remove:focus-visible {
  color: #111 !important;
  border-color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__item {
  border-color: rgba(17,17,17,.1) !important;
  background: transparent !important;
  color: #111 !important;
}
body.gtgf-v14 .nutrition-shopping__item-copy strong {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
}
body.gtgf-v14 .nutrition-shopping__amount {
  color: #4c4742 !important;
  -webkit-text-fill-color: #4c4742 !important;
}
body.gtgf-v14 .nutrition-shopping__always-badge {
  color: #6a655e !important;
}
body.gtgf-v14 .nutrition-shopping__check-label > span[aria-hidden] {
  border-color: #817b73 !important;
  background: #fff !important;
}
body.gtgf-v14 .nutrition-shopping__check-label input:checked + span[aria-hidden] {
  border-color: #111 !important;
  background: #111 !important;
  box-shadow: inset 0 0 0 5px #fff !important;
}
body.gtgf-v14 .nutrition-shopping__item-more > summary {
  color: #4f4a44 !important;
}
body.gtgf-v14 .nutrition-shopping__item-more small {
  color: #625d56 !important;
}
body.gtgf-v14 .nutrition-shopping__item-actions a,
body.gtgf-v14 .nutrition-shopping__item-actions button {
  border-color: #bdb8b0 !important;
  background: #fff !important;
  color: #222 !important;
}
body.gtgf-v14 .nutrition-shopping__item.is-checked {
  opacity: .58 !important;
}

/* Containment shared by the five repaired surfaces. */
body.gtgf-v14 :is(.planner-mail-card,.planner-summary,.nutrition-week-coach,.nutrition-weekcheck,.nutrition-shopping) :is(h1,h2,h3,h4,p,span,strong,small,label,summary,a,button) {
  max-width: 100%;
}

@media (max-width:900px) {
  body.gtgf-v14 .planner-mail-card {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 26px !important;
  }
  body.gtgf-v14 .nutrition-week-coach__grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
}
@media (max-width:680px) {
  body.gtgf-v14 .planner-mail-form__fields {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.gtgf-v14 .planner-mail-card {
    padding: 20px 16px !important;
  }
  body.gtgf-v14 .nutrition-weekcheck__grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.gtgf-v14 .nutrition-shopping {
    padding: 18px 14px !important;
  }
  body.gtgf-v14 .nutrition-shopping__item-copy {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.gtgf-v14 .nutrition-shopping__amount {
    justify-self: start !important;
    white-space: normal !important;
  }
}
