/* GTGF v15.99.41 — Contrast-Safe Site Deep Polish
 * A contrast-safe finishing layer for the rest of GTGF after the planner deep polish.
 * Rules: preserve function AND existing color contracts; polish structure, spacing, typography and hierarchy only.
 */

:root{
  --gtgf-polish-paper:#f3f1ec;
  --gtgf-polish-soft:#ebe8e1;
  --gtgf-polish-card:#ffffff;
  --gtgf-polish-ink:#111214;
  --gtgf-polish-muted:#6d6861;
  --gtgf-polish-line:rgba(17,18,20,.09);
  --gtgf-polish-line-strong:rgba(17,18,20,.14);
  --gtgf-polish-dark:#0b0b0c;
  --gtgf-polish-orange:#f5661a;
  --gtgf-polish-shadow:0 18px 52px rgba(17,18,20,.065);
  --gtgf-polish-shadow-strong:0 28px 76px rgba(17,18,20,.10);
  --gtgf-polish-radius:24px;
  --gtgf-polish-radius-sm:16px;
}

/* --------------------------------------------------------------------------
   Global shell, type and controls — intentionally does not rewrite planner UI
   -------------------------------------------------------------------------- */
body.gtgf-v14{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.gtgf-v14 :is(.v14-shell,.wrap){
  width:min(1240px,calc(100vw - 48px));
  max-width:1240px;
}
body.gtgf-v14 :is(.eyebrow,.v14-eyebrow,.home-kicker):not(.planner-section *){
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
body.gtgf-v14 :is(.section--paper,.v14-page>section:not(.section--black)){
}
body.gtgf-v14 .section--black{
}
body.gtgf-v14 :is(.v14-page,.v14-home-main) :is(h1,h2,h3,h4):not(.planner-section *){
  text-wrap:balance;
}
body.gtgf-v14 :is(.v14-page,.v14-home-main) :is(p,li):not(.planner-section *){
  text-wrap:pretty;
}
body.gtgf-v14 :is(.v14-section-head,.v1576-section-head,.v1550-section-intro,.v1588-major-head,.v1596-community-head):not(.planner-section *){
  margin-bottom:clamp(22px,3vw,36px)!important;
}
body.gtgf-v14 :is(.v14-section-head,.v1576-section-head,.v1550-section-intro,.v1588-major-head,.v1596-community-head) h2{
  max-width:18ch;
  margin-top:7px!important;
  margin-bottom:0!important;
  font-size:clamp(2.1rem,4vw,3.8rem)!important;
  font-weight:900!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
}
body.gtgf-v14 :is(.v14-section-head,.v1576-section-head,.v1550-section-intro) > p{
  max-width:62ch;
  font-size:.96rem!important;
  line-height:1.62!important;
}
body.gtgf-v14 .section--black :is(.v14-section-head,.v1576-section-head,.v1550-section-intro)>p{
}
body.gtgf-v14 :is(.button,a.button,button.button,.v14-btn,.wp-element-button):not(.planner-section *){
  min-height:48px;
  padding:0 18px;
  border-radius:14px!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;
}
body.gtgf-v14 :is(input:not([type=checkbox]):not([type=radio]),select,textarea):not(.planner-section *){
  border-radius:14px!important;
  box-shadow:none!important;
}
body.gtgf-v14 :is(details,summary):not(.planner-section *){
  scroll-margin-top:100px;
}

/* --------------------------------------------------------------------------
   Header — quieter, clearer, more product-like
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v14-site-header{
  min-height:74px;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
body.gtgf-v14 .v14-header-inner{
  min-height:74px;
  width:min(1320px,calc(100vw - 40px));
  gap:24px;
}
body.gtgf-v14 .v14-brand img{
  max-height:34px;
}
body.gtgf-v14 .v14-nav-list{
  gap:3px!important;
}
body.gtgf-v14 .v14-nav-list>li>a,
body.gtgf-v14 .v14-nav-list>li>button{
  min-height:42px;
  padding:0 10px!important;
  font-size:.75rem!important;
  font-weight:850!important;
  letter-spacing:.015em!important;
}
body.gtgf-v14 .v14-submenu{
  margin-top:4px;
  padding:9px!important;
  border-radius:18px!important;
  box-shadow:0 22px 56px rgba(17,18,20,.12)!important;
}
body.gtgf-v14 .v14-submenu a{
  min-height:42px;
  padding:9px 11px!important;
  border-radius:11px!important;
}
body.gtgf-v14 .v1581-member-cta,
body.gtgf-v14 .v1581-profile-trigger{
  border-radius:14px!important;
}

/* --------------------------------------------------------------------------
   Home — one clear route instead of a wall of equal-weight modules
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v1576-hero{
  min-height:min(780px,78vh)!important;
}
body.gtgf-v14 .v1576-hero__content{
  max-width:900px;
  padding-top:clamp(72px,9vw,120px)!important;
  padding-bottom:clamp(64px,8vw,100px)!important;
}
body.gtgf-v14 .v1576-hero .v14-brand-heading{
  max-width:10.5ch!important;
  margin:8px 0 18px!important;
  font-size:clamp(3.6rem,8.2vw,7.4rem)!important;
  line-height:.84!important;
  letter-spacing:-.065em!important;
}
body.gtgf-v14 .v1576-hero .v14-lead{
  max-width:58ch!important;
  font-size:clamp(1rem,1.55vw,1.2rem)!important;
  line-height:1.55!important;
}
body.gtgf-v14 .v1576-journey-rail{
  margin-top:24px!important;
  gap:8px!important;
}
body.gtgf-v14 .v151-goal-picker{
  max-width:720px;
  padding:8px!important;
  border-radius:18px!important;
}
body.gtgf-v14 .v151-goal-picker button{
  min-height:42px!important;
  border-radius:12px!important;
}
body.gtgf-v14 .v1576-flow{
  padding:clamp(56px,7vw,90px) 0!important;
}
body.gtgf-v14 .v1576-flow__grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
}
body.gtgf-v14 .v1576-flow-card{
  min-height:158px!important;
  padding:20px!important;
  border-radius:var(--gtgf-polish-radius-sm)!important;
  box-shadow:none!important;
}
body.gtgf-v14 .v1576-flow-card.is-primary{
}
body.gtgf-v14 .v1576-product__grid{
  gap:clamp(34px,6vw,80px)!important;
  align-items:center!important;
}
body.gtgf-v14 .v1576-coach-demo{
  border-radius:28px!important;
  box-shadow:0 28px 70px rgba(0,0,0,.25)!important;
  overflow:hidden!important;
}
body.gtgf-v14 .v1576-proof__grid{
  gap:clamp(28px,5vw,64px)!important;
}
body.gtgf-v14 .v1576-proof__metrics>*{
  border-radius:18px!important;
}
body.gtgf-v14 .v1576-more__links a{
  border-radius:16px!important;
}

/* --------------------------------------------------------------------------
   Mijn GTGF — dashboard hierarchy mirrors the planner polish
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v14-member-app{
}
body.gtgf-v14 .v14-dashboard-nav{
  gap:5px!important;
  padding:6px!important;
  border-radius:18px!important;
  box-shadow:0 14px 38px rgba(17,18,20,.055)!important;
}
body.gtgf-v14 .v14-dashboard-nav a{
  min-height:44px!important;
  border-radius:12px!important;
}
body.gtgf-v14 .v14-member-stage{
  padding:clamp(34px,4.8vw,64px) 0!important;
}
body.gtgf-v14 :is(.v1554-week-overview,.v1554-week-actions,.member-section,.v145-plan-panel,.v15992-card,.v15992-priority,.v1584-club-statusbar){
  border-radius:var(--gtgf-polish-radius)!important;
  box-shadow:var(--gtgf-polish-shadow)!important;
}
body.gtgf-v14 .member-section{
  padding:clamp(18px,2.4vw,28px)!important;
}
body.gtgf-v14 .member-section__head{
  gap:18px!important;
  margin-bottom:18px!important;
}
body.gtgf-v14 .member-plan-grid{
  gap:10px!important;
}
body.gtgf-v14 .member-plan-card{
  min-height:0!important;
  padding:17px!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
body.gtgf-v14 .v145-planning-tabs{
  display:flex!important;
  gap:5px!important;
  padding:5px!important;
  border-radius:15px!important;
}
body.gtgf-v14 .v145-planning-tabs button,
body.gtgf-v14 .v145-planning-tabs a{
  min-height:40px!important;
  border-radius:11px!important;
}

/* --------------------------------------------------------------------------
   Nutrition planner + nutrition knowledge — clearer journey and quieter tools
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v14-nutrition-page .v148-fuel-intro{
  padding:clamp(50px,6vw,86px) 0 42px!important;
}
body.gtgf-v14 .v14-nutrition-page .v148-fuel-intro h1{
  max-width:12ch!important;
  font-size:clamp(3rem,6vw,5.6rem)!important;
  line-height:.88!important;
  letter-spacing:-.06em!important;
}
body.gtgf-v14 .v14-nutrition-page .v148-fuel-intro__grid{
  gap:clamp(32px,5vw,70px)!important;
}
body.gtgf-v14 #gtgf-nutrition-form{
  border-radius:28px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.22)!important;
}
body.gtgf-v14 #gtgf-nutrition-form .nutrition-form__panel{
  border-radius:18px!important;
}
body.gtgf-v14 :is(.v154-nutrition-centre__grid>a,.v154-fuel-reference__grid>article,.v154-nutrition-principles__grid>article,.v154-nutrition-tools__grid>a){
  border-radius:18px!important;
  box-shadow:none!important;
}
body.gtgf-v14 #boodschappenlijst{
  border-radius:28px!important;
  box-shadow:var(--gtgf-polish-shadow)!important;
}
body.gtgf-v14 #boodschappenlijst :is(.nutrition-shopping__journey>div,.nutrition-shopping__category){
  border-radius:16px!important;
}
body.gtgf-v14 .v1515-nutrition-faq__items details{
  margin-bottom:8px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
body.gtgf-v14 .v1515-nutrition-faq__items summary{
  min-height:54px!important;
  padding:15px 17px!important;
}

/* --------------------------------------------------------------------------
   Recipes — browse like a useful product, not a dense archive
   -------------------------------------------------------------------------- */
body.gtgf-v14 .recipe-library-tools{
  margin-bottom:22px!important;
  padding:16px!important;
  border-radius:20px!important;
}
body.gtgf-v14 .recipe-grid{
  gap:12px!important;
}
body.gtgf-v14 .recipe-card{
  min-height:0!important;
  padding:18px!important;
  border-radius:20px!important;
  box-shadow:none!important;
  transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease!important;
}
@media(hover:hover){
  body.gtgf-v14 .recipe-card:hover{
    transform:translateY(-3px)!important;
    box-shadow:var(--gtgf-polish-shadow)!important;
  }
}
body.gtgf-v14 .recipe-card__macro-grid>*{
  border-radius:12px!important;
}
body.gtgf-v14 .recipe-single{
  padding-top:clamp(42px,5vw,72px)!important;
  padding-bottom:clamp(52px,6vw,82px)!important;
}
body.gtgf-v14 .recipe-single__facts{
  border-radius:24px!important;
  box-shadow:var(--gtgf-polish-shadow)!important;
}
body.gtgf-v14 .article-content{
  font-size:1.04rem!important;
  line-height:1.78!important;
}
body.gtgf-v14 .article-content :is(h2,h3){
  margin-top:1.7em!important;
  letter-spacing:-.035em!important;
}

/* --------------------------------------------------------------------------
   Events — dates first, filters quiet, community secondary
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v1587-events-hero{
  padding:clamp(50px,6vw,84px) 0 40px!important;
}
body.gtgf-v14 .v1587-events-hero h1{
  max-width:11ch!important;
  font-size:clamp(3.2rem,6.8vw,6.2rem)!important;
  line-height:.86!important;
  letter-spacing:-.065em!important;
}
body.gtgf-v14 :is(.v1596-community-event,.v1588-major-item,.events-card,.event-card){
  border-radius:18px!important;
  box-shadow:none!important;
}
body.gtgf-v14 .v1587-events-tools{
  padding:14px!important;
  border-radius:18px!important;
}
body.gtgf-v14 .v1587-sport-filter{
  gap:5px!important;
}
body.gtgf-v14 .v1587-sport-filter a,
body.gtgf-v14 .v1587-sport-filter button{
  min-height:40px!important;
  border-radius:11px!important;
}
body.gtgf-v14 .v1588-major-item{
  padding:16px!important;
}
body.gtgf-v14 .v1588-major-date{
  min-width:74px!important;
  border-radius:14px!important;
}

/* --------------------------------------------------------------------------
   Community — social proof without making every module shout
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v1550-club-hero{
  padding:clamp(56px,7vw,96px) 0!important;
}
body.gtgf-v14 .v1550-club-hero__grid{
  gap:clamp(34px,6vw,76px)!important;
}
body.gtgf-v14 .v1550-club-preview{
  border-radius:26px!important;
  box-shadow:0 28px 72px rgba(0,0,0,.24)!important;
}
body.gtgf-v14 :is(.v1550-club-value__grid>*,.v1584-club-onboarding,.v1584-club-week-metrics>*,.v1586-startline-focus,.v1586-recommended-challenge,.v1586-startline-discovery,.gtgf-community-panel,.gtgf-community-post){
  border-radius:20px!important;
}
body.gtgf-v14 :is(.v1584-club-onboarding,.v1586-startline-focus,.v1586-recommended-challenge,.v1586-startline-discovery,.gtgf-community-panel,.gtgf-community-post){
  box-shadow:none!important;
}
body.gtgf-v14 .gtgf-club-nav{
  gap:4px!important;
  padding:5px!important;
  border-radius:15px!important;
}
body.gtgf-v14 .gtgf-club-nav :is(a,button){
  border-radius:11px!important;
}
body.gtgf-v14 .gtgf-community-post{
  padding:16px!important;
}

/* --------------------------------------------------------------------------
   News + knowledge + stories — editorial rhythm and stronger reading measure
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v1526-news-hero{
  padding:clamp(54px,7vw,96px) 0!important;
}
body.gtgf-v14 .v1526-news-hero h1,
body.gtgf-v14 .v1526-news-article__heading h1,
body.gtgf-v14 .v142-story-cover h1{
  max-width:12ch!important;
  font-size:clamp(3rem,6.5vw,6rem)!important;
  line-height:.88!important;
  letter-spacing:-.06em!important;
}
body.gtgf-v14 .v1526-news-featured__grid{
  gap:clamp(28px,5vw,64px)!important;
  align-items:center!important;
}
body.gtgf-v14 .v1526-news-card{
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
body.gtgf-v14 .v1526-news-card__body{
  padding:18px!important;
}
body.gtgf-v14 .v1526-news-article__content-grid{
  grid-template-columns:minmax(0,760px) minmax(220px,300px)!important;
  gap:clamp(36px,6vw,80px)!important;
}
body.gtgf-v14 .v1526-news-article__body{
  font-size:1.05rem!important;
  line-height:1.8!important;
}
body.gtgf-v14 :is(.v145-article-card,.v1524-article-card){
  border-radius:20px!important;
  box-shadow:none!important;
}
body.gtgf-v14 .v142-story-list{
  gap:14px!important;
}
body.gtgf-v14 .v142-story-teaser{
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:var(--gtgf-polish-shadow)!important;
}
body.gtgf-v14 .story-article,
body.gtgf-v14 .v1592-story-longform{
  max-width:820px!important;
}
body.gtgf-v14 .v1592-story-lines{
  font-size:1.05rem!important;
  line-height:1.82!important;
}

/* --------------------------------------------------------------------------
   About / Casa / generic pages — more editorial, less template-y
   -------------------------------------------------------------------------- */
body.gtgf-v14 :is(.v142-about-hero,.casa-hero){
  padding-top:clamp(54px,7vw,96px)!important;
  padding-bottom:clamp(54px,7vw,90px)!important;
}
body.gtgf-v14 .v142-about-hero h1,
body.gtgf-v14 .casa-hero h1{
  max-width:11ch!important;
  font-size:clamp(3.2rem,6.4vw,5.9rem)!important;
  line-height:.87!important;
  letter-spacing:-.06em!important;
}
body.gtgf-v14 :is(.v142-about-hero__grid,.v146-origin__grid,.v142-about-problem__grid,.v142-about-project__grid,.casa-location__grid){
  gap:clamp(34px,6vw,76px)!important;
}
body.gtgf-v14 :is(.v14-step-grid>*,.v142-about-route__flow>*,.casa-review-grid>*){
  border-radius:18px!important;
  box-shadow:none!important;
}
body.gtgf-v14 .narrow.article-content{
  max-width:780px!important;
  margin:0 auto!important;
  padding-top:clamp(52px,6vw,86px)!important;
  padding-bottom:clamp(64px,8vw,104px)!important;
}

/* --------------------------------------------------------------------------
   Footer — reduce density and end the experience cleanly
   -------------------------------------------------------------------------- */
body.gtgf-v14 .v14-site-footer{
  margin-top:0!important;
  padding-top:clamp(46px,6vw,76px)!important;
}
body.gtgf-v14 .v14-footer-top{
  gap:clamp(28px,5vw,64px)!important;
  padding-bottom:clamp(34px,5vw,54px)!important;
}
body.gtgf-v14 .v14-footer-column h3,
body.gtgf-v14 .v14-footer-column strong{
  font-size:.76rem!important;
  letter-spacing:.06em!important;
}
body.gtgf-v14 .v14-footer-column a{
  min-height:30px;
}
body.gtgf-v14 .v14-footer-column a:hover{
}
body.gtgf-v14 .v14-footer-bottom{
}
body.gtgf-v14 .gtgf-feedback{
  border-radius:18px!important;
}

/* --------------------------------------------------------------------------
   Responsive — preserve breathing room without producing giant mobile cards
   -------------------------------------------------------------------------- */
@media(max-width:1040px){
  body.gtgf-v14 .v1576-flow__grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.gtgf-v14 .v1526-news-article__content-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:820px){
  body.gtgf-v14 :is(.v14-shell,.wrap){
    width:min(100% - 32px,1240px);
  }
  body.gtgf-v14 .v14-header-inner{
    width:min(100% - 24px,1320px);
  }
  body.gtgf-v14 .v1576-hero{
    min-height:0!important;
  }
  body.gtgf-v14 .v1576-flow__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.gtgf-v14 :is(.v14-dashboard-nav,.gtgf-club-nav){
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }
  body.gtgf-v14 :is(.v14-dashboard-nav,.gtgf-club-nav)::-webkit-scrollbar{display:none}
}

@media(max-width:680px){
  :root{
    --gtgf-polish-radius:20px;
    --gtgf-polish-radius-sm:14px;
  }
  body.gtgf-v14 :is(.v14-shell,.wrap){
    width:min(100% - 24px,1240px);
  }
  body.gtgf-v14 .v14-site-header,
  body.gtgf-v14 .v14-header-inner{
    min-height:68px;
  }
  body.gtgf-v14 :is(.v14-page,.v14-home-main)>section:not(.planner-section){
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  body.gtgf-v14 :is(.v14-section-head,.v1576-section-head,.v1550-section-intro) h2{
    font-size:clamp(2rem,10vw,3rem)!important;
  }
  body.gtgf-v14 .v1576-hero__content{
    padding-top:56px!important;
    padding-bottom:52px!important;
  }
  body.gtgf-v14 .v1576-hero .v14-brand-heading{
    font-size:clamp(3.25rem,18vw,5rem)!important;
  }
  body.gtgf-v14 .v1576-flow__grid{
    grid-template-columns:1fr!important;
  }
  body.gtgf-v14 .v1576-flow-card{
    min-height:0!important;
    padding:17px!important;
  }
  body.gtgf-v14 :is(.member-section,#boodschappenlijst,.recipe-library-tools){
    padding:16px!important;
  }
  body.gtgf-v14 .recipe-grid{
    grid-template-columns:1fr!important;
  }
  body.gtgf-v14 .v1526-news-article__body,
  body.gtgf-v14 .article-content,
  body.gtgf-v14 .v1592-story-lines{
    font-size:1rem!important;
    line-height:1.72!important;
  }
  body.gtgf-v14 .v1526-news-hero h1,
  body.gtgf-v14 .v1526-news-article__heading h1,
  body.gtgf-v14 .v142-story-cover h1,
  body.gtgf-v14 .v142-about-hero h1,
  body.gtgf-v14 .casa-hero h1,
  body.gtgf-v14 .v1587-events-hero h1{
    font-size:clamp(2.75rem,15vw,4.4rem)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.gtgf-v14 .recipe-card{transition:none!important}
}
