/*
 * GTGF v15.99.98 — Surgical Contrast Repair
 *
 * Built from v15.99.96 after rolling back v15.99.97 Contrast Hardening.
 * This layer never recolors generic descendants such as all p/small/h1 elements.
 * Every rule is attached to a component whose real surface is known.
 */

body.gtgf-v14.gtgf-vs2.gtgf-vp98{
  --v98-dark-primary:#f7f6f2;
  --v98-dark-secondary:#c8c7c3;
  --v98-dark-tertiary:#b6b5b1;
  --v98-dark-meta:#aaa9a6;
  --v98-dark-orange:#ff7a2d;
  --v98-light-primary:#171717;
  --v98-light-secondary:#4b4742;
  --v98-light-tertiary:#55514c;
  --v98-light-orange:#923000;
}

/* --------------------------------------------------------------------------
 * 1. MIJN GTGF / DASHBOARD — premium dark surface, priority one.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member{
  --mg96-muted:var(--v98-dark-secondary);
  --mg96-dim:var(--v98-dark-meta);
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159965-nav-label,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-hub__top>div:first-child>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-hub__status :is(span,small),
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-today__label small,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159970-today-intel small,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159963-status-rail span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159963-status-rail small,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #planning .v1554-week-overview span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #planning .v145-planning-tabs button,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #planning .member-plan-card :is(p,small,span),
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v1575-more__panel>header span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v1575-more__group-title,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v1575-more__group a>small{
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159965-nav-link{
  color:#c4c3bf!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159996-nav-member-copy small{
  color:#b6b5b1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159996-nav-member>i{
  color:#aaa9a6!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-hub__top p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-today p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159963-coach-context,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member :is(#planning,#community) .v14-member-stage__head p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #progressie .v14-member-progress-head p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #profiel .member-section__head p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member #planning .member-section__head p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v1565-coach__head p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v1565-decision__copy p{
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}
/* Brand orange stays #ff5a00 for fills; small orange type gets a lighter text-only tone. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-today__label span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159960-next-session>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159963-status-rail .is-accent,
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member :is(.v159978-head,.v159978-deep-head,.v159972-coach__head,.v159974-checkin>header,.v159971-day-head)>div:first-child>span{
  color:var(--v98-dark-orange)!important;
}
/* CTA fill remains brand orange with dark ink; do not inherit orange text rules. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-today__cta{
  background:#ff5a00!important;
  color:#070707!important;
  -webkit-text-fill-color:#070707!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member .v159942-today__cta :is(span,b,strong,i,em){
  color:#070707!important;
  -webkit-text-fill-color:#070707!important;
}

/* Dashboard intelligence: exact dark components only. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member :is(
  .v159971-day-head p,.v159971-session-card p,.v159971-deep-analysis>header p,.v159971-analysis-grid article p,
  .v159972-progress-analysis-bridge p,.v159974-checkin>header p,.v159974-help small,
  .v1563-activity-lab__head p,.v1563-detail-placeholder p,.v1563-detail-error p,
  .v1564-performance__head p,.v1564-card--consistency>p,.v1564-insights article p,.v1564-benchmarks>header p,.v1564-benchmark-grid p
){
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp96-member :is(
  .v159971-day-total small,.v159971-day-kpis span,.v159971-day-kpis small,.v159971-session-card header b,.v159971-session-meta span,
  .v159972-confidence span,.v159972-confidence small,.v159972-evidence header small,.v159972-evidence section span small,
  .v159972-week-story__grid span,.v159972-week-story__grid small,.v159972-progress-proof span,.v159972-progress-proof small,
  .v159972-lab-metric span,.v159972-lab-metric small,.v159974-checkin>header em,.v159974-help span,
  .v1563-activity-pick small,.v1563-activity-pick em,.v1563-detail-kpis span,.v1563-detail-kpis small,.v1563-stream-section>header small,
  .v1564-kpis span,.v1564-kpis small,.v1564-card>header small,.v1564-rpe-stats span,.v1564-rpe-stats small,.v1564-mix__legend small
){
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
 * 2. LOGIN — the two cards deliberately use different surfaces.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card:not(.planner-auth-card--orange) .login-register-note,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card:not(.planner-auth-card--orange)>p{
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card:not(.planner-auth-card--orange) .form-row label{
  color:#deddd9!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card--orange .login-register-note,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card--orange>p:not(.eyebrow){
  color:var(--v98-light-secondary)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .login-section .planner-auth-card--orange .eyebrow{
  color:var(--v98-light-orange)!important;
}

/* --------------------------------------------------------------------------
 * 3. TRAININGSPLANNER + VOEDING — only known hint/meta roles.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp94-planner :is(
  .planner-hint,.planner-field-hint,.planner-question-help,.planner-summary__stats span,
  .training-guide159950__intro p,.training-guide159950__step p,.planner-session__signals span
){
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp94-planner #planner-results :is(
  .planner-day-nav__item small,.planner-session__order,.planner-dose__labels small,.planner-workout-quickfacts small
){
  color:var(--v98-light-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98.gtgf-vp94-nutrition :is(
  .nutrition-guide159949__progress button span,.nutrition-day__targets em,.nutrition-day__linked-training span,
  .nutrition-shopping__contract small,.nutrition-shopping__amount,.nutrition-meal__summary small
){
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
 * 4. KENNISCENTRUM — article hero is dark; article body is paper.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v1594-article-hero .v1594-article-details summary,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v1594-article-hero .v1594-article-details small{
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v1594-article-hero .v1594-article-details strong,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v1594-article-hero .v159975-article-facts strong{
  color:var(--v98-dark-primary)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v1594-article-hero .v159975-article-facts small{
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v145-article-body-section .v1595-article-toc a,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v145-article-body-section .v1594-author-note span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v145-article-body-section .v159975-read-intro small{
  color:var(--v98-light-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-article-page .v145-article-body-section .v159975-read-intro>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-knowledge .v159975-card-proof span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-knowledge .v159975-library-intro>span{
  color:var(--v98-light-orange)!important;
}

/* --------------------------------------------------------------------------
 * 5. EVENTS / NEWS — exact dark browser and light card roles.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1587-events-browser :is(
  .v1587-sport-filter button,.v1587-event-date small,.v1587-event-meta,.v1587-event-more summary
){
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events :is(.eyebrow,.v1588-major-date span){
  color:var(--v98-light-orange)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events :is(.v1588-major-copy p,.v1588-major-copy em,.v1588-major-date small){
  color:var(--v98-light-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news-article__aside>p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news-article__hero .v1526-news-back{
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news-article__aside>span{
  color:var(--v98-dark-orange)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news .v1526-news-card .v1526-news-meta{
  color:var(--v98-light-secondary)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news .v1526-news-card .v1526-news-meta span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1526-news .v1526-news-card .v1526-news-link{
  color:var(--v98-light-orange)!important;
}

/* --------------------------------------------------------------------------
 * 6. PERFORMANCE WEEK / A CASA — keep dark and paper roles separate.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 :is(.trip-booking-section,.trip-v158-extra-grid,.trip-v158-rules__grid) :is(
  p,li,.trip-v158-extra-choice small
){
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 :is(.trip-v158-package-grid,.trip-v158-clarity-grid,.trip-v161-comparison) :is(
  .trip-v158-package-block p,.trip-v158-package-block li,.trip-v158-price-note,.trip-v161-package-summary,.trip-v161-comparison__row span
){
  color:var(--v98-light-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .trip-v161-comparison__row b.is-added,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .trip-v161-upgrade span{
  color:var(--v98-light-orange)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .casa-reviews :is(.casa-reviews__score small,.casa-review-card__source,.casa-review-card p){
  color:var(--v98-light-secondary)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .casa-reviews :is(.casa-review-card__label,.casa-reviews__score>span){
  color:var(--v98-light-orange)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 :is(.casa-bedrooms,.casa-house-rules) :is(p,li,small){
  color:var(--v98-dark-secondary)!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
 * 7. SITE FOOTER — dark surface, explicit role only.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v14-site-footer :is(.v14-site-footer__intro,.v14-site-footer__meta,.v14-site-footer__links a,.v14-site-footer small){
  color:var(--v98-dark-tertiary)!important;
  opacity:1!important;
}

/* No blanket opacity reset. No generic element recoloring. */

