/* GTGF v15.52 — Site 4.0 Phase 1: Design System & CSS Consolidation
 * One official site-wide token/component layer. Earlier page-specific planner,
 * nutrition and archive styles remain isolated; late global patches v15.22,
 * v15.50 and v15.51 are consolidated below to reduce cascade fragmentation.
 */

:root {
  /* Brand */
  --gtgf-accent:#ff5a00;
  --gtgf-accent-hover:#ff7429;
  --gtgf-accent-text:#bd3e00;
  --gtgf-black:#050505;
  --gtgf-ink:#111111;
  --gtgf-paper:#f4f2ed;
  --gtgf-surface:#ffffff;
  --gtgf-surface-soft:#ece9e2;
  --gtgf-muted:#686159;
  --gtgf-muted-strong:#55514c;
  --gtgf-line:rgba(17,17,17,.14);
  --gtgf-line-strong:#8f8982;
  --gtgf-line-dark:rgba(255,255,255,.16);
  --gtgf-line-dark-strong:#666666;

  /* Layout */
  --gtgf-shell:1280px;
  --gtgf-shell-gutter:32px;
  --gtgf-header-h:78px;
  --gtgf-section-space:clamp(72px,8vw,120px);
  --gtgf-section-space-compact:clamp(52px,6vw,84px);

  /* Spacing scale */
  --gtgf-space-1:4px;
  --gtgf-space-2:8px;
  --gtgf-space-3:12px;
  --gtgf-space-4:16px;
  --gtgf-space-5:24px;
  --gtgf-space-6:32px;
  --gtgf-space-7:48px;
  --gtgf-space-8:64px;

  /* Type */
  --gtgf-font-body:Inter,Arial,Helvetica,sans-serif;
  --gtgf-font-display:Arial Black,Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;
  --gtgf-text-body:17px;
  --gtgf-text-small:13px;
  --gtgf-text-micro:12px;
  --gtgf-leading-body:1.65;

  /* Controls / motion */
  --gtgf-control-h:48px;
  --gtgf-control-h-large:56px;
  --gtgf-focus:0 0 0 3px rgba(255,90,0,.38);
  --gtgf-transition:180ms ease;
  --gtgf-shadow:0 28px 70px rgba(0,0,0,.16);

  /* Compatibility aliases: old components now inherit one source of truth. */
  --orange:var(--gtgf-accent);
  --v14-orange:var(--gtgf-accent);
  --v14-black:var(--gtgf-black);
  --v14-ink:var(--gtgf-ink);
  --v14-paper:var(--gtgf-paper);
  --v14-white:var(--gtgf-surface);
  --v14-grey:var(--gtgf-muted);
  --v14-line:var(--gtgf-line);
  --v14-line-light:var(--gtgf-line-dark);
  --v14-header-h:var(--gtgf-header-h);
  --v14-shadow:var(--gtgf-shadow);
  --v14-body:var(--gtgf-font-body);
  --v14-display:var(--gtgf-font-display);
  --v14-shell:min(var(--gtgf-shell),calc(100vw - (var(--gtgf-shell-gutter) * 2)));
}

/* Base rhythm. Keep page-specific art direction, standardise the underlying grid. */
body.gtgf-v14 {
  font-family:var(--gtgf-font-body);
  font-size:var(--gtgf-text-body);
  line-height:var(--gtgf-leading-body);
}
body.gtgf-v14 :is(.v14-shell,.wrap) { min-width:0; }
body.gtgf-v14 :is(.v14-page,.v14-home-main) > section { scroll-margin-top:calc(var(--gtgf-header-h) + 20px); }

/* Functional text must remain readable; eyebrows may be compact but never microscopic. */
body.gtgf-v14 :is(.v14-eyebrow,.eyebrow,.home-kicker) { font-size:max(.72rem,var(--gtgf-text-micro)) !important; }
body.gtgf-v14 :is(small,.form-hint,.form-help,.planner-password-link,.login-register-note) { line-height:1.5; }

