/* GTGF v15.99.56 — interface parity.
 * Brings Nutrition onto the same compact visual grammar as the Training planner
 * and fixes mobile auth spacing/contrast. Presentation only.
 */

/* --------------------------------------------------------------------------
   NUTRITION: desktop density and training-planner parity
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v159946-nutrition-page {
  --v159956-side: 22px;
  --v159956-stage: 820px;
}

/* Quieter page framing. */
body.gtgf-v14 .v159946-nutrition-page #voedingsplanner.nutrition-planner {
  padding: 26px 0 34px !important;
  background: #080808 !important;
}
body.gtgf-v14 .v159946-nutrition-page #voedingsplanner > .wrap {
  width: min(100% - 44px, 1040px) !important;
  max-width: 1040px !important;
}

/* Planner intro should read like a product header, not a landing-page hero. */
body.gtgf-v14 .v159946-planner-head {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 270px) !important;
  align-items: end !important;
  gap: 22px !important;
  margin-bottom: 12px !important;
}
body.gtgf-v14 .v159946-planner-head .v14-eyebrow {
  margin-bottom: 5px !important;
  font-size: .58rem !important;
}
body.gtgf-v14 .v159946-planner-head h2 {
  max-width: 22ch !important;
  margin: 0 !important;
  font-size: clamp(1.8rem, 2.65vw, 2.5rem) !important;
  line-height: .97 !important;
  letter-spacing: -.045em !important;
}
body.gtgf-v14 .v159946-planner-head > div > p:last-child {
  max-width: 62ch !important;
  margin: 7px 0 0 !important;
  color: rgba(255,255,255,.7) !important;
  font-size: .72rem !important;
  line-height: 1.48 !important;
}
body.gtgf-v14 .v159946-planner-head ul {
  border-radius: 0 !important;
  background: #0a0a0a !important;
}
body.gtgf-v14 .v159946-planner-head li {
  min-height: 56px !important;
  gap: 1px !important;
  padding: 8px 10px !important;
}
body.gtgf-v14 .v159946-planner-head li strong {
  font-size: 1rem !important;
}
body.gtgf-v14 .v159946-planner-head li span {
  font-size: .49rem !important;
  letter-spacing: .06em !important;
}

/* Form shell: match Training's crisp frame. */
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form.nutrition-form--guided159949 {
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 0 !important;
  background: #070707 !important;
  box-shadow: none !important;
}
body.gtgf-v14 .nutrition-guide159949 {
  background: #080808 !important;
}

