/* GTGF v15.18 - Smart Fuel + Mobile repair layer.
 * Loaded last on purpose: it repairs mobile regressions introduced by compact
 * desktop/performance rules without re-inflating the critical CSS bundles.
 */


body.gtgf-v14 .recipe-library-more { display:flex; justify-content:center; padding:28px 0 0; }
body.gtgf-v14 .recipe-library-more .button { min-height:48px; }

/* ---------- Smart grocery: compact on every viewport ---------- */
body.gtgf-v14 .nutrition-shopping {
  max-width: 1120px;
  margin-inline: auto;
}
body.gtgf-v14 .nutrition-shopping__head {
  align-items: end;
  gap: 24px;
}
body.gtgf-v14 .nutrition-shopping__head h3 {
  max-width: 19ch;
}
body.gtgf-v14 .nutrition-shopping__summary {
  min-width: 124px;
  padding: 14px 16px;
}
body.gtgf-v14 .nutrition-shopping__summary strong {
  font-size: clamp(1.7rem, 3vw, 2.45rem) !important;
  line-height: .9;
}
body.gtgf-v14 .nutrition-shopping__summary span {
  font-size: .68rem !important;
  line-height: 1.25;
}
body.gtgf-v14 .nutrition-shopping__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 18px 0 10px;
}
body.gtgf-v14 .nutrition-shopping__controls > .button {
  min-height: 44px;
  padding: 10px 15px;
  font-size: .7rem;
}
body.gtgf-v14 .nutrition-shopping__more {
  position: relative;
}
body.gtgf-v14 .nutrition-shopping__more > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(17,17,17,.25);
  font-size: .7rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}