/* Specificity corrections for legacy !important rules; still exact surface roles. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events .v1588-major-copy.v1588-major-copy p,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events .v1588-major-copy.v1588-major-copy em,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events .v1588-major-date.v1588-major-date small{
  color:var(--v98-light-secondary)!important;
  opacity:1!important;
}

/* Small accent text on known light editorial cards: stronger than the old 4.8–5.6:1 orange. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 :is(
  .v159975-card-proof>span,.v159975-library-intro>span,.v159975-read-intro>span,
  .v1591-story-quote>span,.v1592-story-signature>span,
  .casa-review-grid article>span,.casa-reviews__score>span,
  .v1588-major-events>.eyebrow,.v1588-major-date>span
){
  color:var(--v98-light-orange)!important;
  -webkit-text-fill-color:var(--v98-light-orange)!important;
  opacity:1!important;
}

/* Booking calendar is a paper island nested inside a dark Performance Week section. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .booking-calendar-wrap :is(
  .booking-calendar__step,.booking-calendar__weekdays span,.booking-date-status
){
  color:var(--v98-light-secondary)!important;
  -webkit-text-fill-color:var(--v98-light-secondary)!important;
  opacity:1!important;
}

/* Featured package is orange, so its small price label uses dark ink, not muted grey/white. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .trip-package--featured .trip-package__price span{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  opacity:1!important;
}

/* Exact specificity boosts against older !important component rules. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-card-proof.v159975-card-proof>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-library-intro.v159975-library-intro>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v159975-read-intro.v159975-read-intro>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1591-story-quote.v1591-story-quote>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1592-story-signature.v1592-story-signature>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .casa-review-grid.casa-review-grid article>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .casa-reviews__score.casa-reviews__score>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-events.v1588-major-events>.eyebrow,
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .v1588-major-date.v1588-major-date>span{
  color:var(--v98-light-orange)!important;
  -webkit-text-fill-color:var(--v98-light-orange)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp98 .booking-calendar-wrap.booking-calendar-wrap :is(
  .booking-calendar__step,.booking-calendar__weekdays span,.booking-date-status
){
  color:var(--v98-light-secondary)!important;
  -webkit-text-fill-color:var(--v98-light-secondary)!important;
  opacity:1!important;
}

/* Performance Week calendar: outrank the older main.trip-v146 !important rule without touching the surrounding dark booking section. */
body.gtgf-v14.gtgf-vs2.gtgf-vp98 main.trip-v146 .trip-booking .booking-calendar-wrap :is(
  .booking-calendar__step,.booking-calendar__weekdays span,.booking-date-status
){
  color:var(--v98-light-secondary)!important;
  -webkit-text-fill-color:var(--v98-light-secondary)!important;
  opacity:1!important;
}
