/* ==========================================================================
   PlasticTox — Organic layer
   Design tokens taken from the flourist.com/en-us reference crawl
   (.mist-desktop/source-baselines/source-flourist-com-en-us-41d2ab578c-*).
   Colors are their exact published custom properties; type uses the
   OPEN-LICENSED fallbacks their own stack declares, not their licensed
   webfonts. No gold, no near-black. Loaded AFTER the bundle, so this file
   is the single source of truth for color + surface styling.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Type
   The reference's real faces are OrLemmen-Light (display/body) and StyreneA
   (nav/buttons/kickers). Both are LICENSED commercial fonts self-hosted on
   their CDN — we must not hotlink or re-serve them. Their own font stacks
   declare open-licensed fallbacks, so we use those instead:
       'OrLemmen-Light', Alegreya, serif       → Alegreya  (SIL OFL)
       'StyreneA',       Karla,    sans-serif  → Karla     (SIL OFL)

   The theme hardcodes `font-family: "Instrument Serif", serif` in ~40 places
   across a dozen stylesheets, so rather than edit every one we re-point that
   family name at Alegreya's files. To revert: delete this block and restore
   Instrument+Serif in the layout's font link.
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "Instrument Serif";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/alegreya/v41/4UaBrEBBsBhlBjvfkSLhx6jj4JN0.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Instrument Serif";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/alegreya/v41/4UaBrEBBsBhlBjvfkSLvx6jj4JN0EwI.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Instrument Serif";
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/alegreya/v41/4UaSrEBBsBhlBjvfkSLk3abBFkvpkARTPlbgv5qhmSWnqsV8_9Q.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans remains mapped to Karla for legacy body/UI declarations. Manrope is
   now loaded as itself and is the site-wide heading family. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/karla/v33/qkB9XvYC6trAT55ZBi1ueQVIjQTD-JrIH2G7nytkHRyQ8p4wUje6bmMorHA.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --pt-display: "Alegreya", Georgia, serif;
  --pt-sans: "Karla", system-ui, sans-serif;
  /* reference: --FONT-ACCENT/NAV/BUTTON/KICKER-LETTER-SPACING: 0.09em */
  --pt-track: .09em;

  /* --- exact reference palette ------------------------------------------
     --COLOR-BG #f3f0ec · --COLOR-TEXT #503629 · --COLOR-TEXT-DARK #20130d
     --COLOR-TEXT-LIGHT #816e64 · --COLOR-PRIMARY-HOVER #3f2b20
     --COLOR-VIDEO-BG #e9e4dc · --COLOR-DISABLED-BG #e3ddd9
     Their --COLOR-HIGHLIGHT-LINK #ce9d4c is a gold and is deliberately
     NOT used — links resolve to the brown primary instead.
     -------------------------------------------------------------------- */
  --pt-white: #ffffff;
  --pt-ivory: #ffffff;      /* raised cards + footer (reference footer = #fff) */
  --pt-paper: #f3f0ec;      /* BASE cream                                 */
  --pt-cream: #e9e4dc;      /* media wells (--COLOR-VIDEO-BG)             */
  --pt-band: #eae6e0;
  --pt-band-deep: #e3ddd9;  /* --COLOR-DISABLED-BG                        */
  --pt-sand: #e9e4dc;

  --pt-ink: #503629;        /* --COLOR-TEXT                               */
  --pt-ink-deep: #20130d;   /* --COLOR-TEXT-DARK                          */
  --pt-ink-soft: #816e64;   /* --COLOR-TEXT-LIGHT                         */
  --pt-ink-faint: #9c8b81;
  --pt-navy: #503629;

  /* accent roles → brown, never gold */
  --pt-gold: #503629;
  --pt-gold-dark: #3f2b20;  /* --COLOR-PRIMARY-HOVER                      */
  --pt-gold-light: #e9e4dc;
  --pt-green: #503629;
  --pt-green-dark: #3f2b20;
  --pt-mint: #e9e4dc;
  --pt-line: rgba(80, 54, 41, .15);

  /* reference alpha ramp: rgba(80, 54, 41, …) */
  --pt-rule: rgba(80, 54, 41, .15);
  --pt-rule-dark: rgba(80, 54, 41, .15);
  --pt-shadow: none;
  --pt-shadow-soft: none;
  --pt-shadow-hover: 0 10px 30px rgba(80, 54, 41, .08);

  /* light-on-dark tokens → ink on cream; re-scoped for dark blocks in §11 */
  --pt-ivory-70: rgba(80, 54, 41, .9);
  --pt-ivory-64: rgba(80, 54, 41, .8);
  --pt-ivory-46: rgba(80, 54, 41, .5);
  --pt-ivory-15: rgba(80, 54, 41, .15);
  --pt-navy-84: rgba(32, 19, 13, .8);

  /* reference: --BUTTON-RADIUS: 0px */
  --pt-signature-radius: 0px;
  --pt-radius-sm: 0px;
  --pt-radius-md: 0px;
  --pt-radius-lg: 0px;
}