/* One control language for both legacy .button and modern .v14-btn surfaces. */
body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button,.v14-btn) {
  min-height:var(--gtgf-control-h);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-width:1px;
  border-style:solid;
  font-size:14px !important;
  font-weight:900;
  line-height:1.15;
  letter-spacing:.065em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform var(--gtgf-transition),background var(--gtgf-transition),color var(--gtgf-transition),border-color var(--gtgf-transition),box-shadow var(--gtgf-transition);
}
body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button):not(.button--dark):not(.button--outline):not(.button--outline-dark):not(.button--outline-light):not(.button--light),
body.gtgf-v14 .v14-btn--orange {
  background:var(--gtgf-accent);
  border-color:var(--gtgf-accent);
  color:#090909 !important;
}
@media (hover:hover) {
  body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button,.v14-btn):hover { transform:translateY(-2px); }
}
body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button,.v14-btn):focus-visible,
body.gtgf-v14 :is(input,select,textarea,summary):focus-visible {
  outline:3px solid var(--gtgf-accent) !important;
  outline-offset:3px;
  box-shadow:none;
}

/* Form language: consistent hit area and readable labels. */
body.gtgf-v14 :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  border-radius:0;
  border-width:1px;
}
body.gtgf-v14 :is(input:not([type=checkbox]):not([type=radio]),select) { min-height:var(--gtgf-control-h); }
body.gtgf-v14 textarea { min-height:112px; }
body.gtgf-v14 :is(.form-row>label,.planner-field>label,.events-filter label,.recipe-filter-group label) {
  font-size:14px;
  line-height:1.35;
}

/* Shared content surfaces. GTGF remains technical/sharp: no generic rounded-app aesthetic. */
body.gtgf-v14 :is(.v14-product-card,.v14-current-card,.saved-plan-card,.event-card,.recipe-card,.v1524-article-card,.planner-auth-card) {
  border-radius:0;
}

/* Post-value account conversion: show why creating an account is worth it. */
.gtgf-account-incentive {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin:28px 0 34px;
  padding:24px 26px;
  border:1px solid rgba(255,90,0,.42);
  background:linear-gradient(110deg,rgba(255,90,0,.09),rgba(255,255,255,.7));
  color:var(--gtgf-ink);
}
.gtgf-account-incentive__copy > span {
  display:block;
  margin-bottom:6px;
  color:var(--gtgf-accent);
  font-size:var(--gtgf-text-micro);
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.gtgf-account-incentive h3 { margin:0 0 8px; font-size:clamp(1.35rem,2.1vw,2rem); }
.gtgf-account-incentive p { margin:0; max-width:760px; color:var(--gtgf-muted); line-height:1.6; }
.gtgf-account-incentive__benefits { display:flex; flex-wrap:wrap; gap:7px 14px; margin:13px 0 0; padding:0; list-style:none; }
.gtgf-account-incentive__benefits li { font-size:var(--gtgf-text-small); font-weight:750; }
.gtgf-account-incentive__benefits li::before { content:'✓'; margin-right:6px; color:var(--gtgf-accent); font-weight:950; }
.gtgf-account-incentive .button { white-space:nowrap; }

@media (max-width:900px) {
  :root { --gtgf-shell-gutter:22px; --gtgf-section-space:clamp(58px,8vw,88px); }
  .gtgf-account-incentive { grid-template-columns:1fr; }
  .gtgf-account-incentive .button { width:100%; }
}
@media (max-width:680px) {
  :root { --gtgf-shell-gutter:14px; --gtgf-header-h:70px; --gtgf-text-body:16px; --gtgf-section-space:48px; }
  body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button,.v14-btn) { min-height:48px; }
  body.gtgf-v14 :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px !important; }
  .gtgf-account-incentive { margin:20px 0 28px; padding:20px 18px; gap:18px; }
}

@media (prefers-reduced-motion:reduce) {
  body.gtgf-v14 :is(.button,a.button,button.button,.wp-element-button,.v14-btn) { transition:none !important; transform:none !important; }
}


/* === Consolidated v15.22 contrast/clickability guardrails === */
/**
 * GTGF v15.22 — knowledge clickability + contrast only.
 * Deliberately contains no responsive layout/grid/spacing changes.
 */

/* Make the entire knowledge card reliably clickable above decorative layers. */
body.gtgf-v14 .v145-article-card {
  isolation: isolate;
  cursor: pointer;
}
body.gtgf-v14 .v145-article-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
body.gtgf-v14 .v145-article-card > :not(.v145-article-card__link) {
  pointer-events: none;
}

