/* Georgia Wood Char: opt-in dark mode.
   Applies only when <html data-theme="dark"> is set by js/gwc-theme.js (visitor clicked "Dark mode").
   Light is the default; nothing here follows the operating-system setting.
   Palette keeps the brand: deep green, flame orange #FE6C01 / clay #B45A32, cream text. */

/* ---------- toggle button (both modes) ---------- */
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  flex: 0 0 auto;
  min-height: 44px; padding: 0 14px;
  font: 600 0.88rem/1 'Satoshi', system-ui, -apple-system, sans-serif;
  color: var(--carbon, #151815);
  background: transparent;
  border: 1.5px solid var(--ash, #D8D3C8);
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.theme-toggle:hover { background: rgba(35, 67, 51, 0.08); border-color: #234333; }
.theme-toggle:focus-visible { outline: 3px solid #FE6C01; outline-offset: 3px; }
.theme-toggle[aria-pressed="true"] { border-color: #FE6C01; }
.theme-toggle__ico { display: inline-flex; line-height: 0; }
.theme-toggle__icon { display: block; }
.theme-toggle[aria-pressed="true"] .theme-toggle__icon { color: #FE6C01; }
@media (max-width: 900px) {
  .site-header .nav > .theme-toggle { margin-left: auto; padding: 0 12px; font-size: 0.82rem; }
}
@media (max-width: 400px) {
  .site-header .nav > .theme-toggle { padding: 0 10px; gap: 6px; font-size: 0.78rem; }
}
.theme-toggle--bare { color: var(--carbon, #151815); }
@media (prefers-reduced-motion: reduce) { .theme-toggle { transition: none; } }

/* =====================================================================
   DARK PALETTE: html[data-theme="dark"]
   Re-maps the shared colour variables for light surfaces; dark sections
   (hero, footer, call/quote bar, buttons...) are pinned to the original
   brand palette further down so they look exactly as they do today.
   ===================================================================== */
html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #111512;
  --sand: #181E1A;
  --white: #1D241F;
  --ash: #33403A;
  --ink: #ECE8DF;
  --carbon: #F2EEE5;
  --muted: #B9B4A8;
  --pine: #A9D2B8;
  --pine-deep: #BFE0CA;
  --clay: #E8895C;
  --clay-hover: #F29C73;
  --shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.55);
}
html[data-theme="dark"] body { background: var(--paper); color: var(--ink); }

/* ---- sections that are dark in both modes: keep the original brand palette ---- */
html[data-theme="dark"] :is(.hero, .page-hero, .bg-carbon, .card[style*="background: var(--carbon)"], .cta-band, .site-footer, .insured-band, .lead-bar, .flame-top, .btn-clay, .btn-outline:hover, .checklist .check, .podcast-filter.is-active, .podcast-sub-btn:hover, .gwc-gl__tip, .bp-hero, .bp-band, .bp-contact, .bp-foot, .rp-hero, .rp-quote, .rp-card, .rp-calc, .rp-sec-dark, .rp-brochure, .rp-cta, .rp-immersive, .rp-video, .rp-btn-clay, .rp-mobile-dl, .gi-stats > li:not(.is-pending), .cos-dot, .gi-ico) {
  --paper: #FAF7F1; --sand: #F4EFE7; --white: #FFFFFF; --ash: #D8D3C8; --ink: #1F1D18;
  --carbon: #151815; --muted: #6B665C; --pine: #234333; --pine-deep: #1A3228; --clay: #B45A32; --clay-hover: #9A4C2A;
}

/* ---------- header, navigation ---------- */
html[data-theme="dark"] .site-header { background: rgba(17, 21, 18, 0.94); border-bottom-color: var(--ash); }
html[data-theme="dark"] .nav-links { background: var(--paper); }
html[data-theme="dark"] .nav-links a:hover,
html[data-theme="dark"] .nav-links a.active { color: #F29C73; }
html[data-theme="dark"] .nav-links a.active::after { background: #E8895C; }
html[data-theme="dark"] .menu-toggle span { background: #F2EEE5; }
html[data-theme="dark"] .nav-dd-menu { background: var(--sand); border-color: var(--ash); box-shadow: var(--shadow-lg); }
html[data-theme="dark"] .nav-dd-menu a:hover,
html[data-theme="dark"] .nav-dd-menu a:focus-visible { background: var(--white); }
/* logo: the green wordmark sits on a soft cream plate so the brand colors stay true and readable */
html[data-theme="dark"] .site-header .logo-link { background: #FAF7F1 !important; border-radius: 12px; padding: 2px 8px; }
html[data-theme="dark"] .site-header .logo-link img { background: transparent !important; }
html[data-theme="dark"] .theme-toggle { color: #F2EEE5; border-color: #4A5A51; }
html[data-theme="dark"] .theme-toggle:hover { background: rgba(255, 255, 255, 0.08); border-color: #A9D2B8; }
html[data-theme="dark"] .theme-toggle[aria-pressed="true"] { border-color: #FE6C01; }

/* ---------- text on light-mode surfaces ---------- */
html[data-theme="dark"] .section-label,
html[data-theme="dark"] .podcast-episode__num,
html[data-theme="dark"] .podcast-episode__cta,
html[data-theme="dark"] .gwc-vh-note a, html[data-theme="dark"] .gwc-vh-link { color: #F0A07A; }
html[data-theme="dark"] .podcast-episode__date,
html[data-theme="dark"] .podcast-archive-note,
html[data-theme="dark"] .podcast-episode__desc,
html[data-theme="dark"] .gwc-vh-note,
html[data-theme="dark"] .rp-faq-video > div p,
html[data-theme="dark"] .gwc-tx__note { color: #B9B4A8; }
html[data-theme="dark"] .podcast-episode__title,
html[data-theme="dark"] .rp-faq-video > div h3,
html[data-theme="dark"] .gwc-tx__body { color: #ECE8DF; }
html[data-theme="dark"] .human-check-error { color: #F4A08F; }
html[data-theme="dark"] .gwc-tx { background: var(--white); border-color: var(--ash); }
html[data-theme="dark"] .gwc-tx summary { color: #A9D2B8; }
html[data-theme="dark"] .contact-intro h1, html[data-theme="dark"] .thanks-section h1,
html[data-theme="dark"] .quote-details summary { color: #F2EEE5; }
html[data-theme="dark"] .contact-intro p, html[data-theme="dark"] .thanks-section p,
html[data-theme="dark"] .contact-nap, html[data-theme="dark"] .contact-map__links,
html[data-theme="dark"] .contact-photo figcaption { color: #B9B4A8; }
html[data-theme="dark"] .contact-nap a, html[data-theme="dark"] .quote-details summary::before { color: #F0A07A; }
html[data-theme="dark"] .quote-details, html[data-theme="dark"] .contact-map iframe { background: var(--sand); border-color: var(--ash); }
html[data-theme="dark"] main a:not(.btn):not(.content-link):not([class*="btn"]) { text-decoration-color: currentColor; }

/* ---------- cards, tiles, filters, buttons on light surfaces ---------- */
html[data-theme="dark"] .feature-item,
html[data-theme="dark"] .podcast-filter { background: var(--white); color: var(--carbon); border-color: var(--ash); }
html[data-theme="dark"] .btn-outline:not(:is(.hero, .page-hero, .cta-band, .bg-carbon, .rp-hero, .rp-cta) .btn-outline) { color: var(--carbon); border-color: #A9D2B8; }
html[data-theme="dark"] .btn-outline:not(:is(.hero, .page-hero, .cta-band, .bg-carbon, .rp-hero, .rp-cta) .btn-outline):hover { background: #234333; color: #fff; border-color: #234333; }
html[data-theme="dark"] .btn-white { background: #F4EFE7; color: #151815; }
html[data-theme="dark"] .btn-white:hover { background: #FFFFFF; }

/* ---------- forms ---------- */
html[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { background: #151B17; color: #F2EEE5; border-color: #4A5A51; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #A3AEA6; opacity: 1; }
html[data-theme="dark"] input:focus, html[data-theme="dark"] select:focus, html[data-theme="dark"] textarea:focus { border-color: #FE6C01; outline-color: #FE6C01; }
html[data-theme="dark"] select option { background: #151B17; color: #F2EEE5; }
html[data-theme="dark"] .form-hint { color: #B9B4A8; opacity: 1; }
html[data-theme="dark"] input[type=file] { color: #F2EEE5; }

/* ---------- footer (stays dark; brand badges keep their own artwork) ---------- */
html[data-theme="dark"] .site-footer { border-top: 1px solid #2A332D; }
/* ISCC badge is dark-on-transparent artwork: give it a cream plate so it stays legible */
html[data-theme="dark"] .site-footer img[src*="iscc"] { background: #FAF7F1; border-radius: 8px; padding: 6px; }

/* ---------- images stay true to colour; only a gentle brightness trim so large white photos do not glare ---------- */
html[data-theme="dark"] main img:not([src$=".svg"]) { filter: brightness(0.94); }

/* ---------- research / blog article layout (css/gwc-report.css) ---------- */
html[data-theme="dark"] .rp-stats .rp-wrap,
html[data-theme="dark"] .rp-stage,
html[data-theme="dark"] .rp-about,
html[data-theme="dark"] .rp-related,
html[data-theme="dark"] .rp-sec-paper,
html[data-theme="dark"] .rp-step .rp-inline-vis { background: var(--paper); }
html[data-theme="dark"] .rp-stats .rp-wrap,
html[data-theme="dark"] .rp-stage { background: var(--white); }
html[data-theme="dark"] .rp-rel,
html[data-theme="dark"] .rp-rcard { background: var(--white); border-color: var(--ash); }
html[data-theme="dark"] .rp-eyebrow { color: #B5C48A; }
html[data-theme="dark"] .rp-hero .rp-eyebrow,
html[data-theme="dark"] .rp-quote cite,
html[data-theme="dark"] .rp-calc .rp-eyebrow { color: #B9C38F; }
html[data-theme="dark"] .rp-stat-num small,
html[data-theme="dark"] .rp-dl dt { color: #B5C48A; }
html[data-theme="dark"] .cc-prose a, html[data-theme="dark"] .rp-prose a, html[data-theme="dark"] main p a:not(.btn) { color: #F0A07A; }
html[data-theme="dark"] .rp-hero .rp-crumb a { color: #D8D3C8; }
html[data-theme="dark"] .rp-win .rp-big { color: #F0A07A; }
html[data-theme="dark"] .rp-note { background: var(--sand); }

/* ---------- native infographics (css/gwc-infographics.css) ---------- */
html[data-theme="dark"] .gi {
  --g: #D5E8DB; --c: #151B17; --gray: #B9B4A8; --r: #F0A07A;
  background: var(--c); border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .gi-title { color: #F2EEE5; }
html[data-theme="dark"] .gi-d { color: #C9D6CD; }
html[data-theme="dark"] .gi strong { color: #F2EEE5; }
html[data-theme="dark"] .gi-ico { background: #00311B; box-shadow: inset 0 0 0 4px #00311B, inset 0 0 0 6px rgba(254, 125, 28, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.14); }
html[data-theme="dark"] .gi-n { background: #B0481F; color: #FFFFFF; border-color: var(--c); }
html[data-theme="dark"] .gi-legend b, html[data-theme="dark"] .gi-flag { background: #B0481F; color: #fff; }
html[data-theme="dark"] .gi-grid > li { background: var(--white); border-color: rgba(255, 255, 255, 0.12); }
html[data-theme="dark"] .gi-steps > li { background: transparent; }
html[data-theme="dark"] .gi-stats > li { background: #00311B; color: #FAF7F0; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14); }
html[data-theme="dark"] .gi-stats .gi-d { color: #E6E1D7; }
html[data-theme="dark"] .gi-stats .gi-s { color: #B9C38F; }
html[data-theme="dark"] .gi-big { color: #FE7D1C; }
html[data-theme="dark"] .gi-stats > li.is-pending,
html[data-theme="dark"] .gi-grid > li.is-pending { background: repeating-linear-gradient(135deg, #2A2018 0 10px, #33261B 10px 20px); color: #F2EEE5; }
html[data-theme="dark"] .gi-stats > li.is-pending .gi-big { color: #F0A07A; }
html[data-theme="dark"] .gi-stats > li.is-pending .gi-d { color: #F2EEE5; }
html[data-theme="dark"] .gi-pending-note { background: #33261B; color: #F7C9AE; }
html[data-theme="dark"] .gi-bar { background: rgba(255, 255, 255, 0.12); }
html[data-theme="dark"] .gi-bar > span { background: linear-gradient(90deg, #2F7A52, #4FA678); }
html[data-theme="dark"] .gi-bars > li:nth-child(even) .gi-bar > span { background: linear-gradient(90deg, #C45A32, #FE7D1C); }
html[data-theme="dark"] .gi-steps > li:not(:last-child)::after { background: #FE7D1C; }
/* diagram text that is dark green on cream in light mode */
html[data-theme="dark"] .gi-svg text[fill="#00311b"],
html[data-theme="dark"] .gi-svg text[fill="#00311B"] { fill: #D5E8DB; }
html[data-theme="dark"] .gi-svg text[fill="#6e6a64"] { fill: #B9B4A8; }
html[data-theme="dark"] .gi-svg text[fill="#c45a32"] { fill: #F0A07A; }

/* ---------- interactive "circle of sustainability" (css/gwc-circle.css) ---------- */
html[data-theme="dark"] .cos { background: #151B17; border-color: rgba(255, 255, 255, 0.12); }
html[data-theme="dark"] .cos-center,
html[data-theme="dark"] .cos-txt,
html[data-theme="dark"] .cos-exp { color: #E8F1EA; }
html[data-theme="dark"] .cos-label,
html[data-theme="dark"] .cos-steps::before { color: #F0A07A; }
html[data-theme="dark"] .cos-num { background: #B0481F; color: #FFFFFF; border-color: #151B17; }
html[data-theme="dark"] .cos-dot { background: #00311B; box-shadow: inset 0 0 0 4px #00311B, inset 0 0 0 6px rgba(254, 125, 28, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.16); }
html[data-theme="dark"] .cos-btn.is-active .cos-dot,
html[data-theme="dark"] .cos-btn:hover .cos-dot { box-shadow: inset 0 0 0 4px #00311B, inset 0 0 0 6px #FE7D1C, 0 0 0 6px rgba(254, 125, 28, 0.3), 0 0 22px rgba(254, 125, 28, 0.55); }
@media (max-width: 520px) {
  html[data-theme="dark"] .cos-step { background: #1D241F; border-color: rgba(255, 255, 255, 0.14); }
}

/* ---------- glossary tooltips (css/gwc-glossary.css) ---------- */
html[data-theme="dark"] .gwc-gl__tip { background: #0E3A25; color: #FAF7F0; box-shadow: 0 0 0 1px rgba(169, 210, 184, 0.55), 0 10px 28px rgba(0, 0, 0, 0.65); }
html[data-theme="dark"] .gwc-gl__tip::after { border-top-color: #0E3A25; }
html[data-theme="dark"] .gwc-gl.is-below .gwc-gl__tip::after { border-top-color: transparent; border-bottom-color: #0E3A25; }
html[data-theme="dark"] .gwc-gl__term:focus-visible { outline-color: #FE7D1C; }

/* ---------- private carbon buyer brief (/carbon-credits/buyers) ---------- */
html[data-theme="dark"] .bp-top { background: var(--paper); border-bottom-color: var(--ash); }
html[data-theme="dark"] .bp-top img { background: #FAF7F1; border-radius: 10px; padding: 2px 8px; }
html[data-theme="dark"] .bp-eyebrow { color: #B5C48A; }
html[data-theme="dark"] .bp-hero .bp-eyebrow { color: #C9B98F; }
html[data-theme="dark"] .bp-sec h2, html[data-theme="dark"] .bp-card h3 { color: var(--pine-deep); }
html[data-theme="dark"] .bp-table th { background: #222A24; color: #D5E8DB; }
html[data-theme="dark"] .bp-pending { background: #33261B; color: #F7C9AE; border-color: #E8895C; }
html[data-theme="dark"] .bp-avail { color: #A9D2B8; }
html[data-theme="dark"] .bp-foot { color: #B9B4A8; }
html[data-theme="dark"] .bp-tag { color: #B9B4A8; }
html[data-theme="dark"] .bp-contact .bp-pending { background: #fff !important; color: #8A3D1B; border-color: #B45A32; }

/* dark feature cards (inline carbon background) keep legible headings and labels */
html[data-theme="dark"] .card[style*="background: var(--carbon)"] h3 { color: #F4EFE7; }
html[data-theme="dark"] .card[style*="background: var(--carbon)"] .section-label { color: #F0A07A !important; }

/* keep the header call-to-action on one line now that the toggle shares the row */
.site-header .nav .nav-cta { white-space: nowrap; flex-shrink: 0; }
