.theme-toggle { display: inline-grid; flex-shrink: 0; place-items: center; width: 36px; height: 36px; margin-left: 12px; padding: 0; border: 0; border-radius: 50%; color: #03358d; background: transparent; cursor: pointer; opacity: .65; transition: opacity .2s, background .2s; }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle:hover, .theme-toggle:focus-visible { opacity: 1; background: #225fce12; }
.theme-toggle__soleil { display: none; }
body.defile .theme-toggle { color: #fff; border-color: #ffffff70; }
html[data-theme="nuit"] { color-scheme: dark; --texte: #e1e9f5; --texte-2: #c6d3e7; --titre: #f0f5ff; --gris-fond: #10233f; --gris-fond-2: #152c4b; --bleu-lien: #a3c8ff; --ciel: #d3e3ff; }
html[data-theme="nuit"] body { color: #e1e9f5; background: #09172b; }
html[data-theme="nuit"] .theme-toggle { color: #d3e3ff; border-color: #5b7eaf; }
html[data-theme="nuit"] .theme-toggle__lune { display: none; }
html[data-theme="nuit"] .theme-toggle__soleil { display: block; }
html[data-theme="nuit"] :is(.barre-haut, .entete__principal, .navigation, .sous-menu, .mega, .cookies, .modale) { background: #10233f; color: #d3e3ff; }
html[data-theme="nuit"] .entete__logo img { filter: brightness(0) invert(1); }
html[data-theme="nuit"] :is(.barre-haut__infos li, .barre-haut__infos a) { color: #c7d5e9; }
html[data-theme="nuit"] .mega__grille { background: #10233f; }
html[data-theme="nuit"] :is(.navigation a, .navigation .menu > li > :is(a, .navigation__toggle), .entete__burger) { color: #e1e9f5 !important; }
html[data-theme="nuit"] :is(h1,h2,h3,h4,h5,h6) { color: #f0f5ff; }
html[data-theme="nuit"] :is(.hero, .section, .bloc, .vit-intro, .blog-liste, .faq, .trust-strip, .trust, .intervention) { background: #09172b; color: #e1e9f5; }
html[data-theme="nuit"] :is(.bloc--bleu, .section--blue, .expertise, .approach, .history-area) { background: #10233f; }
html[data-theme="nuit"] :is(.service, .work-card, .review, .faq details, .method-card, .zone-card, .blog-carte, .expertise__card, .approach-card, .tech-card, .mega__carte) { background: #152c4b; border-color: #34516f; color: #e1e9f5; }
html[data-theme="nuit"] :is(.expertise__cards article, .expertise__argument, .method-step, .review-card, .story-card, .approach__card, .sect-card, .eng-card) { background: #152c4b; color: #e1e9f5; border-color: #34516f; }
html[data-theme="nuit"] :is(.sect-hero, .sect-benefits, .sect-features, .sect-method, .sect-faq, .eng-hero, .eng-section) { background: #09172b; color: #e1e9f5; }
html[data-theme="nuit"] :is(.hero p, .lead, .service p, .section p, .section li, .section .eyebrow, .hero-subtitle, .blog-carte__titre, .blog-carte__resume) { color: #d3e3ff; }
html[data-theme="nuit"] .section :is(h1,h2,h3), html[data-theme="nuit"] .hero h1 { color: #f0f5ff; }
html[data-theme="nuit"] :is(.section a, .hero a:not(.btn), .service a, .surtitre) { color: #a3c8ff; }
html[data-theme="nuit"] :is(.sector-trigger, .hero-checks, .hero-checks span, .hero-note) { color: #a3c8ff; }
html[data-theme="nuit"] .sector-popover { background: #152c4b; color: #e1e9f5; border-color: #34516f; }
html[data-theme="nuit"] :is(input, textarea, select) { background: #10233f; color: #f0f5ff; border-color: #5b7eaf; }
html[data-theme="nuit"] .vitrine-orig :is(.elementor-element, .elementor-widget-container) { background-color: transparent !important; color: #d3e3ff !important; }
html[data-theme="nuit"] .vitrine-orig :is(h1,h2,h3,h4,p,label,li,span) { color: inherit !important; }
html[data-theme="nuit"] .vitrine-orig a { color: #a3c8ff; }
html[data-theme="nuit"] .pied { background-color: #061d47; }
html[data-theme="nuit"] :focus-visible { outline-color: #a3c8ff; }
@media(max-width:1024px) { .theme-toggle { margin-left: auto; margin-right: 14px; } .entete__burger { order: 3; } }

/* Palette commune aux composants natifs et aux pages historiques. */
html[data-theme="nuit"] {
    --nuit-fond: #09172b; --nuit-section: #10233f; --nuit-carte: #152c4b;
    --nuit-bord: #34516f; --nuit-texte: #d3e3ff; --nuit-secondaire: #b6c9e3; --nuit-accent: #a3c8ff;
    --the7-base-color: #d3e3ff; --the7-secondary-text-color: #b6c9e3;
    --e-global-color-the7_content_primary_text_color: #d3e3ff;
    --e-global-color-the7_content_secondary_text_color: #b6c9e3;
    --e-global-color-the7_buttons_text_color_mode: #152c4b;
    --the7-btn-color: #fff; --the7-btn-hover-color: #fff; --the7-btn-bg: #03358d; --the7-btn-hover-bg: #0f69a3;
}
html[data-theme="nuit"] :is(.vit-cartes > li,.vit-avis > div,.vit-formulaire .formulaire,.entreprise__carte,.brief-formulaire,.client-carte) { background: var(--nuit-carte); border-color: var(--nuit-bord); color: var(--nuit-texte); }
html[data-theme="nuit"] :is(.bouton--clair,.modale__fermer,.pagination .page-numbers) { color: var(--nuit-accent); border-color: var(--nuit-bord); }
html[data-theme="nuit"] :is(input,textarea,select)::placeholder { color: #a7bbd7; opacity: 1; }
html[data-theme="nuit"] .formulaire__message--ok { background: #143d30; color: #c3f2d7; }
html[data-theme="nuit"] .formulaire__message--erreur { background: #4a2231; color: #ffd1d9; }
html[data-theme="nuit"] :is(.sous-menu a:hover,.sous-menu a[aria-current],.mega__carte:hover) { background: #203d60; }

/* Accueil : surfaces, textes secondaires et portfolio. Les images gardent leurs couleurs. */
html[data-theme="nuit"] .accueil :is(.proof,.rating,.benefit-steps li,.approach__benefits li,.zone-card,.local-card,.method .step) { background: var(--nuit-carte); border-color: var(--nuit-bord); color: var(--nuit-texte); }
html[data-theme="nuit"] .accueil .proof-item { color: var(--nuit-texte); }
html[data-theme="nuit"] .accueil .proof-item:is(:hover,:focus-visible) { background: #203d60; color: #fff; }
html[data-theme="nuit"] .accueil :is(.proof-item span,.hero-benefits span,.tech-badge,.work-card p,.review-card small,.approach-visual figcaption,.carousel-pause,.seo-steps li) { color: var(--nuit-secondaire); }
html[data-theme="nuit"] .accueil :is(.service .number,.expertise__number,.expertise__proof strong,.expertise__proof span,.expertise__benefit,.work-card__visit,.seo-steps strong,.review-card strong,.faq summary,.expertise__closing strong,.expertise__lead strong,.expertise__closing-icon) { color: var(--nuit-accent); }
html[data-theme="nuit"] .accueil .expertise__tag { color: var(--nuit-accent) !important; }
html[data-theme="nuit"] .accueil :is(.expertise__proof,.expertise__benefit,.expertise__closing,.hero-benefits) { border-color: var(--nuit-bord); }
html[data-theme="nuit"] .accueil .expertise__argument { background: transparent; }
html[data-theme="nuit"] .accueil .expertise__tools span { background: #203d60; color: var(--nuit-texte); }
html[data-theme="nuit"] .accueil .expertise::before { opacity: .15; }
html[data-theme="nuit"] .accueil .work-card img { mix-blend-mode: normal; filter: none; opacity: 1; }
html[data-theme="nuit"] .accueil .client-logos img { mix-blend-mode: normal; }
html[data-theme="nuit"] .accueil a.btn.btn-light { background: #eaf1ff; color: #03358d; }
html[data-theme="nuit"] .accueil a.btn.btn-light:hover { background: #fff; color: #03358d; }
html[data-theme="nuit"] .accueil .btn-outline { color: var(--nuit-accent); border-color: #7894bb; }

/* Demonstrations : les pages simulees et leurs bulles ont aussi leur palette nuit. */
html[data-theme="nuit"] .accueil :is(.seo-demo,.annotation-demo__page,.annotation-demo__comment,.annotation-demo__reply,.annotation-demo__status > span) { background: var(--nuit-section); color: var(--nuit-texte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .accueil :is(.seo-demo__browser,.seo-demo__search,.seo-demo__competitor,.seo-demo__badge,.annotation-demo__avatar) { background: #203d60; color: var(--nuit-texte); }
html[data-theme="nuit"] .accueil :is(.seo-demo__bar,.seo-demo__url,.seo-demo__result strong,.seo-demo__result p,.seo-demo__toggle,.annotation-demo__nav,.annotation-demo__nav span,.annotation-demo__comment p,.annotation-demo__request > span,.annotation-demo__request p,.annotation-demo__reply-author b,.annotation-demo__reply-label,.annotation-demo__reply-message p) { color: var(--nuit-texte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .accueil .seo-demo__result--first { animation-name: seo-highlight-nuit; background: #203d60; border-color: #7894bb; }
html[data-theme="nuit"] .accueil .annotation-demo__hero { background: #17392f; color: #def3e9; }
html[data-theme="nuit"] .accueil .annotation-demo__hero :is(h3,p) { color: #def3e9; }
html[data-theme="nuit"] .accueil :is(.annotation-demo__reply-open,.annotation-demo__avatar--agency) { background: #203d60; color: #d3e3ff; }
@keyframes seo-highlight-nuit { 0%,42%,100% { background: transparent; border-color: transparent; } 49%,91% { background: #203d60; border-color: #7894bb; } }

/* Carrieres, engagements et secteurs : aucun texte sombre sur une carte nuit. */
html[data-theme="nuit"] .carriere :is(.car-atelier__barre span,.car-profils article > span,.car-etapes strong) { color: var(--nuit-accent); }
html[data-theme="nuit"] .carriere .bouton { color: #fff; }
html[data-theme="nuit"] :is(.eng-pillars,.eng-trust,.sect-index-hero,.sect-features) { background: var(--nuit-section); }
html[data-theme="nuit"] :is(.eng-process__steps li,.eng-trust__accent,.eng-trust__side,.eng-more__grid a,.sect-feature,.sect-resources__box,.sect-index-card,.sect-hero__visual,.sect-hero__visual-label) { background: var(--nuit-carte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] :is(.eng-intro,.eng-pillars,.eng-process,.eng-trust,.eng-more,.sect-hero,.sect-index-hero,.sect-benefits,.sect-features,.sect-resources,.sect-related,.sect-index) :is(h1,h2,h3,p,li) { color: var(--nuit-texte); }
html[data-theme="nuit"] :is(.eng-eyebrow,.eng-card__result,.eng-more__grid a,.eng-more__grid a > span,.sect-eyebrow,.sect-hero__note,.sect-crumb,.sect-crumb a,.sect-text-link,.sect-index-card h3 a,.sect-related__grid a) { color: var(--nuit-accent); }
html[data-theme="nuit"] :is(.eng-card__icon,.eng-process__steps li > span,.sect-card__number,.sect-feature__mark) { background: #203d60; color: var(--nuit-accent); }
html[data-theme="nuit"] .sect-hero__visual::before { background: #203d60; }
html[data-theme="nuit"] .sect-index-card img { background: var(--nuit-section); }
html[data-theme="nuit"] :is(.eng-more__grid a:hover,.sect-related__grid a:hover) { background: #203d60; }
html[data-theme="nuit"] :is(.sect-btn--outline,.sect-btn--light,.eng-btn--white) { background: #eaf1ff; color: #03358d; }
html[data-theme="nuit"] #mdg-about .card .num { color: var(--nuit-accent); }

/* Copies historiques : neutraliser les aplats blancs, garder les medias et leur identite. */
html[data-theme="nuit"] .vitrine-orig { color: var(--nuit-texte); --the7-base-color: #d3e3ff; --the7-links-color: #a3c8ff; --the7-links-hover-color: #d3e3ff; }
html[data-theme="nuit"] .vitrine-orig :is(.elementor-element,.elementor-widget-container) { color: var(--nuit-texte) !important; }
html[data-theme="nuit"] .vitrine-orig :is(.box-description,.box-content,.box-heading,strong,b,u,em,summary,.elementor-tab-title) { color: inherit !important; }
html[data-theme="nuit"] .vitrine-orig .elementor-background-overlay { background-color: var(--nuit-fond) !important; }
html[data-theme="nuit"] .vitrine-orig :is(.mdg-sv-benefit,.mdg-sv-card,.mdg-sv-step,.mdg-sv-faq details,.post-entry-content,.elementor-tab-content) { background-color: var(--nuit-carte); color: var(--nuit-texte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .vitrine-orig a:not(.elementor-button):not(.box-button):not(.btn) { color: var(--nuit-accent) !important; }
html[data-theme="nuit"] .vitrine-orig :is(.elementor-button,.box-button) { background: #03358d !important; color: #fff !important; }
html[data-theme="nuit"] .vitrine-orig :is(.elementor-button,.box-button):hover { background: #0f69a3 !important; color: #fff !important; }
html[data-theme="nuit"] .accueil .seo-steps li { background: var(--nuit-carte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .tar-tel a { color: var(--nuit-accent); }
html[data-theme="nuit"] .sect-index-card > div > p:not(.sect-eyebrow) { color: var(--nuit-texte); }
html[data-theme="nuit"] :is(.blog-appel,.blog-hero) { background: var(--nuit-fond); }
html[data-theme="nuit"] :is(.blog-carte__titre a,.blog-carte__suite,.blog-surtitre,.blog-carte__meta,.blog-carte__extrait,.blog-carte__badge) { color: var(--nuit-accent); }
html[data-theme="nuit"] :is(.blog-carte__badge,.blog-pagination .page-numbers) { background: var(--nuit-carte); border-color: var(--nuit-bord); color: var(--nuit-texte); }
html[data-theme="nuit"] .blog-pagination .current { background: #03358d; color: #fff; }
html[data-theme="nuit"] .accueil :is(.agency-story__identity,.agency-story__cities a) { background: var(--nuit-carte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .accueil .agency-story__cities a:hover { background: #203d60; }
html[data-theme="nuit"] .accueil :is(.agency-story__stats dt,.agency-story__stats dd,.agency-story__cities span,.rating strong,.local-more,.approach__visual figcaption) { color: var(--nuit-accent); }
html[data-theme="nuit"] #agence.agency-story::before { opacity: .08; }
html[data-theme="nuit"] .vitrine-orig .elementor-widget-wrap { background-color: transparent !important; color: var(--nuit-texte) !important; }
html[data-theme="nuit"] .vitrine-orig .elementor-star-rating__title { color: var(--nuit-texte); }
html[data-theme="nuit"] .sect-index-card > div > p:not(.sect-eyebrow), html[data-theme="nuit"] .sect-hero__visual-label { color: var(--nuit-texte); }
html[data-theme="nuit"] .sect-section-heading > p:last-child { color: var(--nuit-texte); }
html[data-theme="nuit"] .blog-carte__une { background: #14563d; color: #d9f7e7; }
html[data-theme="nuit"] .vitrine-orig :is(blockquote,.elementor-blockquote__content,p.defdefdef) { color: var(--nuit-texte) !important; }
html[data-theme="nuit"] .vitrine-orig :is(.mdg-sv-action,.mdg-local-sector-card) { background: var(--nuit-carte); color: var(--nuit-texte); border-color: var(--nuit-bord); }
html[data-theme="nuit"] .vitrine-orig :is(.elementor-field-type-html,.elementor-star-rating__title) { color: var(--nuit-texte) !important; }
html[data-theme="nuit"] .vitrine-orig .elementor-field-type-html p { color: var(--nuit-texte) !important; }
html[data-theme="nuit"] #mc_embed_signup { background: var(--nuit-carte) !important; color: var(--nuit-texte); }
html[data-theme="nuit"] #mc_embed_signup input:not([type="submit"]) { background: var(--nuit-section); color: var(--nuit-texte); border-color: #7894bb; }
html[data-theme="nuit"] #mc_embed_signup input[type="submit"] { background: #03358d; color: #fff; }