/* Dark planner / nutrition form labels: keep secondary copy visibly secondary, not invisible. */
body.gtgf-v14 .planner-form .planner-field label,
body.gtgf-v14 .nutrition-form .planner-field label,
body.gtgf-v14 .nutrition-form__panel .planner-field label {
  color: rgba(255,255,255,.82) !important;
}
body.gtgf-v14 .planner-form .planner-field label span,
body.gtgf-v14 .nutrition-form .planner-field label span,
body.gtgf-v14 .nutrition-form__panel .planner-field label span {
  color: rgba(255,255,255,.62) !important;
}
body.gtgf-v14 .nutrition-form .planner-field select,
body.gtgf-v14 .nutrition-form__panel .planner-field select {
  background-color: #111 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}
body.gtgf-v14 .nutrition-form .planner-field select option,
body.gtgf-v14 .nutrition-form__panel .planner-field select option {
  background: #fff;
  color: #111;
}

/* Secondary text on known black nutrition surfaces. */
body.gtgf-v14 .nutrition-form__panel .nutrition-form__section-head > p:last-child,
body.gtgf-v14 .nutrition-form__footer p,
body.gtgf-v14 .nutrition-allergens > p,
body.gtgf-v14 .nutrition-results__legend,
body.gtgf-v14 .nutrition-day header span,
body.gtgf-v14 .nutrition-meal p,
body.gtgf-v14 .nutrition-meal small,
body.gtgf-v14 .nutrition-shopping__category-check,
body.gtgf-v14 .nutrition-shopping__remove {
  color: rgba(255,255,255,.72) !important;
}

/* Knowledge dark heroes / hubs: readable supporting copy on both desktop and mobile. */
body.gtgf-v14 .v1515-hub-hero .v14-lead,
body.gtgf-v14 .v1515-hub-related .v14-section-head > p,
body.gtgf-v14 .v145-article-hero .v14-lead,
body.gtgf-v14 .v145-article-hero p:not(.v14-eyebrow),
body.gtgf-v14 .v153-related-knowledge.section--black .v14-section-head > p {
  color: rgba(255,255,255,.78) !important;
}

/* Keep disabled-looking help text readable without making it primary. */
body.gtgf-v14 .section--black .v14-muted,
body.gtgf-v14 .section--black .v14-help,
body.gtgf-v14 .planner-form .v14-muted,
body.gtgf-v14 .nutrition-form .v14-muted {
  color: rgba(255,255,255,.68) !important;
}


/* === Consolidated v15.50 Site UX rules === */
/* GTGF v15.50 — Site UX 3.0A foundation
 * Navigation simplification, readable microtype, public Club entry,
 * archive progressive disclosure and cross-device interaction polish.
 */

:root {
  --v1550-readable-muted: #66615a;
  --v1550-line: rgba(18, 18, 18, .12);
}

/* Header: five clear public routes; never solve width by shrinking to ~9px. */
.v151-site-header .v1550-nav-list { justify-content: center; gap: clamp(16px, 2vw, 34px); }
.v151-site-header .v1550-nav-list > li > a { min-height: 44px; display: inline-flex; align-items: center; font-size:max(.72rem,12px) !important; }
.v151-site-header .v1550-nav-list > li.is-current > a { color: var(--orange, #ff5a00); }
.v151-site-header .v151-submenu a { line-height: 1.3; }
.v151-site-header .v151-submenu a span { font-size:max(.72rem,12px); line-height: 1.45; color: #716b63; }
.v151-site-header .v1550-submenu--discover { min-width: min(660px, calc(100vw - 48px)); }

@media (min-width: 1021px) and (max-width: 1180px) {
  .v151-site-header .v14-header-inner { grid-template-columns: 142px minmax(0, 1fr) auto; gap: 10px; }
  .v151-site-header .v1550-nav-list { gap: 10px; }
  .v151-site-header .v14-nav-list > li > a { font-size:max(.72rem,12px) !important; letter-spacing: .055em !important; padding-inline: 4px !important; }
  .v151-site-header .v14-header-primary { padding-inline: 12px !important; }
  .v151-site-header .v14-account-trigger { font-size:max(.72rem,12px) !important; }
}

/* Public Club: show value before asking for a login. */
.v1550-club-public { background: #f5f2ec; color: #151515; }
.v1550-club-hero { position: relative; overflow: hidden; padding: clamp(92px, 11vw, 150px) 0 clamp(70px, 8vw, 112px); background: #111; color: #fff; }
.v1550-club-hero::before { content:""; position:absolute; inset:0; opacity:.16; pointer-events:none; background: repeating-radial-gradient(ellipse at 80% 20%, transparent 0 18px, rgba(255,255,255,.18) 19px, transparent 20px 36px); transform: scale(1.35); }
.v1550-club-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr); gap:clamp(36px,7vw,96px); align-items:end; }
.v1550-club-hero h1 { margin:.45rem 0 1.25rem; font-size:clamp(3rem,7.4vw,7.6rem); line-height:.84; letter-spacing:-.055em; text-transform:uppercase; }
.v1550-club-hero h1 span { color:var(--orange,#ff5a00); }
.v1550-club-hero p:not(.eyebrow) { max-width:720px; font-size:clamp(1rem,1.45vw,1.22rem); line-height:1.65; color:rgba(255,255,255,.78); }
.v1550-club-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.v1550-club-preview { padding:28px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.055); backdrop-filter:blur(10px); }
.v1550-club-preview > span { display:block; font-size:.72rem; letter-spacing:.16em; color:#aaa; }
.v1550-club-preview > strong { display:block; margin:8px 0 20px; font-size:1.45rem; text-transform:uppercase; }
.v1550-club-preview__bar { height:8px; background:rgba(255,255,255,.14); overflow:hidden; }
.v1550-club-preview__bar i { display:block; width:72%; height:100%; background:var(--orange,#ff5a00); }
.v1550-club-preview dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0 0; }
.v1550-club-preview dl div { border-top:1px solid rgba(255,255,255,.16); padding-top:12px; }
.v1550-club-preview dt { font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; color:#aaa; }
.v1550-club-preview dd { margin:4px 0 0; font-weight:800; text-transform:uppercase; }
.v1550-club-value { padding:clamp(70px,8vw,118px) 0; }
.v1550-section-intro { max-width:770px; margin-bottom:38px; }
.v1550-section-intro h2 { margin:.35rem 0 .8rem; font-size:clamp(2.4rem,5vw,5rem); line-height:.92; text-transform:uppercase; letter-spacing:-.04em; }
.v1550-section-intro > p:last-child { color:var(--v1550-readable-muted); font-size:1rem; line-height:1.7; }
.v1550-club-value__grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--v1550-line); }
.v1550-club-value article { padding:28px 30px 20px 0; border-right:1px solid var(--v1550-line); }
.v1550-club-value article + article { padding-left:30px; }
.v1550-club-value article:last-child { border-right:0; }
.v1550-club-value article > span { font-size:.72rem; letter-spacing:.13em; color:var(--orange,#ff5a00); }
.v1550-club-value h3 { margin:12px 0 10px; font-size:1.55rem; text-transform:uppercase; }
.v1550-club-value article p { margin:0; line-height:1.65; color:var(--v1550-readable-muted); }
.v1550-club-privacy { padding:clamp(62px,7vw,96px) 0; background:#171717; color:#fff; }
.v1550-club-privacy__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(30px,7vw,100px); }
.v1550-club-privacy h2 { font-size:clamp(2.25rem,4.6vw,4.8rem); line-height:.93; margin:.4rem 0 0; text-transform:uppercase; }
.v1550-club-privacy p { margin:0 0 18px; max-width:680px; color:#c7c3bc; line-height:1.7; }
.v1550-club-privacy a { display:inline-block; margin:8px 24px 0 0; color:#fff; font-weight:800; text-decoration:none; border-bottom:1px solid #666; padding-bottom:4px; }
.v1550-club-privacy a:hover { color:var(--orange,#ff5a00); }

/* Archive progressive disclosure. */
.events-more, .recipe-library-more { display:flex; justify-content:center; padding:28px 0 8px; }
.events-more button { min-width:min(320px,100%); min-height:48px; }
.recipe-library-disclaimer { margin:10px 0 0; max-width:760px; font-size:.78rem; line-height:1.55; color:var(--v1550-readable-muted); }

/* Readability: functional microcopy should never become decorative dust. */
.v1524-article-card__top,
.v1524-article-card__footer,
.v1524-article-card__labels span,
.event-training-bridge small,
.event-training-bridge__button,
.event-card__footer,
.event-card__share,
.event-card__external,
.event-login-link,
.recipe-card__macro-grid small,
.recipe-save,
.recipe-card__shopping,
.recipe-card__meta,
.recipe-filter-status,
.recipe-library-disclaimer,
.login-register-note,
.v14-mobile-group a { font-size:max(.72rem, 12px) !important; }
.v1524-article-card__footer,
.event-card__footer,
.recipe-card__meta,
.recipe-filter-status,
.recipe-library-disclaimer,
.login-register-note { color:var(--v1550-readable-muted) !important; }

/* Strong and consistent keyboard focus across the public site. */
.v151-site-header a:focus-visible,
.v151-site-header button:focus-visible,
.v1550-club-public a:focus-visible,
[data-events-browser] button:focus-visible,
[data-events-grid] button:focus-visible,
[data-events-grid] a:focus-visible,
[data-recipe-grid] button:focus-visible,
[data-recipe-grid] a:focus-visible,
.recipe-library-tools button:focus-visible,
.recipe-library-tools a:focus-visible { outline:3px solid var(--orange,#ff5a00); outline-offset:3px; }

@media (max-width: 760px) {
  .v1550-club-hero { padding-top:78px; }
  .v1550-club-hero__grid, .v1550-club-privacy__grid { grid-template-columns:1fr; }
  .v1550-club-hero h1 { font-size:clamp(3rem,16vw,5.3rem); }
  .v1550-club-preview { padding:22px; }
  .v1550-club-value__grid { grid-template-columns:1fr; }
  .v1550-club-value article, .v1550-club-value article + article { padding:24px 0; border-right:0; border-bottom:1px solid var(--v1550-line); }
  .v1550-club-value article:last-child { border-bottom:0; }
  .v1550-club-actions .button { width:100%; justify-content:center; text-align:center; }
  .recipe-library-disclaimer { font-size:.76rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .v1550-club-public *, .events-page *, .recipe-library * { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Forms and primary archive controls remain readable at every breakpoint. */
body.gtgf-v14 .form-row > label,
body.gtgf-v14 .form-row label,
body.gtgf-v14 .events-filter label,
body.gtgf-v14 .recipe-filter-group label { font-size:max(.72rem,12px); }
body.gtgf-v14 .event-training-bridge { border-color:rgba(255,90,0,.55); background:rgba(255,90,0,.105); }
body.gtgf-v14 .event-training-bridge__button { min-height:46px; padding-inline:16px; }


/* === Consolidated v15.51 Marketing & Conversion rules === */
/* GTGF v15.51 — Site UX 3.0B: Marketing & Conversion
 * Plan-first acquisition, honest risk reversal, clearer value hierarchy and
 * commercial conversion polish without changing planner/nutrition engines.
 */

:root {
  --v1551-proof-bg: #f3efe8;
  --v1551-proof-line: rgba(18,18,18,.13);
}

/* Acquisition: make the free core action visually explicit. */
.v151-site-header .v14-header-primary { white-space: nowrap; }
.v1551-hero-note, .v1551-cta-note { margin:.85rem 0 0; font-size:max(.76rem,12px); line-height:1.55; color:rgba(255,255,255,.68); }
.v142-training-hero .v1551-cta-note { color:#6b655e; }
.v1551-hero-proof li strong { min-width:auto; }
.v1551-hero-proof li span { max-width:16rem; }

/* A compact value proof immediately after the user sees the 4-step flow. */
.v1551-value-band { padding:clamp(64px,7vw,104px) 0; background:var(--v1551-proof-bg); color:#151515; border-top:1px solid var(--v1551-proof-line); border-bottom:1px solid var(--v1551-proof-line); }
.v1551-value-band__grid { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); gap:clamp(34px,7vw,96px); align-items:start; }
.v1551-value-band header { position:sticky; top:112px; }
.v1551-value-band h2 { margin:.45rem 0 0; max-width:650px; font-size:clamp(2.25rem,4.6vw,4.85rem); line-height:.92; letter-spacing:-.045em; text-transform:uppercase; }
.v1551-value-band__points { border-top:1px solid var(--v1551-proof-line); }
.v1551-value-band__points article { display:grid; grid-template-columns:52px minmax(190px,.7fr) minmax(0,1fr); gap:20px; align-items:start; padding:27px 0; border-bottom:1px solid var(--v1551-proof-line); }
.v1551-value-band__points article span { color:var(--orange,#ff5a00); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.v1551-value-band__points article strong { font-size:clamp(1.1rem,1.6vw,1.45rem); line-height:1.12; text-transform:uppercase; }
.v1551-value-band__points article p { margin:0; color:#625d56; line-height:1.65; }

.v1551-account-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:24px; }
.v1551-account-actions .v14-text-link { font-size:max(.78rem,13px); }

/* Nutrition landing: the tool CTA should exist before a user reaches the form. */
.v1551-nutrition-actions { display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; margin-top:24px; }
.v148-fuel-intro .v1551-cta-note { color:#777068; }

/* Account conversion: explain value rather than forcing profile completion. */
.v1551-account-proof { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.v1551-account-proof span { display:inline-flex; gap:6px; align-items:center; min-height:36px; padding:8px 11px; border:1px solid rgba(18,18,18,.14); background:#fff; font-size:max(.76rem,12px); line-height:1.2; }
.v1551-account-proof strong { color:var(--orange,#ff5a00); text-transform:uppercase; letter-spacing:.05em; }

/* Performance Week: commercial reassurance and an unobtrusive persistent action. */
.v1551-trip-risk { max-width:760px; margin:16px 0 0; font-size:max(.76rem,12px); line-height:1.55; color:rgba(255,255,255,.72); }
.v1551-trip-sticky { position:sticky; top:72px; z-index:35; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:13px max(24px,calc((100vw - 1180px)/2)); background:rgba(17,17,17,.96); border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.12); color:#fff; backdrop-filter:blur(12px); }
.v1551-trip-sticky > div { display:flex; align-items:baseline; gap:15px; min-width:0; }
.v1551-trip-sticky span { font-size:max(.72rem,12px); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.v1551-trip-sticky strong { color:var(--orange,#ff5a00); font-size:1.05rem; white-space:nowrap; }
.v1551-trip-sticky small { color:#b8b3ac; font-size:max(.72rem,12px); white-space:nowrap; }
.v1551-trip-sticky .button { min-height:42px; padding:10px 15px; white-space:nowrap; }

/* Marketing pages: CTA labels should not visually disappear beneath the content. */
body:not(.logged-in) .v14-final-cta .v14-btn--large,
body:not(.logged-in) .v142-training-hero .v14-btn--large { box-shadow:0 12px 34px rgba(255,90,0,.18); }

@media (max-width: 900px) {
  .v1551-value-band__grid { grid-template-columns:1fr; }
  .v1551-value-band header { position:static; }
  .v1551-trip-sticky { top:64px; padding-inline:18px; }
  .v1551-trip-sticky > div small { display:none; }
}

@media (max-width: 680px) {
  .v1551-value-band__points article { grid-template-columns:38px 1fr; gap:10px 14px; }
  .v1551-value-band__points article p { grid-column:2; }
  .v1551-nutrition-actions { align-items:stretch; flex-direction:column; }
  .v1551-nutrition-actions .v14-btn, .v1551-nutrition-actions .v14-text-link { width:100%; justify-content:center; text-align:center; }
  .v1551-trip-sticky { position:static; flex-direction:column; align-items:stretch; gap:10px; }
  .v1551-trip-sticky > div { justify-content:space-between; }
  .v1551-trip-sticky .button { width:100%; text-align:center; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
  .v1551-value-band *, .v1551-trip-sticky * { transition:none !important; animation:none !important; }
}


/* Nutrition post-value conversion uses the same account principle. */
body.gtgf-v14 .nutrition-save-login__actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
body.gtgf-v14 .nutrition-save-login__actions .button { width:auto; }
@media (max-width:680px) {
  body.gtgf-v14 .nutrition-save-login__actions { width:100%; flex-direction:column; align-items:stretch; }
  body.gtgf-v14 .nutrition-save-login__actions .button { width:100%; }
}