html,
body {
  color: var(--pt-ink);
  background: var(--pt-paper);
}

/* ==========================================================================
   1. Bands — flat cream, hairline separated
   ========================================================================== */

.pt-home-hero,
.pt-shop-hero,
.pt-science-hero,
.pt-about-hero,
.pt-policy-hero,
.pt-cart-hero,
.pt-science,
.pt-proof-stories,
.pt-pdp-process,
.pt-pdp-close,
.pt-shop-science,
.pt-science-evidence,
.pt-science-shop,
.pt-about-promise,
.pt-data-care,
.pt-final,
.pt-proof,
.pt-shop-results,
.pt-results,
.pt-shop-compare,
.pt-about-values,
.pt-community {
  background: var(--pt-band);
  background-image: none;
  border-top: 1px solid var(--pt-rule);
}

.pt-home-hero:before { background: none; }

.pt-buy,
.pt-process,
.pt-context,
.pt-refs,
.pt-faq,
.pt-launch-trust,
.pt-plan-path,
.pt-pdp-hero,
.pt-pdp-included,
.pt-pdp-faq,
.pt-pdp-assurance,
.pt-pdp-dashboard,
.pt-shop-catalog,
.pt-order-clarity,
.pt-science-method,
.pt-science-limits,
.pt-about-story,
.pt-policy-body,
.pt-cart-body {
  background: var(--pt-paper);
  background-image: none;
  border-top: 1px solid var(--pt-rule);
}

/* reference footer is white over a cream sub-footer */
.pt-footer {
  color: var(--pt-ink);
  background: var(--pt-white);
  border-top: 1px solid var(--pt-rule);
}
.pt-footer__bottom {
  border-top-color: var(--pt-rule);
  color: var(--pt-ink);
}

.pt-header,
.pt-header.is-scrolled {
  background: var(--pt-paper);
  border-bottom-color: var(--pt-rule);
  backdrop-filter: none;
}

/* --COLOR-ANNOUNCEMENT-BG #e5e5e5 / TEXT #503629 */
.pt-announcement {
  color: var(--pt-ink);
  background: #e5e5e5;
  border-bottom: 1px solid var(--pt-rule);
}
.pt-marquee {
  color: var(--pt-ink);
  background: var(--pt-band-deep);
  border-block: 1px solid var(--pt-rule);
}
.pt-marquee__item:after { background: var(--pt-ink-soft); }
.pt-scroll-progress { background: var(--pt-ink); }

/* ==========================================================================
   2. Ink on the formerly-dark bands
   ========================================================================== */

.pt-home-hero,
.pt-proof,
.pt-science,
.pt-final,
.pt-proof-stories,
.pt-pdp-process,
.pt-pdp-close,
.pt-shop-hero,
.pt-shop-science,
.pt-shop-results,
.pt-science-hero,
.pt-science-evidence,
.pt-science-shop,
.pt-about-hero,
.pt-about-promise,
.pt-policy-hero,
.pt-cart-hero,
.pt-data-care { color: var(--pt-ink); }

.pt-home-hero h1,
.pt-home-hero h2,
.pt-science h2,
.pt-final h2,
.pt-proof-stories h2,
.pt-proof-stories__head h2,
.pt-pdp-process h2,
.pt-pdp-close h2,
.pt-shop-hero h1,
.pt-shop-science h2,
.pt-shop-results__copy h2,
.pt-science-hero h1,
.pt-science-evidence h2,
.pt-science-evidence__copy h2,
.pt-science-shop h2,
.pt-about-hero h1,
.pt-about-promise h2,
.pt-policy-hero h1,
.pt-cart-hero h1,
.pt-data-care h2 { color: var(--pt-ink-deep); }