/* Progress bar now speaks the same language as the training wizard. */
body.gtgf-v14 .nutrition-guide159949__progress {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  background: #050505 !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button {
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  align-content: center !important;
  gap: 8px !important;
  border-right: 1px solid rgba(255,255,255,.1) !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button span {
  flex: 0 0 auto !important;
  width: 23px !important;
  height: 23px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.45) !important;
  font-size: .49rem !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button strong {
  min-width: 0 !important;
  font-size: .62rem !important;
  line-height: 1.1 !important;
  letter-spacing: .08em !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button.is-active {
  background: rgba(255,90,0,.08) !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button.is-active::after {
  display: none !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button.is-active span {
  border-color: #ff5a00 !important;
  background: #ff5a00 !important;
  color: #050505 !important;
}
body.gtgf-v14 .nutrition-guide159949__progress button.is-complete span {
  border-color: rgba(255,90,0,.65) !important;
  background: transparent !important;
  color: #ff7b33 !important;
}

/* Stage proportions mirror Training. */
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__stage {
  width: min(100%, var(--v159956-stage)) !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: 21px 24px 18px !important;
}
body.gtgf-v14 .nutrition-guide159949__head {
  max-width: 720px !important;
  margin-bottom: 11px !important;
}
body.gtgf-v14 .nutrition-guide159949__head .eyebrow {
  margin: 0 0 5px !important;
  font-size: .56rem !important;
}
body.gtgf-v14 .nutrition-guide159949__head h3 {
  max-width: 22ch !important;
  margin: 0 !important;
  font-size: clamp(1.55rem, 2.35vw, 2.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}
body.gtgf-v14 .nutrition-guide159949__head > p:last-child {
  max-width: 68ch !important;
  margin: 7px 0 0 !important;
  color: rgba(255,255,255,.69) !important;
  font-size: .72rem !important;
  line-height: 1.48 !important;
}

/* Coach strip: identical density and stronger contrast. */
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__coach {
  display: grid !important;
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 12px !important;
  margin: 14px 0 !important;
  padding: 10px 12px !important;
  border-left: 3px solid #ff5a00 !important;
  background: #15100d !important;
}
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__coach span {
  min-width: 0 !important;
  padding: 0 !important;
  color: #ff7b33 !important;
  font-size: .56rem !important;
  line-height: 1.35 !important;
}
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__coach p {
  color: rgba(255,255,255,.76) !important;
  font-size: .68rem !important;
  line-height: 1.45 !important;
}

/* Inputs use Training's readable label size and compact 42px control height. */
body.gtgf-v14 .nutrition-guide159949__grid { gap: 10px !important; }
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form.nutrition-form--guided159949 .nutrition-guide159949 .planner-field > label {
  margin-bottom: 4px !important;
  color: rgba(255,255,255,.8) !important;
  font-size: .66rem !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form.nutrition-form--guided159949 .nutrition-guide159949 .planner-field :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 6px !important;
  background: #151515 !important;
  color: #fff !important;
  font-size: .76rem !important;
  line-height: 1.3 !important;
}
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949 .planner-field > small {
  margin-top: 4px !important;
  color: rgba(255,255,255,.55) !important;
  font-size: .58rem !important;
  line-height: 1.4 !important;
}

/* Primary nutrition choices become the same compact cards as Training. */
body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__fields > .nutrition-mode {
  gap: 7px !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option span {
  min-height: 72px !important;
  gap: 3px !important;
  padding: 11px 12px !important;
  border-radius: 8px !important;
  background: #111 !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option strong {
  color: #fff !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option small {
  color: rgba(255,255,255,.57) !important;
  font-size: .58rem !important;
  line-height: 1.35 !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option input:checked + span {
  border-color: #ff5a00 !important;
  background: rgba(255,90,0,.1) !important;
  box-shadow: inset 2px 0 0 #ff5a00 !important;
}
body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option input:checked + span small {
  color: rgba(255,255,255,.72) !important;
}

/* Secondary panels and review lose oversized rounding. */
body.gtgf-v14 .nutrition-guide159949__optional,
body.gtgf-v14 .nutrition-guide159949__advanced,
body.gtgf-v14 .nutrition-guide159949__review {
  border-radius: 6px !important;
}
body.gtgf-v14 .nutrition-guide159949__optional > summary,
body.gtgf-v14 .nutrition-guide159949__advanced > summary {
  min-height: 40px !important;
  padding: 8px 10px !important;
}
body.gtgf-v14 .nutrition-guide159949__review-head,
body.gtgf-v14 .nutrition-guide159949__review-grid > div {
  padding: 10px 11px !important;
}

/* Actions: same quiet rhythm as Training. */
body.gtgf-v14 .nutrition-guide159949__actions {
  gap: 10px !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
}
body.gtgf-v14 .nutrition-guide159949__back,
body.gtgf-v14 .nutrition-guide159949__next {
  min-height: 38px !important;
  padding: 8px 13px !important;
  font-size: .63rem !important;
}
body.gtgf-v14 .nutrition-guide159949__next {
  min-width: 132px !important;
}

/* Page hero is still premium, but no longer visually larger than the product. */
body.gtgf-v14 .v159946-nutrition-hero {
  padding: 30px 0 34px !important;
}
body.gtgf-v14 .v159946-nutrition-hero h1 {
  max-width: 12ch !important;
  font-size: clamp(2.55rem, 4.1vw, 3.9rem) !important;
  line-height: .91 !important;
}
body.gtgf-v14 .v159946-nutrition-hero__lead {
  margin-top: 11px !important;
  font-size: .83rem !important;
  line-height: 1.5 !important;
}
body.gtgf-v14 .v159946-nutrition-hero__media {
  min-height: clamp(250px, 27vw, 330px) !important;
}

/* --------------------------------------------------------------------------
   MOBILE NUTRITION: deliberate side breathing room and one-screen steps
   -------------------------------------------------------------------------- */
@media (max-width: 820px) {
  body.gtgf-v14 .v159946-nutrition-page .v14-shell,
  body.gtgf-v14 .v159946-nutrition-page #voedingsplanner > .wrap {
    width: min(100% - 36px, 760px) !important;
  }
  body.gtgf-v14 .v159946-planner-head {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.gtgf-v14 .v159946-planner-head ul {
    width: 100% !important;
  }
  body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__stage {
    padding: 18px 18px 15px !important;
  }
}

@media (max-width: 680px) {
  /* The static route repeats the wizard progress on phones; remove the extra scroll. */
  body.gtgf-v14 .v159946-nutrition-route {
    display: none !important;
  }

  body.gtgf-v14 .v159946-nutrition-hero {
    padding: 24px 0 22px !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero__grid {
    gap: 18px !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(2.1rem, 10vw, 2.85rem) !important;
    line-height: .94 !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero__lead {
    margin-top: 9px !important;
    font-size: .78rem !important;
    line-height: 1.48 !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero__actions {
    margin-top: 13px !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero__proof {
    margin-top: 10px !important;
    padding-top: 8px !important;
  }
  body.gtgf-v14 .v159946-nutrition-hero__media {
    min-height: 220px !important;
    border-radius: 8px !important;
  }

  body.gtgf-v14 .v159946-nutrition-page #voedingsplanner.nutrition-planner {
    padding: 20px 0 26px !important;
  }
  body.gtgf-v14 .v159946-planner-head h2 {
    max-width: 18ch !important;
    font-size: 1.8rem !important;
    line-height: .98 !important;
  }
  body.gtgf-v14 .v159946-planner-head > div > p:last-child {
    font-size: .7rem !important;
  }
  body.gtgf-v14 .v159946-planner-head li {
    min-height: 48px !important;
    padding: 7px 8px !important;
  }
  body.gtgf-v14 .v159946-planner-head li strong { font-size: .92rem !important; }

  body.gtgf-v14 .nutrition-guide159949__progress {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
  body.gtgf-v14 .nutrition-guide159949__progress button {
    min-height: 46px !important;
    padding: 6px 7px !important;
    gap: 5px !important;
  }
  body.gtgf-v14 .nutrition-guide159949__progress button span {
    width: 20px !important;
    height: 20px !important;
    font-size: .45rem !important;
  }
  body.gtgf-v14 .nutrition-guide159949__progress button strong {
    font-size: .5rem !important;
    letter-spacing: .055em !important;
  }

  body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__stage {
    padding: 16px 16px 14px !important;
  }
  body.gtgf-v14 .nutrition-guide159949__head {
    margin-bottom: 9px !important;
  }
  body.gtgf-v14 .nutrition-guide159949__head h3 {
    max-width: 18ch !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
  }
  body.gtgf-v14 .nutrition-guide159949__head > p:last-child {
    font-size: .68rem !important;
    line-height: 1.45 !important;
  }
  body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__coach {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
    margin: 11px 0 !important;
    padding: 9px 10px !important;
  }
  body.gtgf-v14 .v159946-nutrition-page .nutrition-guide159949__coach p {
    font-size: .66rem !important;
  }
  body.gtgf-v14 .v159946-nutrition-page #gtgf-nutrition-form .nutrition-guide159949 .nutrition-mode__option span {
    min-height: 62px !important;
    padding: 9px 10px !important;
  }

  /* Keep the navigation action visible without forcing another scroll. */
  body.gtgf-v14 .nutrition-guide159949__actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 6 !important;
    margin: 14px -16px -14px !important;
    padding: 9px 16px calc(9px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(8,8,8,.97) !important;
    backdrop-filter: blur(12px) !important;
  }
  body.gtgf-v14 .nutrition-guide159949__back,
  body.gtgf-v14 .nutrition-guide159949__next {
    min-height: 40px !important;
  }
}

@media (max-width: 480px) {
  body.gtgf-v14 .v159946-nutrition-page .v14-shell,
  body.gtgf-v14 .v159946-nutrition-page #voedingsplanner > .wrap {
    width: calc(100% - 32px) !important;
  }
  body.gtgf-v14 .nutrition-guide159949__progress button {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 3px !important;
    text-align: center !important;
  }
  body.gtgf-v14 .nutrition-guide159949__progress button strong {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.gtgf-v14 .nutrition-guide159949__grid--three,
  body.gtgf-v14 .nutrition-guide159949__grid--two,
  body.gtgf-v14 .nutrition-guide159949__fields > .nutrition-mode,
  body.gtgf-v14 .nutrition-guide159949__review-grid {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
   LOGIN / ACCOUNT HANDOFF: mobile edge room and guaranteed contrast
   -------------------------------------------------------------------------- */
body.gtgf-v14 .login-section .planner-auth-card:not(.planner-auth-card--orange) {
  background: #0b0b0b !important;
  color: #fff !important;
}
body.gtgf-v14 .login-section .planner-auth-card:not(.planner-auth-card--orange) :is(h2,h3,strong,label,.eyebrow) {
  color: #fff !important;
}
body.gtgf-v14 .login-section .planner-auth-card:not(.planner-auth-card--orange) :is(p,span,.login-register-note) {
  color: rgba(255,255,255,.68) !important;
}
body.gtgf-v14 .login-section .planner-auth-card--orange {
  background: #fff !important;
  color: #111 !important;
}
body.gtgf-v14 .login-section .planner-auth-card--orange :is(h2,h3,strong) {
  color: #111 !important;
}
body.gtgf-v14 .login-section .planner-auth-card--orange :is(p,span,.login-register-note) {
  color: #5f5b55 !important;
}
body.gtgf-v14 .login-section .planner-auth-card--orange .eyebrow {
  color: #ff5a00 !important;
}

@media (max-width: 680px) {
  body.gtgf-v14 .login-section > .wrap {
    width: calc(100% - 32px) !important;
  }
  body.gtgf-v14 .login-intro {
    padding-inline: 2px !important;
  }
  body.gtgf-v14 .login-intro h2 {
    font-size: clamp(1.75rem, 9vw, 2.35rem) !important;
    line-height: .98 !important;
  }
  body.gtgf-v14 .login-intro > p:last-of-type {
    font-size: .78rem !important;
    line-height: 1.5 !important;
  }
  body.gtgf-v14 .login-auth-grid {
    gap: 10px !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card {
    padding: 18px !important;
    border-radius: 8px !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card h3 {
    margin: 9px 0 14px !important;
    font-size: 1.9rem !important;
    line-height: .94 !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card .form-row {
    margin: 0 0 10px !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card .form-row label {
    margin-bottom: 4px !important;
    font-size: .69rem !important;
    line-height: 1.3 !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card input[type=text],
  body.gtgf-v14 .login-section .planner-auth-card input[type=email],
  body.gtgf-v14 .login-section .planner-auth-card input[type=password] {
    min-height: 46px !important;
    padding: 9px 11px !important;
    font-size: .84rem !important;
  }
  body.gtgf-v14 .login-section .login-remember {
    align-items: flex-start !important;
    gap: 9px !important;
    margin: 7px 0 !important;
  }
  body.gtgf-v14 .login-section .login-remember input {
    flex: 0 0 20px !important;
    margin-top: 1px !important;
  }
  body.gtgf-v14 .login-section .login-remember span {
    font-size: .69rem !important;
    line-height: 1.4 !important;
  }
  body.gtgf-v14 .login-section .login-register-note {
    margin: 7px 0 !important;
    font-size: .66rem !important;
    line-height: 1.45 !important;
  }
  body.gtgf-v14 .login-section .planner-auth-card .button {
    min-height: 44px !important;
    margin-top: 10px !important;
  }
}
