/* Brand source: original header logo_4_d461725b-8202-4eb6-bb68-0b581d7e4958.png.
   All 49,153 opaque green pixels are #C0C63C. Tints and shades below mix this
   base with white or black; dark green text preserves contrast on stone. */
@layer mpBrandQuality {
  body:has(#MainContent) {
    --mp-brand-green: #C0C63C;
    --mp-brand-highlight: #CACF5B;
    --mp-brand-shade: #B1B637;
    --mp-brand-edge: #8C912C;
    --mp-brand-rim: #6C6F22;
    --mp-brand-text-light: #CFD46B;
    --mp-brand-text-dark: #4D4F18;
    --mp-brand-pale: #EFF1CE;
    --mp-brand-ink: #1A1C0F;
  }

  /* Bridge the existing component tokens to one verified brand base. */
  body:has(#MainContent) :where(.mp) {
    --citron: var(--mp-brand-green) !important;
    --citron-lt: var(--mp-brand-pale) !important;
    --citron-dk: var(--mp-brand-text-dark) !important;
    --on-accent: var(--mp-brand-ink) !important;
  }
  body:has(#MainContent) :where(.mp-plan-intro) {
    --mp-plan-accent: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where(.mpb) {
    --mpb-accent: var(--mp-brand-green) !important;
    --mpb-accent-deep: var(--mp-brand-text-dark) !important;
  }
  body:has(#MainContent) :where([class*="au-wrap-"]) {
    --au-accent: var(--mp-brand-green) !important;
    --au-home-citron: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where([class*="mc-wrapper-"], [class*="mc-cart-popup-"], [class*="mc-sub-popup-"]) {
    --accent: var(--mp-brand-green) !important;
    --price: var(--mp-brand-green) !important;
    --btn: var(--mp-brand-green) !important;
    --btn-text: var(--mp-brand-ink) !important;
  }

  /* Eyebrow labels stay off-white on matte; their small dots carry the brand. */
  body:has(#MainContent) :where(.mp-eyebrow, .mpb__kicker, .mc-hero-eyebrow, .au-section-kicker, .au-hero-inner .au-kicker)::before,
  body:has(#MainContent) :where(.mp-plan-intro__eyebrow > span) {
    background: var(--mp-brand-green) !important;
    box-shadow: none !important;
  }
  body:has(#MainContent) :where(.mp-swash)::after,
  body:has(#MainContent) :where(.mp-transform-proof)::before {
    background: var(--mp-brand-green) !important;
  }

  /* Confirmed matte card surfaces: the exact logo green exceeds 5.5:1. */
  body:has(#MainContent) :where(
    .mp-set__for, .mp-set__price b, .mp-meal__price, .mp-sizer__per,
    .mp-proof-story__number, .mp-google-review__stars, .mp-google-review__result,
    .mp-step__short, .mp-tile__go, .mp-tile b,
    .mp-plan-intro__note-kicker, .mp-fl__h
  ) {
    color: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where(.mp-tile:is(.is-active, .is-selected, [aria-pressed="true"])) :where(b, .mp-tile__go) {
    color: var(--mp-brand-text-dark) !important;
  }
  body:has(#MainContent) :where(.mp-google-review__result) {
    border-left-color: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where(.mp-set--feature) {
    border-color: var(--mp-brand-green) !important;
    box-shadow: 0 0 0 1px var(--mp-brand-green), 0 8px 24px -16px rgba(17, 19, 14, .48) !important;
  }

  /* Labels retain their original size, placement and dietary meaning. */
  body:has(#MainContent) :where(.mp-tag--diet, .mp-set__flag, .mp-sizer__flag) {
    color: var(--mp-brand-ink) !important;
    background-color: var(--mp-brand-green) !important;
    background-image: none !important;
    border-color: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where(.mp-float__dot, .mp-sizer__tick, .mp-tick:not(.mp-tick--warn), .mp-faq__toggle) {
    color: var(--mp-brand-ink) !important;
    background-color: var(--mp-brand-green) !important;
  }
  body:has(#MainContent) :where(.mp-guar__chev, .mp-guar__item[open], .mp-faq__item[open]) {
    border-color: var(--mp-brand-green) !important;
  }

  /* Plan savings: readable text on the verified brand-green banner. */
  body:has(#MainContent) :where(.mp-pl__save) {
    color: var(--mp-brand-ink) !important;
    background-color: var(--mp-brand-green) !important;
    background-image: none !important;
  }
  body:has(#MainContent) :where(.mp-pl__save-k, .mp-pl__save-amt, .mp-pl__save-sub) {
    color: var(--mp-brand-ink) !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  /* The page canvas is pale stone: literal logo green would disappear here. */
  body:has(#MainContent) :where(.mp-swash, .mp.mp-hero .mp-afterpay strong) {
    color: var(--mp-brand-text-dark) !important;
  }
  body:has(#MainContent) :where(.mp.mp-closer .mp-swash, .mp-panel--ink .mp-swash) {
    color: var(--mp-brand-green) !important;
  }

  /* These remain text links, without a button surface. */
  body:has(#MainContent) :where(.mp-google-proof__source, .mp-guar__item a, .mp-faq__answer a,
    #header-group .menu-list__link:hover, #header-group .menu-list__link--active,
    .mp-fl a:hover) {
    color: var(--mp-brand-green) !important;
  }
  body:has(#MainContent[data-template="page.faq"]) :where(.mpb__mobile-more > summary, .mpb__faq-category > summary)::after {
    color: var(--mp-brand-text-light) !important;
  }
}

/* Native commerce pages share the stone canvas without the MP page planner. */
html body[data-mp-catalog-family],
html body[data-mp-native-family],
html body[data-mp-support-family] {
  background: #c9c9c4 linear-gradient(158deg, #d3d3ce, #c9c9c4 46%, #c1c1bc) !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-blend-mode: normal !important;
  color: #11130e;
}

body[data-mp-catalog-family] #MainContent,
body[data-mp-native-family] #MainContent,
body[data-mp-support-family] #MainContent {
  background: transparent !important;
  color: #11130e;
}

body[data-mp-catalog-family],
body[data-mp-native-family],
body[data-mp-support-family],
body[data-mp-hero-family],
body:has(#MainContent:is([data-template="index"], [data-template="page.lunch-dinner-selection"], [data-template="page.lunch-and-dinner-page"], [data-template="page.meal-plan"], [data-template="page.meal-plan-weight-loss"], [data-template="page.meal-plan-lean-muscle"], [data-template="page.meal-plan-healthy-eating"], [data-template="page.meal-plan-dinners"], [data-template="page.meal-plan-lunches"], [data-template="page.supplement-page"], [data-template="page.about"], [data-template="page.faq"], [data-template="blog"], [data-template="article"], [data-template="page"])) {
/* Footer: one dark-grey surface for signup, menu and legal utility rows. */
& footer:has(.shopify-section-group-footer-group),
& .shopify-section-group-footer-group,
& .shopify-section-group-footer-group :is(.section, .section-background, .mp-fl) {
  background: #30322c !important;
  color: #f4f4ee !important;
  --color-background: #30322c;
  --color-background-rgb: 48 50 44;
  --color: #f4f4ee;
  --color-foreground: #f4f4ee;
  --color-foreground-rgb: 244 244 238;
}

& .shopify-section-group-footer-group :is(p, a, small, .copyright, .text-block) {
  color: #d6d6cc !important;
}

& .shopify-section-group-footer-group :is(h2, h3) {
  color: #f4f4ee !important;
}

& .mp-fl .mp-fl__h {
  color: var(--mp-brand-green) !important;
}

& .mp-fl a {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

& .mp-fl :is(time, .mp-fl__addr) {
  color: #cdd0c4 !important;
}

& .shopify-section-group-footer-group input[type="email"] {
  color: #f4f4ee !important;
  background: #242620 !important;
  border-color: #989d8b !important;
}

& .shopify-section-group-footer-group input[type="email"]::placeholder {
  color: #d6d6cc !important;
  opacity: 1 !important;
}

& .shopify-section-group-footer-group :is(button, summary, .email-signup__button) {
  color: #f4f4ee !important;
}

& .shopify-section-group-footer-group a:hover {
  color: var(--mp-brand-green) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

& .shopify-section-group-footer-group :is(a, button, input, summary):focus-visible {
  outline: 2px solid var(--mp-brand-green) !important;
  outline-offset: 4px;
}

}

body[data-mp-support-family] #MainContent {
  min-width: 0;
  width: 100%;
  overflow-wrap: anywhere;
}

body[data-mp-support-family] #MainContent :is(.section-background, .section) {
  background: transparent !important;
  --color-foreground: #11130e;
  --color-foreground-rgb: 17 19 14;
  --color: #11130e;
}

body[data-mp-support-family] #MainContent :is(h1, h2, h3, h4) {
  color: #11130e;
  overflow-wrap: anywhere;
}

body[data-mp-support-family] .shopify-policy__container {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 880px;
  margin-inline: auto;
  padding: calc(var(--header-height, 72px) + 24px) clamp(16px, 4vw, 32px) 56px;
  color: #11130e;
}

body[data-mp-support-family] .shopify-policy__title h1,
body[data-mp-support-family] #MainContent[data-template="list-collections"] .section-resource-list__content :is(h1, h2, h3),
body[data-mp-support-family] #MainContent[data-template="page.contact"] .section-content-wrapper > .text-block :is(h1, h2) {
  font-family: var(--font-accent--family);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  color: #11130e;
  margin: 0;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

body[data-mp-support-family] .shopify-policy__body {
  min-width: 0;
  line-height: 1.65;
  overflow-wrap: anywhere;
  margin-top: 28px;
}

body[data-mp-support-family] .shopify-policy__body :is(p, li, a, strong, h2, h3, h4) {
  color: #11130e;
}

body[data-mp-support-family] .shopify-policy__body a {
  color: #4d4f18;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body[data-mp-support-family] .shopify-policy__body :is(h2, h3, h4) {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.25;
}

body[data-mp-support-family] #MainContent[data-template="page.contact"] .section-content-wrapper {
  padding-block-start: calc(var(--header-height, 72px) + 24px);
}

body[data-mp-support-family] .contact-form {
  max-width: 720px;
  --color-input-text: #11130e;
  --color-input-background: #eeeee8;
  --color-input-border: #74766b;
}

body[data-mp-support-family] .contact-form__input {
  border: 1px solid #74766b;
  border-radius: 12px;
  font-size: 16px;
}

body[data-mp-support-family] .contact-form__label {
  color: #11130e;
}

body[data-mp-support-family] .contact-form__error {
  color: #8a231c;
}

body[data-mp-support-family] .contact-form__form button[type="submit"] {
  min-width: 160px;
}