.pt-home-hero p,
.pt-home-hero__lead,
.pt-science__copy > p,
.pt-final p,
.pt-shop-hero p,
.pt-shop-hero__lead,
.pt-shop-science p,
.pt-shop-science__grid p,
.pt-shop-results__copy > p,
.pt-science-hero p,
.pt-science-hero__copy > p:not(.pt-home-kicker),
.pt-science-evidence p,
.pt-science-evidence__copy > p:not(.pt-home-kicker),
.pt-science-shop p:not(.pt-home-kicker),
.pt-about-hero p,
.pt-about-hero__copy > p:not(.pt-home-kicker),
.pt-about-promise p:not(.pt-home-kicker),
.pt-policy-hero p,
.pt-policy-hero > .pt-shell > p:last-child,
.pt-cart-hero p,
.pt-data-care p,
.pt-data-care__copy > p:not(.pt-home-kicker),
.pt-proof-stories__head > p,
.pt-pdp-process li p,
.pt-pdp-close p:not(.pt-home-kicker),
.pt-shop-hero__aside > p,
.pt-shop-hero__aside ul { color: var(--pt-ink); }

/* every former gold accent → brown */
.pt-home-hero .pt-home-kicker,
.pt-science .pt-home-kicker,
.pt-final .pt-home-kicker,
.pt-proof-stories .pt-home-kicker,
.pt-pdp-process .pt-home-kicker,
.pt-pdp-close .pt-home-kicker,
.pt-shop-hero .pt-home-kicker,
.pt-shop-science .pt-home-kicker,
.pt-shop-results__copy .pt-home-kicker,
.pt-science-hero .pt-home-kicker,
.pt-science-hero__copy .pt-home-kicker,
.pt-science-evidence .pt-home-kicker,
.pt-science-evidence__copy .pt-home-kicker,
.pt-science-shop .pt-home-kicker,
.pt-about-hero .pt-home-kicker,
.pt-about-hero__copy .pt-home-kicker,
.pt-about-promise .pt-home-kicker,
.pt-policy-hero .pt-home-kicker,
.pt-cart-hero .pt-home-kicker,
.pt-data-care .pt-home-kicker,
.pt-home-hero h1 em,
.pt-science h2 em,
.pt-final h2 em,
.pt-proof-stories__head h2 em,
.pt-shop-results__copy h2 em,
.pt-cart-hero h1 em,
.pt-data-care h2 em,
.pt-science__metrics strong,
.pt-science-evidence__copy dt,
.pt-shop-results__copy dt,
.pt-pdp-process li > span,
.pt-data-care__facts span,
.pt-hero-trust span,
.pt-shop-hero__actions > span,
.pt-home-hero__offer strong,
.pt-science-evidence__links a,
.pt-shop-science__grid a,
.pt-shop-results__copy > a,
.pt-pdp-process a,
.pt-pdp-close a,
.pt-data-care__links a,
.pt-source-link,
.pt-source-link--light { color: var(--pt-ink); }

.pt-home-hero__offer,
.pt-hero-trust strong,
.pt-proof span,
.pt-proof [data-stat-card] small,
.pt-science__metrics span,
.pt-science-evidence__copy dd,
.pt-shop-results__copy dd,
.pt-shop-hero__trust span,
.pt-data-care__facts p { color: var(--pt-ink-soft); }

.pt-proof strong,
.pt-shop-hero__trust strong,
.pt-data-care__facts strong { color: var(--pt-ink-deep); }

.pt-hero-trust,
.pt-hero-trust li + li,
.pt-proof,
.pt-proof__grid > div,
.pt-science__metrics,
.pt-science__metrics div + div,
.pt-science-evidence__copy dl,
.pt-science-evidence__copy dl div + div,
.pt-shop-hero__aside li,
.pt-shop-hero__trust,
.pt-shop-results__copy dl,
.pt-shop-results__copy dl div,
.pt-pdp-process ol,
.pt-pdp-process li,
.pt-data-care__facts,
.pt-data-care__facts > div { border-color: var(--pt-rule); }