body.gtgf-v14 .nutrition-shopping__more > summary::-webkit-details-marker { display: none; }
body.gtgf-v14 .nutrition-shopping__more > div {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  right: 0;
  width: min(300px, calc(100vw - 32px));
  display: grid;
  gap: 7px;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.2);
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
}
body.gtgf-v14 .nutrition-shopping__more > div > * {
  width: 100%;
  min-height: 42px;
}
body.gtgf-v14 .nutrition-shopping__ah-help {
  margin: 8px 0 18px;
  border-top: 1px solid rgba(17,17,17,.12);
  border-bottom: 1px solid rgba(17,17,17,.12);
}
body.gtgf-v14 .nutrition-shopping__ah-help summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  color: #59544e;
  font-size: .73rem;
  font-weight: 800;
  cursor: pointer;
}
body.gtgf-v14 .nutrition-shopping__ah-help p {
  margin: 0 0 14px;
  color: #625d56;
  font-size: .78rem;
  line-height: 1.55;
}
body.gtgf-v14 .nutrition-shopping__list {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(17,17,17,.16);
}
body.gtgf-v14 .nutrition-shopping__category {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(17,17,17,.16) !important;
  background: transparent !important;
}
body.gtgf-v14 .nutrition-shopping__category-head {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 0;
}
body.gtgf-v14 .nutrition-shopping__category-head h4 {
  margin: 0 !important;
  font-family: var(--v14-body) !important;
  font-size: .82rem !important;
  line-height: 1.2 !important;
  letter-spacing: .01em !important;
}
body.gtgf-v14 .nutrition-shopping__category-head h4 small {
  margin-left: 5px;
  color: #8a857e;
  font-size: .66rem;
}
body.gtgf-v14 .nutrition-shopping__category-check {
  min-height: 36px;
  padding: 6px 0 6px 10px;
  border: 0;
  background: transparent;
  color: #68625c;
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
}
body.gtgf-v14 .nutrition-shopping__items {
  display: grid;
  gap: 0 !important;
}
body.gtgf-v14 .nutrition-shopping__item {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) 38px !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(17,17,17,.075) !important;
  background: transparent !important;
}
body.gtgf-v14 .nutrition-shopping__item:first-child { border-top: 0 !important; }
body.gtgf-v14 .nutrition-shopping__check-label {
  width: 34px;
  min-width: 34px;
  min-height: 44px;
  display: grid;
  place-items: center;
  margin: 0 !important;
  cursor: pointer;
}
body.gtgf-v14 .nutrition-shopping__check-label input {
  position: absolute;
  opacity: 0;
}
body.gtgf-v14 .nutrition-shopping__check-label > span[aria-hidden] {
  width: 22px;
  height: 22px;
  display: block;
  border: 1.5px solid #8f8981;
  background: #fff;
}
body.gtgf-v14 .nutrition-shopping__check-label input:checked + span[aria-hidden] {
  border-color: #111;
  background: #111;
  box-shadow: inset 0 0 0 5px #fff;
}
body.gtgf-v14 .nutrition-shopping__item-copy {
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: baseline;
  gap: 6px 12px;
}
body.gtgf-v14 .nutrition-shopping__item-copy strong {
  min-width: 0;
  overflow: hidden;
  color: #171717;
  font-size: .88rem !important;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.gtgf-v14 .nutrition-shopping__amount {
  color: #4c4742;
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
}
body.gtgf-v14 .nutrition-shopping__always-badge {
  grid-column: 1 / -1;
  color: #6a655e !important;
  font-size: .62rem !important;
  line-height: 1.2;
}
body.gtgf-v14 .nutrition-shopping__item.is-checked .nutrition-shopping__item-copy,
body.gtgf-v14 .nutrition-shopping__item.is-always .nutrition-shopping__item-copy {
  opacity: .48;
}
body.gtgf-v14 .nutrition-shopping__item-more {
  position: relative;
  justify-self: end;
}
body.gtgf-v14 .nutrition-shopping__item-more > summary {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #6b665f;
  font-size: .8rem;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
body.gtgf-v14 .nutrition-shopping__item-more > summary::-webkit-details-marker { display: none; }
body.gtgf-v14 .nutrition-shopping__item-more > div {
  position: absolute;
  z-index: 20;
  top: 40px;
  right: 0;
  width: min(340px, calc(100vw - 40px));
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(17,17,17,.18);
  box-shadow: 0 16px 42px rgba(0,0,0,.14);
}
body.gtgf-v14 .nutrition-shopping__item-more small {
  display: block;
  color: #625d56 !important;
  font-size: .68rem !important;
  line-height: 1.45;
}
body.gtgf-v14 .nutrition-shopping__item-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px !important;
  margin-top: 10px;
}
body.gtgf-v14 .nutrition-shopping__item-actions a,
body.gtgf-v14 .nutrition-shopping__item-actions button {
  min-height: 38px !important;
  display: inline-flex;
  align-items: center;
  padding: 7px 9px !important;
  border: 1px solid rgba(17,17,17,.18) !important;
  background: transparent !important;
  color: #222 !important;
  font-size: .64rem !important;
  font-weight: 800 !important;
}
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary::-webkit-details-marker { display: none; }
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary > span:first-child {
  display: grid;
  gap: 2px;
}
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary strong {
  font-size: .82rem;
}
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary small,
body.gtgf-v14 .nutrition-shopping__category.is-pantry > summary > span:last-child {
  color: #77716a;
  font-size: .65rem;
}
body.gtgf-v14 .nutrition-shopping__footnote {
  margin-top: 12px !important;
  color: #77716a !important;
  font-size: .67rem !important;
  line-height: 1.45;
}

/* ---------- Recipe library: less card, more scan ---------- */
body.gtgf-v14 .recipe-grid {
  align-items: start;
}
body.gtgf-v14 .recipe-card {
  min-height: 0 !important;
  height: auto !important;
  padding: 22px !important;
}
body.gtgf-v14 .recipe-card h2 {
  margin: 22px 0 10px !important;
  font-size: clamp(1.45rem, 2.7vw, 2rem) !important;
  line-height: 1 !important;
}
body.gtgf-v14 .recipe-card > p:not(.eyebrow) {
  margin-bottom: 14px !important;
  font-size: .84rem !important;
  line-height: 1.5;
}
body.gtgf-v14 .recipe-card__meta {
  margin: 12px 0 !important;
  padding: 9px 0 !important;
}
body.gtgf-v14 .recipe-card__macro-grid {
  gap: 4px !important;
  margin: 10px 0 4px !important;
}
body.gtgf-v14 .recipe-card__macro-grid span {
  min-height: 48px !important;
  padding: 8px !important;
}
body.gtgf-v14 .recipe-card__macro-grid strong {
  font-size: .86rem !important;
}
body.gtgf-v14 .recipe-card__macro-grid small {
  font-size: .55rem !important;
}
body.gtgf-v14 .recipe-card__macro-note {
  font-size: .58rem !important;
}
body.gtgf-v14 .recipe-card__footer {
  gap: 8px !important;
  margin-top: 15px !important;
}
body.gtgf-v14 .recipe-card__link,
body.gtgf-v14 .recipe-card__shopping {
  min-height: 42px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 11px !important;
  font-size: .66rem !important;
}
body.gtgf-v14 .recipe-single__ah-note {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(17,17,17,.14);
  color: #625d56;
}
body.gtgf-v14 .recipe-single__ah-note summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  font-size: .68rem;
  font-weight: 800;
  cursor: pointer;
}
body.gtgf-v14 .recipe-single__ah-note p {
  font-size: .7rem !important;
  line-height: 1.5;
}

