/* ==========================================================================
   korbyx-da-v2.css - Direction artistique v2 (reference : docs/21-da-v2.md)
   Couche posee PAR-DESSUS korbyx-design.css et korbyx-nav.css. Toutes les regles
   sont limitees a body.kx-da-v2 : sans cette classe, rien ne change.
   La classe est posee par functions.php (pages pilotes, ou ?da=v2 sur l'URL).

   Principes : blanc casse dominant, violet seul accent, mint en ponctuation sur
   fond sombre uniquement, titres Inter 600 serres, CTA pilule navy, aucun decor
   (ni blobs, ni halos, ni lueurs), le sombre devient un panneau arrondi.
   ========================================================================== */

body.kx-da-v2 {
  --kx-content: 80rem;
  --kx-radius-card: 1.5rem;
  --kx-radius-lg: 2rem;
  --kx-radius-btn: 9999px;
  --kx-navy-50: rgba(18, 1, 45, 0.6);
  --kx-v2-muted-dark: rgba(255, 255, 255, 0.64);
  --kx-v2-soft-title: rgba(18, 1, 45, 0.45);
  --kx-v2-soft-title-dark: rgba(255, 255, 255, 0.45);
  --kx-v2-hairline: rgba(18, 1, 45, 0.07);
  --kx-v2-gutter: max(1.5rem, calc((100% - var(--kx-content)) / 2 + 1.5rem));
  --kx-v2-panel-pad: 1.5rem;
  --kx-v2-panel-y: 0.75rem;
  --kx-v2-panel-x: max(0.75rem, calc(var(--kx-v2-gutter) - var(--kx-v2-panel-pad)));
  --kx-v2-check-violet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B26FE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
  --kx-v2-check-mint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231AECDE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
  background: var(--kx-ghost-100);
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 768px) {
  body.kx-da-v2 { --kx-v2-panel-pad: 4rem; --kx-v2-panel-y: 1.5rem; }
}

/* --- 1. Decors retires -------------------------------------------------------- */
.kx-da-v2 [class*="kx-blob--"]::after,
.kx-da-v2 .kx-souv::after,
.kx-da-v2 .kx-section:has(> .kx-faq__item)::after,
.kx-da-v2 .kx-section:has(.kx-databox)::after,
.kx-da-v2 .kx-cta-band::after,
.kx-da-v2 .kx-hero::before,
.kx-da-v2 .kx-section:has(.kx-cta)::before,
.kx-da-v2 .kx-footer::before,
.kx-da-v2 .kx-footer::after { display: none !important; }

/* --- 2. Sections : clair par defaut, filet entre deux sections claires ------- */
.kx-da-v2 .kx-section { padding-block: 5.5rem; }
@media (min-width: 640px) { .kx-da-v2 .kx-section { padding-block: 8rem; } }
.kx-da-v2 .kx-section:not(.kx-section--dark):not(.kx-cta-band) { background-color: var(--kx-ghost-100); }
.kx-da-v2 .kx-section:not(.kx-section--dark):not(.kx-cta-band) + .kx-section:not(.kx-section--dark):not(.kx-cta-band) {
  background-image: linear-gradient(var(--kx-v2-hairline), var(--kx-v2-hairline));
  background-size: calc(100% - 2 * var(--kx-v2-gutter)) 1px;
  background-position: top center; background-repeat: no-repeat;
}
.kx-da-v2 .kx-section:has(.kx-cta) { background: var(--kx-ghost-100) !important; }

/* --- 3. Le sombre devient un panneau arrondi (sauf le hero, qui passe en clair) */
.kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child),
.kx-da-v2.kx-body .kx-cta-band {
  position: relative; isolation: isolate; overflow: visible;
  background: var(--kx-ghost-100) !important;
  padding-left: calc(var(--kx-v2-panel-x) + var(--kx-v2-panel-pad)) !important;
  padding-right: calc(var(--kx-v2-panel-x) + var(--kx-v2-panel-pad)) !important;
  padding-block: calc(var(--kx-v2-panel-y) + 4rem) !important;
}
@media (min-width: 768px) {
  .kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child),
  .kx-da-v2.kx-body .kx-cta-band { padding-block: calc(var(--kx-v2-panel-y) + 6rem) !important; }
}
.kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child)::before,
.kx-da-v2.kx-body .kx-cta-band::before {
  content: ""; display: block; position: absolute; z-index: -1; pointer-events: none;
  inset: var(--kx-v2-panel-y) var(--kx-v2-panel-x);
  border-radius: 2.5rem; background: var(--kx-navy-deep);
}
.kx-da-v2.kx-body .kx-cta-band--light::before {
  background: #fff; box-shadow: inset 0 0 0 1px var(--kx-v2-hairline);
}
.kx-da-v2 .entry-content > .kx-section--dark:not(:first-child) > *,
.kx-da-v2 .kx-cta-band > * { position: relative; z-index: 1; }