.pt-science-text-link,
.pt-about-text-link,
.pt-cart-hero__inner > a { color: var(--pt-ink); }

/* ==========================================================================
   3. Header / footer / nav
   ========================================================================== */

.pt-header .pt-brand,
.pt-header .pt-nav a,
.pt-header-actions,
.pt-account-link,
.pt-menu-toggle { color: var(--pt-ink); }
.pt-header .pt-nav a:hover,
.pt-header .pt-nav a:focus-visible { color: var(--pt-ink-deep); }
.pt-header .pt-brand:after,
.pt-header .pt-nav a:after { background: var(--pt-ink); }
.pt-menu-toggle span { background: var(--pt-ink); }

.pt-brand--footer { color: var(--pt-ink-deep); }
.pt-footer__label,
.pt-footer__monogram { color: var(--pt-ink); }
.pt-footer__links a { color: var(--pt-ink); }
.pt-footer__links a:hover { color: var(--pt-ink-deep); }
.pt-footer__promise,
.pt-footer__note { color: var(--pt-ink-soft); }

/* ==========================================================================
   4. Cards
   ========================================================================== */

.pt-buy-option,
.pt-buy-option:hover,
.pt-shop-card,
.pt-shop-card__content,
.pt-refs__item,
.pt-process__grid article,
.pt-process__grid article > div,
.pt-proof-story,
.pt-about-values__grid > article,
.pt-about-values__grid > article:first-child,
.pt-order-summary,
.pt-empty-cart,
.pt-policy-content {
  color: var(--pt-ink);
  background: var(--pt-white);
  border-color: var(--pt-rule);
}

/* one dark object on a cream page — the featured plan */
.pt-buy-option.is-featured {
  color: var(--pt-paper);
  background: var(--pt-ink);
  border-color: var(--pt-ink);
}

.pt-process__grid article { border: 1px solid var(--pt-rule); }
.pt-process__grid article > div p,
.pt-proof-story p { color: var(--pt-ink-soft); }
.pt-process-card__link {
  color: var(--pt-ink);
  border-top-color: var(--pt-rule);
}
.pt-process-card__link b { color: var(--pt-ink); }

.pt-proof-story:hover { background: var(--pt-white); }
.pt-proof-story--feature,
.pt-proof-story--dark { background: var(--pt-cream); }
.pt-proof-story--feature:hover,
.pt-proof-story--dark:hover { background: var(--pt-band-deep); }
.pt-proof-story small,
.pt-proof-story__metric { color: var(--pt-ink); }

.pt-shop-compare__row.is-featured,
.pt-roadmap__list li.is-live {
  color: var(--pt-ink);
  background: var(--pt-cream);
}
.pt-shop-compare__row.is-featured strong { color: var(--pt-ink-deep); }

.pt-faq details[open],
.pt-pdp-faq details[open],
.pt-pdp-disclosure { background: var(--pt-cream); }
.pt-faq summary:after,
.pt-pdp-faq summary:after { color: var(--pt-ink); }

/* media wells */
.pt-buy-option > .pt-buy-option__visual,
.pt-shop-card__image,
.pt-pdp-visual,
.pt-pdp-thumb,
.pt-pdp-gallery__thumb,
.pt-cart-item__image,
.pt-home-hero__media,
.pt-science-evidence__visual,
.pt-community__card { background: var(--pt-cream); }

/* ==========================================================================
   5. Community band
   ========================================================================== */

.pt-community__gallery { background: var(--pt-band-deep); }
.pt-community__fade--top { background: linear-gradient(var(--pt-band), transparent); }
.pt-community__fade--bottom { background: linear-gradient(transparent, var(--pt-band)); }
.pt-community__chips span {
  color: var(--pt-ink);
  background: var(--pt-white);
  border-color: var(--pt-rule);
}
.pt-community__copy h2 em { color: var(--pt-ink); }
.pt-community__card figcaption {
  background: rgba(32, 19, 13, .62);
  border-color: rgba(255, 255, 255, .2);
}