/* ---------- Mobile foundation ---------- */
@media (max-width: 760px) {
  :root {
    --v14-shell: calc(100vw - 28px);
    --v14-header-h: 70px;
  }
  html, body.gtgf-v14 { overflow-x: clip; }
  body.gtgf-v14 {
    font-size: 16px;
    line-height: 1.55;
  }
  body.gtgf-v14 .wrap,
  body.gtgf-v14 .v14-shell,
  body.gtgf-v14 .v14-footer-top,
  body.gtgf-v14 .v14-footer-bottom {
    width: calc(100vw - 28px) !important;
    max-width: none !important;
  }
  body.gtgf-v14 h1 { font-size: clamp(2.35rem, 12vw, 3.35rem) !important; line-height: .92 !important; }
  body.gtgf-v14 h2 { font-size: clamp(2rem, 9vw, 2.8rem) !important; line-height: .95 !important; }
  body.gtgf-v14 h3 { font-size: clamp(1.35rem, 6.4vw, 1.8rem) !important; line-height: 1.02 !important; }
  body.gtgf-v14 .page-hero { min-height: 0 !important; padding: 52px 0 42px !important; }
  body.gtgf-v14 .page-hero__inner { gap: 13px !important; }
  body.gtgf-v14 .page-hero__intro { max-width: 38ch; font-size: .92rem !important; line-height: 1.5 !important; }
  body.gtgf-v14 .section { padding-block: 48px !important; }
  body.gtgf-v14 button,
  body.gtgf-v14 .button,
  body.gtgf-v14 .v14-btn { touch-action: manipulation; }
  body.gtgf-v14 input:not([type="checkbox"]):not([type="radio"]),
  body.gtgf-v14 select,
  body.gtgf-v14 textarea {
    min-height: 48px !important;
    font-size: 16px !important;
  }
  body.gtgf-v14 .v14-site-header { height: 70px; }
  body.gtgf-v14 .v14-header-inner {
    width: calc(100vw - 24px) !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
  }
  body.gtgf-v14 .v14-brand img { max-width: 128px !important; max-height: 44px !important; }

  /* Training planner: restore readable controls and one-column results. */
  body.gtgf-v14 .planner-section { padding-top: 26px !important; }
  body.gtgf-v14 .planner-layout { width: calc(100vw - 20px) !important; }
  body.gtgf-v14 .planner-tool,
  body.gtgf-v14 .planner-form,
  body.gtgf-v14 .planner-wizard { width: 100% !important; min-width: 0 !important; }
  body.gtgf-v14 .planner-wizard__top {
    display: block !important;
    padding: 16px 12px 0 !important;
  }
  body.gtgf-v14 .planner-wizard__intro { display: none !important; }
  body.gtgf-v14 .planner-wizard__progress {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 0 !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }
  body.gtgf-v14 .planner-wizard__progress button {
    min-width: 0 !important;
    min-height: 52px !important;
    display: grid !important;
    align-content: center !important;
    gap: 2px !important;
    padding: 7px 3px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    background: transparent !important;
  }
  body.gtgf-v14 .planner-wizard__progress button.is-active { border-bottom-color: #ff5a00 !important; }
  body.gtgf-v14 .planner-wizard__progress button span { font-size: .64rem !important; line-height: 1 !important; }
  body.gtgf-v14 .planner-wizard__progress button strong { font-size: .76rem !important; line-height: 1.15 !important; }
  body.gtgf-v14 .planner-wizard__body { padding: 18px 14px 14px !important; }
  body.gtgf-v14 .planner-step { padding: 0 !important; }
  body.gtgf-v14 .planner-step legend {
    margin-bottom: 8px !important;
    font-size: 1.35rem !important;
    line-height: 1.05 !important;
  }
  body.gtgf-v14 .planner-step legend span {
    margin-bottom: 5px;
    font-size: .62rem !important;
  }
  body.gtgf-v14 .planner-step__intro {
    margin-bottom: 16px !important;
    font-size: .9rem !important;
    line-height: 1.5 !important;
  }
  body.gtgf-v14 .planner-fields,
  body.gtgf-v14 .planner-fields--step,
  body.gtgf-v14 .planner-calendar-fields {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }
  body.gtgf-v14 .planner-field { min-width: 0 !important; }
  body.gtgf-v14 .planner-field label {
    margin-bottom: 6px !important;
    font-size: .82rem !important;
    line-height: 1.3 !important;
  }
  body.gtgf-v14 .planner-field input,
  body.gtgf-v14 .planner-field select,
  body.gtgf-v14 .planner-field textarea {
    min-height: 50px !important;
    padding: 11px 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  body.gtgf-v14 .planner-advanced-option summary,
  body.gtgf-v14 .planner-calendar-option summary {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    font-size: .8rem !important;
  }
  body.gtgf-v14 .planner-v15-style-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  body.gtgf-v14 .planner-v15-choice span { min-height: 64px; padding: 12px !important; }
  body.gtgf-v14 .planner-v15-choice strong { font-size: .9rem !important; }
  body.gtgf-v14 .planner-v15-choice small { font-size: .78rem !important; line-height: 1.4 !important; }
  body.gtgf-v14 .planner-v15-availability {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  body.gtgf-v14 .planner-v15-day span {
    min-height: 46px !important;
    display: grid !important;
    place-items: center !important;
    padding: 8px 4px !important;
    font-size: .8rem !important;
  }
  body.gtgf-v14 .planner-live-summary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 12px !important;
  }
  body.gtgf-v14 .planner-live-summary strong { font-size: .88rem !important; }
  body.gtgf-v14 .planner-live-summary small,
  body.gtgf-v14 .planner-coach-note,
  body.gtgf-v14 .planner-date-hint { font-size: .8rem !important; line-height: 1.5 !important; }
  body.gtgf-v14 .planner-wizard__actions {
    display: grid !important;
    grid-template-columns: minmax(94px,.7fr) minmax(0,1.3fr) !important;
    gap: 8px !important;
    padding: 14px !important;
  }
  body.gtgf-v14 .planner-wizard__actions button,
  body.gtgf-v14 .planner-form__actions .button {
    min-height: 50px !important;
    padding: 10px 12px !important;
    font-size: .82rem !important;
  }
  body.gtgf-v14 .planner-wizard__action-spacer { display: none !important; }
  body.gtgf-v14 .planner-week {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.gtgf-v14 .planner-week > * { min-width: 0 !important; }
  body.gtgf-v14 .planner-method-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  body.gtgf-v14 .planner-summary__stats { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.gtgf-v14 .planner-results__actions,
  body.gtgf-v14 .planner-export__controls,
  body.gtgf-v14 .planner-save-form__actions { grid-template-columns: 1fr !important; flex-direction: column !important; align-items: stretch !important; }
  body.gtgf-v14 .planner-results__actions .button,
  body.gtgf-v14 .planner-export__controls .button { width: 100% !important; min-height: 48px !important; }
  body.gtgf-v14 .planner-week-tabs,
  body.gtgf-v14 .planner-week-navigation {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  body.gtgf-v14 .planner-action-summary,
  body.gtgf-v14 .planner-advice,
  body.gtgf-v14 .planner-week-advice,
  body.gtgf-v14 .planner-fuel-bridge { padding: 16px !important; }

  /* Nutrition planner: one decision at a time on mobile. */
  body.gtgf-v14 .nutrition-planner { padding-top: 34px !important; }
  body.gtgf-v14 .nutrition-form { padding: 14px !important; }
  body.gtgf-v14 .nutrition-mode {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  body.gtgf-v14 .nutrition-mode__option span { min-height: 66px !important; padding: 12px !important; }
  body.gtgf-v14 .nutrition-mode__option strong { font-size: .9rem !important; }
  body.gtgf-v14 .nutrition-mode__option small { margin-top: 3px; font-size: .78rem !important; line-height: 1.4 !important; }
  body.gtgf-v14 .nutrition-form__core-grid,
  body.gtgf-v14 .nutrition-fields,
  body.gtgf-v14 .nutrition-fields--profile,
  body.gtgf-v14 .nutrition-fields--standalone,
  body.gtgf-v14 .nutrition-training-link__controls {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.gtgf-v14 .nutrition-form__panel { padding: 16px 0 !important; }
  body.gtgf-v14 .nutrition-form__section-head p { font-size: .88rem !important; line-height: 1.5 !important; }
  body.gtgf-v14 .nutrition-allergen-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 6px !important; }
  body.gtgf-v14 .nutrition-allergen-grid label { min-height: 46px !important; padding: 8px !important; font-size: .8rem !important; }
  body.gtgf-v14 .nutrition-form__footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.gtgf-v14 .nutrition-form__footer .button { width: 100%; min-height: 50px !important; }
  body.gtgf-v14 .nutrition-results__head { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.gtgf-v14 .nutrition-results__legend { justify-content: flex-start !important; flex-wrap: wrap; }
  body.gtgf-v14 .nutrition-week-overview,
  body.gtgf-v14 .nutrition-load-strip { max-width: 100%; overflow-x: auto; }
  body.gtgf-v14 .nutrition-day { padding: 14px !important; }
  body.gtgf-v14 .nutrition-day__targets { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 6px !important; }
  body.gtgf-v14 .nutrition-day__targets span { padding: 9px !important; }

  /* Smart shopping becomes a phone list, not a dashboard. */
  body.gtgf-v14 .nutrition-shopping { margin-top: 32px !important; padding: 18px 0 !important; }
  body.gtgf-v14 .nutrition-shopping__head {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: start !important;
    gap: 12px !important;
  }
  body.gtgf-v14 .nutrition-shopping__head h3 { font-size: 1.45rem !important; max-width: 17ch; }
  body.gtgf-v14 .nutrition-shopping__head p:not(.eyebrow) { display: none; }
  body.gtgf-v14 .nutrition-shopping__summary { min-width: 78px; padding: 10px; }
  body.gtgf-v14 .nutrition-shopping__summary strong { font-size: 1.65rem !important; }
  body.gtgf-v14 .nutrition-shopping__summary span { font-size: .66rem !important; }
  body.gtgf-v14 .nutrition-shopping__controls {
    display: grid !important;
    grid-template-columns: 1.25fr 1fr 1fr auto !important;
    gap: 5px !important;
  }
  body.gtgf-v14 .nutrition-shopping__controls > .button,
  body.gtgf-v14 .nutrition-shopping__more > summary {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 8px 6px !important;
    font-size: .7rem !important;
    letter-spacing: .015em !important;
    white-space: nowrap;
  }
  body.gtgf-v14 .nutrition-shopping__more > summary { width: 44px; justify-content: center; font-size: 0 !important; }
  body.gtgf-v14 .nutrition-shopping__more > summary:after { content: "•••"; font-size: .7rem; }
  body.gtgf-v14 .nutrition-shopping__ah-help { margin-bottom: 8px; }
  body.gtgf-v14 .nutrition-shopping__item-copy strong { font-size: .82rem !important; }
  body.gtgf-v14 .nutrition-shopping__amount { font-size: .78rem !important; }
  body.gtgf-v14 .nutrition-shopping__item-more > div { position: fixed; left: 14px; right: 14px; top: auto; bottom: 14px; width: auto; max-height: 48vh; overflow: auto; }

  /* Recipe library: filters and cards should scan quickly with one hand. */
  body.gtgf-v14 .recipe-library-tools { padding: 14px !important; }
  body.gtgf-v14 .recipe-library-tools__row { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  body.gtgf-v14 .recipe-filters {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    overscroll-behavior-inline: contain;
  }
  body.gtgf-v14 .recipe-filters a { flex: 0 0 auto; min-height: 42px !important; padding: 9px 12px !important; font-size: .72rem !important; }
  body.gtgf-v14 .recipe-library-tools__actions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  body.gtgf-v14 .recipe-library-tools__actions > * { min-width: 0 !important; }
  body.gtgf-v14 .recipe-library-tools__actions select { min-height: 46px !important; font-size: 16px !important; }
  body.gtgf-v14 .recipe-saved-filter,
  body.gtgf-v14 .recipe-shopping-link,
  body.gtgf-v14 .recipe-protein-filter { min-height: 46px !important; font-size: .74rem !important; }
  body.gtgf-v14 .recipe-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.gtgf-v14 .recipe-card { min-height: 0 !important; padding: 16px !important; }
  body.gtgf-v14 .recipe-card__top { align-items: center !important; gap: 8px !important; }
  body.gtgf-v14 .recipe-card__top .eyebrow { font-size: .66rem !important; }
  body.gtgf-v14 .recipe-card__energy,
  body.gtgf-v14 .recipe-save { min-height: 36px !important; padding: 7px 9px !important; font-size: .66rem !important; }
  body.gtgf-v14 .recipe-card h2 { margin: 14px 0 7px !important; font-size: 1.42rem !important; }
  body.gtgf-v14 .recipe-card > p:not(.eyebrow) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .84rem !important;
    line-height: 1.45 !important;
  }
  body.gtgf-v14 .recipe-card__meta { margin: 8px 0 !important; padding: 7px 0 !important; font-size: .72rem !important; }
  body.gtgf-v14 .recipe-card__macro-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  body.gtgf-v14 .recipe-card__macro-grid span { min-height: 44px !important; padding: 6px 3px !important; }
  body.gtgf-v14 .recipe-card__macro-grid strong { font-size: .78rem !important; }
  body.gtgf-v14 .recipe-card__macro-grid small { font-size: .58rem !important; line-height: 1.2 !important; }
  body.gtgf-v14 .recipe-card__macro-note { display: none !important; }
  body.gtgf-v14 .recipe-card__footer { display: grid !important; grid-template-columns: 1fr auto !important; }
  body.gtgf-v14 .recipe-card__link,
  body.gtgf-v14 .recipe-card__shopping { min-height: 42px !important; font-size: .72rem !important; }
  body.gtgf-v14 .recipe-single { grid-template-columns: 1fr !important; gap: 18px !important; }
  body.gtgf-v14 .recipe-single__facts { position: static !important; padding: 14px !important; }
  body.gtgf-v14 .recipe-single__buttons { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
  body.gtgf-v14 .recipe-single__buttons .button,
  body.gtgf-v14 .recipe-print { width: 100%; min-height: 46px !important; }

  /* v15.18 mobile QA: high-traffic public routes never keep desktop grids. */
  body.gtgf-v14 .events-intro__grid,
  body.gtgf-v14 .events-filter-layout,
  body.gtgf-v14 .events-community-cta__grid,
  body.gtgf-v14 .v156-featured-grid,
  body.gtgf-v14 .v153-knowledge-standard__grid,
  body.gtgf-v14 .v1515-topic-hubs__grid,
  body.gtgf-v14 .v156-route-grid,
  body.gtgf-v14 .v151-article-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas: none !important;
    gap: 12px !important;
  }
  body.gtgf-v14 .events-filter-fields { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.gtgf-v14 .events-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 7px !important; }
  body.gtgf-v14 .events-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.gtgf-v14 .events-filter-panel,
  body.gtgf-v14 .events-map-panel { grid-area: auto !important; }
  body.gtgf-v14 .events-filter-panel,
  body.gtgf-v14 .events-map-panel,
  body.gtgf-v14 .event-card,
  body.gtgf-v14 .v156-filter-panel { min-width: 0 !important; }
  body.gtgf-v14 .v156-filter-panel__body { padding: 14px !important; }
  body.gtgf-v14 .v156-knowledge-search input { min-height: 50px !important; font-size: 16px !important; }
  body.gtgf-v14 .recipe-library-more { display: flex; justify-content: center; padding: 20px 0 0; }
  body.gtgf-v14 .recipe-library-more .button { width: min(100%,360px); min-height: 48px !important; }

}

@media (max-width: 430px) {
  body.gtgf-v14 .planner-layout { width: calc(100vw - 16px) !important; }
  body.gtgf-v14 .planner-wizard__body { padding-inline: 11px !important; }
  body.gtgf-v14 .planner-v15-availability { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  body.gtgf-v14 .planner-method-summary { grid-template-columns: 1fr !important; }
  body.gtgf-v14 .planner-wizard__actions { grid-template-columns: 1fr !important; }
  body.gtgf-v14 .planner-wizard__back { order: 2; }
  body.gtgf-v14 .nutrition-shopping__controls { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.gtgf-v14 #nutrition-shopping-ah { grid-column: 1 / -1; }
  body.gtgf-v14 .nutrition-shopping__more > summary { width: 100% !important; font-size: .72rem !important; }
  body.gtgf-v14 .nutrition-shopping__more > summary:after { content: none !important; }
  body.gtgf-v14 .recipe-library-tools__actions { grid-template-columns: 1fr !important; }
  body.gtgf-v14 .recipe-card__macro-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.gtgf-v14 .recipe-card__macro-grid span { min-height: 46px !important; }
}

@media (max-width: 360px) {
  body.gtgf-v14 .planner-wizard__progress { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.gtgf-v14 .planner-v15-availability { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  body.gtgf-v14 .events-stat-grid { grid-template-columns: 1fr !important; }
}
