/* SINOTECH — F5 : navigation, thème public et localisation.
   Uniquement chargé dans les 20 pages publiques. Aucun style de l'Admin n'est modifié. */
:root {
  color-scheme: light;
  --f5-nav-hover: #ffe3cb;
  --f5-nav-ink: #7c360f;
  --f5-nav-line: #b9541c;
  --f5-control-bg: #fff;
  --f5-control-line: #d4e0eb;
  --f5-focus: #bc4d12;
}
.theme-toggle {
  flex: 0 0 42px; inline-size: 42px; block-size: 44px;
  display: inline-grid; place-items: center; padding: 0;
  border: 1px solid var(--f5-control-line); border-radius: 10px;
  background: var(--f5-control-bg); color: #153957;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.theme-toggle__sun { display: none; }
:root[data-public-theme="dark"] .theme-toggle__sun { display: block; }
:root[data-public-theme="dark"] .theme-toggle__moon { display: none; }
.theme-toggle:hover, .theme-toggle:focus-visible {
  background: var(--f5-nav-hover); color: var(--f5-nav-ink); border-color: var(--f5-nav-line);
  box-shadow: 0 3px 12px rgb(55 31 12 / 10%);
}
.nav-link, .nav-disclosure {
  padding: 10px 8px; border-radius: 8px;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.nav-link:hover, .nav-disclosure:hover,
.nav-link:focus-visible, .nav-disclosure:focus-visible,
.nav-disclosure[aria-expanded="true"] {
  background: var(--f5-nav-hover); color: var(--f5-nav-ink);
  box-shadow: inset 0 -3px 0 var(--f5-nav-line);
}
.nav-link[aria-current="page"]::after { inset-inline: 8px; bottom: 0; }
.dropdown { inset-block-start: calc(100% + 7px); }
.dropdown::before { top: -9px; height: 10px; }
.dropdown__link { transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.dropdown__link:hover, .dropdown__link:focus-visible {
  color: var(--f5-nav-ink); background: var(--f5-nav-hover);
  box-shadow: inset 4px 0 0 var(--f5-nav-line);
}
.dropdown__link[aria-current="page"] { font-weight: 800; }
html[dir="rtl"] .dropdown__link:hover,
html[dir="rtl"] .dropdown__link:focus-visible { box-shadow: inset -4px 0 0 var(--f5-nav-line); }
/* RTL : centrer le panneau sous le bouton sans double translation. */
html[dir="rtl"] .dropdown { left: auto; right: 50%; transform: translateX(50%); }
.language-selector__toggle, .language-selector__option, .menu-toggle {
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.language-selector__toggle:hover, .language-selector__toggle[aria-expanded="true"],
.language-selector__option:hover, .language-selector__option:focus-visible,
.menu-toggle:hover, .menu-toggle:focus-visible {
  background: var(--f5-nav-hover); color: var(--f5-nav-ink); border-color: var(--f5-nav-line);
}
.site-header__actions > .btn--primary:hover,
.site-header__actions > .btn--primary:focus-visible {
  background: #ac4615; color: #fff; box-shadow: 0 6px 16px rgb(136 57 21 / 22%);
}
:where(.nav-link, .nav-disclosure, .dropdown__link, .language-selector__toggle,
.language-selector__option, .theme-toggle, .menu-toggle, .map-directions):focus-visible {
  outline: 3px solid var(--f5-focus); outline-offset: 3px;
}
@media (min-width: 1241px) {
  .site-header__inner.container { width: min(1440px, calc(100% - 40px)); gap: clamp(10px, 1.2vw, 22px); }
  .main-nav__list { gap: clamp(0px, .4vw, 8px); }
  .header-brand__logo { max-width: 220px; height: 60px; }
  .site-header__actions { gap: 8px; }
  .site-header__actions > .btn { white-space: nowrap; }
  html[lang="es"] .main-nav__list { gap: 1px; }
  html[lang="es"] .nav-link, html[lang="es"] .nav-disclosure { padding-inline: 5px; }
}
@media (min-width: 1241px) and (max-width: 1480px) {
  .header-brand__logo { max-width: 180px; height: 51px; }
  .nav-link, .nav-disclosure { font-size: .79rem; padding-inline: 6px; }
  .site-header__actions { gap: 6px; }
  .site-header__actions > .btn { padding-inline: 12px; font-size: .79rem; }
  .language-selector__toggle { padding-inline: 10px; font-size: .8rem; }
  html[lang="es"] .nav-link, html[lang="es"] .nav-disclosure { font-size: .76rem; }
  html[lang="es"] .site-header__actions > .btn { padding-inline: 11px; font-size: .76rem; }
}
@media (max-width: 1240px) {
  .nav-link, .nav-disclosure { padding: 13px 12px; min-height: 46px; border-radius: 8px; }
  .main-nav__list { gap: 4px; }
  .dropdown { inset: auto; }
  html[dir="rtl"] .dropdown { right: auto; left: auto; transform: none; }
  .dropdown__link { min-height: 44px; }
  .nav-link[aria-current="page"]::after { inset-inline-start: 12px; inset-inline-end: auto; }
}
@media (max-width: 720px) {
  .site-header__inner.container { width: calc(100% - 24px); }
  .header-brand__logo { height: auto; width: clamp(118px, 27vw, 172px); max-width: 172px; }
  .theme-toggle { flex-basis: 42px; inline-size: 42px; block-size: 43px; }
  .site-header__actions { gap: 6px; }
}
@media (max-width: 380px) {
  .site-header__inner.container { width: calc(100% - 16px); gap: 4px; }
  .header-brand__logo { width: 110px; }
  .language-selector__toggle { max-width: 91px; padding-inline: 7px; }
  .site-header__actions { gap: 4px; }
  .menu-toggle { width: 41px; }
  .theme-toggle { inline-size: 40px; flex-basis: 40px; }
}
/* Retour en haut : cible plus grande, contrastée ; les trois contacts restent à droite. */
.back-to-top {
  width: 56px; height: 56px; left: 22px; bottom: 24px;
  border: 2px solid #fff; border-radius: 16px;
  background: #b74b16; color: #fff;
  box-shadow: 0 7px 24px rgb(50 25 11 / 30%);
}
.back-to-top svg { width: 27px; height: 27px; }
.back-to-top:hover, .back-to-top:focus-visible {
  background: #123b58; color: #fff; border-color: #fff;
  transform: translateY(-3px); box-shadow: 0 10px 30px rgb(7 27 50 / 34%);
}
@media (max-width: 720px) { .back-to-top { left: 13px; bottom: 18px; width: 52px; height: 52px; } }
/* Itinéraire séparé de l'iframe : toujours disponible, même si Google refuse l'intégration. */
.location-map { display: flex; flex-direction: column; }
.location-map__frame { flex: 1 1 auto; min-height: 0; position: relative; }
.location-map__frame iframe { position: absolute; inset: 0; }
.location-map__bar {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 14px; background: #fff; border-top: 1px solid #dce7ef;
}
.location-map__name { font-weight: 800; color: #133c5b; font-size: .85rem; }
.location-map__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.map-directions { min-height: 44px; padding: 9px 14px; border-color: #1b5f8a; background: #165e8a; color: #fff; font-size: .84rem; }
.map-directions:hover, .map-directions:focus-visible { background: #a74718; border-color: #a74718; color: #fff; }
.map-directions svg { flex: none; }
.contact-map-large.location-map { min-height: 620px; }
.contact-map-large.location-map .location-map__frame { min-height: 540px; }
.contact-map-large.location-map iframe { width: 100%; height: 100%; min-height: 0; }
body.home-boss .boss-contact__map.location-map { height: 350px; }
body.home-boss .boss-contact__info, body.home-boss .boss-contact__picture { height: 350px; }
@media (max-width: 1000px) {
  .contact-map-large.location-map { min-height: 470px; }
  .contact-map-large.location-map .location-map__frame { min-height: 390px; }
}
@media (max-width: 700px) {
  body.home-boss .boss-contact__map.location-map { height: 350px; }
  body.home-boss .boss-contact__info { height: auto; }
  body.home-boss .boss-contact__picture { height: 215px; }
}
@media (max-width: 650px) {
  .contact-map-large.location-map { min-height: 370px; }
  .contact-map-large.location-map .location-map__frame { min-height: 290px; }
}
/* Thème charbon : mêmes contenus, mêmes images, aucun filtre d'inversion. */
:root[data-public-theme="dark"] {
  color-scheme: dark;
  --color-paper: #101923;
  --color-bg: #131f2b;
  --color-ink: #e1eaf2;
  --color-navy: #f1f6fb;
  --color-navy-deep: #09121d;
  --color-muted: #b5c4d3;
  --color-line: #344657;
  --color-blue: #94cef1;
  --color-blue-soft: #203548;
  --color-accent: #ffa86d;
  --color-accent-hover: #ffc69a;
  --shadow-light: 0 12px 34px rgb(0 0 0 / 23%);
  --f5-nav-hover: #55321f;
  --f5-nav-ink: #ffe3cb;
  --f5-nav-line: #f4a463;
  --f5-control-bg: #1a2837;
  --f5-control-line: #43586b;
  --f5-focus: #ffc18f;
}

/* Couleurs sombres : base.css */
:root[data-public-theme="dark"] ::selection { background: #352b24; }
:root[data-public-theme="dark"] .dev-preview { background: radial-gradient(ellipse at 84% 20%, #14212e 0%, transparent 39%), linear-gradient(160deg, #182632 0%, #14212e 100%); }

/* Couleurs sombres : layout.css */
:root[data-public-theme="dark"] #site-header { background: #182632; }
:root[data-public-theme="dark"] .site-header { background: #182632; }
:root[data-public-theme="dark"] .site-footer__contact dt { color: #a0d4f2; }
:root[data-public-theme="dark"] .site-footer__bottom { color: #b8c8d6; }

/* Couleurs sombres : components.css */
:root[data-public-theme="dark"] .nav-link,
:root[data-public-theme="dark"] .nav-disclosure { color: #b8c8d6; }
:root[data-public-theme="dark"] .dropdown { background: #182632; }
:root[data-public-theme="dark"] .btn--secondary { background: #182632; }
:root[data-public-theme="dark"] .language-selector__menu { background: #182632; }
:root[data-public-theme="dark"] .language-selector__option { background: #182632; }
:root[data-public-theme="dark"] .language-selector__option--future { color: #a0d4f2; }
:root[data-public-theme="dark"] .language-selector__soon { color: #b8c8d6; }
:root[data-public-theme="dark"] .language-selector__hint { color: #b8c8d6; }
:root[data-public-theme="dark"] .menu-toggle { background: #182632; }
:root[data-public-theme="dark"] .floating-contact__link--email { background: #205e83; }
:root[data-public-theme="dark"] .ui-toast { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .form-status[data-status="success"] { background: #173c30; color: #a3e2bf; border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .form-status[data-status="error"] { background: #3c2329; color: #ffb5a8; border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .form-status[data-status="info"] { color: #a0d4f2; border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .back-to-top { background: #183d58; }

/* Couleurs sombres : contact-settings.css */


/* Couleurs sombres : application.css */
:root[data-public-theme="dark"] .application-eyebrow { color: #ffb784; }
:root[data-public-theme="dark"] .application-hero h1 em { color: #ffb784; }
:root[data-public-theme="dark"] .application-hero__tag { background: #182632; color: #b8c8d6; }
:root[data-public-theme="dark"] .application-hero__tag span { color: #ffb784; }
:root[data-public-theme="dark"] .application-section { background: #14212e; }
:root[data-public-theme="dark"] .application-intro h2 { color: #eff5fa; }
:root[data-public-theme="dark"] .application-intro > p:not(.application-eyebrow) { color: #a0d4f2; }
:root[data-public-theme="dark"] .application-tip { background: #14212e; }
:root[data-public-theme="dark"] .application-tip strong { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-tip p { color: #a0d4f2; }
:root[data-public-theme="dark"] .application-panel { background: #182632; border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .application-step { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-step__number { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .application-step.is-current,
:root[data-public-theme="dark"] .application-step.is-complete { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-step.is-complete .application-step__number { background: #173c30; color: #a3e2bf; border-color: #3d5062; }
:root[data-public-theme="dark"] .application-progress { background: #14212e; }
:root[data-public-theme="dark"] .application-step-heading { color: #eff5fa; }
:root[data-public-theme="dark"] .application-step-description { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-field label { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-field label [aria-hidden="true"] { color: #ffb784; }
:root[data-public-theme="dark"] .application-optional { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-field input,
:root[data-public-theme="dark"] .application-field select,
:root[data-public-theme="dark"] .application-field textarea { background: #182632; border: 1px solid #3d5062; color: #b8c8d6; }
:root[data-public-theme="dark"] .application-field input:focus,
:root[data-public-theme="dark"] .application-field select:focus,
:root[data-public-theme="dark"] .application-field textarea:focus { border-color: #3d5062; background: #182632; }
:root[data-public-theme="dark"] .application-field-help { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-form-actions { border-top: 1px solid #3d5062; }
:root[data-public-theme="dark"] .application-back { color: #a0d4f2; }
:root[data-public-theme="dark"] .application-upload { border: 2px dashed #3d5062; background: #182632; }
:root[data-public-theme="dark"] .application-upload:hover,
:root[data-public-theme="dark"] .application-upload:focus-within { background: #14212e; border-color: #3d5062; }
:root[data-public-theme="dark"] .application-upload__icon { background: #14212e; color: #a0d4f2; }
:root[data-public-theme="dark"] .application-upload strong { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-upload > span:not(.application-upload__icon):not(.application-upload__selected) { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-upload__selected { color: #a0d4f2; }
:root[data-public-theme="dark"] .application-upload__selected.is-selected { color: #a3e2bf; }
:root[data-public-theme="dark"] .application-consent { color: #a0d4f2; }
:root[data-public-theme="dark"] .application-privacy { color: #b8c8d6; }
:root[data-public-theme="dark"] .application-status[data-status="error"] { background: #3c2329; color: #ffb784; border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .application-status[data-status="success"] { background: #173c30; color: #a3e2bf; border: 1px solid #3d5062; }

/* Couleurs sombres : contact.css */
:root[data-public-theme="dark"] .contact-section--soft { background: #14212e; border-top: 1px solid #3d5062; }
:root[data-public-theme="dark"] .contact-map-large { background: #14212e; }
:root[data-public-theme="dark"] .contact-form { background: #182632; }
:root[data-public-theme="dark"] .contact-form input,
:root[data-public-theme="dark"] .contact-form textarea { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] .contact-form__footer p { color: #b8c8d6; }

/* Couleurs sombres : expertise.css */
:root[data-public-theme="dark"] .expertise-kicker { color: #a0d4f2; }
:root[data-public-theme="dark"] .expertise-kicker--light { color: #b8c8d6; }
:root[data-public-theme="dark"] .expertise-hero { background: linear-gradient(145deg, #182632 0%, #182632 58%, color-mix(in srgb, var(--expertise-accent) 8%, #182632)); }
:root[data-public-theme="dark"] .expertise-breadcrumb { color: #b8c8d6; }
:root[data-public-theme="dark"] .expertise-breadcrumb a:hover { color: #a0d4f2; }
:root[data-public-theme="dark"] .expertise-btn--soft { background: #182632; }
:root[data-public-theme="dark"] .expertise-btn--soft:hover { background: #14212e; }
:root[data-public-theme="dark"] .expertise-hero__code { background: rgb(24 38 50 / 94%); color: #a0d4f2; }
:root[data-public-theme="dark"] .expertise-services { background: #182632; }
:root[data-public-theme="dark"] .expertise-service { background: #182632; }
:root[data-public-theme="dark"] .expertise-strengths { background: #14212e; border-block: 1px solid #3d5062; }
:root[data-public-theme="dark"] .expertise-strengths__list span { color: #a0d4f2; }
:root[data-public-theme="dark"] .expertise-projects { background: #182632; }
:root[data-public-theme="dark"] .expertise-projects .project-card { background: #182632; }

/* Couleurs sombres : home-boss.css */
:root[data-public-theme="dark"] body.home-boss { color: #eff5fa; background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-eyebrow--light { color: #b8c8d6; }
:root[data-public-theme="dark"] body.home-boss .boss-about { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-section-kicker { color: #ffb784; }
:root[data-public-theme="dark"] body.home-boss .boss-about h2 { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-about p { color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-about__footnote { color: #a0d4f2 !important; }
:root[data-public-theme="dark"] body.home-boss .boss-outline-link { border: 1px solid #3d5062; background: #182632; color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-outline-link:hover { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-about__facts { border: 1px solid #3d5062; background: rgb(24 38 50 / 95%); }
:root[data-public-theme="dark"] body.home-boss .boss-about__facts > div + div { border-left: 1px solid #3d5062; }
:root[data-public-theme="dark"] body.home-boss .boss-about__facts strong { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-about__facts span { color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-section-head h2 { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-heading-link { color: #ffb784; }
:root[data-public-theme="dark"] body.home-boss .boss-expertises { background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-expertise { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-expertise__photo { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-expertise__icon { color: #ffb784; }
:root[data-public-theme="dark"] body.home-boss .boss-expertise strong { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-projects { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-project { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-project__arrow { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] body.home-boss .boss-no-projects { color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-why { background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-why article { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-why article > svg { color: #ffb784; }
:root[data-public-theme="dark"] body.home-boss .boss-why p { color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-sectors { background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-sector { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-sector__cover span { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] body.home-boss .boss-contact { background: #14212e; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__map,
:root[data-public-theme="dark"] body.home-boss .boss-contact__info,
:root[data-public-theme="dark"] body.home-boss .boss-contact__picture { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__info h3 { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__info dl > div svg { color: #ffb784; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__info dt { color: #eff5fa; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__info dd { color: #a0d4f2; }
:root[data-public-theme="dark"] body.home-boss .boss-contact__cta { color: #ffb784; }
@media (max-width: 380px) {
:root[data-public-theme="dark"] body.home-boss .boss-about__facts > div + div { border-top: 1px solid #3d5062; }
}

/* Couleurs sombres : home.css */
:root[data-public-theme="dark"] .section-soft { background: #14212e; }
:root[data-public-theme="dark"] .eyebrow--light { color: #ffb784; }
:root[data-public-theme="dark"] .home-hero__visual-note span { color: #ffb784; }
:root[data-public-theme="dark"] .home-about__badge { background: #182632; }
:root[data-public-theme="dark"] .expertise-card { background: #182632; }
:root[data-public-theme="dark"] .expertise-card__code { background: rgb(24 38 50 / 92%); }
:root[data-public-theme="dark"] .project-card { background: #182632; }
:root[data-public-theme="dark"] .home-empty { background: linear-gradient(135deg, #182632, #14212e); }
:root[data-public-theme="dark"] .why-grid span { color: #ffb784; }
:root[data-public-theme="dark"] .reference-logo { background: #182632; color: #b8c8d6; }
:root[data-public-theme="dark"] .contact-map { background: #14212e; }
:root[data-public-theme="dark"] .contact-card { background: #183d58; }
:root[data-public-theme="dark"] .contact-card__kicker { color: #ffb784; }
:root[data-public-theme="dark"] .contact-card dt { color: #b8c8d6; }
:root[data-public-theme="dark"] .project-card__media--placeholder { background: linear-gradient(145deg, #14212e, #263b4c 58%, #567b96); }
:root[data-public-theme="dark"] .project-card__media--placeholder span { background: rgb(24 38 50 / 88%); }
:root[data-public-theme="dark"] .reference-logo--placeholder { background: linear-gradient(145deg, #182632, #14212e); color: #b8c8d6; }
:root[data-public-theme="dark"] .reference-logo__fallback { color: #b8c8d6; }

/* Couleurs sombres : institutional-content.css */
:root[data-public-theme="dark"] .institutional-status { background: #182632; }
:root[data-public-theme="dark"] .institutional-status__spinner { border: 3px solid #3d5062; }
:root[data-public-theme="dark"] .institutional-news-card { background: #182632; }
:root[data-public-theme="dark"] .institutional-news-card__cover { background: #14212e; }
:root[data-public-theme="dark"] .institutional-article__header { background: linear-gradient(150deg, #14212e, #182632 75%); }
:root[data-public-theme="dark"] .institutional-article__summary { color: #a0d4f2; }
:root[data-public-theme="dark"] .institutional-article__cover { background: #14212e; }
:root[data-public-theme="dark"] .institutional-article__content { color: #a0d4f2; }

/* Couleurs sombres : institutional.css */
:root[data-public-theme="dark"] .institutional-kicker--light { color: #b8c8d6; }
:root[data-public-theme="dark"] .institutional-section--soft { background: #14212e; border-block: 1px solid #3d5062; }
:root[data-public-theme="dark"] .institutional-breadcrumb { color: #b8c8d6; }
:root[data-public-theme="dark"] .institutional-hero { background: linear-gradient(150deg, #14212e, #182632 62%, #14212e); }
:root[data-public-theme="dark"] .institutional-hero__media span,
:root[data-public-theme="dark"] .institutional-team__media span { background: rgb(24 38 50 / 91%); }
:root[data-public-theme="dark"] .institutional-values article { background: #182632; }
:root[data-public-theme="dark"] .reference-card { background: #182632; }
:root[data-public-theme="dark"] .reference-card__logo { background: #182632; }
:root[data-public-theme="dark"] .reference-card__fallback { color: #b8c8d6; }

/* Couleurs sombres : projects.css */
:root[data-public-theme="dark"] .projects-list { background: #182632; }
:root[data-public-theme="dark"] .projects-page-grid .project-card { background: #182632; }
:root[data-public-theme="dark"] .projects-grid--placeholders .project-card__media--placeholder { background: linear-gradient(145deg, #14212e, #263b4c 58%, #263b4c); }
:root[data-public-theme="dark"] .projects-grid--placeholders .project-card__media--placeholder span { background: rgb(24 38 50 / 90%); }
:root[data-public-theme="dark"] .projects-details { background: #182632; }
:root[data-public-theme="dark"] .project-detail__close { background: #182632; }
:root[data-public-theme="dark"] .project-detail__tags span { background: #182632; }
:root[data-public-theme="dark"] .project-detail__figure { background: #14212e; }
:root[data-public-theme="dark"] .project-detail__figure figcaption { background: #182632; }
:root[data-public-theme="dark"] .project-detail__photo-placeholder { color: #a0d4f2; background: linear-gradient(145deg, #14212e, #263b4c); }
:root[data-public-theme="dark"] .project-page__hero { background: linear-gradient(145deg, #14212e, #182632 58%, #14212e); }
:root[data-public-theme="dark"] .project-page__breadcrumb { color: #b8c8d6; }
:root[data-public-theme="dark"] .project-page__meta span { background: #182632; }
:root[data-public-theme="dark"] .project-page__cover > span { background: rgb(24 38 50 / 92%); }
:root[data-public-theme="dark"] .project-page__sections { background: #14212e; border-block: 1px solid #3d5062; }
:root[data-public-theme="dark"] .project-page__text-block { background: #182632; }
:root[data-public-theme="dark"] .project-page__figure { background: #14212e; }
:root[data-public-theme="dark"] .project-page__figure img { background: #14212e; }
:root[data-public-theme="dark"] .project-page__figure figcaption { background: #182632; }
:root[data-public-theme="dark"] .project-page__expertises span { background: #182632; }
:root[data-public-theme="dark"] .project-page__related { background: #182632; }
:root[data-public-theme="dark"] .project-page__empty { background: linear-gradient(145deg, #14212e, #182632); }
:root[data-public-theme="dark"] .project-page__cover--portrait { background-color: #14212e; }
:root[data-public-theme="dark"] .project-page__figure--portrait img { background: #14212e; }

/* Couleurs sombres : shop.css */
:root[data-public-theme="dark"] .shop-hero { background: radial-gradient(circle at 86% 18%, #14212e 0, transparent 33%), linear-gradient(145deg, #182632 0%, #14212e 100%); }
:root[data-public-theme="dark"] .shop-hero__note p { color: #a0d4f2; }
:root[data-public-theme="dark"] .shop-catalog { background: #182632; }
:root[data-public-theme="dark"] .shop-search input { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] .shop-filter { background: #182632; color: #a0d4f2; }
:root[data-public-theme="dark"] .shop-filter:hover,
:root[data-public-theme="dark"] .shop-filter.is-active { background: #205e83; }
:root[data-public-theme="dark"] .shop-results { color: #b8c8d6; }
:root[data-public-theme="dark"] .product-card { background: #182632; }
:root[data-public-theme="dark"] .product-card:hover { border-color: #3d5062; }
:root[data-public-theme="dark"] .product-card__media { background: #14212e; }
:root[data-public-theme="dark"] .product-media-placeholder { background: linear-gradient(145deg, #14212e, #14212e); color: #b8c8d6; }
:root[data-public-theme="dark"] .product-media-placeholder span { border: 1px dashed #3d5062; }
:root[data-public-theme="dark"] .shop-empty { border: 1px dashed #3d5062; background: #182632; }
:root[data-public-theme="dark"] .shop-steps article { background: #182632; }
:root[data-public-theme="dark"] .request-shortcut { background: #183d58; }
:root[data-public-theme="dark"] .product-breadcrumb { color: #b8c8d6; }
:root[data-public-theme="dark"] .product-gallery__stage { background: #14212e; }
:root[data-public-theme="dark"] .product-detail__image { background: #182632; }
:root[data-public-theme="dark"] .product-detail__placeholder { background: linear-gradient(145deg, #14212e, #14212e); color: #b8c8d6; }
:root[data-public-theme="dark"] .product-detail__placeholder span { border: 1px dashed #3d5062; }
:root[data-public-theme="dark"] .product-gallery__arrow { border: 1px solid #3d5062; background: rgb(24 38 50 / 92%); }
:root[data-public-theme="dark"] .product-gallery__thumb { background: #14212e; color: #b8c8d6; }
:root[data-public-theme="dark"] .product-detail__reference { color: #b8c8d6; }
:root[data-public-theme="dark"] .product-detail__status { color: #a0d4f2; }
:root[data-public-theme="dark"] .product-order-box { background: #182632; }
:root[data-public-theme="dark"] .quantity-control { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] .quantity-control button { background: #182632; }
:root[data-public-theme="dark"] .quantity-control input { border-inline: 1px solid #3d5062; }
:root[data-public-theme="dark"] .technical-sheet-link small { color: #a0d4f2; }
:root[data-public-theme="dark"] .product-specs dt { color: #b8c8d6; }
:root[data-public-theme="dark"] .request-dialog__close { background: #182632; }
:root[data-public-theme="dark"] .request-form-grid label,
:root[data-public-theme="dark"] .request-form-card label { color: #a0d4f2; }
:root[data-public-theme="dark"] .request-form-grid input,
:root[data-public-theme="dark"] .request-form-grid textarea,
:root[data-public-theme="dark"] .request-form-card input,
:root[data-public-theme="dark"] .request-form-card textarea { border: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] .request-dialog__notice { background: #352b24; color: #ffb784; }
:root[data-public-theme="dark"] .request-page { background: linear-gradient(180deg, #182632 0, #182632 300px); }
:root[data-public-theme="dark"] .request-item { background: #182632; }
:root[data-public-theme="dark"] .request-item__media { background: #14212e; color: #b8c8d6; }
:root[data-public-theme="dark"] .request-item__content button { color: #ffb5a8; }
:root[data-public-theme="dark"] .request-item__quantity { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .request-item__quantity button { background: #182632; }
:root[data-public-theme="dark"] .request-item__quantity input { border-inline: 1px solid #3d5062; }
:root[data-public-theme="dark"] .request-form-card { background: #182632; }
:root[data-public-theme="dark"] .request-form-card__notice { color: #a0d4f2; }
:root[data-public-theme="dark"] .request-empty { border: 1px dashed #3d5062; background: #182632; }
:root[data-public-theme="dark"] .product-gallery__thumb img { background: #182632; }
:root[data-public-theme="dark"] .product-gallery__position { color: #b8c8d6; }

/* Couleurs sombres : solutions.css */
:root[data-public-theme="dark"] .solutions-kicker--light { color: #b8c8d6; }
:root[data-public-theme="dark"] .solutions-hero { background: linear-gradient(145deg, #182632 0%, #182632 62%, #14212e 100%); }
:root[data-public-theme="dark"] .solutions-breadcrumb { color: #b8c8d6; }
:root[data-public-theme="dark"] .solutions-btn--soft { background: #182632; }
:root[data-public-theme="dark"] .solutions-btn--soft:hover { background: #14212e; }
:root[data-public-theme="dark"] .solutions-hero__visual { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .solutions-group { border-top: 1px solid #3d5062; background: #182632; }
:root[data-public-theme="dark"] .solutions-group:nth-of-type(odd) { background: #182632; }
:root[data-public-theme="dark"] .solutions-sector { background: #182632; }
:root[data-public-theme="dark"] .solutions-sector__highlights span { background: #14212e; color: #a0d4f2; }
:root[data-public-theme="dark"] .solutions-sector__details summary span { border: 1px solid #3d5062; }
:root[data-public-theme="dark"] .solutions-sector__details li { color: #a0d4f2; }

/* Couleurs sombres : responsive.css */

/* Harmonisation des surfaces et des actions, après les nuances par composant. */
:root[data-public-theme="dark"] body,
:root[data-public-theme="dark"] body.home-boss,
:root[data-public-theme="dark"] :is(.boss-expertises, .boss-why, .boss-sectors, .shop-catalog) { background: #101923; color: var(--color-ink); }
:root[data-public-theme="dark"] :is(#site-header, .site-header) { background: #111e2b; }
:root[data-public-theme="dark"] .site-header.is-scrolled { box-shadow: 0 10px 26px rgb(0 0 0 / 27%); }
:root[data-public-theme="dark"] :is(.site-header__brand, .footer-brand) { background: #fff; border-radius: 7px; }
:root[data-public-theme="dark"] :is(.nav-link, .nav-disclosure) { color: #dfebf5; }
:root[data-public-theme="dark"] .nav-link[aria-current="page"] { color: #ffc18f; }
:root[data-public-theme="dark"] :is(.nav-link:hover, .nav-disclosure:hover, .nav-link:focus-visible, .nav-disclosure:focus-visible, .nav-disclosure[aria-expanded="true"], .dropdown__link:hover, .dropdown__link:focus-visible, .language-selector__toggle:hover, .language-selector__toggle[aria-expanded="true"], .language-selector__option:hover, .language-selector__option:focus-visible, .menu-toggle:hover, .menu-toggle:focus-visible, .theme-toggle:hover, .theme-toggle:focus-visible) {
  background: var(--f5-nav-hover); color: var(--f5-nav-ink);
}
:root[data-public-theme="dark"] :is(.language-selector__toggle, .menu-toggle, .theme-toggle) { color: #dfebf5; border-color: #43586b; background: #1a2837; }
:root[data-public-theme="dark"] :is(.language-selector__toggle:hover, .language-selector__toggle[aria-expanded="true"], .menu-toggle:hover, .theme-toggle:hover) { color: var(--f5-nav-ink); background: var(--f5-nav-hover); }
:root[data-public-theme="dark"] .btn--primary { background: #f09a5d; color: #21170e; border-color: #f09a5d; box-shadow: 0 7px 18px rgb(0 0 0 / 18%); }
:root[data-public-theme="dark"] .btn--primary:hover,
:root[data-public-theme="dark"] .btn--primary:focus-visible { background: #ffc08c; color: #21170e; border-color: #ffc08c; }
:root[data-public-theme="dark"] .btn--secondary { background: #21354a; color: #d5eaff; border-color: #49647c; }
:root[data-public-theme="dark"] .btn--secondary:hover { background: #314d67; }
:root[data-public-theme="dark"] :is(input, select, textarea) { color: #e7eff8; background-color: #101d2a; border-color: #43586b; caret-color: #ffc18f; }
:root[data-public-theme="dark"] :is(input, textarea)::placeholder { color: #a8bbcc; opacity: 1; }
:root[data-public-theme="dark"] :is(input, select, textarea):focus { border-color: #86c9f4; }
:root[data-public-theme="dark"] input:-webkit-autofill { -webkit-text-fill-color: #e7eff8; box-shadow: 0 0 0 1000px #1d3044 inset; }
:root[data-public-theme="dark"] .request-dialog { background: #182632; color: #e1eaf2; }
:root[data-public-theme="dark"] .request-dialog::backdrop { background: rgb(0 0 0 / 72%); }
:root[data-public-theme="dark"] :is(.request-dialog__close, .product-gallery__arrow) { color: #f4f8fc; background: #233b50; border-color: #597084; }
:root[data-public-theme="dark"] :is(.project-filter.is-active, .project-filter:hover, .shop-filter.is-active, .shop-filter:hover) { color: #fff; background: #225d82; border-color: #8bc7eb; }
:root[data-public-theme="dark"] .floating-contact__link--email { background: #176192; color: #fff; }
:root[data-public-theme="dark"] .request-shortcut { background: #203f59; color: #fff; border: 1px solid #6b8397; }
:root[data-public-theme="dark"] .request-shortcut strong { background: #f09a5d; color: #21170e; }
:root[data-public-theme="dark"] .back-to-top { background: #ed9458; color: #20170e; border-color: #ffe0c3; box-shadow: 0 8px 30px rgb(0 0 0 / 40%); }
:root[data-public-theme="dark"] .back-to-top:hover,
:root[data-public-theme="dark"] .back-to-top:focus-visible { background: #f8d6b4; color: #142b3d; border-color: #fff; }
:root[data-public-theme="dark"] .location-map__bar { background: #182632; border-color: #344657; }
:root[data-public-theme="dark"] .location-map__name { color: #e1edf8; }
:root[data-public-theme="dark"] .map-directions { background: #225f86; color: #fff; border-color: #5f9bc1; }
:root[data-public-theme="dark"] .map-directions:hover { background: #f0a366; color: #21170e; border-color: #f0a366; }
/* Photos et logos : leurs pixels ne sont ni inversés ni recolorés. */
:root[data-public-theme="dark"] .reference-card__logo { background: #f2f4f5; }
:root[data-public-theme="dark"] .reference-card__fallback { color: #29435b; }
:root[data-public-theme="dark"] .product-detail__image { background: #f4f5f6; }
:root[data-public-theme="dark"] .form-status[data-status="success"] { background: #19392c; border-color: #438260; color: #b9f2cf; }
:root[data-public-theme="dark"] .form-status[data-status="error"] { background: #3c2429; border-color: #9a5558; color: #ffd0c7; }
:root[data-public-theme="dark"] .form-status[data-status="info"] { background: #1b3349; border-color: #4d7698; color: #cee8ff; }
:root[data-public-theme="dark"] ::selection { background: #70401f; color: #fff5e9; }
@media (prefers-reduced-motion: reduce) {
  .theme-toggle, .nav-link, .nav-disclosure, .dropdown__link, .back-to-top { transition: none; }
  .back-to-top:hover { transform: none; }
}
/* En sombre, un vert plus profond conserve un libellé WhatsApp blanc lisible. */
:root[data-public-theme="dark"] .floating-contact__link--whatsapp { background: #147a42; color: #fff; }
:root[data-public-theme="dark"] .floating-contact__link--whatsapp:hover { background: #0e6034; }
:root[data-public-theme="dark"] .contact-card { background: #182b3b; color: #e1eaf2; }