/* ==========================================================================
   6. Overlays on photography stay dark for legibility — warm brown
   ========================================================================== */

.pt-impact-banner__shade {
  background: linear-gradient(90deg, rgba(32, 19, 13, .86), rgba(32, 19, 13, .5) 48%, rgba(32, 19, 13, .1));
}
.pt-impact-banner__facts span {
  color: rgba(243, 240, 236, .86);
  background: rgba(32, 19, 13, .46);
  border-color: rgba(243, 240, 236, .22);
}
.pt-impact-banner__facts b { color: var(--pt-paper); }
.pt-hero-video__label {
  background: rgba(32, 19, 13, .72);
  border-color: rgba(243, 240, 236, .24);
}
.pt-hero-video__label strong { color: var(--pt-paper); }
.pt-buy__media span,
.pt-shop-hero__visual > span,
.pt-shop-card__image > span,
.pt-science-hero__visual span,
.pt-about-hero__visual span,
.pt-pdp-visual__badge { background: rgba(32, 19, 13, .78); }

/* ==========================================================================
   7. Buttons — square, solid brown, uppercase Karla at 0.09em
   ========================================================================== */

.pt-button,
.pt-button--primary,
.pt-button--secondary,
.pt-button--light,
.pt-button--ivory,
.pt-button--navy,
.pt-pdp-add,
.pt-kit-cta__button,
.pt-shop-card__add,
.pt-shop-card__view,
.pt-pdp-sticky button {
  font-family: var(--pt-sans);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: var(--pt-track);
  text-transform: uppercase;
  border-radius: 0;
}

.pt-button--primary,
.pt-button--ivory,
.pt-button--navy,
.pt-pdp-add,
.pt-kit-cta__button,
.pt-shop-card__add,
.pt-pdp-sticky button {
  color: var(--pt-white);
  background: var(--pt-ink);
  border-color: var(--pt-ink);
}
.pt-button--primary:hover,
.pt-button--ivory:hover,
.pt-button--navy:hover,
.pt-pdp-add:hover,
.pt-kit-cta__button:hover,
.pt-shop-card__add:hover,
.pt-pdp-sticky button:hover {
  color: var(--pt-white);
  background: var(--pt-gold-dark);
  border-color: var(--pt-gold-dark);
}

.pt-button--secondary,
.pt-button--light,
.pt-shop-card__view {
  color: var(--pt-ink);
  background: transparent;
  border: 1px solid var(--pt-ink);
}
.pt-button--secondary:hover,
.pt-button--light:hover,
.pt-shop-card__view:hover {
  color: var(--pt-white);
  background: var(--pt-ink);
  border-color: var(--pt-ink);
}

.pt-home-link,
.pt-home-link--light { color: var(--pt-ink); }
.pt-button:hover,
.pt-pdp-add:hover,
.pt-kit-cta__button:hover { box-shadow: none; transform: none; }

/* ==========================================================================
   8. Type system
   Reference: headings letter-spacing normal, weight 400, transform none;
   accent/nav/button/kicker uppercase at 0.09em.
   ========================================================================== */

body {
  font-family: var(--pt-sans);
  font-weight: 400;
}

main h1,
main h2,
main h3,
.pt-cart-item__content h2,
.pt-order-summary h2,
.pt-empty-cart h2 {
  font-family: var(--pt-display);
  font-weight: 400;
  letter-spacing: normal;
}

.pt-home-hero h1,
.pt-shop-hero h1,
.pt-science-hero h1,
.pt-about-hero h1,
.pt-policy-hero h1,
.pt-cart-hero h1,
.pt-pdp-buy h1 {
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.06;
}

.pt-buy__intro h2,
.pt-home-heading h2,
.pt-launch-heading h2,
.pt-pdp-heading h2,
.pt-shop-catalog__heading h2,
.pt-science-heading h2,
.pt-proof-stories__head h2,
.pt-community__copy h2,
.pt-impact-banner h2,
.pt-final h2,
.pt-science h2,
.pt-shop-results__copy h2,
.pt-science-evidence__copy h2,
.pt-about-promise h2,
.pt-data-care h2 {
  letter-spacing: normal;
  line-height: 1.12;
}