/* --- 4. Hero : la 1re section sombre passe en clair ------------------------- */
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child {
  background: var(--kx-ghost-100) !important; color: var(--kx-navy);
  padding-block: 4rem 6rem;
}
@media (min-width: 640px) { .kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child { padding-block: 6rem 8rem; } }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child :where(.kx-h1, .kx-h2, .kx-h3) { color: var(--kx-navy) !important; }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child :where(.kx-h1, .kx-h2) strong { color: var(--kx-v2-soft-title) !important; }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-intro { color: var(--kx-navy-50); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-eyebrow { color: var(--kx-violet); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-stat__num { color: var(--kx-navy); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-stat__label { color: var(--kx-navy-50); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-checklist li { color: var(--kx-navy); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-checklist:not(.kx-checklist--ordered) li::before { background-image: var(--kx-v2-check-violet); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child :where(p, li) a:not(.wp-block-button__link) {
  color: var(--kx-violet); background-image: linear-gradient(var(--kx-violet), var(--kx-violet));
}
.kx-da-v2.kx-body .entry-content > .kx-section--dark:first-child .kx-media img { border-radius: var(--kx-radius-lg); }

/* --- 5. Sur-titre : texte simple ---------------------------------------------- */
.kx-da-v2 .kx-eyebrow,
.kx-da-v2 .kx-cta-band .kx-eyebrow,
.kx-da-v2 .kx-cta-band--light .kx-eyebrow {
  display: inline-block; padding: 0; background: none; border-radius: 0;
  font-family: var(--kx-font-sans); font-size: 0.875rem; font-weight: 500;
  letter-spacing: 0; text-transform: none; color: var(--kx-violet);
}
.kx-da-v2 .kx-eyebrow::before { content: none; }
.kx-da-v2 .kx-eyebrow--dark,
.kx-da-v2 .kx-section--dark .kx-eyebrow,
.kx-da-v2 .kx-cta-band:not(.kx-cta-band--light) .kx-eyebrow,
.kx-da-v2 .kx-calc__result .kx-eyebrow { color: var(--kx-mint); }

/* --- 6. Titres ------------------------------------------------------------------ */
.kx-da-v2 .kx-h1, .kx-da-v2 .kx-h2 { font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; }
.kx-da-v2 .kx-h1 { font-size: clamp(2.75rem, 5.6vw, 4.75rem); line-height: 1.02; letter-spacing: -0.035em; }
.kx-da-v2 .kx-h2,
.kx-da-v2 .kx-cta-band .kx-h2,
.kx-da-v2 .kx-section:has(.kx-cta) .kx-h2 { font-size: clamp(2.125rem, 4.2vw, 3.5rem); }
.kx-da-v2 .kx-h2 strong, .kx-da-v2 .kx-h1 strong { font-weight: inherit; color: var(--kx-v2-soft-title); }
.kx-da-v2 .kx-cta-band--light .kx-h2 strong { color: var(--kx-v2-soft-title) !important; }
.kx-da-v2 .kx-section--dark .kx-h2 strong,
.kx-da-v2 .kx-section--dark .kx-h1 strong,
.kx-da-v2 .kx-cta-band:not(.kx-cta-band--light) .kx-h2 strong { color: var(--kx-v2-soft-title-dark) !important; }
.kx-da-v2 .kx-h3 { font-size: 1.3125rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; }
.kx-da-v2 .kx-head { column-gap: 4rem; }

.kx-da-v2 .kx-intro { font-size: 1.0625rem; line-height: 1.65; color: var(--kx-navy-50); }
@media (min-width: 768px) { .kx-da-v2 .kx-intro { font-size: 1.125rem; } }
.kx-da-v2 .kx-section--dark .kx-intro,
.kx-da-v2.kx-body .kx-cta-band:not(.kx-cta-band--light) .kx-intro { color: var(--kx-v2-muted-dark); }

/* --- 7. Boutons ------------------------------------------------------------------ */
.kx-da-v2 .kx-btn .wp-block-button__link {
  border-radius: 9999px; padding: 0.875rem 1.75rem;
  font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none;
  animation: none !important; box-shadow: none; transform: none;
}
.kx-da-v2 .kx-btn .wp-block-button__link::after { content: none; }
/* Primaire : navy plein, survol violet */
.kx-da-v2 .kx-btn--mint .wp-block-button__link,
.kx-da-v2 .kx-btn--gradient .wp-block-button__link { background: var(--kx-navy); color: #fff; border: 0; }
.kx-da-v2.kx-body .kx-btn--mint .wp-block-button__link:hover,
.kx-da-v2.kx-body .kx-btn--mint .wp-block-button__link:focus,
.kx-da-v2.kx-body .kx-btn--gradient .wp-block-button__link:hover,
.kx-da-v2.kx-body .kx-btn--gradient .wp-block-button__link:focus {
  background: var(--kx-violet); color: #fff; transform: none; box-shadow: none;
}
/* Primaire sur panneau sombre : pilule blanche */
.kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child) :where(.kx-btn--mint, .kx-btn--gradient) .wp-block-button__link,
.kx-da-v2.kx-body .kx-cta-band:not(.kx-cta-band--light) :where(.kx-btn--mint, .kx-btn--gradient) .wp-block-button__link { background: #fff; color: var(--kx-navy); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child) :where(.kx-btn--mint, .kx-btn--gradient) .wp-block-button__link:hover,
.kx-da-v2.kx-body .kx-cta-band:not(.kx-cta-band--light) :where(.kx-btn--mint, .kx-btn--gradient) .wp-block-button__link:hover { background: var(--kx-mint); color: var(--kx-navy); }
/* Secondaire : lien texte suivi d'un chevron */
.kx-da-v2 .kx-btn--outline-dark .wp-block-button__link,
.kx-da-v2 .kx-btn--outline-light .wp-block-button__link {
  background: transparent; border: 0; color: var(--kx-violet); padding-inline: 0.75rem;
}
.kx-da-v2 .kx-btn--outline-dark .wp-block-button__link::after,
.kx-da-v2 .kx-btn--outline-light .wp-block-button__link::after {
  content: "\203A"; position: static; display: inline-block; width: auto; margin-left: 0.4rem;
  background: none; opacity: 1; transform: none; animation: none; transition: transform 0.25s;
}
.kx-da-v2.kx-body .kx-btn--outline-dark .wp-block-button__link:hover,
.kx-da-v2.kx-body .kx-btn--outline-light .wp-block-button__link:hover,
.kx-da-v2.kx-body .kx-btn--outline-dark .wp-block-button__link:focus,
.kx-da-v2.kx-body .kx-btn--outline-light .wp-block-button__link:focus { background: transparent; border: 0; color: var(--kx-violet); }
.kx-da-v2 .kx-btn--outline-dark .wp-block-button__link:hover::after,
.kx-da-v2 .kx-btn--outline-light .wp-block-button__link:hover::after { transform: translateX(3px); }
.kx-da-v2.kx-body .entry-content > .kx-section--dark:not(:first-child) .kx-btn--outline-light .wp-block-button__link,
.kx-da-v2.kx-body .kx-cta-band:not(.kx-cta-band--light) .kx-btn--outline-light .wp-block-button__link { color: var(--kx-mint); }

/* --- 8. Cartes, medias, pastilles ------------------------------------------------ */
.kx-da-v2 .kx-card { padding: 2rem; box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-card--elevated:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(18, 1, 45, 0.14); }
.kx-da-v2 .kx-card--dark { background: var(--kx-navy-deep); box-shadow: none; }
.kx-da-v2 .kx-section--dark .kx-card--dark,
.kx-da-v2 .kx-cta-band .kx-card--dark { background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); }
.kx-da-v2 .kx-card .kx-media--card { margin: -2rem -2rem 1.5rem; }
.kx-da-v2 .kx-grid { gap: 1rem; }
.kx-da-v2 .kx-media--band,
.kx-da-v2 .kx-media--col { box-shadow: none; border-radius: var(--kx-radius-lg); }
.kx-da-v2 .kx-pill { box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-step { box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); padding: 2rem; }
@media (min-width: 768px) {
  .kx-da-v2 .kx-flow .kx-step:not(:last-child)::after { background: rgba(18, 1, 45, 0.15); height: 1px; }
}
.kx-da-v2 .kx-mesh__link { border-radius: 1rem; box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }

/* --- 9. Listes --------------------------------------------------------------------- */
.kx-da-v2 .kx-checklist:not(.kx-checklist--ordered) li { padding-left: 2rem; }
.kx-da-v2 .kx-checklist:not(.kx-checklist--ordered) li::before {
  background-color: transparent; background-image: var(--kx-v2-check-violet); background-size: 1.15rem;
}
.kx-da-v2 .kx-section--dark .kx-checklist:not(.kx-checklist--ordered) li::before,
.kx-da-v2 .kx-card--dark .kx-checklist:not(.kx-checklist--ordered) li::before,
.kx-da-v2 .kx-cta-band:not(.kx-cta-band--light) .kx-checklist:not(.kx-checklist--ordered) li::before { background-image: var(--kx-v2-check-mint); }
.kx-da-v2 .kx-crosslist li { padding-left: 2rem; }
.kx-da-v2 .kx-crosslist li::before { background-color: transparent; background-size: 1rem; }
.kx-da-v2 .kx-checklist--ordered li::before { background: var(--kx-navy); color: #fff; font-weight: 600; }
.kx-da-v2 .kx-checklist--ordered li:not(:last-child)::after { background: rgba(18, 1, 45, 0.1); width: 1px; left: 1.12rem; }
.kx-da-v2 .kx-section--dark .kx-checklist--ordered li::before { background: #fff; color: var(--kx-navy); }
.kx-da-v2 .kx-section--dark .kx-checklist--ordered li:not(:last-child)::after { background: rgba(255, 255, 255, 0.14); }

/* --- 10. Chiffres-cles : plus grands, sans le symbole au-dessus -------------------- */
.kx-da-v2 .kx-stat__num { font-size: clamp(3rem, 5.5vw, 4.5rem); letter-spacing: -0.035em; }
.kx-da-v2 .kx-stat__num::before { content: none; }

/* --- 11. FAQ, citation, encarts ----------------------------------------------------- */
.kx-da-v2 .kx-faq__item { border-bottom-color: var(--kx-v2-hairline); }
.kx-da-v2 .kx-faq__item > summary { padding-block: 1.5rem; letter-spacing: -0.01em; }
.kx-da-v2 .kx-faq__item[open] > summary::after { background: var(--kx-navy); color: #fff; }
.kx-da-v2 .kx-section--dark .kx-faq__item[open] > summary::after { background: #fff; color: var(--kx-navy); }

.kx-da-v2 .kx-quote { font-weight: 500; font-size: clamp(1.375rem, 2.6vw, 1.875rem); line-height: 1.35; letter-spacing: -0.015em; }
.kx-da-v2 .kx-quote__author { color: var(--kx-navy); }
.kx-da-v2 .kx-section--dark .kx-quote__author { color: #fff; }
.kx-da-v2 .kx-quote-row { border-radius: var(--kx-radius-lg); box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); padding: 2.5rem 3rem; }
.kx-da-v2 .kx-quote-avatar { box-shadow: none; }

.kx-da-v2 .kx-callout { background: #fff; border-left: 2px solid var(--kx-violet); border-radius: 0 1rem 1rem 0; box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-toc { box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-table th { background: var(--kx-ghost-100); }
.kx-da-v2 .kx-table th, .kx-da-v2 .kx-table td { border-color: rgba(18, 1, 45, 0.1); }
.kx-da-v2.kx-body.single-post .entry-content h2::before { background: var(--kx-violet); height: 2px; }

/* --- 12. Bande CTA : repere de reassurance en texte simple ------------------------- */
.kx-da-v2.kx-body .kx-cta-band__meta {
  font-family: var(--kx-font-sans); font-size: 0.875rem; letter-spacing: 0; text-transform: none;
  color: var(--kx-v2-muted-dark);
}
.kx-da-v2.kx-body .kx-cta-band--light .kx-cta-band__meta { color: var(--kx-navy-50); }

/* --- 13. Blocs signature : souverainete, secteurs, calculateur --------------------- */
.kx-da-v2 .kx-souv__card { box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); padding: 2rem; }
.kx-da-v2 .kx-souv__item:hover .kx-souv__card { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(18, 1, 45, 0.14); }
.kx-da-v2 .kx-souv__halo,
.kx-da-v2 .kx-souv__orbit,
.kx-da-v2 .kx-souv__bar { display: none; }
.kx-da-v2 [class*="kx-souv--"] .kx-souv__med::before { background: var(--kx-lavender-90); box-shadow: none; border-radius: 1rem; }
.kx-da-v2 .kx-souv__glyph { color: var(--kx-violet); }
.kx-da-v2 .kx-souv__num { color: var(--kx-navy-50); }

.kx-da-v2 .kx-sector { border-color: var(--kx-v2-hairline); border-radius: var(--kx-radius-lg); }
.kx-da-v2 .kx-sector:nth-child(n)::after { background-color: var(--kx-violet); }
.kx-da-v2 .kx-sector:hover { box-shadow: none; border-color: rgba(18, 1, 45, 0.16); transform: translateY(-2px); }
.kx-da-v2 .kx-sector--on { box-shadow: none; }
.kx-da-v2 .kx-sector--on:nth-child(n)::after { background-color: #fff; }

.kx-da-v2 .kx-calc__result { background: var(--kx-navy-deep); box-shadow: none; border-radius: var(--kx-radius-lg); }
.kx-da-v2 .kx-calc__num--sec { color: #fff; }
.kx-da-v2 .kx-calc__field input,
.kx-da-v2 .kx-calc__field select { border-color: rgba(18, 1, 45, 0.14); border-radius: 0.75rem; }

/* --- 14. Mouvement : revelation plus lente et plus douce --------------------------- */
.kx-da-v2 .kx-r { transform: translateY(24px); transition: opacity 0.8s ease, transform 0.9s cubic-bezier(.16, 1, .3, 1); }
.kx-da-v2 .kx-r-in { transform: none; }

/* --- 15. Header : barre claire translucide ----------------------------------------- */
.kx-da-v2 .kx-header {
  background: rgba(248, 247, 251, 0.82);
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 1px 0 var(--kx-v2-hairline);
}
.kx-da-v2 .kx-header.is-scrolled { box-shadow: 0 1px 0 var(--kx-v2-hairline); }
.kx-da-v2 .kx-nav__trigger { font-size: 0.875rem; }
.kx-da-v2 .kx-panel { background: var(--kx-ghost-100); border-top-color: var(--kx-v2-hairline); box-shadow: 0 30px 60px -40px rgba(18, 1, 45, 0.25); }
.kx-da-v2 .kx-panel__title,
.kx-da-v2 .kx-drawer__label,
.kx-da-v2 .kx-footer__col p {
  font-family: var(--kx-font-sans); font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0; text-transform: none; color: var(--kx-navy);
}
.kx-da-v2 .kx-panel__featured { box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-btn-audit,
.kx-da-v2 .kx-header__cta .kx-btn-audit {
  background: var(--kx-navy); color: #fff; border: 0; border-radius: 9999px;
  font-size: 0.8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; padding: 0.6rem 1.15rem;
}
.kx-da-v2 .kx-btn-audit:hover,
.kx-da-v2 .kx-header__cta .kx-btn-audit:hover { background: var(--kx-violet); color: #fff; transform: none; box-shadow: none; }
.kx-da-v2 .kx-chat__dot { background: var(--kx-violet); }
.kx-da-v2 .kx-chat:hover .kx-chat__ic { border-color: var(--kx-violet); }

/* Drawer mobile clair */
.kx-da-v2 .kx-drawer__panel { background: var(--kx-ghost-100); color: var(--kx-navy); }
.kx-da-v2 .kx-drawer__head, .kx-da-v2 .kx-drawer__group, .kx-da-v2 .kx-drawer__foot { border-color: var(--kx-v2-hairline); }
.kx-da-v2 .kx-drawer__head .kx-brand { color: var(--kx-navy); }
.kx-da-v2 .kx-drawer__head .kx-brand__mark { color: var(--kx-violet); }
.kx-da-v2 .kx-drawer__x { color: var(--kx-navy-50); }
.kx-da-v2 .kx-drawer__group a { color: var(--kx-navy-50); }
.kx-da-v2 .kx-drawer__group a:hover { color: var(--kx-navy); }

/* --- 16. Footer clair, typographique ------------------------------------------------ */
.kx-da-v2 .kx-footer { background: var(--kx-ghost-100); color: var(--kx-navy); border-top: 1px solid var(--kx-v2-hairline); }
.kx-da-v2 .kx-footer__nl,
.kx-da-v2 .kx-footer__local,
.kx-da-v2 .kx-footer__legal { border-color: var(--kx-v2-hairline); }
.kx-da-v2 .kx-footer h2,
.kx-da-v2 .kx-footer__nl h2 { color: var(--kx-navy) !important; letter-spacing: -0.02em; }
.kx-da-v2 .kx-footer__nl p,
.kx-da-v2 .kx-footer__tag,
.kx-da-v2 .kx-footer__local,
.kx-da-v2 .kx-footer__legal { color: var(--kx-navy-50); }
.kx-da-v2 .kx-nl input { background: #fff; border-color: rgba(18, 1, 45, 0.14); color: var(--kx-navy); border-radius: 9999px; padding-inline: 1.25rem; }
.kx-da-v2 .kx-nl input::placeholder { color: rgba(18, 1, 45, 0.55); }
.kx-da-v2 .kx-nl input:focus { border-color: var(--kx-violet); box-shadow: 0 0 0 3px rgba(91, 38, 254, 0.15); }
.kx-da-v2 .kx-nl button { background: var(--kx-navy); color: #fff; border-radius: 9999px; text-transform: none; font-weight: 500; font-size: 0.875rem; padding-inline: 1.5rem; }
.kx-da-v2 .kx-nl button:hover { background: var(--kx-violet); box-shadow: none; }
.kx-da-v2 .kx-nl__ok { color: var(--kx-violet); }
.kx-da-v2 .kx-footer__brand .kx-brand { color: var(--kx-navy); }
.kx-da-v2 .kx-footer__brand .kx-brand__mark { color: var(--kx-violet); }
.kx-da-v2 .kx-corebyx { background: #fff; box-shadow: inset 0 0 0 1px var(--kx-v2-hairline); }
.kx-da-v2 .kx-corebyx:hover { box-shadow: inset 0 0 0 1px rgba(91, 38, 254, 0.4); }
.kx-da-v2 .kx-corebyx b { color: var(--kx-navy); }
.kx-da-v2 .kx-corebyx span { color: var(--kx-navy-50); }
.kx-da-v2 .kx-corebyx em { color: var(--kx-violet); }
.kx-da-v2 .kx-social { border-color: rgba(18, 1, 45, 0.14); color: var(--kx-navy-50); }
.kx-da-v2 .kx-social:hover { color: var(--kx-violet); border-color: var(--kx-violet); }
.kx-da-v2 .kx-footer__col a,
.kx-da-v2 .kx-footer__local a,
.kx-da-v2 .kx-footer__legal a { color: var(--kx-navy-50); }
/* Mention en couleur inline blanche dans parts/kx-footer.php */
.kx-da-v2 .kx-footer__legal nav span { color: var(--kx-navy-50) !important; }
.kx-da-v2 .kx-footer__col a:hover,
.kx-da-v2 .kx-footer__local a:hover,
.kx-da-v2 .kx-footer__legal a:hover { color: var(--kx-navy); }

@media (prefers-reduced-motion: reduce) {
  .kx-da-v2 .kx-r { transform: none; transition: none; }
  .kx-da-v2 .kx-btn .wp-block-button__link::after { transition: none; }
}
