:root[data-theme="sombre"] {
  color-scheme: dark;
  --s-background: #111612;
  --s-forest: #101611;
  --s-paper: #1c251e;
  --s-cream: #171e18;
  --s-ink: #f3f5ee;
  --s-text: #bcc7bc;
  --s-moss: #b0cfa2;
  --s-lime: #b0cfa2;
  --s-line: #344339;
  --s-control-line: #697e6d;
  --s-action-ink: #142018;
  --s-action-hover: #c8e0bc;
  --s-hero-background: radial-gradient(ellipse at 77% 0%, #283b2b 0%, transparent 67%), var(--s-cream);
  --s-action-background: linear-gradient(115deg, #bed8ae, #a3c794);
  --gray: var(--s-text);
  --gray-dark: var(--s-text);
  --gray-light: var(--s-cream);
  --green-cta: var(--s-lime);
  --green-dark: #365542;
}

[data-theme="sombre"] body { background: var(--s-background); }
[data-theme="sombre"] :focus-visible { outline-color: var(--s-action-hover); }
[data-theme="sombre"] .s-skip { background: var(--s-lime); color: var(--s-action-ink); }

[data-theme="sombre"] .s-top { background: #0d120e; color: var(--s-text); }
[data-theme="sombre"] .s-header { background: #141a15; }
[data-theme="sombre"] .s-dropdown > div { box-shadow: 0 12px 28px #080c08a3; }
[data-theme="sombre"] .s-dropdown a:hover { background: #26332a; }

[data-theme="sombre"] :is(.s-button--green, .s-button--lime, .btn--primary) {
  background: var(--s-action-background);
  color: var(--s-action-ink);
}
[data-theme="sombre"] :is(.s-button--green, .s-button--lime, .btn--primary):hover {
  background: var(--s-action-hover);
}
[data-theme="sombre"] :is(.s-button--outline, .s-header .s-account, .s-menu-toggle) {
  border-color: var(--s-control-line);
  color: var(--s-ink);
}
[data-theme="sombre"] :is(.s-button--outline, .s-header .s-account, .s-menu-toggle):hover {
  background: #28382d;
  border-color: var(--s-moss);
}
[data-theme="sombre"] .s-button--outline { background: #10161140; }
[data-theme="sombre"] main .s-text-link,
[data-theme="sombre"] main :is(.article-body, .s-faq) a:not(.btn) { color: var(--s-moss); }

[data-theme="sombre"] :is(.s-hero, .s-intro, .subpage-hero, .article-hero, .blog-hero) {
  background: var(--s-hero-background);
}
[data-theme="sombre"] :is(.s-hero__photo, .s-detail-hero img) {
  box-shadow: 0 20px 48px #080e0a55;
  outline: 1px solid #c5d3c130;
  outline-offset: -1px;
}
[data-theme="sombre"] .s-hero__photo figcaption {
  background: #142019f5;
  border: 1px solid #a5bf9a76;
  color: var(--s-ink);
}
[data-theme="sombre"] .s-hero__photo figcaption strong { color: var(--s-lime); }
[data-theme="sombre"] .s-kicker span { background: var(--s-lime); }
[data-theme="sombre"] .s-benefits {
  background: #18231b;
  border-color: var(--s-line);
}
[data-theme="sombre"] .s-benefits li + li { border-color: var(--s-line); }
[data-theme="sombre"] .s-benefit-mark { background: #26372b; color: var(--s-lime); }
[data-theme="sombre"] :is(.s-product, .s-info-grid li, .s-steps li, .s-trades a) { background: var(--s-paper); }
[data-theme="sombre"] .s-product:hover > span,
[data-theme="sombre"] :is(.s-steps .s-step-number, .s-signup__number) { color: var(--s-action-ink); }
[data-theme="sombre"] .s-forest {
  background: linear-gradient(120deg, #1b2b20, #172019 75%);
  color: var(--s-ink);
}
[data-theme="sombre"] .s-forest .s-lead { color: var(--s-text); }
[data-theme="sombre"] .s-trust { background: var(--s-background); }
[data-theme="sombre"] .s-logos {
  border: 0;
  gap: clamp(4px, 1vw, 12px);
}
[data-theme="sombre"] .s-logos li {
  background: #ecf0e8;
  border: 0;
  border-radius: 8px;
}
[data-theme="sombre"] .s-faq details { border-color: var(--s-line); }
[data-theme="sombre"] .s-cta-band {
  background: linear-gradient(105deg, #25382a, #1a281e);
  border-block: 1px solid var(--s-line);
}
[data-theme="sombre"] .s-cta-band p { color: var(--s-text); }
[data-theme="sombre"] .s-footer { border-top: 1px solid var(--s-line); }
[data-theme="sombre"] .s-footer p,
[data-theme="sombre"] .s-footer__grid a:not(:first-child),
[data-theme="sombre"] .s-footer__legal { color: var(--s-text); }
[data-theme="sombre"] .s-footer__legal { border-color: var(--s-line); }

[data-theme="sombre"] .s-form :where(input, select, textarea) {
  background: var(--s-background);
  border-color: var(--s-control-line);
}
[data-theme="sombre"] .s-page .s-form__feedback { background: #253d2d; color: #d3e8c9; }
[data-theme="sombre"] .s-page .s-form__feedback[data-error] { background: #442b28; color: #ffded7; }

[data-theme="sombre"] .s-coverage { background: #151e17; }
[data-theme="sombre"] .s-coverage__address { border-color: var(--s-line); }
[data-theme="sombre"] .s-map-card { background: #19231c; }
[data-theme="sombre"] .s-implantations {
  --s-depot-centre: #b0cfa2;
  --s-depot-symbol: #142018;
  --s-depot-border: var(--s-control-line);
}
[data-theme="sombre"] :is(.s-map, .s-map-land) > path {
  fill: #2c392f;
  stroke: #48574b;
}
[data-theme="sombre"] .s-map-region > :is(path, .s-map-border) { stroke: #1b291f; }
[data-theme="sombre"] .s-map-region--merged > path:not(.s-map-border) { stroke: var(--sector); }
[data-theme="sombre"] .s-map-region > text { fill: #fcf9ed; }
[data-theme="sombre"] .s-map-region.is-muted { opacity: 1; }
[data-theme="sombre"] .s-map-region.is-muted > path { opacity: .4; }
[data-theme="sombre"] .s-map-fleet use { filter: drop-shadow(0 0 1px #f9eac2a0); }
[data-theme="sombre"] [data-sector="sud-ouest"] { --sector: #506534; }
[data-theme="sombre"] [data-sector="vallee-du-rhone"] { --sector: #3e6250; }
[data-theme="sombre"] [data-sector="occitanie"] { --sector: #7f5345; }
[data-theme="sombre"] [data-sector="provence-cotes-azur"] { --sector: #79602f; }
[data-theme="sombre"] [data-sector="savoie"] { --sector: #365e6d; }
[data-theme="sombre"] [data-sector="alpes"] { --sector: #655477; }
[data-theme="sombre"] .s-map-legend button { border-color: var(--s-control-line); }
[data-theme="sombre"] .s-map-legend button::before { border-color: #f3f5ee66; }
[data-theme="sombre"] .s-map-legend button:hover { border-color: var(--s-lime); }
[data-theme="sombre"] .s-map-legend button[aria-pressed="true"] {
  background: var(--s-lime);
  border-color: var(--s-lime);
  color: var(--s-action-ink);
}