/* the reference sets body copy in the same serif */
.pt-home-hero__lead,
.pt-shop-hero__lead,
.pt-buy__intro > p,
.pt-home-heading > p,
.pt-science-heading > p,
.pt-launch-heading > p,
.pt-pdp-heading > p,
.pt-pdp-intro,
.pt-proof-stories__head > p {
  font-family: var(--pt-display);
  font-size: clamp(1.15rem, 1.55vw, 1.4rem);
  line-height: 1.5;
  letter-spacing: normal;
}

/* uppercase micro-copy — Karla at the reference's 0.09em */
.pt-home-kicker,
.pt-eyebrow,
.pt-footer__label,
.pt-buy-option > .pt-buy-option__label,
.pt-shop-card__image > span,
.pt-shop-card__meta span,
.pt-announcement,
.pt-announcement strong,
.pt-includes span,
.pt-includes-wrap > p,
.pt-cart-item__content > span,
.pt-cart-selection__head > span {
  font-family: var(--pt-sans);
  font-weight: 500;
  letter-spacing: var(--pt-track);
  text-transform: uppercase;
}
.pt-home-kicker,
.pt-eyebrow { font-size: .72rem; }
.pt-home-kicker:after,
.pt-eyebrow:after { display: none; }
.pt-announcement { font-weight: 400; font-size: .72rem; }

.pt-header .pt-nav a,
.pt-mobile-menu__nav a {
  font-family: var(--pt-sans);
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: var(--pt-track);
  text-transform: uppercase;
}
.pt-mobile-menu__nav a { font-size: 1.15rem; }

/* wordmark: serif, matching the reference's serif logotype */
.pt-brand,
.pt-brand--footer {
  font-family: var(--pt-display);
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: none;
}
.pt-header .pt-brand { font-size: 1.5rem; }
.pt-header.is-scrolled .pt-brand { font-size: 1.4rem; }
.pt-brand--footer { font-size: clamp(1.7rem, 2.4vw, 2.3rem); }
.pt-mobile-menu__eyebrow {
  font-family: var(--pt-sans);
  font-weight: 500;
  letter-spacing: var(--pt-track);
  text-transform: uppercase;
}

/* ==========================================================================
   9. Geometry — square, hairline separated, no shadows
   ========================================================================== */

.pt-buy__media,
.pt-results__visual,
.pt-science__visual,
.pt-context__grid > img,
.pt-context__grid > video,
.pt-final__grid > img,
.pt-final__grid > video,
.pt-science-hero__visual,
.pt-about-hero__visual,
.pt-shop-hero__visual,
.pt-shop-results__visual,
.pt-pdp-dashboard__media,
.pt-home-hero__media,
.pt-pdp-visual,
.pt-buy-option,
.pt-buy-option:hover,
.pt-shop-card,
.pt-refs__item,
.pt-proof-story,
.pt-process__grid article,
.pt-launch-trust__grid article,
.pt-pdp-included__grid article,
.pt-science-method__steps li,
.pt-about-values__grid > article,
.pt-about-values__grid > article:first-child,
.pt-policy-content,
.pt-community__card,
.pt-pdp-thumb,
.pt-pdp-gallery__thumb { border-radius: 0; }

.pt-buy-option,
.pt-shop-card,
.pt-refs__item,
.pt-process__grid article,
.pt-proof-story,
.pt-about-values__grid > article,
.pt-home-hero__media,
.pt-science__visual,
.pt-final__grid > img,
.pt-final__grid > video { box-shadow: none; }

.pt-buy-option:hover,
.pt-shop-card:hover,
.pt-refs__item:hover,
.pt-process__grid article:hover {
  border-color: var(--pt-ink);
  box-shadow: var(--pt-shadow-hover);
}
.pt-shop-card.is-featured { border: 1px solid var(--pt-ink); }
/* signature.css paints the featured Add button navy-on-gold — both remap to
   the SAME brown here, so its label vanished. White on brown, like every
   other primary button. */
.pt-shop-card.is-featured .pt-shop-card__add {
  color: var(--pt-white);
  background: var(--pt-ink);
  border-color: var(--pt-ink);
}
.pt-shop-card.is-featured .pt-shop-card__add:hover {
  color: var(--pt-white);
  background: var(--pt-gold-dark);
  border-color: var(--pt-gold-dark);
}

/* ==========================================================================
   10. Mobile chrome
   ========================================================================== */

@media (max-width: 780px) {
  html,
  body,
  section[data-fluid-template-type="footer"],
  section[data-fluid-section-type="plastictox_footer"],
  .pt-footer { background: var(--pt-white); }
  #main-content { background: var(--pt-paper); }
  .pt-kit-cta {
    color: var(--pt-white);
    background: var(--pt-ink);
    border-top-color: var(--pt-ink);
  }
  .pt-kit-cta__inner small { color: rgba(243, 240, 236, .74); }

  /* The fixed kit CTA is ~70px tall; clear it so the last footer links can
     scroll fully into view. (The old clearance sat on .pt-footer__bottom,
     an element the current footer markup no longer renders.) */
  .pt-footer {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

.pt-pdp-sticky {
  color: var(--pt-white);
  background: var(--pt-ink);
  border-top-color: var(--pt-ink);
}
.pt-pdp-sticky__inner small { color: rgba(243, 240, 236, .74); }
.pt-pdp-sticky__inner span,
.pt-kit-cta__inner strong { color: var(--pt-white); }

/* ==========================================================================
   11. Still-dark containers get the light tokens back
   ========================================================================== */

.pt-buy-option.is-featured,
.pt-pdp-sticky,
.pt-kit-cta,
.pt-impact-banner__inner,
.pt-community__card figcaption {
  --pt-ivory-70: rgba(243, 240, 236, .9);
  --pt-ivory-64: rgba(243, 240, 236, .8);
  --pt-ivory-46: rgba(243, 240, 236, .56);
  --pt-ivory-15: rgba(243, 240, 236, .18);
}

.pt-buy-option.is-featured h3,
.pt-buy-option.is-featured strong,
.pt-buy-option.is-featured .pt-buy-option__label,
.pt-buy-option.is-featured .pt-buy-option__link { color: var(--pt-paper); }
.pt-buy-option.is-featured p,
.pt-buy-option.is-featured small { color: rgba(243, 240, 236, .78); }
.pt-buy-option.is-featured small b { color: var(--pt-paper); }
.pt-buy-option.is-featured .pt-button--primary,
.pt-buy-option.is-featured .pt-button--ivory {
  color: var(--pt-ink);
  background: var(--pt-paper);
  border-color: var(--pt-paper);
}
.pt-buy-option.is-featured .pt-button--primary:hover,
.pt-buy-option.is-featured .pt-button--ivory:hover {
  color: var(--pt-ink);
  background: var(--pt-white);
  border-color: var(--pt-white);
}

.pt-impact-banner h2,
.pt-impact-banner .pt-home-kicker { color: var(--pt-paper); }
.pt-impact-banner .pt-button--ivory {
  color: var(--pt-ink);
  background: var(--pt-paper);
  border-color: var(--pt-paper);
}

/* ==========================================================================
   12. Contrast repair — bundle selectors that OUTRANK the earlier overrides
   (higher specificity than the section-2 lists, so they kept ivory text on
   the now-light bands). Every rule here matches or beats the bundle's
   specificity and loads later, so it always wins.
   ========================================================================== */

/* home "The method" band: bundle keeps literal ivory #fbf7ed copy → invisible */
.pt-science__copy > p:not(.pt-home-kicker) { color: var(--pt-ink); }
.pt-science__metrics span { color: var(--pt-ink-soft); }
.pt-science__metrics strong { color: var(--pt-ink-deep); }

/* roadmap "live" cell + featured compare row went light but kept ivory text */
.pt-roadmap__list li.is-live p { color: var(--pt-ink-soft); }
.pt-roadmap__list li.is-live h3,
.pt-roadmap__list li.is-live strong { color: var(--pt-ink-deep); }
.pt-shop-compare__row.is-featured { color: var(--pt-ink); }
.pt-shop-compare__row.is-featured strong { color: var(--pt-ink-deep); }

/* ==========================================================================
   13. Crème refinement — Salt & Stone-inspired, softer + feminine
   Warmer layered crèmes, gently rounded imagery and cards, pill buttons,
   italic serif accents. Loaded last so it wins the cascade.
   ========================================================================== */

:root {
  --pt-paper: #f7f3ec;      /* base crème — warmer than before        */
  --pt-band: #f0e9df;       /* alternating band crème                 */
  --pt-band-deep: #e8dfd2;  /* deepest crème (announcement, marquee)  */
  --pt-cream: #ece4d8;      /* media wells                            */
  --pt-sand: #ece4d8;
  --pt-mint: #ece4d8;
  --pt-gold-light: #ece4d8;
  --pt-line: rgba(80, 54, 41, .14);
  --pt-rule: rgba(80, 54, 41, .14);
  --pt-rule-dark: rgba(80, 54, 41, .14);
  --pt-signature-radius: 10px;
  --pt-radius-sm: 8px;
  --pt-radius-md: 12px;
  --pt-radius-lg: 16px;
}

html,
body { background: var(--pt-paper); }

/* warm crème announcement instead of flat grey */
.pt-announcement { background: var(--pt-band-deep); }

/* softly rounded imagery + cards (were hard-square) */
.pt-buy__media,
.pt-results__visual,
.pt-science__visual,
.pt-context__grid > img,
.pt-context__grid > video,
.pt-final__grid > img,
.pt-final__grid > video,
.pt-science-hero__visual,
.pt-about-hero__visual,
.pt-shop-hero__visual,
.pt-shop-results__visual,
.pt-pdp-dashboard__media,
.pt-home-hero__media,
.pt-pdp-visual,
.pt-buy-option,
.pt-buy-option:hover,
.pt-shop-card,
.pt-refs__item,
.pt-proof-story,
.pt-process__grid article,
.pt-launch-trust__grid article,
.pt-pdp-included__grid article,
.pt-science-method__steps li,
.pt-about-values__grid > article,
.pt-about-values__grid > article:first-child,
.pt-policy-content,
.pt-community__card,
.pt-pdp-thumb,
.pt-pdp-gallery__thumb,
.pt-order-summary,
.pt-empty-cart,
.pt-cart-item__image,
.pt-science-evidence__visual { border-radius: var(--pt-signature-radius); }

.pt-buy-option > .pt-buy-option__visual,
.pt-shop-card__image {
  border-radius: var(--pt-signature-radius) var(--pt-signature-radius) 0 0;
}

/* pill buttons — soft, feminine, Salt & Stone-style */
.pt-button,
.pt-button--primary,
.pt-button--secondary,
.pt-button--light,
.pt-button--ivory,
.pt-button--navy,
.pt-pdp-add,
.pt-kit-cta__button,
.pt-shop-card__add,
.pt-shop-card__view,
.pt-pdp-sticky button {
  border-radius: 999px;
  letter-spacing: .12em;
}

/* italic serif accents in display headings — matches or beats the bundle's
   `font-style: normal` on every em, and loads later */
.pt-home h1 em, .pt-home h2 em,
.pt-science-page h1 em, .pt-science-page h2 em,
.pt-about-page h1 em, .pt-about-page h2 em,
.pt-shop-page h1 em, .pt-shop-page h2 em,
.pt-pdp h2 em,
.pt-pdp-dashboard h2 em, .pt-pdp-faq h2 em,
.pt-community__copy h2 em,
.pt-cart-hero h1 em, .pt-empty-cart h2 em,
.pt-launch-heading h2 em, .pt-data-care h2 em,
.pt-shop-results__copy h2 em, .pt-proof-stories__head h2 em,
.pt-reviews__head h2 em {
  font-style: italic;
  color: var(--pt-ink);
}

/* rounded form fields to match */
.pt-field select,
.pt-field input,
.pt-cart-item select,
.pt-cart-item__quantity select { border-radius: 10px; }

/* higher-specificity square buttons the pill rule missed */
.pt-empty-cart .pt-button,
.pt-order-summary .pt-button,
.pt-page-actions .pt-button { border-radius: 999px; }

/* "How it works" numbered badges: signature.css paints them
   navy-on-gold — both remapped to the SAME brown, so the 01/02/03
   vanished into a blank dot. Crème badge, brown number. */
.pt-process__grid article:after {
  color: var(--pt-ink);
  background: var(--pt-paper);
  border: 1px solid var(--pt-rule);
}
