/*
 * Theme Name:  Kanadenn Child
 * Template:    hostinger-ai-theme
 * Description: Thème encyclopédique musique classique bretonne
 * Author:      Kaëlig Boché
 * Version:     4.4.0
 * Text Domain: kanadenn-child
 */

/* ═══════════════════════════════════════════════════════
   KANADENN — Design System v4.0
   Poppins 600 (titres/boutons) · Manrope 300 (corps)
   Dégradés par section · Palette dark premium
═══════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────
   1. TOKENS — Variables design
─────────────────────────────────────────────────────── */
:root {
  /* Couleurs principales */
  --kn-fond:       #0d0016;
  --kn-fond-2:     #130020;
  --kn-fond-card:  #130020;
  --kn-fond-ui:    #1a0835;

  --kn-bleu:       #6EC1E4;
  --kn-bleu2:      #3ba8d4;
  --kn-bleu3:      #a8dcf0;
  --kn-bleu-dim:   rgba(110,193,228,.12);

  --kn-or:         #e8c87a;
  --kn-or2:        #c9a84c;
  --kn-or-dim:     rgba(232,200,122,.12);

  --kn-rose:       #e87a9a;
  --kn-rose2:      #c45070;
  --kn-rose-dim:   rgba(232,122,154,.12);

  --kn-vert:       #7ae8b8;
  --kn-vert2:      #4ac490;

  --kn-violet:     #b8a0f0;

  --kn-text:       rgba(255,255,255,.88);
  --kn-muted:      rgba(255,255,255,.38);
  --kn-border:     rgba(110,193,228,.10);

  /* Typographie */
  --kn-font-display: 'Poppins',  system-ui, sans-serif;
  --kn-font-body:    'Manrope',  system-ui, sans-serif;

  /* Layout */
  --kn-radius:     3px;
  --kn-radius-sm:  2px;
  --kn-radius-lg:  8px;
  --kn-shadow:     0 8px 40px rgba(0,0,0,.55);
  --kn-glow-bleu:  0 0 40px rgba(110,193,228,.2);
  --kn-glow-or:    0 0 40px rgba(232,200,122,.18);
  --kn-transition: .2s cubic-bezier(.4,0,.2,1);
}

/* ───────────────────────────────────────────────────────
   2. RESET & BASE
─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body,
.site, #page, .wp-site-blocks {
  background: var(--kn-fond) !important;
  color: var(--kn-text) !important;
  font-family: var(--kn-font-body) !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Supprime tous les fonds blancs héritiers */
.elementor-section,.elementor-container,.elementor-column,
.elementor-element,.elementor-widget-wrap,.elementor-row,
.wp-block-group,.wp-block-columns,.entry-content,.site-main,
.site-content,main#main,.hentry,article,
.wp-block-post-content,.has-white-background-color,
.has-light-gray-background-color { background: transparent !important; }

/* Headings */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--kn-font-display) !important;
  font-weight: 600 !important;
  color: var(--kn-text) !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}

/* Corps */
p,li,td,label,span.kn-nav__sub {
  font-family: var(--kn-font-body) !important;
  line-height: 1.75 !important;
}

a {
  color: var(--kn-bleu) !important;
  text-decoration: none !important;
  transition: color var(--kn-transition) !important;
}
a:hover { color: var(--kn-bleu2) !important; }
strong,b { color: var(--kn-text) !important; font-weight: 600 !important; }
img { max-width: 100%; height: auto; display: block; }

::selection { background: rgba(110,193,228,.22) !important; color:#fff !important; }

/* Scrollbar fine gradient tricolore */
::-webkit-scrollbar { width: 3px !important; }
::-webkit-scrollbar-track { background: var(--kn-fond) !important; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg,var(--kn-bleu),var(--kn-rose),var(--kn-or)) !important;
  border-radius: 2px !important;
}

/* ───────────────────────────────────────────────────────
   3. LAYOUT UTILITAIRES
─────────────────────────────────────────────────────── */
.kn-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(20px,4vw,56px);
}

.kn-section { padding: 88px 0; }

.kn-page-wrap {
  min-height: 100vh;
  padding-top: 68px;
}

.kn-divider {
  width: 48px; height: 2px;
  background: linear-gradient(90deg, var(--kn-bleu), transparent);
  margin: 10px 0 24px;
}

/* ═══════════════════════════════════════════════════════
   KANADENN NAV v3 — éditorial premium 2 rows
═══════════════════════════════════════════════════════ */

.kn-nav {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 500 !important;
  background: rgba(13,0,22,0.92) !important;
  backdrop-filter: blur(20px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
  border-bottom: 1px solid rgba(110,193,228,0.10) !important;
  transition: all .3s ease !important;
  padding: 0 !important;
  height: auto !important;
  display: block !important;
}

.kn-nav__row {
  width: 100% !important;
  display: block !important;
}

.kn-nav__row--main {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

.kn-nav__container {
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
}

.kn-nav__row--main .kn-nav__container { height: 84px !important; }
.kn-nav__row--menu .kn-nav__container { height: 52px !important; justify-content: space-between !important; }

.kn-nav__spacer { height: 136px !important; width: 100% !important; }

.kn-nav.is-scrolled { box-shadow: 0 8px 24px -8px rgba(0,0,0,0.5) !important; }
.kn-nav.is-scrolled .kn-nav__row--main .kn-nav__container { height: 64px !important; }
.kn-nav.is-scrolled .kn-nav__row--menu .kn-nav__container { height: 44px !important; }
.kn-nav.is-scrolled .kn-nav__tagline { opacity: 0 !important; transform: translateY(-4px) !important; }
.kn-nav.is-scrolled ~ .kn-nav__spacer { /* spacer stays — header still occupies space */ }

/* ─── LOGO ─── */
.kn-nav__logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  transition: opacity .2s !important;
}
.kn-nav__logo:hover { opacity: 0.85 !important; }
.kn-nav__brand {
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  color: #fff !important;
  line-height: 1 !important;
}
.kn-nav__dot { color: #6EC1E4 !important; font-weight: 700 !important; }
.kn-nav__tagline {
  font-family: 'Manrope', system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.38) !important;
  line-height: 1 !important;
  transition: all .3s !important;
}

/* ─── SEARCH ─── */
.kn-nav__search {
  flex: 1 !important;
  max-width: 460px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 999px !important;
  padding: 0 6px 0 18px !important;
  height: 42px !important;
  transition: all .25s !important;
}
.kn-nav__search:focus-within {
  background: rgba(255,255,255,0.07) !important;
  border-color: rgba(110,193,228,0.4) !important;
  box-shadow: 0 0 0 4px rgba(110,193,228,0.08) !important;
}
.kn-nav__search-icon {
  color: rgba(255,255,255,0.4) !important;
  flex-shrink: 0 !important;
  margin-right: 10px !important;
}
.kn-nav__search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #fff !important;
  height: 100% !important;
  padding: 0 !important;
}
.kn-nav__search-input::placeholder { color: rgba(255,255,255,0.4) !important; }
.kn-nav__search-submit {
  flex-shrink: 0 !important;
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: rgba(110,193,228,0.15) !important;
  border: none !important;
  color: #6EC1E4 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .2s !important;
}
.kn-nav__search-submit:hover {
  background: #6EC1E4 !important;
  color: #0d0016 !important;
}

/* ─── ACTIONS ─── */
.kn-nav__actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}
.kn-nav__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 42px !important;
  padding: 0 22px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #0d0016 !important;
  background: linear-gradient(135deg, #e8c87a 0%, #d9b562 100%) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  transition: all .25s !important;
  box-shadow: 0 4px 18px -4px rgba(232,200,122,0.45) !important;
}
.kn-nav__cta:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px -4px rgba(232,200,122,0.65) !important;
  color: #0d0016 !important;
}
.kn-nav__cta svg { transition: transform .2s; }
.kn-nav__cta:hover svg { transform: translateX(3px); }

/* ─── MENU NAV (rangée 2) ─── */
.kn-nav__menu {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.kn-nav__link {
  position: relative !important;
  padding: 16px 0 !important;
  margin: 0 18px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.4px !important;
  color: rgba(255,255,255,0.68) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color .2s !important;
}
.kn-nav__link::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 8px;
  height: 1px;
  background: #6EC1E4;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s cubic-bezier(.65,.05,.36,1);
}
.kn-nav__link:hover { color: #fff !important; }
.kn-nav__link:hover::after { transform: scaleX(1); }
.kn-nav__link.is-active { color: #fff !important; font-weight: 600 !important; }
.kn-nav__link.is-active::after {
  transform: scaleX(1);
  background: linear-gradient(90deg, #6EC1E4, #e8c87a);
}
.kn-nav__sep {
  display: inline-block;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
}

/* ─── STATS ─── */
.kn-nav__stats {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.38) !important;
  letter-spacing: 0.3px !important;
  flex-shrink: 0 !important;
}
.kn-nav__stats strong { color: #e8c87a !important; font-weight: 600 !important; margin-right: 4px; }
.kn-nav__sep-dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,0.15); }

/* ─── BURGER + MOBILE ─── */
.kn-nav__burger {
  display: none !important;
  width: 38px; height: 38px;
  background: none; border: none;
  cursor: pointer; position: relative;
  padding: 0;
}
.kn-nav__burger span {
  position: absolute;
  left: 9px; right: 9px; height: 1.5px;
  background: #fff;
  transition: transform .3s, opacity .2s;
}
.kn-nav__burger span:nth-child(1) { top: 13px; }
.kn-nav__burger span:nth-child(2) { top: 18.5px; }
.kn-nav__burger span:nth-child(3) { top: 24px; }
.kn-nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.kn-nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.kn-nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

.kn-nav__overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  opacity: 0; pointer-events: none;
  transition: opacity .3s;
  z-index: 400;
}
.kn-nav__overlay.is-visible { opacity: 1; pointer-events: all; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1200px) {
  .kn-nav__stats { display: none !important; }
  .kn-nav__row--menu .kn-nav__container { justify-content: center !important; }
}
@media (max-width: 1000px) {
  .kn-nav__container { padding: 0 24px !important; gap: 20px !important; }
  .kn-nav__search { max-width: 340px !important; }
  .kn-nav__link { margin: 0 12px !important; font-size: 11px !important; }
}
@media (max-width: 820px) {
  .kn-nav__search { display: none !important; }
  .kn-nav__row--menu { display: none !important; }
  .kn-nav__spacer { height: 84px !important; }
  .kn-nav__burger { display: block !important; }
  .kn-nav__menu {
    position: fixed !important;
    top: 0 !important; right: -340px !important;
    width: 320px !important; height: 100vh !important;
    background: #0d0016 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 100px 32px 32px !important;
    gap: 0 !important;
    transition: right .35s cubic-bezier(.65,.05,.36,1) !important;
    z-index: 450 !important;
    border-left: 1px solid rgba(110,193,228,0.12) !important;
  }
  .kn-nav__menu.is-open { right: 0 !important; }
  .kn-nav__link {
    margin: 0 !important;
    padding: 16px 0 !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  }
  .kn-nav__link::after { display: none !important; }
  .kn-nav__sep { display: none !important; }
}
@media (max-width: 540px) {
  .kn-nav__row--main .kn-nav__container { height: 68px !important; }
  .kn-nav__spacer { height: 68px !important; }
  .kn-nav__brand { font-size: 22px !important; }
  .kn-nav__tagline { font-size: 9px !important; }
  .kn-nav__cta { padding: 0 16px !important; font-size: 11px !important; height: 38px !important; }
}


/* ═══════════════════════════════════════════════════════
   KANADENN FOOTER v3 — premium editorial 5 columns
═══════════════════════════════════════════════════════ */

.kn-footer {
  position: relative;
  margin-top: 100px;
  background: linear-gradient(180deg, #0a0014 0%, #06000e 50%, #04000a 100%);
  border-top: 1px solid rgba(110,193,228,0.10);
  color: rgba(255,255,255,0.55);
  font-family: 'Manrope', sans-serif;
}

/* ─── BANDEAU STATS ─── */
.kn-footer__stats {
  border-bottom: 1px solid rgba(255,255,255,0.05);
  background:
    radial-gradient(ellipse 60% 100% at 50% 50%, rgba(232,200,122,0.04) 0%, transparent 70%);
}
.kn-footer__stats-inner {
  max-width: 1480px;
  margin: 0 auto;
  padding: 36px 48px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 32px;
}
.kn-footer__stat {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.kn-footer__stat-num {
  font-family: 'Poppins', sans-serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  background: linear-gradient(135deg, #e8c87a 0%, #6EC1E4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  letter-spacing: -0.02em;
}
.kn-footer__stat-num--rose {
  background: linear-gradient(135deg, #e87a9a 0%, #b8a0f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.kn-footer__stat-lbl {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.42) !important;
}

/* ─── MAIN 5 COLUMNS ─── */
.kn-footer__main { padding: 64px 0 48px; }
.kn-footer__container {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr;
  gap: 48px;
}

/* Brand */
.kn-footer__logo {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 22px;
  text-decoration: none;
  line-height: 1;
}
.kn-footer__brand {
  font-family: 'Poppins', sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: -0.025em !important;
}
.kn-footer__dot { color: #6EC1E4; font-weight: 700; }
.kn-footer__tagline {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.kn-footer__manifesto {
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 14px !important;
  max-width: 380px;
}
.kn-footer__manifesto--em { color: rgba(255,255,255,0.7) !important; }
.kn-footer__manifesto strong { color: #fff; font-weight: 600; }
.kn-footer__socials { display: flex; gap: 10px; margin-top: 24px; }
.kn-footer__socials a {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5) !important;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  text-decoration: none !important;
  transition: all .2s !important;
}
.kn-footer__socials a:hover {
  color: #6EC1E4 !important;
  background: rgba(110,193,228,0.12);
  border-color: rgba(110,193,228,0.3);
  transform: translateY(-2px);
}

/* Headings */
.kn-footer__heading {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #e8c87a !important;
  margin: 0 0 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(232,200,122,0.18) !important;
  line-height: 1.4 !important;
}

/* Lists */
.kn-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.kn-footer__list a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all .2s !important;
}
.kn-footer__list a:hover {
  color: #fff !important;
  transform: translateX(3px);
}
.kn-footer__count {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: rgba(110,193,228,0.55) !important;
  background: rgba(110,193,228,0.08);
  border: 1px solid rgba(110,193,228,0.12);
  padding: 2px 7px;
  border-radius: 999px;
  margin-left: auto;
  min-width: 24px;
  text-align: center;
}

/* Newsletter */
.kn-footer__col--newsletter { }
.kn-footer__nl-text {
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 16px !important;
}
.kn-footer__nl-form {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  padding: 4px 4px 4px 16px;
  height: 44px;
  margin-bottom: 10px;
  transition: all .25s;
}
.kn-footer__nl-form:focus-within {
  background: rgba(255,255,255,0.07);
  border-color: rgba(110,193,228,0.4);
}
.kn-footer__nl-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  color: #fff;
  min-width: 0;
}
.kn-footer__nl-input::placeholder { color: rgba(255,255,255,0.35); }
.kn-footer__nl-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #e8c87a 0%, #d9b562 100%);
  border: none;
  color: #0d0016;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  flex-shrink: 0;
}
.kn-footer__nl-btn:hover { transform: scale(1.05); }
.kn-footer__nl-legal {
  font-size: 10px !important;
  color: rgba(255,255,255,0.3) !important;
  margin: 0 0 24px !important;
  line-height: 1.5 !important;
}
.kn-footer__nl-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #e8c87a !important;
  text-decoration: none !important;
  padding: 10px 18px;
  border: 1px solid rgba(232,200,122,0.3);
  border-radius: 999px;
  transition: all .25s !important;
}
.kn-footer__nl-cta:hover {
  background: rgba(232,200,122,0.1);
  border-color: rgba(232,200,122,0.6);
  color: #e8c87a !important;
}

/* ─── BANDEAU LÉGAL ─── */
.kn-footer__legal {
  border-top: 1px solid rgba(255,255,255,0.05);
  background: rgba(0,0,0,0.35);
}
.kn-footer__legal-inner {
  max-width: 1480px;
  margin: 0 auto;
  padding: 20px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  font-size: 11px;
  color: rgba(255,255,255,0.32);
  letter-spacing: 0.3px;
}
.kn-footer__brand-mini {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
}
.kn-footer__legal-left {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.kn-footer__sep { margin: 0 10px; color: rgba(255,255,255,0.2); }
.kn-footer__legal-right { display: flex; gap: 24px; flex-shrink: 0; }
.kn-footer__legal-right a {
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.kn-footer__legal-right a:hover { color: #6EC1E4 !important; }

/* ─── RESPONSIVE FOOTER ─── */
@media (max-width: 1200px) {
  .kn-footer__container {
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 40px;
  }
  .kn-footer__col--brand { grid-column: 1 / -1; }
  .kn-footer__col--newsletter { grid-column: 1 / -1; max-width: 480px; }
  .kn-footer__stats-inner { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .kn-footer__container { grid-template-columns: 1fr 1fr; padding: 0 24px; }
  .kn-footer__col--brand { grid-column: 1 / -1; }
  .kn-footer__col--newsletter { grid-column: 1 / -1; max-width: none; }
  .kn-footer__stats-inner { grid-template-columns: repeat(2, 1fr); padding: 28px 24px; gap: 24px; }
  .kn-footer__stat-num { font-size: 28px !important; }
  .kn-footer__legal-inner { flex-direction: column; align-items: flex-start; padding: 20px 24px; }
  .kn-footer__legal-right { gap: 16px; }
}
@media (max-width: 480px) {
  .kn-footer__container { grid-template-columns: 1fr; }
  .kn-footer__stats-inner { grid-template-columns: 1fr 1fr; }
  .kn-footer__main { padding: 48px 0 32px; }
}
/* ═══════════════════════════════════════════════════════
   KANADENN PAGE — template standard (Médiation, Écouter, etc.)
═══════════════════════════════════════════════════════ */

.kn-page {
  position: relative;
  min-height: 70vh;
  padding: 80px 0 120px;
}

.kn-page__container {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 48px;
}

.kn-page__article {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  padding: 64px 64px;
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px;
  overflow: hidden;
}

/* Variantes de fond par page (couleur d'accent en haut) */
.kn-page__article::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 200px;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, var(--page-accent, rgba(110,193,228,0.18)) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.kn-page--soutenir   { --page-accent: rgba(232,200,122,0.22); }
.kn-page--mediation  { --page-accent: rgba(122,232,184,0.20); }
.kn-page--films      { --page-accent: rgba(232,122,154,0.20); }
.kn-page--ecouter    { --page-accent: rgba(184,160,240,0.20); }
.kn-page--oeuvres    { --page-accent: rgba(232,200,122,0.16); }
.kn-page--carte      { --page-accent: rgba(110,193,228,0.22); }
.kn-page--legal      { --page-accent: rgba(255,255,255,0.06); }

.kn-page__header {
  position: relative;
  z-index: 1;
  margin-bottom: 56px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-bottom: 40px;
}
.kn-page__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #e8c87a !important;
  margin: 0 0 18px !important;
}
.kn-page__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(38px, 5vw, 64px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  color: #fff !important;
  margin: 0 !important;
  background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.65) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.kn-page__content {
  position: relative;
  z-index: 1;
}

/* Prose typography */
.kn-prose {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.72) !important;
}
.kn-prose h1, .kn-prose h2, .kn-prose h3, .kn-prose h4 {
  font-family: 'Poppins', sans-serif !important;
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 48px 0 20px !important;
  line-height: 1.2 !important;
}
.kn-prose h1 { font-size: 36px !important; }
.kn-prose h2 { font-size: 28px !important; color: #e8c87a !important; }
.kn-prose h3 { font-size: 22px !important; }
.kn-prose h4 { font-size: 18px !important; text-transform: uppercase; letter-spacing: 2px !important; font-size: 13px !important; color: #6EC1E4 !important; }
.kn-prose p {
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,0.72) !important;
  margin: 0 0 20px !important;
}
.kn-prose strong { color: #fff !important; font-weight: 600; }
.kn-prose a {
  color: #6EC1E4 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(110,193,228,0.4);
  transition: all .2s;
}
.kn-prose a:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}
.kn-prose ul, .kn-prose ol { padding-left: 24px; margin: 0 0 24px; }
.kn-prose li { margin-bottom: 10px; color: rgba(255,255,255,0.72); }
.kn-prose blockquote {
  border-left: 3px solid #e8c87a;
  padding: 8px 0 8px 24px;
  margin: 32px 0;
  font-style: italic;
  font-size: 18px;
  color: rgba(255,255,255,0.85) !important;
}
.kn-prose hr {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin: 48px 0;
}

@media (max-width: 720px) {
  .kn-page { padding: 40px 0 80px; }
  .kn-page__container { padding: 0 16px; }
  .kn-page__article { padding: 40px 24px; }
}

/* ═══════════════════════════════════════════════════════
   HOMEPAGE — Section libre éditable
═══════════════════════════════════════════════════════ */
.kn-home-free {
  padding: 80px 48px;
  background: linear-gradient(180deg, transparent 0%, rgba(232,200,122,0.02) 50%, transparent 100%);
}
.kn-home-free__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.kn-home-free .kn-prose { text-align: left; }


/* ═══════════════════════════════════════════════════════
   MENU NAV — overrides v3 (uppercase Poppins bold larger)
═══════════════════════════════════════════════════════ */
.kn-nav__link {
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  padding: 18px 0 !important;
  margin: 0 22px !important;
}
.kn-nav__link.is-active {
  color: #fff !important;
  font-weight: 700 !important;
}
.kn-nav__link::after {
  bottom: 10px !important;
  height: 2px !important;
}

/* Stats : un poil plus visibles */
.kn-nav__stats {
  font-size: 11px !important;
}
.kn-nav__stats strong {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
/* ═══════════════════════════════════════════════════════
   KANADENN v4 — MATCH MOCKUP
═══════════════════════════════════════════════════════ */

/* ─── HEADER simple une rangée ─── */
.kn-nav {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 500 !important;
  background: #0a0014 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  padding: 0 !important;
  height: auto !important;
  display: block !important;
  backdrop-filter: none !important;
}
.kn-nav__container {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 48px !important;
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
}
.kn-nav__spacer { height: 72px !important; width: 100% !important; }

/* Logo */
.kn-nav__logo {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
.kn-nav__brand {
  font-family: 'Poppins', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -0.025em !important;
  line-height: 1 !important;
}
.kn-nav__dot { color: #6EC1E4 !important; font-weight: 700 !important; }

/* Menu centré */
.kn-nav__menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  flex: 1 !important;
}
.kn-nav__link {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.42) !important;
  padding: 8px 22px !important;
  text-decoration: none !important;
  transition: color .18s !important;
  white-space: nowrap !important;
}
.kn-nav__link::after { display: none !important; }
.kn-nav__link:hover { color: #fff !important; }
.kn-nav__link.is-active { color: #fff !important; }

/* CTA bleu */
.kn-nav__actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}
.kn-nav__cta {
  display: inline-flex !important;
  align-items: center !important;
  height: 42px !important;
  padding: 0 22px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #0a0014 !important;
  background: #6EC1E4 !important;
  border: none !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  transition: all .2s !important;
  box-shadow: none !important;
}
.kn-nav__cta:hover {
  background: #8dd1ed !important;
  transform: none !important;
  color: #0a0014 !important;
  box-shadow: 0 4px 20px -4px rgba(110,193,228,0.45) !important;
}

/* Burger mobile */
.kn-nav__burger {
  display: none !important;
  width: 38px; height: 38px;
  background: none; border: none;
  cursor: pointer; position: relative;
  padding: 0;
}
.kn-nav__burger span {
  position: absolute;
  left: 9px; right: 9px; height: 1.5px;
  background: #fff;
  transition: transform .3s, opacity .2s;
}
.kn-nav__burger span:nth-child(1) { top: 13px; }
.kn-nav__burger span:nth-child(2) { top: 18.5px; }
.kn-nav__burger span:nth-child(3) { top: 24px; }
.kn-nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.kn-nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.kn-nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

.kn-nav__overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
  opacity: 0; pointer-events: none;
  transition: opacity .3s;
  z-index: 400;
}
.kn-nav__overlay.is-visible { opacity: 1; pointer-events: all; }

@media (max-width: 1100px) {
  .kn-nav__link { padding: 8px 14px !important; font-size: 11px !important; }
  .kn-nav__container { padding: 0 24px !important; }
}
@media (max-width: 900px) {
  .kn-nav__menu {
    position: fixed !important;
    top: 0 !important; right: -340px !important;
    width: 320px !important; height: 100vh !important;
    background: #0a0014 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 96px 32px 32px !important;
    gap: 0 !important;
    transition: right .35s cubic-bezier(.65,.05,.36,1) !important;
    z-index: 450 !important;
    border-left: 1px solid rgba(255,255,255,0.05) !important;
  }
  .kn-nav__menu.is-open { right: 0 !important; }
  .kn-nav__link {
    padding: 16px 0 !important;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  }
  .kn-nav__burger { display: block !important; }
}

/* ═══════════════════════════════════════════════════════
   HERO MOCKUP — Kanadenn géant
═══════════════════════════════════════════════════════ */

.kn-home-hero {
  position: relative;
  min-height: calc(100vh - 72px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px 80px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(110,193,228,0.04) 0%, transparent 70%),
    #0a0014;
}

/* Texture pointillée hermine */
.kn-home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.045) 1px, transparent 1.5px);
  background-size: 28px 28px;
  background-position: 0 0;
  pointer-events: none;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 90%);
}

/* Anciennes radials → off */
.kn-home-hero__radial--1,
.kn-home-hero__radial--2,
.kn-home-hero__radial--3 { display: none !important; }

.kn-home-hero__content,
.kn-home-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}

.kn-home-hero__eyebrow,
.kn-home-hero__pretitle {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.kn-home-hero__eyebrow::before,
.kn-home-hero__eyebrow::after {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: rgba(110,193,228,0.4);
}

.kn-home-hero__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(72px, 14vw, 200px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 0.95 !important;
  color: #fff !important;
  margin: 0 !important;
  text-shadow: 0 4px 40px rgba(0,0,0,0.5);
}
.kn-home-hero__title-line { display: inline; color: #fff !important; }
.kn-home-hero__title-line--accent { color: #fff !important; background: none !important; -webkit-text-fill-color: #fff !important; }
.kn-home-hero__title-dot {
  color: #6EC1E4 !important;
  font-weight: 700 !important;
}

.kn-home-hero__tagline,
.kn-home-hero__lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.68) !important;
  margin: 0 !important;
  max-width: 700px;
}
.kn-home-hero__tagline strong { color: #fff !important; font-weight: 500 !important; }
.kn-home-hero__sub {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.5);
  margin: -16px 0 0;
  letter-spacing: 0.5px;
}

/* CTA buttons */
.kn-home-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 14px;
}
.kn-home-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 56px;
  padding: 0 32px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  border-radius: 3px;
  text-decoration: none !important;
  transition: all .25s !important;
  cursor: pointer;
  border: 1px solid transparent;
}
.kn-home-hero__btn--primary {
  background: #6EC1E4 !important;
  color: #0a0014 !important;
}
.kn-home-hero__btn--primary:hover {
  background: #8dd1ed !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 28px -8px rgba(110,193,228,0.5);
  color: #0a0014 !important;
}
.kn-home-hero__btn--outline {
  background: transparent !important;
  color: #6EC1E4 !important;
  border-color: rgba(110,193,228,0.45) !important;
}
.kn-home-hero__btn--outline:hover {
  background: rgba(110,193,228,0.08) !important;
  border-color: #6EC1E4 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Stats row */
.kn-home-hero__stats {
  display: flex;
  gap: 64px;
  margin-top: 60px;
  flex-wrap: wrap;
  justify-content: center;
}
.kn-stat,
.kn-home-hero__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.kn-stat__num,
.kn-home-hero__stat-num {
  font-family: 'Poppins', sans-serif !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  display: flex;
  align-items: baseline;
}
.kn-stat__num--plus::after,
.kn-home-hero__stat-num--plus::after {
  content: '+';
  color: #6EC1E4;
  font-size: 0.7em;
  margin-left: 2px;
}
.kn-stat__label,
.kn-home-hero__stat-lbl {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
}
.kn-stat--femme .kn-stat__num { color: #fff !important; -webkit-text-fill-color: #fff !important; }

@media (max-width: 720px) {
  .kn-home-hero { padding: 40px 16px 60px; }
  .kn-home-hero__title { font-size: clamp(56px, 18vw, 100px) !important; }
  .kn-home-hero__stats { gap: 36px; margin-top: 40px; }
  .kn-stat__num,.kn-home-hero__stat-num { font-size: 38px !important; }
  .kn-home-hero__btn { width: 100%; justify-content: center; }
}
/* ═══════════════════════════════════════════════════════
   KANADENN — Sections Mission / Features / Search
═══════════════════════════════════════════════════════ */

.kn-section {
  position: relative;
  padding: 120px 48px;
}

/* Eyebrow style commun */
.kn-mission__eyebrow,
.kn-features__eyebrow,
.kn-search-teaser__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  margin: 0 0 28px !important;
}

/* Title style commun (avec accent bleu) */
.kn-mission__title,
.kn-features__title,
.kn-search-teaser__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(40px, 6vw, 80px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  color: #fff !important;
  margin: 0 0 24px !important;
}
.kn-mission__title span,
.kn-features__title span,
.kn-search-teaser__title span {
  color: #6EC1E4 !important;
}
.kn-mission__title-em { color: #6EC1E4 !important; }

/* ─── MISSION (2 colonnes : pitch + 4 cards) ─── */
.kn-mission {
  background: #06000e;
  border-top: 1px solid rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.kn-mission__container {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.kn-mission__intro { max-width: 540px; }
.kn-mission__lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 0 20px !important;
}
.kn-mission__lead strong { color: #fff !important; font-weight: 600 !important; }

.kn-mission__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.kn-mission__card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  padding: 28px 24px;
  transition: all .25s;
}
.kn-mission__card:hover {
  background: rgba(110,193,228,0.05);
  border-color: rgba(110,193,228,0.2);
  transform: translateY(-3px);
}
.kn-mission__card-icon {
  font-size: 24px;
  display: block;
  margin-bottom: 14px;
  filter: grayscale(0.2);
}
.kn-mission__card h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.01em !important;
}
.kn-mission__card p {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 !important;
}

/* ─── FEATURES (6 cards 3×2) ─── */
.kn-features {
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(110,193,228,0.04) 0%, transparent 70%),
    #0a0014;
}
.kn-features__container { max-width: 1380px; margin: 0 auto; }
.kn-features__head { max-width: 720px; margin-bottom: 64px; }
.kn-features__lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 !important;
}

.kn-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-left: 1px solid rgba(255,255,255,0.06);
}
.kn-feature {
  display: flex;
  flex-direction: column;
  padding: 40px 36px;
  border-right: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-decoration: none !important;
  transition: all .25s;
  position: relative;
  overflow: hidden;
}
.kn-feature::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 0%, rgba(110,193,228,0.08) 0%, transparent 50%);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}
.kn-feature:hover::before { opacity: 1; }
.kn-feature:hover { background: rgba(110,193,228,0.02); }
.kn-feature__icon {
  font-size: 32px;
  display: block;
  margin-bottom: 24px;
  line-height: 1;
}
.kn-feature__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.015em !important;
}
.kn-feature__desc {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 24px !important;
  flex: 1;
}
.kn-feature__cta {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  transition: transform .2s;
  display: inline-block;
}
.kn-feature:hover .kn-feature__cta { transform: translateX(4px); }

/* ─── SEARCH TEASER ─── */
.kn-search-teaser {
  background: #06000e;
  text-align: left;
}
.kn-search-teaser__container { max-width: 1080px; margin: 0 auto; }
.kn-search-teaser__lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 48px !important;
}

.kn-search-teaser__form {
  display: flex;
  align-items: stretch;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 20px;
  transition: all .25s;
}
.kn-search-teaser__form:focus-within {
  border-color: rgba(110,193,228,0.4);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 4px rgba(110,193,228,0.08);
}
.kn-search-teaser__input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 0 28px;
  height: 68px;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  color: #fff !important;
  min-width: 0;
}
.kn-search-teaser__input::placeholder { color: rgba(255,255,255,0.35) !important; }
.kn-search-teaser__submit {
  background: #6EC1E4 !important;
  border: none !important;
  color: #0a0014 !important;
  padding: 0 38px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.kn-search-teaser__submit:hover { background: #8dd1ed !important; }

.kn-search-teaser__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.kn-chip {
  display: inline-block;
  padding: 9px 18px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.5) !important;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px;
  text-decoration: none !important;
  transition: all .2s !important;
}
.kn-chip:hover { color: #fff !important; border-color: rgba(110,193,228,0.4); }
.kn-chip--active {
  color: #fff !important;
  background: rgba(110,193,228,0.08);
  border-color: rgba(110,193,228,0.5);
}

.kn-search-teaser__hint {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.35) !important;
  margin: 0 !important;
}
.kn-search-teaser__hint em {
  font-style: normal;
  color: rgba(110,193,228,0.7);
  background: rgba(110,193,228,0.05);
  padding: 2px 8px;
  border-radius: 2px;
  margin: 0 4px;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
  .kn-section { padding: 80px 24px; }
  .kn-mission__container { grid-template-columns: 1fr; gap: 48px; }
  .kn-features__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .kn-section { padding: 60px 16px; }
  .kn-features__grid { grid-template-columns: 1fr; }
  .kn-mission__cards { grid-template-columns: 1fr; }
  .kn-search-teaser__form { flex-direction: column; }
  .kn-search-teaser__submit { padding: 18px !important; }
  .kn-search-teaser__input { height: 56px; padding: 0 18px; }
}
/* ═══════════════════════════════════════════════════════
   KANADENN HARMONIZATION — fix grid + clear stray dots
═══════════════════════════════════════════════════════ */

/* ─── Supprime tous les radials/dots du hero ─── */
.kn-home-hero__radial,
.kn-home-hero__radial--1,
.kn-home-hero__radial--2,
.kn-home-hero__radial--3,
.kn-home-hero__radial--4 { display: none !important; }

/* Cache la section libre si elle ne contient que "Welcome to WordPress" */
.kn-home-free:has(p:only-child:first-child) { /* no-op selector for placeholder */ }

/* ─── Section commune : container + header ─── */
.kn-container {
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}
@media (max-width: 720px) { .kn-container { padding: 0 16px !important; } }

.kn-section { padding: 100px 0 !important; }
.kn-section + .kn-section { border-top: 1px solid rgba(255,255,255,0.04); }

.kn-section-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 48px !important;
  gap: 24px;
}
.kn-section-eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  margin: 0 0 16px !important;
}
.kn-section-eyebrow--rose { color: #e87a9a !important; }
.kn-section-eyebrow--vert { color: #7ae8b8 !important; }
.kn-section-eyebrow--or   { color: #e8c87a !important; }

.kn-section-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  margin: 0 0 16px !important;
}
.kn-section-title span { color: #6EC1E4 !important; }
.kn-divider {
  width: 64px; height: 3px;
  background: linear-gradient(90deg, #6EC1E4, transparent);
  border-radius: 3px;
  margin-top: 6px;
}

/* ─── Boutons ─── */
.kn-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 24px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  transition: all .25s !important;
  cursor: pointer;
  border: 1px solid transparent;
}
.kn-btn--bleu, .kn-btn--primary {
  background: #6EC1E4 !important;
  color: #0a0014 !important;
}
.kn-btn--bleu:hover, .kn-btn--primary:hover {
  background: #8dd1ed !important;
  color: #0a0014 !important;
  transform: translateY(-1px);
}
.kn-btn--ghost {
  background: transparent !important;
  border-color: rgba(110,193,228,0.35) !important;
  color: #6EC1E4 !important;
}
.kn-btn--ghost:hover {
  border-color: #6EC1E4 !important;
  background: rgba(110,193,228,0.08) !important;
  color: #fff !important;
}

/* ─── GRILLE COMPOSITEURS VEDETTES ─── */
.kn-grid {
  display: grid !important;
  gap: 24px !important;
}
.kn-grid--vedettes {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
}

/* Carte compositeur */
.kn-card {
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: all .25s !important;
  position: relative;
}
.kn-card:hover {
  background: rgba(110,193,228,0.03) !important;
  border-color: rgba(110,193,228,0.25) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 32px -12px rgba(0,0,0,0.5);
}
.kn-card__link {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}

.kn-card__thumb {
  position: relative;
  aspect-ratio: 1 / 1;
  background: linear-gradient(145deg, #0d0420 0%, #1a0a35 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.kn-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s !important;
}
.kn-card:hover .kn-card__thumb img { transform: scale(1.05); }
.kn-card__thumb--placeholder { background: linear-gradient(145deg, #080d20 0%, #120f35 40%, #1c1845 100%); }
.kn-card__initial {
  font-family: 'Poppins', sans-serif;
  font-size: 64px;
  font-weight: 300;
  color: rgba(255,255,255,0.1);
}

/* Période bar — fix bug bandeau plein largeur */
.kn-card__periode-bar {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background: rgba(13,0,22,0.85) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

/* Body de carte */
.kn-card__body {
  padding: 18px 18px 22px !important;
}
.kn-card__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  display: flex;
  align-items: center;
  gap: 6px;
}
.kn-card__dates {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #6EC1E4 !important;
  margin: 0 !important;
  letter-spacing: 0.3px !important;
}
.kn-badge-femme {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(232,122,154,0.2);
  color: #e87a9a !important;
  font-size: 11px;
  border: 1px solid rgba(232,122,154,0.35);
}

/* ─── HARMONIE GLOBALE : sections existantes ─── */

/* Matrimoine — refait propre */
.kn-matrimoine {
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%, rgba(232,122,154,0.08) 0%, transparent 60%),
    #06000e !important;
  border-top: 1px solid rgba(232,122,154,0.10) !important;
  border-bottom: 1px solid rgba(232,122,154,0.10) !important;
}
.kn-matrimoine__inner {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr !important;
  gap: 80px !important;
  align-items: center !important;
}
@media (max-width: 900px) { .kn-matrimoine__inner { grid-template-columns: 1fr !important; gap: 40px !important; } }
.kn-matrimoine__text p:not(.kn-section-eyebrow) {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 0 0 28px !important;
}
.kn-matrimoine__noms {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.kn-matrimoine__nom {
  display: inline-block !important;
  padding: 9px 18px !important;
  background: rgba(232,122,154,0.05) !important;
  border: 1px solid rgba(232,122,154,0.25) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,0.78) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all .2s !important;
}
.kn-matrimoine__nom:hover {
  background: rgba(232,122,154,0.18) !important;
  border-color: #e87a9a !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.kn-matrimoine__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  background: linear-gradient(135deg, #e87a9a, #c45070) !important;
  color: #fff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  margin-top: 12px !important;
  transition: all .25s !important;
}
.kn-matrimoine__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px -4px rgba(232,122,154,0.5); color: #fff !important; }

/* Productions */
.kn-prod-tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  margin-bottom: 32px !important;
}
.kn-prod-tab {
  padding: 14px 28px !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  color: rgba(255,255,255,0.4) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .2s !important;
}
.kn-prod-tab:hover { color: rgba(255,255,255,0.7) !important; }
.kn-prod-tab.active {
  color: #fff !important;
  border-bottom-color: #6EC1E4 !important;
}
.kn-prod-panel { display: none !important; }
.kn-prod-panel.active { display: block !important; }

.kn-prod-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 20px !important;
}
.kn-prod-card {
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 4px !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  transition: all .25s !important;
}
.kn-prod-card:hover {
  border-color: rgba(110,193,228,0.25) !important;
  transform: translateY(-2px);
}
.kn-prod-card * { color: rgba(255,255,255,0.7); }
.kn-prod-card h3, .kn-prod-card__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.01em !important;
}
.kn-prod-card__year, .kn-prod-card .year {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6EC1E4 !important;
  letter-spacing: 1px !important;
}

/* Page-wrap : background uniforme dark */
.kn-page-wrap {
  background: #0a0014 !important;
  position: relative;
}

/* Welcome to WordPress — discret */
.kn-home-free { padding: 0 !important; }
.kn-home-free:empty { display: none !important; }
/* ═══════════════════════════════════════════════════════
   KANADENN — Sidebar enrichie (En écoute / Œuvres / Liens)
═══════════════════════════════════════════════════════ */

.kn-sidebar-card__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(110,193,228,0.65) !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(110,193,228,0.12);
}

/* ─── EN ÉCOUTE ─── */
.kn-sidebar-audio {
  position: relative;
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(110,193,228,0.08) 0%, transparent 60%),
    rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(110,193,228,0.15) !important;
}
.kn-sidebar-audio__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}
.kn-sidebar-audio__meta {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 0 18px !important;
}
.kn-sidebar-audio__progress {
  height: 3px;
  background: rgba(255,255,255,0.08);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 14px;
}
.kn-sidebar-audio__bar {
  height: 100%;
  width: 32%;
  background: linear-gradient(90deg, #6EC1E4, #8dd1ed);
  border-radius: 999px;
  transition: width .3s;
}
.kn-sidebar-audio__play {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #6EC1E4;
  border: none;
  color: #0a0014;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 3px;
  transition: all .2s;
  box-shadow: 0 4px 16px -4px rgba(110,193,228,0.5);
}
.kn-sidebar-audio__play:hover { background: #8dd1ed; transform: scale(1.05); }
.kn-sidebar-audio__play.is-playing svg { transform: scale(0); }

/* ─── ŒUVRES DISPONIBLES ─── */
.kn-sidebar-oeuvres {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kn-sidebar-oeuvre {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  text-decoration: none !important;
  transition: all .2s;
}
.kn-sidebar-oeuvres li:last-child .kn-sidebar-oeuvre { border-bottom: none; }
.kn-sidebar-oeuvre:hover { padding-left: 4px; }
.kn-sidebar-oeuvre__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.kn-sidebar-oeuvre__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kn-sidebar-oeuvre__sub {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.4) !important;
  letter-spacing: 0.2px;
}
.kn-sidebar-oeuvre__arrow {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(110,193,228,0.1);
  color: #6EC1E4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  transition: all .2s;
}
.kn-sidebar-oeuvre:hover .kn-sidebar-oeuvre__arrow {
  background: #6EC1E4;
  color: #0a0014;
}

/* ─── LIENS (relations) ─── */
.kn-sidebar-liens {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.kn-sidebar-liens li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  text-decoration: none !important;
  transition: all .2s;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.kn-sidebar-liens li:last-child a { border-bottom: none; }
.kn-sidebar-liens li a:hover { padding-left: 4px; }
.kn-sidebar-lien__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #6EC1E4;
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(110,193,228,0.6);
}
.kn-sidebar-lien__name {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.85) !important;
  flex: 1;
}
.kn-sidebar-liens li a:hover .kn-sidebar-lien__name { color: #fff !important; }
.kn-sidebar-lien__role {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  font-style: italic;
  color: rgba(255,255,255,0.35) !important;
  letter-spacing: 0.2px;
}

/* ─── Identité dl ─── */
.kn-dl { margin: 0; }
.kn-dl dt {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  margin-bottom: 4px;
}
.kn-dl dd {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.78) !important;
  margin: 0 0 14px;
}
.kn-dl dd:last-child { margin-bottom: 0; }

/* Mini carte */
.kn-map {
  width: 100%;
  height: 160px;
  border-radius: 3px;
  background: #0d0420;
  border: 1px solid rgba(255,255,255,0.06);
}
/* ═══════════════════════════════════════════════════════
   KANADENN UX IMPROVEMENTS
═══════════════════════════════════════════════════════ */

/* ─── Reset focus → focus-visible only ─── */
*:focus { outline: none; }
*:focus-visible {
  outline: 2px solid #6EC1E4 !important;
  outline-offset: 3px !important;
  border-radius: 3px;
  transition: outline-offset .1s;
}
.kn-nav__cta:focus-visible,
.kn-nav__link:focus-visible,
.kn-home-hero__btn:focus-visible {
  outline-offset: 4px !important;
}

/* ─── Smooth scroll ─── */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── Selection color ─── */
::selection {
  background: rgba(110, 193, 228, 0.35);
  color: #fff;
}
::-moz-selection {
  background: rgba(110, 193, 228, 0.35);
  color: #fff;
}

/* ─── Contraste : texte gris remonté à minima WCAG AA ─── */
p, li, span:not([class]), .kn-prose,
.kn-feature__desc, .kn-mission__lead, .kn-mission__card p,
.kn-footer__pitch, .kn-footer__manifesto, .kn-footer__nl-text {
  color: rgba(255,255,255,0.72) !important;
}
.kn-nav__stats, .kn-footer__legal-inner, .kn-footer__count {
  color: rgba(255,255,255,0.5);
}

/* ─── Scrollbar fine cohérente ─── */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(110,193,228,0.15);
  border-radius: 999px;
  transition: background .2s;
}
*::-webkit-scrollbar-thumb:hover { background: rgba(110,193,228,0.3); }

/* ─── Skip to content (accessibilité) ─── */
.kn-skip {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 9999;
  padding: 10px 18px;
  background: #6EC1E4;
  color: #0a0014;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 3px;
  transition: top .2s;
}
.kn-skip:focus { top: 16px; color: #0a0014 !important; }

/* ─── Reading progress bar ─── */
.kn-progress {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 2px;
  z-index: 999;
  background: transparent;
  pointer-events: none;
}
.kn-progress__bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #6EC1E4, #e8c87a, #e87a9a);
  transition: width .05s linear;
  box-shadow: 0 0 10px rgba(110,193,228,0.5);
}

/* ─── Back to top button ─── */
.kn-totop {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 480;
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(13,0,22,0.85);
  border: 1px solid rgba(110,193,228,0.3);
  backdrop-filter: blur(10px);
  color: #6EC1E4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: all .25s cubic-bezier(.65,.05,.36,1);
  box-shadow: 0 8px 24px -8px rgba(0,0,0,0.5);
}
.kn-totop.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.kn-totop:hover {
  background: #6EC1E4;
  color: #0a0014;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px -8px rgba(110,193,228,0.5);
}
@media (max-width: 540px) {
  .kn-totop { bottom: 16px; right: 16px; width: 44px; height: 44px; }
}

/* ─── Breadcrumb ─── */
.kn-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.4);
  margin-bottom: 24px;
  letter-spacing: 0.3px;
}
.kn-breadcrumb a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color .2s;
}
.kn-breadcrumb a:hover { color: #6EC1E4 !important; }
.kn-breadcrumb__sep { color: rgba(255,255,255,0.2); font-size: 10px; }
.kn-breadcrumb__current { color: #fff !important; font-weight: 600; }

/* ─── Loading skeleton ─── */
.kn-skeleton {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.kn-skeleton__card {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}
.kn-skeleton__card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(110,193,228,0.05) 50%,
    transparent 100%
  );
  animation: kn-shimmer 1.8s infinite;
}
.kn-skeleton__thumb {
  aspect-ratio: 1;
  background: linear-gradient(145deg, #0d0420 0%, #1a0a35 100%);
}
.kn-skeleton__body { padding: 18px; }
.kn-skeleton__line {
  height: 12px;
  background: rgba(255,255,255,0.05);
  border-radius: 2px;
  margin-bottom: 8px;
}
.kn-skeleton__line--short { width: 50%; }
@keyframes kn-shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* ─── Empty states ─── */
.kn-empty,
.kn-empty-state {
  padding: 48px 24px !important;
  text-align: center;
  background: rgba(255,255,255,0.015);
  border: 1px dashed rgba(255,255,255,0.08);
  border-radius: 4px;
}
.kn-empty__icon {
  font-size: 32px;
  opacity: 0.3;
  display: block;
  margin-bottom: 12px;
}
.kn-empty__title {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  margin: 0 0 6px;
}
.kn-empty__desc {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.35) !important;
  margin: 0;
}

/* ─── Cards : transitions plus douces partout ─── */
.kn-card, .kn-mission__card, .kn-feature,
.kn-prod-card, .kn-sidebar-card, .kn-page__article {
  transition: transform .35s cubic-bezier(.34,1.56,.64,1),
              border-color .25s,
              background .25s,
              box-shadow .25s !important;
}

/* ─── Buttons : ring focus ─── */
.kn-btn:focus-visible,
.kn-nav__cta:focus-visible,
.kn-home-hero__btn:focus-visible,
.kn-footer__nl-btn:focus-visible,
.kn-footer__btn:focus-visible {
  outline: 2px solid #6EC1E4 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(110,193,228,0.15) !important;
}

/* ─── Liens dans le texte (kn-prose) ─── */
.kn-prose a,
.kn-bio a {
  position: relative;
  color: #6EC1E4 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(110,193,228,0.3);
  padding-bottom: 1px;
  transition: all .2s;
}
.kn-prose a:hover,
.kn-bio a:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}

/* ─── Détail visuel : bordures de section plus douces ─── */
.kn-section + .kn-section,
section + section {
  border-top: 1px solid rgba(255,255,255,0.03);
}

/* ─── Améliorations mobile menu ─── */
@media (max-width: 900px) {
  .kn-nav__menu.is-open .kn-nav__link {
    animation: kn-slide-in .35s cubic-bezier(.65,.05,.36,1) backwards;
  }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(1) { animation-delay: .08s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(2) { animation-delay: .14s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(3) { animation-delay: .20s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(4) { animation-delay: .26s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(5) { animation-delay: .32s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(6) { animation-delay: .38s; }
  .kn-nav__menu.is-open .kn-nav__link:nth-child(7) { animation-delay: .44s; }
}
@keyframes kn-slide-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ─── Animations à l'apparition (intersection) ─── */
.kn-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s, transform .6s;
}
.kn-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─── Tag UX : section "Lectorat" / time read ─── */
.kn-fiche-meta-extra {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.35);
  margin-top: 12px;
  letter-spacing: 0.3px;
}
.kn-fiche-meta-extra span { display: inline-flex; align-items: center; gap: 6px; }
.kn-fiche-meta-extra svg { opacity: 0.6; }
/* ═══════════════════════════════════════════════════════
   KANADENN — Page Œuvres (catalogue + recherche AJAX)
═══════════════════════════════════════════════════════ */

.kn-oeuvres-page { padding: 0 0 80px; min-height: 80vh; }

.kn-recherche-header {
  padding: 80px 0 56px;
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(110,193,228,0.06) 0%, transparent 60%),
    linear-gradient(180deg, #0a0014 0%, #06000e 100%);
  border-bottom: 1px solid rgba(255,255,255,0.04);
  margin-bottom: 48px;
}
.kn-recherche-eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  margin: 0 0 18px !important;
}
.kn-recherche-titre {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  margin: 0 0 20px !important;
}
.kn-recherche-titre span { color: #6EC1E4 !important; }
.kn-recherche-lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.62) !important;
  margin: 0 !important;
  max-width: 720px;
}
.kn-recherche-lead strong { color: #e8c87a !important; font-weight: 600 !important; }

/* Searchbar */
.kn-searchbar {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 28px;
}
.kn-searchbar__input-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  padding: 0 22px;
  height: 56px;
  color: rgba(255,255,255,0.4);
  transition: all .25s;
}
.kn-searchbar__input-wrap:focus-within {
  border-color: rgba(110,193,228,0.4);
  background: rgba(255,255,255,0.06);
  color: #6EC1E4;
}
.kn-searchbar__input-wrap input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  color: #fff !important;
}
.kn-searchbar__input-wrap input::placeholder { color: rgba(255,255,255,0.35); }
.kn-searchbar__reset {
  padding: 0 22px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
  color: rgba(255,255,255,0.5);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.kn-searchbar__reset:hover {
  border-color: rgba(110,193,228,0.4);
  color: #6EC1E4;
}

/* Facettes */
.kn-facettes {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  padding-bottom: 28px;
  margin-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.kn-facette { display: flex; flex-direction: column; gap: 10px; }
.kn-facette__label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(110,193,228,0.7) !important;
}
.kn-facette__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kn-chip {
  padding: 8px 14px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px;
  color: rgba(255,255,255,0.6) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer;
  transition: all .2s;
}
.kn-chip:hover { border-color: rgba(110,193,228,0.3); color: #fff !important; }
.kn-chip.is-active {
  background: #6EC1E4 !important;
  border-color: #6EC1E4 !important;
  color: #0a0014 !important;
  font-weight: 700 !important;
}
.kn-chip--toggle { background: rgba(122,232,184,0.05); border-color: rgba(122,232,184,0.2); color: #7ae8b8 !important; }
.kn-chip--toggle.is-active { background: #7ae8b8 !important; border-color: #7ae8b8 !important; color: #0a0014 !important; }

.kn-facette__select {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px;
  color: #fff;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  padding: 10px 14px;
  min-width: 240px;
  cursor: pointer;
}
.kn-facette__select option { background: #0d0016; color: #fff; }

/* Results meta */
.kn-results-meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
#kn-oeuvres-count { color: #e8c87a; }

/* Grille */
.kn-results-oeuvres {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

/* Card œuvre */
.kn-oeuvre-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  padding: 20px 22px;
  transition: all .25s;
  position: relative;
  overflow: hidden;
}
.kn-oeuvre-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--gc, #6EC1E4);
  opacity: 0;
  transition: opacity .2s;
}
.kn-oeuvre-card[data-genre="melodie"] { --gc: #6EC1E4; }
.kn-oeuvre-card[data-genre="opera"] { --gc: #e87a9a; }
.kn-oeuvre-card[data-genre="symphonique"] { --gc: #e8c87a; }
.kn-oeuvre-card[data-genre="chambre"] { --gc: #7ae8b8; }
.kn-oeuvre-card[data-genre="liturgique"] { --gc: #b8a0f0; }
.kn-oeuvre-card[data-genre="choeur"] { --gc: #f0a060; }
.kn-oeuvre-card[data-genre="piano"] { --gc: #a8dcf0; }
.kn-oeuvre-card:hover {
  background: rgba(110,193,228,0.04);
  border-color: rgba(110,193,228,0.2);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -8px rgba(0,0,0,0.4);
}
.kn-oeuvre-card:hover::before { opacity: 1; }

.kn-oeuvre-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.kn-oeuvre-card__genre {
  font-family: 'Poppins', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  padding: 3px 9px !important;
  border-radius: 2px !important;
  color: var(--gc, #6EC1E4) !important;
  background: rgba(255,255,255,0.04);
  border: 1px solid currentColor;
  line-height: 1.2 !important;
}
.kn-oeuvre-card__audio {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: rgba(122,232,184,0.15);
  color: #7ae8b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
}

.kn-oeuvre-card__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}
.kn-oeuvre-card__comp {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
  margin: 0 0 8px !important;
}
.kn-oeuvre-card__comp a {
  color: #6EC1E4 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(110,193,228,0.3);
  transition: border-color .2s;
}
.kn-oeuvre-card__comp a:hover { border-bottom-color: #6EC1E4; color: #fff !important; }
.kn-oeuvre-card__date {
  color: #e8c87a !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
}
.kn-oeuvre-card__details {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}
.kn-oeuvre-card__details em {
  font-style: normal;
  font-weight: 500;
  color: rgba(110,193,228,0.65);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 1px;
}

/* Pagination */
.kn-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
}
.kn-page-btn {
  padding: 10px 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(110,193,228,0.2);
  border-radius: 3px;
  color: #6EC1E4 !important;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.kn-page-btn:hover { background: rgba(110,193,228,0.1); border-color: #6EC1E4; color: #fff !important; }
.kn-page-info {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}

/* No results */
.kn-no-results {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 24px;
  background: rgba(255,255,255,0.015);
  border: 1px dashed rgba(255,255,255,0.08);
  border-radius: 4px;
}
.kn-no-results strong {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  color: #fff;
  display: block;
  margin-bottom: 8px;
}
.kn-no-results span {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
}

@media (max-width: 640px) {
  .kn-recherche-header { padding: 48px 0 32px; margin-bottom: 24px; }
  .kn-searchbar { flex-direction: column; }
  .kn-facettes { flex-direction: column; gap: 16px; }
  .kn-facette__select { min-width: 100%; }
  .kn-results-oeuvres { grid-template-columns: 1fr; }
}
/* ═══════════════════════════════════════════════════════
   FICHE ŒUVRE individuelle
═══════════════════════════════════════════════════════ */

.kn-fiche-oeuvre {
  padding: 0 0 100px;
  --gc: #6EC1E4;
}

.kn-fiche-oeuvre__hero {
  padding: 32px 0 56px;
  margin-bottom: 48px;
  background:
    radial-gradient(ellipse 80% 100% at 50% 0%, color-mix(in srgb, var(--gc) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #0a0014 0%, #06000e 100%);
  border-bottom: 1px solid color-mix(in srgb, var(--gc) 15%, transparent);
  position: relative;
}
.kn-fiche-oeuvre__genre {
  display: inline-block;
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--gc) !important;
  background: color-mix(in srgb, var(--gc) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--gc) 35%, transparent);
  padding: 5px 14px !important;
  border-radius: 2px !important;
  margin-bottom: 18px !important;
}
.kn-fiche-oeuvre__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(34px, 5vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  margin: 0 0 16px !important;
}
.kn-fiche-oeuvre__comp {
  font-family: 'Manrope', sans-serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.65) !important;
  margin: 0 !important;
}
.kn-fiche-oeuvre__comp a {
  color: #fff !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.3);
  transition: border-color .2s;
}
.kn-fiche-oeuvre__comp a:hover { border-bottom-color: var(--gc); }
.kn-fiche-oeuvre__comp span { color: rgba(255,255,255,0.45); }

.kn-fiche-oeuvre__body {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}
@media (max-width: 900px) {
  .kn-fiche-oeuvre__body { grid-template-columns: 1fr; gap: 32px; }
}

.kn-fiche-oeuvre__main > * + * { margin-top: 40px; }

.kn-fiche-oeuvre__section-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--gc) !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--gc) 18%, transparent);
}

.kn-fiche-oeuvre__iframe-wrap {
  aspect-ratio: 16/9;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}
.kn-fiche-oeuvre__iframe-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }

.kn-fiche-oeuvre__card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  padding: 24px;
  margin-bottom: 16px;
}
.kn-fiche-oeuvre__related {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kn-fiche-oeuvre__related li { border-bottom: 1px solid rgba(255,255,255,0.05); }
.kn-fiche-oeuvre__related li:last-child { border-bottom: none; }
.kn-fiche-oeuvre__related li a {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 0;
  text-decoration: none !important;
  transition: padding-left .2s;
}
.kn-fiche-oeuvre__related li a:hover { padding-left: 4px; }
.kn-fiche-oeuvre__related-title {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #fff !important;
}
.kn-fiche-oeuvre__related-meta {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.4) !important;
}
.kn-fiche-oeuvre__related-all {
  display: inline-block;
  margin-top: 16px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--gc) !important;
  text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════
   /œuvres/ — filtres supplémentaires (voix + tri)
═══════════════════════════════════════════════════════ */

.kn-facette--sort .kn-facette__select { min-width: 200px; }

.kn-facette__chips--voix .kn-chip {
  background: rgba(232,200,122,0.05);
  border-color: rgba(232,200,122,0.2);
  color: #e8c87a !important;
}
.kn-facette__chips--voix .kn-chip.is-active {
  background: #e8c87a !important;
  border-color: #e8c87a !important;
  color: #0a0014 !important;
}
/* ═══════════════════════════════════════════════════════
   FRISE CHRONOLOGIQUE
═══════════════════════════════════════════════════════ */

.kn-frise {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(110,193,228,0.04) 0%, transparent 60%),
    #0a0014;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  margin: 32px 0;
  overflow: hidden;
}

.kn-frise__controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  flex-wrap: wrap;
  gap: 16px;
}
.kn-frise__count {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #e8c87a !important;
  margin: 0 !important;
}
.kn-frise__filters { display: flex; gap: 8px; }
.kn-frise__filter {
  padding: 7px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px;
  color: rgba(255,255,255,0.6);
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.kn-frise__filter:hover { border-color: rgba(110,193,228,0.3); color: #fff; }
.kn-frise__filter.is-active {
  background: #6EC1E4;
  border-color: #6EC1E4;
  color: #0a0014;
}

.kn-frise__scroll {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  scroll-behavior: smooth;
}
.kn-frise__scroll:active { cursor: grabbing; }
.kn-frise__inner {
  position: relative;
  height: 420px;
  background: linear-gradient(180deg, transparent 0%, rgba(110,193,228,0.02) 50%, transparent 100%);
}
.kn-frise__tick {
  position: absolute;
  top: 0; bottom: 0;
  border-left: 1px dashed rgba(255,255,255,0.06);
  width: 1px;
}
.kn-frise__tick span {
  position: absolute;
  top: 8px;
  left: 6px;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.3);
}
.kn-frise__bar {
  position: absolute;
  height: 22px;
  min-width: 30px;
  border-radius: 11px;
  background: #6EC1E4;
  display: flex;
  align-items: center;
  padding: 0 10px;
  text-decoration: none !important;
  transition: transform .15s, box-shadow .2s;
  cursor: pointer;
  overflow: hidden;
}
.kn-frise__bar:hover {
  transform: scale(1.04);
  z-index: 10;
  box-shadow: 0 6px 20px -4px rgba(0,0,0,0.5), 0 0 0 2px rgba(255,255,255,0.4);
}
.kn-frise__bar-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: #0a0014;
  white-space: nowrap;
  letter-spacing: 0.2px;
}
.kn-frise__bar.is-femme { background: #e87a9a; }
.kn-frise__bar.is-femme::before {
  content: '♀';
  margin-right: 4px;
  font-size: 10px;
  color: #0a0014;
  font-weight: 700;
}

.kn-frise__legend {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
  padding: 20px 28px;
  border-top: 1px solid rgba(255,255,255,0.05);
  background: rgba(0,0,0,0.2);
}
.kn-frise__legend-item {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,0.6);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.kn-frise__legend-item::before {
  content: '';
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--c);
  display: inline-block;
}

/* ═══════════════════════════════════════════════════════
   GRAPHE D'INFLUENCES
═══════════════════════════════════════════════════════ */

.kn-graph-wrap {
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(184,160,240,0.04) 0%, transparent 60%),
    #0a0014;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  margin: 32px 0;
  overflow: hidden;
}
.kn-graph-info {
  padding: 20px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.kn-graph-info p {
  margin: 0 0 4px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.5) !important;
}
.kn-graph-info strong { color: #6EC1E4; font-weight: 700; }
.kn-graph-hint {
  font-size: 11px !important;
  color: rgba(255,255,255,0.35) !important;
  font-style: italic;
}
.kn-graph {
  width: 100%;
  height: 640px;
  background: transparent;
}
/* ═══════════════════════════════════════════════════════
   FORMULAIRE CONTRIBUTION
═══════════════════════════════════════════════════════ */

.kn-contrib-form {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  padding: 32px;
  margin: 24px 0;
}
.kn-contrib-row { margin-bottom: 20px; }
.kn-contrib-row--2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 600px) { .kn-contrib-row--2 { grid-template-columns: 1fr; } }
.kn-contrib-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kn-contrib-form label span {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(110,193,228,0.7) !important;
}
.kn-contrib-form input,
.kn-contrib-form textarea,
.kn-contrib-form select {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 3px !important;
  padding: 12px 14px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  color: #fff !important;
  outline: none !important;
  transition: all .2s !important;
  width: 100%;
}
.kn-contrib-form input:focus,
.kn-contrib-form textarea:focus,
.kn-contrib-form select:focus {
  border-color: rgba(110,193,228,0.5) !important;
  background: rgba(255,255,255,0.06) !important;
}
.kn-contrib-form textarea { resize: vertical; min-height: 120px; }
.kn-contrib-form select option { background: #0d0016; color: #fff; }
.kn-contrib-submit {
  background: #6EC1E4 !important;
  color: #0a0014 !important;
  border: none !important;
  padding: 14px 28px !important;
  border-radius: 3px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .2s !important;
}
.kn-contrib-submit:hover {
  background: #8dd1ed !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px -4px rgba(110,193,228,0.5);
}
.kn-contrib-legal {
  margin-top: 14px !important;
  font-size: 11px !important;
  color: rgba(255,255,255,0.4) !important;
  font-style: italic !important;
}
.kn-contrib-msg {
  padding: 16px 20px;
  border-radius: 3px;
  margin-bottom: 20px;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
}
.kn-contrib-msg--success {
  background: rgba(122,232,184,0.1) !important;
  border-left: 3px solid #7ae8b8;
  color: #7ae8b8 !important;
}
.kn-contrib-msg--error {
  background: rgba(232,122,154,0.1) !important;
  border-left: 3px solid #e87a9a;
  color: #e87a9a !important;
}

/* ═══ Labels "Musique de chambre" partout ═══ */
.kn-chip[data-value="chambre"]::after { content: ""; }
/* (retiré: causait "Musique de Musique de chambre") */

.kn-instr-tag {
  display: inline-block;
  background: rgba(110,193,228,0.08);
  border: 1px solid rgba(110,193,228,0.2);
  color: #6EC1E4 !important;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 999px;
  margin: 2px 4px 2px 0;
  letter-spacing: 0.2px;
}
/* ═══════════════════════════════════════════════════════
   PAGE PRODUCTIONS (Nos productions)
═══════════════════════════════════════════════════════ */

.kn-productions { padding: 0 0 80px; min-height: 80vh; }
.kn-productions__header {
  padding: 80px 0 56px;
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(232,200,122,0.06) 0%, transparent 60%),
    linear-gradient(180deg, #0a0014 0%, #06000e 100%);
  border-bottom: 1px solid rgba(255,255,255,0.04);
  margin-bottom: 48px;
}
.kn-productions__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important;
  color: #e8c87a !important; margin: 0 0 18px !important;
}
.kn-productions__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 700 !important; line-height: 1.05 !important;
  letter-spacing: -0.03em !important; color: #fff !important;
  margin: 0 0 20px !important;
}
.kn-productions__title span { color: #e8c87a !important; }
.kn-productions__lead {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important; font-weight: 300 !important;
  color: rgba(255,255,255,0.65) !important; margin: 0 !important;
}
.kn-productions__lead strong { color: #fff !important; font-weight: 600 !important; }

/* Items */
.kn-prod-item {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  padding: 24px;
  margin-bottom: 24px;
  transition: all .25s;
}
.kn-prod-item:hover {
  background: rgba(110,193,228,0.04);
  border-color: rgba(110,193,228,0.2);
}
@media (max-width: 800px) {
  .kn-prod-item { grid-template-columns: 1fr; gap: 20px; }
}
.kn-prod-item__media {
  border-radius: 3px;
  overflow: hidden;
  background: #000;
}
.kn-prod-item__iframe-wrap {
  aspect-ratio: 16/9;
  background: #000;
}
.kn-prod-item__iframe-wrap iframe { width: 100%; height: 100%; border: 0; display: block; }
.kn-prod-item__media--placeholder {
  aspect-ratio: 16/9;
  background: linear-gradient(145deg, #1a0a35, #0d0420);
  display: flex; align-items: center; justify-content: center;
  font-size: 64px; opacity: 0.4;
}
.kn-prod-item__media--disque { background: linear-gradient(145deg, #2a1c00, #1a1000); }

.kn-prod-item__body { display: flex; flex-direction: column; }
.kn-prod-item__head {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.kn-prod-item__type {
  font-family: 'Poppins', sans-serif !important;
  font-size: 9px !important; font-weight: 700 !important;
  letter-spacing: 2px !important; text-transform: uppercase !important;
  color: #6EC1E4 !important;
  background: rgba(110,193,228,0.1);
  border: 1px solid rgba(110,193,228,0.3);
  padding: 3px 10px;
  border-radius: 2px;
}
.kn-prod-item__type--disque {
  color: #e8c87a !important;
  background: rgba(232,200,122,0.1);
  border-color: rgba(232,200,122,0.3);
}
.kn-prod-item__year {
  font-family: 'Poppins', sans-serif;
  font-size: 12px; font-weight: 600;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.4);
}
.kn-prod-item__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 24px !important; font-weight: 600 !important;
  line-height: 1.2 !important; letter-spacing: -0.02em !important;
  color: #fff !important; margin: 0 0 16px !important;
}
.kn-prod-item__meta {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important; font-weight: 400 !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 0 6px !important; line-height: 1.5 !important;
}
.kn-prod-item__meta strong {
  color: rgba(110,193,228,0.7);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-right: 4px;
}
.kn-prod-item__mention {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  color: #e8c87a !important;
  margin: 8px 0 !important;
  letter-spacing: 0.5px;
}
.kn-prod-item__desc {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important; font-weight: 300 !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 12px 0 16px !important;
}
.kn-prod-item__link {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  padding: 10px 18px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  color: #6EC1E4 !important;
  border: 1px solid rgba(110,193,228,0.3);
  border-radius: 3px;
  text-decoration: none !important;
  transition: all .25s !important;
  align-self: flex-start;
}
.kn-prod-item__link:hover {
  background: rgba(110,193,228,0.1);
  border-color: #6EC1E4;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════
   ARCHIVES (taxonomies + CPT)
═══════════════════════════════════════════════════════ */

.kn-archive { padding: 0 0 80px; min-height: 80vh; --accent: #6EC1E4; }
.kn-archive__header {
  padding: 56px 0 48px;
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #0a0014 0%, #06000e 100%);
  border-bottom: 1px solid rgba(255,255,255,0.04);
  margin-bottom: 40px;
}
.kn-archive__eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important;
  color: var(--accent) !important; margin: 0 0 14px !important;
}
.kn-archive__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 700 !important; line-height: 1.05 !important;
  letter-spacing: -0.025em !important; color: #fff !important;
  margin: 0 0 16px !important;
}
.kn-archive__desc {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important; line-height: 1.7 !important;
  color: rgba(255,255,255,0.65) !important; max-width: 760px;
  margin: 0 0 12px !important;
}
.kn-archive__count {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important; margin: 0 !important;
}
.kn-archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.kn-archive__pagination {
  display: flex; justify-content: center;
  margin-top: 48px;
  gap: 8px;
}
.kn-archive__pagination .page-numbers,
.kn-archive__pagination a {
  display: inline-flex;
  padding: 10px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 3px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px;
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: all .2s;
}
.kn-archive__pagination .page-numbers.current {
  background: var(--accent);
  border-color: var(--accent);
  color: #0a0014 !important;
  font-weight: 700;
}
.kn-archive__pagination a:hover {
  border-color: var(--accent);
  color: #fff !important;
}
.kn-breadcrumb__sep-current {
  color: rgba(255,255,255,0.55);
}

/* Paragraphes bio : espacement */
.kn-hero-compositeur__bio-courte p,
.kn-prose p {
  margin: 0 0 1.2em !important;
  line-height: 1.75 !important;
}
.kn-hero-compositeur__bio-courte p:last-child,
.kn-prose p:last-child { margin-bottom: 0 !important; }
/* ═══════════════════════════════════════════════════════
   PRODUCTIONS v2 — Cards riches avec playlist
═══════════════════════════════════════════════════════ */

.kn-prod-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 6px;
  padding: 32px;
  margin-bottom: 32px;
  transition: border-color .25s;
}
.kn-prod-card:hover { border-color: rgba(110,193,228,0.18); }

.kn-prod-card__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.kn-prod-card__type {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 4px 12px;
  border-radius: 2px;
  background: rgba(110,193,228,0.1);
  border: 1px solid rgba(110,193,228,0.3);
  color: #6EC1E4 !important;
}
.kn-prod-card__type--disque { background: rgba(232,200,122,0.1); border-color: rgba(232,200,122,0.3); color: #e8c87a !important; }
.kn-prod-card__type--clip { background: rgba(232,122,154,0.1); border-color: rgba(232,122,154,0.3); color: #e87a9a !important; }
.kn-prod-card__type--film-partenaire { background: rgba(184,160,240,0.1); border-color: rgba(184,160,240,0.3); color: #b8a0f0 !important; }
.kn-prod-card__year {
  font-family: 'Poppins', sans-serif;
  font-size: 13px; font-weight: 600;
  color: rgba(255,255,255,0.5);
  letter-spacing: 1px;
}
.kn-prod-card__mention {
  font-family: 'Poppins', sans-serif;
  font-size: 11px; font-weight: 600;
  color: #e8c87a;
  letter-spacing: 0.5px;
}

.kn-prod-card__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
  margin: 0 0 24px !important;
}

.kn-prod-card__player {
  margin-bottom: 24px;
  border-radius: 4px;
  overflow: hidden;
  background: #000;
}
.kn-prod-card__iframe-wrap {
  aspect-ratio: 16/9;
  background: #000;
}
.kn-prod-card__iframe-wrap iframe {
  width: 100%; height: 100%; border: 0; display: block;
}
.kn-prod-card__cover {
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background-color: #1a0a35;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  position: relative;
}
.kn-prod-card__cover::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.4) 100%);
}
.kn-prod-card__cover span {
  position: relative; z-index: 1;
  font-size: 64px;
  opacity: 0.6;
}

.kn-prod-card__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
  padding: 16px 18px;
  background: rgba(0,0,0,0.2);
  border-radius: 3px;
  border-left: 2px solid rgba(110,193,228,0.25);
}
.kn-prod-card__row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.kn-prod-card__row-key {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(110,193,228,0.65) !important;
  min-width: 110px;
  flex-shrink: 0;
}
.kn-prod-card__row-val {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.78) !important;
  flex: 1;
  min-width: 220px;
}

.kn-prod-card__desc {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.6) !important;
  margin: 0 0 20px !important;
}

.kn-prod-card__link {
  display: inline-flex;
  align-items: center;
  padding: 12px 22px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #6EC1E4 !important;
  border: 1px solid rgba(110,193,228,0.35);
  border-radius: 3px;
  text-decoration: none !important;
  transition: all .25s !important;
}
.kn-prod-card__link:hover {
  background: rgba(110,193,228,0.1);
  border-color: #6EC1E4;
  color: #fff !important;
}

/* Playlist */
.kn-prod-card__playlist {
  margin-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 20px;
}
.kn-prod-card__playlist summary {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  list-style: none;
  user-select: none;
}
.kn-prod-card__playlist summary::-webkit-details-marker { display: none; }
.kn-prod-card__playlist-label {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e8c87a;
}
.kn-prod-card__playlist-toggle {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.45);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.kn-prod-card__playlist[open] .kn-prod-card__playlist-toggle::after { content: ' ▲'; }
.kn-prod-card__playlist:not([open]) .kn-prod-card__playlist-toggle::after { content: ' ▼'; }
.kn-prod-card__playlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.kn-prod-card__playlist-item {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 3px;
  overflow: hidden;
  text-decoration: none !important;
  transition: all .2s;
}
.kn-prod-card__playlist-item:hover {
  border-color: rgba(110,193,228,0.3);
  transform: translateY(-2px);
}
.kn-prod-card__playlist-thumb {
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background-color: #0d0420;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kn-prod-card__playlist-thumb::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.2);
  transition: background .2s;
}
.kn-prod-card__playlist-item:hover .kn-prod-card__playlist-thumb::after { background: rgba(0,0,0,0); }
.kn-prod-card__playlist-play {
  position: relative; z-index: 1;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(110,193,228,0.9);
  color: #0a0014;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  padding-left: 3px;
  opacity: 0.9;
}
.kn-prod-card__playlist-info {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kn-prod-card__playlist-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.4 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kn-prod-card__playlist-comp {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  color: rgba(110,193,228,0.7) !important;
  letter-spacing: 0.2px;
}

@media (max-width: 720px) {
  .kn-prod-card { padding: 20px; }
  .kn-prod-card__playlist-grid { grid-template-columns: 1fr 1fr; }
  .kn-prod-card__row { flex-direction: column; gap: 2px; }
  .kn-prod-card__row-key { min-width: 0; }
}
/* ═══════════════════════════════════════════════════════
   HERO — Proportions resserrées (cf. mockup)
═══════════════════════════════════════════════════════ */

.kn-home-hero {
  min-height: calc(100vh - 72px) !important;
  padding: 24px 24px 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.kn-home-hero__content,
.kn-home-hero__inner {
  gap: 18px !important;
  max-width: 1100px !important;
}

/* Eyebrow plus discret */
.kn-home-hero__eyebrow,
.kn-home-hero__pretitle {
  font-size: 11px !important;
  letter-spacing: 3.5px !important;
  margin: 0 0 4px !important;
}

/* Titre légèrement plus petit pour rentrer dans le viewport */
.kn-home-hero__title {
  font-size: clamp(56px, 11vw, 160px) !important;
  margin: 0 !important;
  line-height: 0.92 !important;
}

/* Tagline tighter */
.kn-home-hero__tagline,
.kn-home-hero__lead {
  font-size: 17px !important;
  margin: 12px 0 0 !important;
}
.kn-home-hero__sub {
  font-size: 15px !important;
  margin: -4px 0 0 !important;
}

/* CTAs */
.kn-home-hero__ctas {
  gap: 12px !important;
  margin-top: 24px !important;
}
.kn-home-hero__btn {
  height: 50px !important;
  padding: 0 26px !important;
  font-size: 11px !important;
}

/* Stats row : reserré */
.kn-home-hero__stats {
  gap: 56px !important;
  margin-top: 36px !important;
}
.kn-stat__num,
.kn-home-hero__stat-num {
  font-size: 44px !important;
}

@media (max-height: 800px) {
  .kn-home-hero { padding: 16px 24px 28px !important; }
  .kn-home-hero__content { gap: 14px !important; }
  .kn-home-hero__title { font-size: clamp(48px, 9vw, 120px) !important; }
  .kn-home-hero__stats { margin-top: 24px !important; gap: 40px !important; }
  .kn-stat__num { font-size: 36px !important; }
}
@media (max-height: 700px) {
  .kn-home-hero__title { font-size: clamp(40px, 7.5vw, 100px) !important; }
  .kn-home-hero__sub { display: none !important; }
}
@media (max-width: 720px) {
  .kn-home-hero { padding: 16px 16px 32px !important; }
  .kn-home-hero__stats { gap: 24px !important; }
  .kn-stat__num { font-size: 28px !important; }
  .kn-home-hero__btn { width: 100% !important; }
}

/* ═══════════════════════════════════════════════════════
   CARTE SONORE — Pleine largeur
═══════════════════════════════════════════════════════ */

.page-template-default.page,
body.page-carte-sonore .kn-page__article,
body.page-carte-sonore .kn-page__container {
  max-width: none !important;
}

body.page-carte-sonore .kn-page {
  padding: 0 0 60px !important;
}
body.page-carte-sonore .kn-page__container {
  padding: 0 !important;
}
body.page-carte-sonore .kn-page__article {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
body.page-carte-sonore .kn-page__article::before { display: none !important; }
body.page-carte-sonore .kn-page__header {
  max-width: 1480px;
  margin: 0 auto;
  padding: 56px 48px 32px;
  text-align: center;
  border-bottom: none;
}
body.page-carte-sonore .kn-page__content {
  max-width: none;
  padding: 0;
}

/* Wrapper carte plein écran */
body.page-carte-sonore #k-carte-wrapper {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  height: 78vh !important;
  min-height: 600px !important;
  max-height: 900px !important;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  grid-template-columns: 1fr 380px !important;
}
@media (max-width: 1024px) {
  body.page-carte-sonore #k-carte-wrapper {
    grid-template-columns: 1fr !important;
    grid-template-rows: 60vh auto !important;
    height: auto !important;
  }
}
body.page-carte-sonore #k-carte-panel {
  padding: 32px !important;
}

/* Bonus interview */
.kn-prod-card__bonus {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(232,200,122,0.18);
}
.kn-prod-card__bonus-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.85) !important;
  margin: 0 0 14px !important;
  display: flex;
  align-items: center;
  gap: 12px;
}
.kn-prod-card__bonus-tag {
  display: inline-block;
  padding: 4px 11px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #e8c87a !important;
  background: rgba(232,200,122,0.12);
  border: 1px solid rgba(232,200,122,0.4);
  border-radius: 2px;
}
/* ═══════════════════════════════════════════════════════
   CARTE SONORE — Clusters
═══════════════════════════════════════════════════════ */

.k-marker.is-cluster {
  border-width: 2.5px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  background: var(--mc) !important;
  box-shadow: 0 0 0 4px rgba(0,0,0,0.4), 0 0 16px var(--mc) !important;
  position: relative;
}
.k-marker.is-cluster::after {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1.5px solid var(--mc);
  opacity: 0.35;
  animation: kn-pulse 2.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes kn-pulse {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50%      { opacity: 0.1;  transform: scale(1.2); }
}

/* ─── Liste cluster dans le panel ─── */
.k-c-cluster-head {
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.k-c-cluster-eyebrow {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(110,193,228,0.7) !important;
  margin: 0 0 8px !important;
}
.k-c-cluster-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}
.k-c-cluster-femmes {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 !important;
}
.k-c-cluster-femmes strong {
  color: #e87a9a;
  font-weight: 600;
}

.k-c-cluster-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.k-c-cluster-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 3px;
  cursor: pointer;
  transition: all .2s;
}
.k-c-cluster-item:hover {
  background: rgba(110,193,228,0.08);
  border-color: rgba(110,193,228,0.3);
  transform: translateX(2px);
}
.k-c-cluster-thumb {
  width: 44px; height: 44px;
  flex-shrink: 0;
  border-radius: 3px;
  overflow: hidden;
  background: #1a0838;
  display: flex; align-items: center; justify-content: center;
}
.k-c-cluster-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.k-c-cluster-initial {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--mc, #6EC1E4);
}
.k-c-cluster-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.k-c-cluster-nom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-c-cluster-femme {
  margin-left: 4px;
  color: #e87a9a;
  font-size: 12px;
  font-weight: 600;
}
.k-c-cluster-period {
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
}
.k-c-cluster-arrow {
  color: rgba(255,255,255,0.3);
  font-size: 16px;
  transition: color .2s, transform .2s;
}
.k-c-cluster-item:hover .k-c-cluster-arrow {
  color: #6EC1E4;
  transform: translateX(3px);
}

/* Bouton retour à la liste */
.k-c-back {
  display: inline-block;
  background: none;
  border: 1px solid rgba(110,193,228,0.3);
  border-radius: 3px;
  padding: 6px 12px;
  color: #6EC1E4 !important;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  margin-bottom: 18px;
  transition: all .2s;
}
.k-c-back:hover {
  background: rgba(110,193,228,0.1);
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════
   PRODUCTIONS — Améliorations visuelles
═══════════════════════════════════════════════════════ */

/* Header de page plus généreux */
.kn-productions__header {
  padding: 96px 0 64px !important;
  background:
    radial-gradient(ellipse 50% 80% at 30% 0%, rgba(110,193,228,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 60% 70% at 80% 30%, rgba(232,200,122,0.06) 0%, transparent 55%),
    linear-gradient(180deg, #0a0014 0%, #06000e 100%) !important;
}

/* Tabs : plus élégants, plus larges */
.kn-prod-tabs {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  margin: 0 0 56px !important;
  padding: 0 !important;
}
.kn-prod-tab {
  background: transparent !important;
  border: none !important;
  padding: 18px 32px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
  position: relative;
  transition: all .25s !important;
}
.kn-prod-tab:hover { color: rgba(255,255,255,0.85) !important; }
.kn-prod-tab.active {
  color: #fff !important;
  border-bottom-color: #6EC1E4 !important;
}

/* Cards : spacing + structure améliorée */
.kn-prod-card {
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(110,193,228,0.03) 0%, transparent 60%),
    rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 8px !important;
  padding: 40px !important;
  margin-bottom: 48px !important;
  position: relative;
  overflow: hidden;
}
.kn-prod-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(110,193,228,0.4), transparent);
  opacity: 0.6;
}
.kn-prod-card[data-genre], /* utiliser le type */
.kn-prod-card:has(.kn-prod-card__type--disque)::before {
  background: linear-gradient(90deg, transparent, rgba(232,200,122,0.4), transparent);
}

/* Header card */
.kn-prod-card__header {
  margin-bottom: 22px !important;
  padding-bottom: 16px;
  border-bottom: 1px dashed rgba(255,255,255,0.04);
}

/* Titre plus impact */
.kn-prod-card__title {
  font-size: clamp(28px, 3.5vw, 38px) !important;
  margin-bottom: 28px !important;
}

/* Iframe wrap avec ombre */
.kn-prod-card__player {
  box-shadow: 0 12px 40px -12px rgba(0,0,0,0.6);
  border-radius: 6px;
}

/* Meta box plus structurée */
.kn-prod-card__meta {
  background: rgba(0,0,0,0.28) !important;
  border-radius: 4px !important;
  border-left: 3px solid #6EC1E4 !important;
  padding: 18px 22px !important;
  margin: 24px 0 !important;
}
.kn-prod-card__type--disque ~ * .kn-prod-card__meta,
.kn-prod-card:has(.kn-prod-card__type--disque) .kn-prod-card__meta {
  border-left-color: #e8c87a !important;
}
.kn-prod-card__row {
  align-items: baseline !important;
  padding: 4px 0;
}
.kn-prod-card__row + .kn-prod-card__row {
  border-top: 1px solid rgba(255,255,255,0.03);
  padding-top: 8px;
}
.kn-prod-card__row-key {
  min-width: 130px !important;
}

/* Description : plus aérée */
.kn-prod-card__desc {
  font-size: 15px !important;
  line-height: 1.8 !important;
  padding: 8px 0 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}

/* Playlist : ouverte par défaut + plus élégante */
.kn-prod-card__playlist {
  margin-top: 32px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
.kn-prod-card__playlist summary {
  padding: 6px 0 14px !important;
}
.kn-prod-card__playlist-label {
  font-size: 13px !important;
  letter-spacing: 2.5px !important;
  color: #e8c87a !important;
}

/* Playlist grid : items plus grands, plus de respiration */
.kn-prod-card__playlist-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 24px !important;
}
.kn-prod-card__playlist-item {
  background: rgba(255,255,255,0.03) !important;
  border-radius: 5px !important;
  overflow: hidden;
}
.kn-prod-card__playlist-item:hover {
  background: rgba(110,193,228,0.06) !important;
  box-shadow: 0 8px 24px -8px rgba(110,193,228,0.3);
}
.kn-prod-card__playlist-info {
  padding: 12px 14px 14px !important;
  min-height: 64px;
}
.kn-prod-card__playlist-title {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Bonus : plus visible */
.kn-prod-card__bonus {
  margin-top: 32px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(232,200,122,0.18) !important;
  position: relative;
}
.kn-prod-card__bonus::before {
  content: '';
  position: absolute;
  top: -1px; left: 0;
  width: 60px; height: 2px;
  background: #e8c87a;
}
.kn-prod-card__bonus-label {
  font-size: 14px !important;
  margin-bottom: 18px !important;
}

/* Espace entre Films panel et Disques panel quand on switch */
.kn-prod-panel {
  padding-top: 8px;
}

/* Card disque : accent doré sur la barre du top */
.kn-prod-card:has(.kn-prod-card__type--disque) {
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(232,200,122,0.04) 0%, transparent 60%),
    rgba(255,255,255,0.025) !important;
}
.kn-prod-card:has(.kn-prod-card__type--clip) {
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(232,122,154,0.04) 0%, transparent 60%),
    rgba(255,255,255,0.025) !important;
}
.kn-prod-card:has(.kn-prod-card__type--clip)::before {
  background: linear-gradient(90deg, transparent, rgba(232,122,154,0.4), transparent);
}

@media (max-width: 720px) {
  .kn-prod-card { padding: 24px !important; margin-bottom: 32px !important; }
  .kn-prod-card__title { font-size: 24px !important; margin-bottom: 18px !important; }
  .kn-prod-card__meta { padding: 14px !important; }
}

/* ═══════════════════════════════════════════════════════
   HERO — Réduction finale du titre + nettoyage
═══════════════════════════════════════════════════════ */

.kn-home-hero__title {
  font-size: clamp(48px, 8.5vw, 128px) !important;
  line-height: 0.95 !important;
  max-width: 900px;
  margin: 0 auto !important;
}

/* Le point dans le titre doit être inline avec le mot */
.kn-home-hero__title-dot {
  display: inline !important;
  position: static !important;
}

/* Supprime tout pseudo-élément ou bloc en bas du titre */
.kn-home-hero__title::before,
.kn-home-hero__title::after,
.kn-home-hero__title + br + .kn-home-hero__title-dot,
.kn-home-hero__content > .kn-home-hero__title-dot,
.kn-home-hero__inner > .kn-home-hero__title-dot,
[class*="kn-home-hero"] > [class*="dot"]:not(.kn-home-hero__title-dot) {
  display: none !important;
  content: none !important;
}

/* Hauteur hero plus compacte */
.kn-home-hero {
  min-height: auto !important;
  padding: 56px 24px 56px !important;
  align-items: flex-start !important;
}
.kn-home-hero__content,
.kn-home-hero__inner {
  gap: 14px !important;
  padding-top: 16px !important;
}

@media (max-width: 720px) {
  .kn-home-hero__title { font-size: clamp(40px, 11vw, 80px) !important; }
}

/* Force le titre sur une seule ligne — empêche le wrap qui fait passer le "." en dessous */
.kn-home-hero__title {
  white-space: nowrap !important;
  overflow: visible !important;
  max-width: none !important;
}
.kn-home-hero__title-dot {
  display: inline-block !important;
  margin-left: -0.08em !important;
}

/* ═══════════════════════════════════════════════════════
   CHAPITRES YouTube (au lieu de playlist)
═══════════════════════════════════════════════════════ */
.kn-prod-card__chapters {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid rgba(110,193,228,0.18);
}
.kn-prod-card__chapters-label {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 16px !important;
}
.kn-prod-card__chapters-tag {
  padding: 4px 11px;
  font-size: 10px;
  letter-spacing: 2.2px;
  color: #6EC1E4 !important;
  background: rgba(110,193,228,0.12);
  border: 1px solid rgba(110,193,228,0.4);
  border-radius: 2px;
}

.kn-prod-card__chapters-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: ch;
}
.kn-prod-card__chapter {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 16px;
  align-items: baseline;
  padding: 12px 14px;
  border-radius: 3px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  margin-bottom: 4px;
  cursor: pointer;
  transition: all .18s;
}
.kn-prod-card__chapter:hover {
  background: rgba(110,193,228,0.08);
  border-color: rgba(110,193,228,0.3);
  transform: translateX(2px);
}
.kn-prod-card__chapter.is-active {
  background: rgba(110,193,228,0.12);
  border-color: rgba(110,193,228,0.5);
}
.kn-prod-card__chapter-ts {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #6EC1E4 !important;
  letter-spacing: 0.5px;
  font-variant-numeric: tabular-nums;
}
.kn-prod-card__chapter-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}
.kn-prod-card__chapter-comp {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-style: italic;
  color: rgba(255,255,255,0.5) !important;
  text-align: right;
}
@media (max-width: 640px) {
  .kn-prod-card__chapter {
    grid-template-columns: 60px 1fr;
    gap: 10px;
  }
  .kn-prod-card__chapter-comp {
    grid-column: 1 / -1;
    text-align: left;
    padding-left: 70px;
  }
}

/* ═══════════════════════════════════════════════════════
   HERO — Recentrage final + "Kanadenn." sur 1 ligne
═══════════════════════════════════════════════════════ */

.kn-home-hero {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.kn-home-hero__content,
.kn-home-hero__inner {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding-top: 0 !important;
  width: 100%;
}

/* Force le titre sur UNE ligne, dot inline */
.kn-home-hero__title {
  display: inline-block !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: clamp(48px, 9vw, 140px) !important;
  max-width: 95vw !important;
  margin: 0 auto !important;
  line-height: 0.95 !important;
}
.kn-home-hero__title-dot {
  display: inline !important;
  position: static !important;
  margin-left: -0.04em !important;
  color: #6EC1E4 !important;
}

/* ═══════════════════════════════════════════════════════
   ONGLET CATALOGUE — Listes œuvres cliquables
═══════════════════════════════════════════════════════ */
.kn-cat-summary {
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 32px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.kn-cat-summary strong { color: #e8c87a; font-weight: 700; }

.kn-cat-section { margin-bottom: 32px; }
.kn-cat-genre {
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--gc, #6EC1E4) !important;
  margin: 0 0 14px !important;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--gc, #6EC1E4) 25%, transparent);
  display: flex;
  align-items: center;
  gap: 10px;
}
.kn-cat-genre span {
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  font-weight: 500;
  letter-spacing: 0;
}

.kn-cat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kn-cat-item { border-bottom: 1px solid rgba(255,255,255,0.04); }
.kn-cat-item:last-child { border-bottom: none; }
.kn-cat-link {
  display: grid;
  grid-template-columns: 1fr auto auto auto auto;
  gap: 14px;
  align-items: baseline;
  padding: 12px 4px;
  text-decoration: none !important;
  transition: padding-left .15s, background .15s !important;
  border-radius: 3px;
}
.kn-cat-link:hover {
  background: rgba(110,193,228,0.06) !important;
  padding-left: 12px;
}
.kn-cat-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}
.kn-cat-instr {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.45) !important;
  font-style: italic;
}
.kn-cat-date {
  font-family: 'Poppins', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #e8c87a !important;
  letter-spacing: 0.5px;
  font-variant-numeric: tabular-nums;
}
.kn-cat-audio {
  width: 22px; height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(122,232,184,0.15);
  color: #7ae8b8;
  border-radius: 50%;
  font-size: 10px;
}
.kn-cat-arrow {
  color: rgba(110,193,228,0.4);
  font-size: 14px;
  transition: transform .15s, color .15s;
}
.kn-cat-link:hover .kn-cat-arrow {
  color: #6EC1E4;
  transform: translateX(4px);
}

@media (max-width: 720px) {
  .kn-cat-link { grid-template-columns: 1fr auto; gap: 8px; }
  .kn-cat-instr, .kn-cat-date { grid-column: 1; font-size: 11px !important; padding-left: 0; }
  .kn-cat-audio { grid-row: 1; grid-column: 2; }
  .kn-cat-arrow { display: none; }
}

/* ═══════════════════════════════════════════════════════
   Card œuvre /œuvres/ — Lien overlay
═══════════════════════════════════════════════════════ */
.kn-oeuvre-card { position: relative !important; }
.kn-oeuvre-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1;
  display: block;
}
.kn-oeuvre-card__comp a {
  position: relative;
  z-index: 2; /* compositeur cliquable séparément */
}

/* ═══════════════════════════════════════════════════════
   FICHE ŒUVRE — Galerie multiples interprétations
═══════════════════════════════════════════════════════ */
.kn-fiche-oeuvre__current-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin: 14px 0 0 !important;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.kn-fiche-oeuvre__current-title span {
  color: rgba(255,255,255,0.55) !important;
  font-weight: 300;
}

.kn-fiche-oeuvre__interp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 20px;
}
.kn-fiche-oeuvre__interp-item {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  text-align: left;
  transition: all .2s;
}
.kn-fiche-oeuvre__interp-item:hover {
  background: rgba(110,193,228,0.06);
  border-color: rgba(110,193,228,0.3);
  transform: translateY(-2px);
}
.kn-fiche-oeuvre__interp-item.is-active {
  background: rgba(110,193,228,0.12);
  border-color: #6EC1E4;
  box-shadow: 0 0 0 1px #6EC1E4;
}
.kn-fiche-oeuvre__interp-thumb {
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background-color: #0d0420;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kn-fiche-oeuvre__interp-play {
  position: relative;
  z-index: 1;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(110,193,228,0.9);
  color: #0a0014;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
  padding-left: 3px;
}
.kn-fiche-oeuvre__interp-body {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kn-fiche-oeuvre__interp-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.4 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kn-fiche-oeuvre__interp-interp {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  color: rgba(110,193,228,0.7) !important;
  font-style: italic;
  line-height: 1.3 !important;
}

/* === Icône interprétation disponible sur la carte œuvre (v6.7) === */
.kn-oeuvre-card__has-interp{
    display:inline-flex;align-items:center;justify-content:center;
    width:22px;height:22px;margin-right:8px;vertical-align:-4px;
    filter:drop-shadow(0 0 6px rgba(232,200,122,.55));
    animation:knPulse 2.4s ease-in-out infinite;
}
@keyframes knPulse{
    0%,100%{filter:drop-shadow(0 0 4px rgba(232,200,122,.4));}
    50%    {filter:drop-shadow(0 0 10px rgba(232,200,122,.9));}
}


/* ═══════════════════════════════════════════════════════
   THEME LIGHT — override tokens & accents néon
═══════════════════════════════════════════════════════ */
html[data-theme="light"] {
  /* === KANADENN LIGHT — PREMIUM EDITORIAL === */
  /* Fonds : blanc cassé NEUTRE, sans teinte jaune, cards en blanc pur */
  --kn-fond:       #f7f7f5;       /* off-white neutre, à peine plus chaud que gris */
  --kn-fond-2:     #ffffff;       /* surfaces relevées */
  --kn-fond-card:  #ffffff;       /* cards premium en blanc pur */
  --kn-fond-ui:    #eeeeec;       /* zones UI / chips / panneaux — neutre */

  /* Bleu profond — sobre et confiant, contraste fort sur blanc */
  --kn-bleu:       #14476a;
  --kn-bleu2:      #0c3450;
  --kn-bleu3:      #4685ad;
  --kn-bleu-dim:   rgba(20,71,106,.08);

  /* Or laiton bruni — patrimoine raffiné, ni moutarde ni doré criard */
  --kn-or:         #a37e2c;
  --kn-or2:        #7d6020;
  --kn-or-dim:     rgba(163,126,44,.10);

  /* Rose éditorial */
  --kn-rose:       #a83159;
  --kn-rose2:      #7d2240;
  --kn-rose-dim:   rgba(168,49,89,.10);

  /* Vert : success / audio dispo */
  --kn-vert:       #237553;
  --kn-vert2:      #18553c;

  --kn-violet:     #5c4399;

  /* Encre éditoriale : presque noir, légère chaleur (impression typographique) */
  --kn-text:       #1a1814;
  --kn-muted:      rgba(26,24,20,.58);
  --kn-border:     rgba(26,24,20,.08);

  /* Ombres premium : double-couche subtile (proximité + ambiante) */
  --kn-shadow:     0 1px 2px rgba(0,0,0,.04), 0 8px 28px rgba(26,24,20,.06);
  --kn-glow-bleu:  0 0 24px rgba(20,71,106,.08);
  --kn-glow-or:    0 0 24px rgba(163,126,44,.10);
}

/* === Premium polish : ajustements ciblés pour le mode clair === */
html[data-theme="light"] .kn-oeuvre-card,
html[data-theme="light"] .kn-card,
html[data-theme="light"] .kn-fiche-oeuvre,
html[data-theme="light"] [class*="-card"] {
  background: var(--kn-fond-card) !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: var(--kn-shadow) !important;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
html[data-theme="light"] .kn-oeuvre-card:hover,
html[data-theme="light"] [class*="-card"]:hover {
  box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 14px 36px rgba(26,24,20,.10) !important;
  border-color: rgba(26,24,20,.14) !important;
}

/* Titres : un poil plus lourds et profonds en clair pour l'effet "imprimerie" */
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3 {
  color: #0c0a08 !important;
  letter-spacing: -.01em;
}

/* Liens : bleu profond + soulignement subtil, comme un magazine */
html[data-theme="light"] a:not(.kn-btn):not(.kn-chip):not([class*="__btn"]) {
  color: var(--kn-bleu) !important;
  text-decoration-color: rgba(20,71,106,.30);
  text-underline-offset: 2px;
}
html[data-theme="light"] a:not(.kn-btn):not(.kn-chip):not([class*="__btn"]):hover {
  color: var(--kn-bleu2) !important;
  text-decoration-color: var(--kn-bleu);
}

/* Chips / tags : look filet fin éditorial */
html[data-theme="light"] .kn-chip,
html[data-theme="light"] [class*="__genre"],
html[data-theme="light"] [class*="__tag"] {
  background: var(--kn-fond-ui) !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}

/* Footer plus contrasté pour ne pas se confondre avec le fond */
/* (footer géré plus bas via gradient neutre — bloc supprimé pour éviter doublons) */

/* Hero bands / gradients qui paraissaient "sales" — fond plus net */
html[data-theme="light"] .kn-hero,
html[data-theme="light"] [class*="hero"]:not([class*="__"]) {
  background: linear-gradient(180deg, var(--kn-fond-ui) 0%, var(--kn-fond) 100%) !important;
}

/* Scrollbar discret */
html[data-theme="light"] ::-webkit-scrollbar { width: 12px; height: 12px; }
html[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: rgba(26,24,20,.18) !important;
  border-radius: 8px;
  border: 3px solid var(--kn-fond);
}
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(26,24,20,.30) !important;
}
html[data-theme="light"] body,
html[data-theme="light"] .site,
html[data-theme="light"] #page,
html[data-theme="light"] .wp-site-blocks { background: var(--kn-fond) !important; color: var(--kn-text) !important; }
html[data-theme="light"] ::selection { background: rgba(31,111,153,.18) !important; color:#0f0a1e !important; }
html[data-theme="light"] ::-webkit-scrollbar-track { background: var(--kn-fond) !important; }
html[data-theme="light"] strong, html[data-theme="light"] b { color: var(--kn-text) !important; }
html[data-theme="light"] meta[name="theme-color"] { /* not effective via CSS; handled by JS if needed */ }

/* Bouton toggle thème */
.kn-nav__theme {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  margin-right: 8px;
  background: transparent;
  border: 1px solid var(--kn-border);
  border-radius: 999px;
  color: var(--kn-text);
  cursor: pointer;
  transition: background var(--kn-transition), border-color var(--kn-transition), color var(--kn-transition), transform var(--kn-transition);
}
.kn-nav__theme:hover {
  background: var(--kn-bleu-dim);
  border-color: var(--kn-bleu);
  color: var(--kn-bleu);
  transform: translateY(-1px);
}
.kn-nav__theme:focus-visible {
  outline: 2px solid var(--kn-bleu);
  outline-offset: 2px;
}
.kn-theme__icon { display: none; }
html[data-theme="light"] .kn-theme__icon--moon { display: inline-block; }
html:not([data-theme="light"]) .kn-theme__icon--sun { display: inline-block; }
@media (max-width: 768px) {
  .kn-nav__theme { width: 34px; height: 34px; margin-right: 4px; }
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT — Override complet (couleurs en dur)
═══════════════════════════════════════════════════════ */
html[data-theme="light"] body {
  background: var(--kn-fond) !important;
  color: var(--kn-text) !important;
}

/* Sweep : tout texte/bg blanc explicite → tokens */
html[data-theme="light"] *,
html[data-theme="light"] *::before,
html[data-theme="light"] *::after { border-color: var(--kn-border); }

/* Textes blancs hardcodés */
html[data-theme="light"] .kn-nav__link,
html[data-theme="light"] .kn-nav__link:hover,
html[data-theme="light"] .kn-nav__link.is-active,
html[data-theme="light"] .kn-nav__brand,
html[data-theme="light"] .kn-footer__brand,
html[data-theme="light"] .kn-footer__manifesto strong,
html[data-theme="light"] .kn-footer__nl-input,
html[data-theme="light"] .kn-prose strong,
html[data-theme="light"] h1, html[data-theme="light"] h2,
html[data-theme="light"] h3, html[data-theme="light"] h4,
html[data-theme="light"] h5, html[data-theme="light"] h6,
html[data-theme="light"] strong, html[data-theme="light"] b {
  color: var(--kn-text) !important;
}

/* rgba(255,255,255,*) génériques → tokens text/muted */
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] .kn-prose,
html[data-theme="light"] .kn-prose p,
html[data-theme="light"] .kn-prose li,
html[data-theme="light"] .kn-footer__manifesto,
html[data-theme="light"] .kn-footer__manifesto--em,
html[data-theme="light"] .kn-footer__col-title,
html[data-theme="light"] .kn-footer__link,
html[data-theme="light"] .kn-footer__nl-text,
html[data-theme="light"] .kn-footer__legal,
html[data-theme="light"] .kn-footer__legal-right a,
html[data-theme="light"] .kn-footer__bottom,
html[data-theme="light"] .kn-nav__sub,
html[data-theme="light"] .kn-nav__stats,
html[data-theme="light"] .kn-nav__search-input,
html[data-theme="light"] .kn-nav__search-input::placeholder { color: var(--kn-text) !important; }

html[data-theme="light"] .kn-muted,
html[data-theme="light"] .kn-nav__search-input::placeholder,
html[data-theme="light"] .kn-footer__nl-input::placeholder,
html[data-theme="light"] .kn-footer__legal,
html[data-theme="light"] .kn-footer__sep { color: var(--kn-muted) !important; }

/* Backgrounds sombres hardcodés */
html[data-theme="light"] .kn-nav,
html[data-theme="light"] header.kn-nav {
  background: rgba(247,247,245,.85) !important;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-footer,
html[data-theme="light"] footer.kn-footer,
html[data-theme="light"] .site-footer {
  background: linear-gradient(180deg, #eeeeec 0%, #e8e8e6 100%) !important;
  color: var(--kn-text) !important;
  border-top: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-footer * { color: inherit; }

/* Cartes / surfaces */
html[data-theme="light"] .kn-card,
html[data-theme="light"] .kn-tile,
html[data-theme="light"] .kn-stat,
html[data-theme="light"] .kn-panel,
html[data-theme="light"] .kn-section,
html[data-theme="light"] [class*="kn-card"],
html[data-theme="light"] [class*="kn-tile"] {
  background: var(--kn-fond-card) !important;
  border-color: var(--kn-border) !important;
  box-shadow: var(--kn-shadow);
}

/* Inputs */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .kn-nav__search,
html[data-theme="light"] .kn-footer__nl-input {
  background: rgba(15,10,30,.04) !important;
  color: var(--kn-text) !important;
  border-color: var(--kn-border) !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] .kn-nav__search:focus-within {
  background: rgba(15,10,30,.06) !important;
  border-color: var(--kn-bleu) !important;
}

/* Boutons CTA bleus : contraste texte sur bleu clair → blanc */
html[data-theme="light"] .kn-nav__cta,
html[data-theme="light"] .kn-btn,
html[data-theme="light"] .kn-btn--primary,
html[data-theme="light"] .kn-btn[style*="--kn-bleu"] {
  background: var(--kn-bleu) !important;
  color: #fff !important;
}
html[data-theme="light"] .kn-nav__cta:hover,
html[data-theme="light"] .kn-btn:hover { background: var(--kn-bleu2) !important; }

/* Boutons or */
html[data-theme="light"] .kn-btn--or,
html[data-theme="light"] .kn-footer__nl-btn {
  background: linear-gradient(135deg, var(--kn-or) 0%, var(--kn-or2) 100%) !important;
  color: #fff !important;
}

/* Hero radials atténués sur fond clair */
html[data-theme="light"] .kn-home-hero__radial--1,
html[data-theme="light"] .kn-home-hero__radial--2,
html[data-theme="light"] .kn-home-hero__radial--3 { opacity: .12 !important; filter: blur(60px); }

/* Big title gradient white → dark */
html[data-theme="light"] .kn-home-hero__title,
html[data-theme="light"] .kn-hero__title,
html[data-theme="light"] [class*="hero__title"] {
  background: linear-gradient(135deg, #0f0a1e 0%, rgba(15,10,30,.7) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Liens couleur token */
html[data-theme="light"] a { color: var(--kn-bleu) !important; }
html[data-theme="light"] a:hover { color: var(--kn-bleu2) !important; }
html[data-theme="light"] .kn-footer__legal-right a:hover { color: var(--kn-bleu) !important; }

/* Bouton soutenir conserve contraste */
html[data-theme="light"] .kn-nav__support { color: #fff !important; }

/* Surcharges spécifiques : nav fond et lignes */
html[data-theme="light"] .kn-nav__menu,
html[data-theme="light"] .kn-nav__sep-dot { background: transparent; }
html[data-theme="light"] .kn-nav__sep-dot { background: rgba(15,10,30,.18) !important; }

/* Pills période — bordures plus visibles */
html[data-theme="light"] .kn-periode-pill {
  background: rgba(15,10,30,.04) !important;
  color: var(--kn-text) !important;
  border-color: var(--kn-border) !important;
}
html[data-theme="light"] .kn-periode-pill:hover { color: var(--kn-bleu) !important; border-color: var(--kn-bleu) !important; }

/* Stats grands chiffres : conserve text en token */
html[data-theme="light"] .kn-stat__num,
html[data-theme="light"] [class*="stat__num"] { color: var(--kn-text) !important; }

/* Overlays sombres → clairs */
html[data-theme="light"] .kn-nav__overlay { background: rgba(15,10,30,.35) !important; }

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v2 — lisibilité & cohérence totale
═══════════════════════════════════════════════════════ */

/* Page wrap + headers de section */
html[data-theme="light"] .kn-page-wrap { background: var(--kn-fond) !important; }
html[data-theme="light"] .kn-recherche-header {
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(31,111,153,.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--kn-fond) 0%, var(--kn-fond-ui) 100%) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-recherche-titre,
html[data-theme="light"] .kn-recherche-eyebrow,
html[data-theme="light"] .kn-recherche-lead,
html[data-theme="light"] .kn-recherche-lead strong { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-recherche-titre span,
html[data-theme="light"] .kn-recherche-eyebrow { color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-recherche-lead { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-recherche-lead strong { color: var(--kn-or) !important; }

/* Cartes compositeurs */
html[data-theme="light"] .kn-card {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 1px 3px rgba(15,10,30,.04);
}
html[data-theme="light"] .kn-card:hover {
  background: #ffffff !important;
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 12px 32px -12px rgba(15,10,30,.18);
}
html[data-theme="light"] .kn-card__title { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-card__dates { color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-card__thumb,
html[data-theme="light"] .kn-card__thumb--placeholder {
  background: linear-gradient(145deg, #eeeeec 0%, #e0e0de 100%) !important;
}
html[data-theme="light"] .kn-card__initial { color: rgba(15,10,30,.18) !important; }
html[data-theme="light"] .kn-card__periode-bar {
  background: rgba(255,255,255,.85) !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-badge-femme { color: var(--kn-rose) !important; }

/* Sidebar facettes */
html[data-theme="light"] .kn-facettes {
  background: transparent !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-facettes__title,
html[data-theme="light"] .kn-facette__label { color: var(--kn-or) !important; }
html[data-theme="light"] .kn-facette__chips a,
html[data-theme="light"] .kn-facette__chips label,
html[data-theme="light"] .kn-facette__chips span,
html[data-theme="light"] .kn-facettes a,
html[data-theme="light"] .kn-facettes label { color: var(--kn-text) !important; }

/* Chips */
html[data-theme="light"] .kn-chip {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-chip:hover {
  border-color: var(--kn-bleu) !important;
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-chip.is-active {
  background: var(--kn-bleu) !important;
  border-color: var(--kn-bleu) !important;
  color: #fff !important;
}
html[data-theme="light"] .kn-chip--toggle {
  background: rgba(42,138,100,.08) !important;
  border-color: rgba(42,138,100,.3) !important;
  color: var(--kn-vert2) !important;
}
html[data-theme="light"] .kn-chip--toggle.is-active {
  background: var(--kn-vert) !important;
  border-color: var(--kn-vert) !important;
  color: #fff !important;
}

/* Select / search inputs */
html[data-theme="light"] .kn-facette__select,
html[data-theme="light"] .kn-searchbar__input,
html[data-theme="light"] .kn-searchbar__input-wrap {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-facette__select option { background: #fff !important; color: var(--kn-text) !important; }
html[data-theme="light"] .kn-searchbar__input-wrap input,
html[data-theme="light"] .kn-searchbar__input { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-searchbar__input-wrap input::placeholder,
html[data-theme="light"] .kn-searchbar__input::placeholder { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-searchbar__input-wrap:focus-within {
  border-color: var(--kn-bleu) !important;
  background: #fff !important;
}
html[data-theme="light"] .kn-searchbar__reset {
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-muted) !important;
  background: #fff !important;
}
html[data-theme="light"] .kn-searchbar__reset:hover {
  border-color: var(--kn-bleu) !important;
  color: var(--kn-bleu) !important;
}

/* Pagination */
html[data-theme="light"] .kn-page-btn {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-page-btn:hover { border-color: var(--kn-bleu) !important; color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-page-btn.active {
  background: var(--kn-bleu) !important;
  border-color: var(--kn-bleu) !important;
  color: #fff !important;
}

/* Sidebar audio / sticky */
html[data-theme="light"] .kn-sidebar-audio,
html[data-theme="light"] .kn-sidebar-card {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-sidebar-card__eyebrow {
  color: var(--kn-bleu) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}

/* Stats / numbers */
html[data-theme="light"] .kn-stat,
html[data-theme="light"] .kn-stat__num,
html[data-theme="light"] .kn-stat__lbl,
html[data-theme="light"] .kn-stat--femme .kn-stat__num {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* Divider gradient → reste lisible */
html[data-theme="light"] .kn-divider { opacity: .8; }

/* Toggle filters button (mobile) */
html[data-theme="light"] .kn-toggle-filters {
  background: var(--kn-bleu) !important;
  color: #fff !important;
}

/* Mobile facettes drawer */
html[data-theme="light"] .kn-facettes.kn-facettes--drawer,
@media (max-width:900px) {
  html[data-theme="light"] .kn-facettes {
    background: var(--kn-fond-2) !important;
    box-shadow: 4px 0 20px rgba(15,10,30,.12) !important;
  }
}

/* Periode pill texte sur fond clair */
html[data-theme="light"] .kn-card__periode-bar { color: var(--kn-text) !important; }

/* Tags colorés */
html[data-theme="light"] .kn-tag--vert { background: rgba(42,138,100,.10) !important; color: var(--kn-vert2) !important; }
html[data-theme="light"] .kn-tag--bleu { background: var(--kn-bleu-dim) !important; color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-tag--or   { background: var(--kn-or-dim) !important;   color: var(--kn-or2) !important; }
html[data-theme="light"] .kn-tag--rose { background: var(--kn-rose-dim) !important; color: var(--kn-rose2) !important; }

/* Fiches compositeur / œuvre — surfaces sombres */
html[data-theme="light"] .kn-fiche,
html[data-theme="light"] .kn-fiche__header,
html[data-theme="light"] .kn-fiche__body,
html[data-theme="light"] .kn-fiche-meta,
html[data-theme="light"] .kn-fiche-meta-extra,
html[data-theme="light"] [class*="kn-fiche"] { color: var(--kn-text) !important; }
html[data-theme="light"] [class*="kn-fiche"] svg { color: var(--kn-muted); opacity: .8; }

/* Prose */
html[data-theme="light"] .kn-prose,
html[data-theme="light"] .kn-prose p,
html[data-theme="light"] .kn-prose li,
html[data-theme="light"] .kn-prose td { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-prose h2 { color: var(--kn-or2) !important; }
html[data-theme="light"] .kn-prose h3,
html[data-theme="light"] .kn-prose h4 { color: var(--kn-bleu) !important; }

/* Nav active link surlignage */
html[data-theme="light"] .kn-nav__link { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-nav__link:hover,
html[data-theme="light"] .kn-nav__link.is-active { color: var(--kn-text) !important; }

/* Sélection */
html[data-theme="light"] ::selection { background: rgba(31,111,153,.18) !important; color: var(--kn-text) !important; }

/* Scrollbar */
html[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--kn-bleu), var(--kn-rose), var(--kn-or)) !important;
  opacity: .6;
}

/* Bouton toggle thème : icônes inversées en light */
html[data-theme="light"] .kn-nav__theme { color: var(--kn-text); border-color: var(--kn-border); }

/* Hero home gradient title → dark gradient en mode clair */
html[data-theme="light"] [class*="hero__title"],
html[data-theme="light"] .kn-home-hero__title {
  background: linear-gradient(135deg, #0f0a1e 0%, rgba(15,10,30,.65) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Boutons CTA secondaires (outline) */
html[data-theme="light"] .kn-btn--outline,
html[data-theme="light"] .kn-btn--ghost {
  background: transparent !important;
  border: 1px solid var(--kn-bleu) !important;
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-btn--outline:hover,
html[data-theme="light"] .kn-btn--ghost:hover {
  background: var(--kn-bleu) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v3 — lisibilité fine, contraste, hiérarchie
═══════════════════════════════════════════════════════ */

/* (override beige supprimé — variables maintenues neutres depuis le :root principal) */

/* Cartes : ombre + bordure plus marquées pour les détacher du fond */
html[data-theme="light"] .kn-card {
  background: #ffffff !important;
  border: 1px solid rgba(26,19,48,.10) !important;
  box-shadow: 0 2px 8px rgba(26,19,48,.06), 0 1px 2px rgba(26,19,48,.04) !important;
  border-radius: 6px !important;
}
html[data-theme="light"] .kn-card:hover {
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 12px 28px -8px rgba(31,111,153,.25), 0 4px 8px rgba(26,19,48,.08) !important;
  transform: translateY(-3px);
}

/* Card thumb : dégradé plus contrasté pour faire ressortir l'initiale */
html[data-theme="light"] .kn-card__thumb,
html[data-theme="light"] .kn-card__thumb--placeholder {
  background: linear-gradient(145deg, #e2d6bd 0%, #c9b994 100%) !important;
}
html[data-theme="light"] .kn-card__initial {
  color: rgba(26,19,48,.32) !important;
  font-weight: 400 !important;
}

/* Pill période : badge solide bien lisible, conserve la couleur d'accent */
html[data-theme="light"] .kn-card__periode-bar {
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(26,19,48,.15) !important;
  border-top-color: rgba(26,19,48,.15) !important;
  color: var(--kn-text) !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 3px rgba(26,19,48,.08);
  backdrop-filter: blur(6px);
}

/* Card body : titres et dates plus contrastés */
html[data-theme="light"] .kn-card__body { padding: 18px 18px 22px !important; }
html[data-theme="light"] .kn-card__title {
  color: var(--kn-text) !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .kn-card__dates {
  color: var(--kn-muted) !important;
  background: transparent !important;
  font-weight: 500 !important;
}
html[data-theme="light"] .kn-card__departement,
html[data-theme="light"] .kn-card__loc,
html[data-theme="light"] .kn-card__lieu,
html[data-theme="light"] .kn-card a {
  color: var(--kn-bleu) !important;
  background: transparent !important;
  text-decoration: none !important;
}
html[data-theme="light"] .kn-card a:hover { color: var(--kn-bleu2) !important; }

/* Section recherche header : transition douce vers le fond */
html[data-theme="light"] .kn-recherche-header {
  background:
    radial-gradient(ellipse 60% 90% at 50% 0%, rgba(31,111,153,.08) 0%, transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}

/* Searchbar centrée plus visible */
html[data-theme="light"] .kn-searchbar__input-wrap,
html[data-theme="light"] .kn-searchbar__input {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 2px 12px rgba(26,19,48,.06) !important;
}
html[data-theme="light"] .kn-searchbar__input-wrap:focus-within,
html[data-theme="light"] .kn-searchbar__input:focus {
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 0 0 4px rgba(31,111,153,.12), 0 2px 12px rgba(26,19,48,.06) !important;
}

/* Sidebar filtres : labels et liens */
html[data-theme="light"] .kn-facettes__title { color: var(--kn-or2) !important; font-weight: 700 !important; }
html[data-theme="light"] .kn-facette__label { color: var(--kn-or2) !important; }
html[data-theme="light"] .kn-facettes a,
html[data-theme="light"] .kn-facettes label,
html[data-theme="light"] .kn-facettes span:not(.kn-facette__dot):not(.kn-facette__count) {
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-facettes a:hover { color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-facette__count { color: var(--kn-muted) !important; }

/* Tout effacer / Trier par */
html[data-theme="light"] .kn-facettes__reset,
html[data-theme="light"] [class*="reset"]:not(button) { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-facettes__reset:hover { color: var(--kn-rose) !important; }

/* "172 compositeurs trouvés" : compteur lisible */
html[data-theme="light"] .kn-results__count,
html[data-theme="light"] .kn-results-count,
html[data-theme="light"] [class*="results__count"],
html[data-theme="light"] [class*="results-count"] { color: var(--kn-muted) !important; }

/* Tri select : pill cohérente */
html[data-theme="light"] .kn-facette__select,
html[data-theme="light"] select.kn-sort,
html[data-theme="light"] .kn-sort__select {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
  box-shadow: 0 1px 3px rgba(26,19,48,.04);
}

/* Texte général dans la zone résultats */
html[data-theme="light"] .kn-search-layout,
html[data-theme="light"] .kn-search-layout * {
  color: inherit;
}

/* Liens dans la prose et fiches : sous-ligné subtil au hover */
html[data-theme="light"] a:hover { text-decoration: underline; text-underline-offset: 3px; }
html[data-theme="light"] .kn-card a:hover,
html[data-theme="light"] .kn-nav__link:hover,
html[data-theme="light"] .kn-footer__link:hover,
html[data-theme="light"] .kn-btn:hover,
html[data-theme="light"] .kn-nav__cta:hover { text-decoration: none; }

/* Footer neutre premium */
html[data-theme="light"] .kn-footer,
html[data-theme="light"] footer.kn-footer {
  background: linear-gradient(180deg, #eeeeec 0%, #e8e8e6 100%) !important;
  border-top: 1px solid var(--kn-border);
}
html[data-theme="light"] .kn-footer__link { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-footer__link:hover { color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-footer__col-title { color: var(--kn-or2) !important; }

/* Page wrap : couleur de fond unifiée avec le body */
html[data-theme="light"] .kn-page-wrap {
  background: var(--kn-fond) !important;
}

/* Bouton thème : meilleur contraste */
html[data-theme="light"] .kn-nav__theme {
  border-color: rgba(26,19,48,.18) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-nav__theme:hover {
  background: rgba(31,111,153,.10) !important;
  border-color: var(--kn-bleu) !important;
  color: var(--kn-bleu) !important;
}

/* Nav links : équilibre des poids */
html[data-theme="light"] .kn-nav__link {
  color: var(--kn-muted) !important;
  font-weight: 500 !important;
}
html[data-theme="light"] .kn-nav__link:hover,
html[data-theme="light"] .kn-nav__link.is-active {
  color: var(--kn-text) !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .kn-nav__brand { color: var(--kn-text) !important; font-weight: 700 !important; }
html[data-theme="light"] .kn-nav__dot { color: var(--kn-bleu) !important; }

/* CTA "Nous soutenir" : bleu plus profond */
html[data-theme="light"] .kn-nav__cta {
  background: #0e5176 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(14,81,118,.25);
}
html[data-theme="light"] .kn-nav__cta:hover {
  background: #0a3f5d !important;
  box-shadow: 0 4px 12px rgba(14,81,118,.35);
}

/* Headings dans le hero/section : éviter le gradient blanc qui devient gris */
html[data-theme="light"] h1, html[data-theme="light"] h2,
html[data-theme="light"] h3, html[data-theme="light"] h4 {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
html[data-theme="light"] .kn-home-hero__title {
  background: linear-gradient(135deg, #1a1330 0%, #1f6f99 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Stats grands chiffres : un peu de poids */
html[data-theme="light"] [class*="stat__num"],
html[data-theme="light"] .kn-stat__num {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  font-weight: 800 !important;
}
html[data-theme="light"] [class*="stat__lbl"],
html[data-theme="light"] .kn-stat__lbl { color: var(--kn-muted) !important; letter-spacing: 2px; }

/* Bordures uniformes des sections */
html[data-theme="light"] hr,
html[data-theme="light"] .kn-divider { border-color: var(--kn-border); }

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v4 — fiches, sidebar, footer stats, breadcrumb
═══════════════════════════════════════════════════════ */

/* ─── Sidebar cards (compositeur / œuvre) ─── */
html[data-theme="light"] .kn-sidebar-card,
html[data-theme="light"] .kn-sidebar-card *,
html[data-theme="light"] .kn-sidebar-card p,
html[data-theme="light"] .kn-sidebar-card li,
html[data-theme="light"] .kn-sidebar-card span,
html[data-theme="light"] .kn-sidebar-card dt,
html[data-theme="light"] .kn-sidebar-card dd,
html[data-theme="light"] .kn-sidebar-card a,
html[data-theme="light"] .kn-sidebar-card strong {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-sidebar-card a {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  text-decoration: none !important;
}
html[data-theme="light"] .kn-sidebar-card a:hover { color: var(--kn-bleu2) !important; text-decoration: underline; }
html[data-theme="light"] .kn-sidebar-card__eyebrow {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-sidebar-card,
html[data-theme="light"] .kn-sidebar-audio,
html[data-theme="light"] .kn-sidebar-oeuvre {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 2px 8px rgba(26,19,48,.06);
}

/* Tags Piano/Voix dans la sidebar */
html[data-theme="light"] .kn-sidebar-card .kn-tag,
html[data-theme="light"] .kn-sidebar-card [class*="tag"] {
  background: var(--kn-bleu-dim) !important;
  border: 1px solid rgba(31,111,153,.25) !important;
  color: var(--kn-bleu) !important;
}

/* ─── Footer : stats lisibles ─── */
html[data-theme="light"] .kn-footer__stat-lbl {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-footer__stat-num {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
/* Mais conserve les couleurs d'accent pour la déclinaison rose ♀ */
html[data-theme="light"] .kn-footer__stat-num--rose {
  color: var(--kn-rose) !important;
  -webkit-text-fill-color: var(--kn-rose) !important;
}

/* ─── Breadcrumb ─── */
html[data-theme="light"] .kn-breadcrumb { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-breadcrumb a {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-breadcrumb a:hover { color: var(--kn-bleu2) !important; }
html[data-theme="light"] .kn-breadcrumb__sep { color: var(--kn-muted) !important; opacity: .6; }
html[data-theme="light"] .kn-breadcrumb__current {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* ─── Fiche œuvre : hero clair ─── */
html[data-theme="light"] .kn-fiche-oeuvre__hero {
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, color-mix(in srgb, var(--gc) 12%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-fiche-oeuvre__title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-fiche-oeuvre__comp {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-fiche-oeuvre__comp a {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  border-bottom: 1px solid var(--kn-border);
}
html[data-theme="light"] .kn-fiche-oeuvre__comp span { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-fiche-oeuvre__genre {
  background: color-mix(in srgb, var(--gc) 14%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--gc) 45%, transparent) !important;
}
html[data-theme="light"] .kn-fiche-oeuvre__card {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 2px 8px rgba(26,19,48,.06);
}
html[data-theme="light"] .kn-fiche-oeuvre__iframe-wrap {
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 4px 16px rgba(26,19,48,.08);
}
html[data-theme="light"] .kn-fiche-oeuvre__current-title { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-fiche-oeuvre__current-title span { color: var(--kn-muted) !important; }

/* ─── Fiche compositeur : hero / sections ─── */
html[data-theme="light"] .kn-hero-compositeur,
html[data-theme="light"] [class*="hero-compositeur"] {
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(31,111,153,.10) 0%, transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] [class*="hero-compositeur"] h1,
html[data-theme="light"] [class*="hero-compositeur"] h2,
html[data-theme="light"] [class*="hero-compositeur"] p {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* ─── Carte sonore (page-carte-sonore) ─── */
html[data-theme="light"] body.page-carte-sonore .kn-page__header,
html[data-theme="light"] body.page-carte-sonore .kn-page__header * {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page__header h1,
html[data-theme="light"] body.page-carte-sonore .kn-page__header .kn-eyebrow,
html[data-theme="light"] body.page-carte-sonore .kn-eyebrow { color: var(--kn-bleu) !important; }

/* ─── Page-headers génériques (Carte Sonore, Galerie, Médiation…) ─── */
html[data-theme="light"] .kn-page__header,
html[data-theme="light"] .kn-page__header h1,
html[data-theme="light"] .kn-page__header h2 {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
}
html[data-theme="light"] .kn-page__article {
  background: transparent !important;
  color: var(--kn-text) !important;
}

/* ─── Cartes œuvres (catalogue) ─── */
html[data-theme="light"] .kn-oeuvre-card {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 2px 6px rgba(26,19,48,.05);
}
html[data-theme="light"] .kn-oeuvre-card:hover {
  border-color: var(--gc, var(--kn-bleu)) !important;
  box-shadow: 0 8px 20px rgba(26,19,48,.10);
}
html[data-theme="light"] .kn-oeuvre-card__title { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-oeuvre-card__comp { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-oeuvre-card__comp a { color: var(--kn-bleu) !important; border-color: transparent !important; }
html[data-theme="light"] .kn-oeuvre-card__comp a:hover { color: var(--kn-bleu2) !important; border-bottom-color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-oeuvre-card__date { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-oeuvre-card__details em { color: var(--kn-muted) !important; }
html[data-theme="light"] #kn-oeuvres-count { color: var(--kn-or2) !important; }

/* Skeleton / empty states */
html[data-theme="light"] .kn-skeleton__card { background: rgba(26,19,48,.06) !important; }
html[data-theme="light"] .kn-empty__title { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-empty__desc { color: var(--kn-muted) !important; }

/* Iframe maps wrapper : remplace ::before sombre éventuel */
html[data-theme="light"] body.page-carte-sonore .kn-page__article::before { display: none !important; }

/* ─── Bouton FAIRE UN DON dans footer ─── */
html[data-theme="light"] .kn-footer__btn,
html[data-theme="light"] .kn-footer__nl-btn {
  background: linear-gradient(135deg, var(--kn-or) 0%, var(--kn-or2) 100%) !important;
  color: #ffffff !important;
  border: none !important;
}

/* ─── Cartouche genre / chœur en haut de fiche ─── */
html[data-theme="light"] [class*="genre"][class*="badge"],
html[data-theme="light"] .kn-fiche-oeuvre__genre {
  color: var(--kn-text) !important;
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v5 — page Nos Productions + tabs
═══════════════════════════════════════════════════════ */

/* Hero "Nos productions" : flip dark → clair */
html[data-theme="light"] .kn-productions__header {
  background:
    radial-gradient(ellipse 50% 80% at 30% 0%, rgba(31,111,153,.10) 0%, transparent 55%),
    radial-gradient(ellipse 60% 70% at 80% 30%, rgba(154,122,31,.08) 0%, transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-productions__eyebrow,
html[data-theme="light"] .kn-productions__title span {
  color: var(--kn-or2) !important;
  -webkit-text-fill-color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-productions__title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
}
html[data-theme="light"] .kn-productions__lead {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-productions__lead strong {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* Tabs Films & clips / Disques */
html[data-theme="light"] .kn-prod-tabs {
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-prod-tab {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  background: transparent !important;
}
html[data-theme="light"] .kn-prod-tab:hover {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-prod-tab.active {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  border-bottom-color: var(--kn-bleu) !important;
}

/* Cards productions */
html[data-theme="light"] .kn-prod-card,
html[data-theme="light"] .kn-prod-item {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 4px 14px rgba(26,19,48,.06);
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-prod-card *,
html[data-theme="light"] .kn-prod-card p,
html[data-theme="light"] .kn-prod-card span,
html[data-theme="light"] .kn-prod-card h2,
html[data-theme="light"] .kn-prod-card h3,
html[data-theme="light"] .kn-prod-card li,
html[data-theme="light"] .kn-prod-card strong { color: inherit !important; }
html[data-theme="light"] .kn-prod-card__title { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-prod-card__year,
html[data-theme="light"] .kn-prod-card__mention,
html[data-theme="light"] .kn-prod-card__row-key,
html[data-theme="light"] .kn-prod-card__desc,
html[data-theme="light"] .kn-prod-card__chapter-comp,
html[data-theme="light"] .kn-prod-card__chapter-ts,
html[data-theme="light"] .kn-prod-card__playlist-comp,
html[data-theme="light"] .kn-prod-card__playlist-label {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-prod-card__row-val,
html[data-theme="light"] .kn-prod-card__chapter-title,
html[data-theme="light"] .kn-prod-card__playlist-title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-prod-card__type {
  background: var(--kn-bleu-dim) !important;
  border: 1px solid rgba(31,111,153,.3) !important;
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-prod-card__type--disque {
  background: var(--kn-or-dim) !important;
  border-color: rgba(154,122,31,.35) !important;
  color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-prod-card__chapters,
html[data-theme="light"] .kn-prod-card__playlist,
html[data-theme="light"] .kn-prod-card__bonus {
  background: rgba(26,19,48,.03) !important;
  border: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-prod-card__chapter:hover { background: var(--kn-bleu-dim) !important; }
html[data-theme="light"] .kn-prod-card__chapters-tag,
html[data-theme="light"] .kn-prod-card__bonus-tag,
html[data-theme="light"] .kn-prod-card__playlist-toggle {
  background: var(--kn-bleu-dim) !important;
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-prod-card__iframe-wrap {
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 4px 16px rgba(26,19,48,.08);
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v6 — home page : prod cards, tabs, section titles
═══════════════════════════════════════════════════════ */

/* Home : section titles & eyebrow lisibles */
html[data-theme="light"] .kn-section-title,
html[data-theme="light"] .kn-section-title * {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
}
html[data-theme="light"] .kn-section-title span { color: var(--kn-bleu) !important; -webkit-text-fill-color: var(--kn-bleu) !important; }
html[data-theme="light"] .kn-section-eyebrow {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-section-eyebrow--rose { color: var(--kn-rose) !important; -webkit-text-fill-color: var(--kn-rose) !important; }
html[data-theme="light"] .kn-section-eyebrow--vert { color: var(--kn-vert2) !important; -webkit-text-fill-color: var(--kn-vert2) !important; }
html[data-theme="light"] .kn-section-eyebrow--or   { color: var(--kn-or2) !important;   -webkit-text-fill-color: var(--kn-or2) !important; }

/* Home prod-card : carte bien visible sur le crème */
html[data-theme="light"] .kn-prod-card {
  background: #ffffff !important;
  border: 1px solid rgba(26,19,48,.10) !important;
  box-shadow: 0 4px 18px rgba(26,19,48,.08), 0 1px 3px rgba(26,19,48,.05) !important;
  border-radius: 8px !important;
}
html[data-theme="light"] .kn-prod-card:hover {
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 10px 28px rgba(31,111,153,.18), 0 2px 6px rgba(26,19,48,.06) !important;
  transform: translateY(-2px);
}
html[data-theme="light"] .kn-prod-card *,
html[data-theme="light"] .kn-prod-card p {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-prod-card h3,
html[data-theme="light"] .kn-prod-card h4,
html[data-theme="light"] .kn-prod-card .kn-prod-card__title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .kn-prod-card__year,
html[data-theme="light"] .kn-prod-card .year {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  background: var(--kn-bleu-dim) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}
html[data-theme="light"] .kn-prod-card__icon {
  font-size: 32px;
  margin-bottom: 8px;
}
html[data-theme="light"] .kn-prod-card__link,
html[data-theme="light"] .kn-prod-card a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--kn-bleu) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none !important;
  border: none;
  transition: background .2s;
}
html[data-theme="light"] .kn-prod-card__link:hover,
html[data-theme="light"] .kn-prod-card a:hover {
  background: var(--kn-bleu2) !important;
}
html[data-theme="light"] .kn-prod-card::before {
  background: linear-gradient(90deg, transparent, var(--kn-bleu), transparent) !important;
  opacity: .35 !important;
}
html[data-theme="light"] .kn-prod-card:has(.kn-prod-card__type--disque)::before {
  background: linear-gradient(90deg, transparent, var(--kn-or), transparent) !important;
}

/* Tabs Productions sur la home (mêmes classes que page Productions) */
/* déjà couverts par v5 */

/* Bouton "VOIR TOUS →" */
html[data-theme="light"] .kn-section-link,
html[data-theme="light"] .kn-section-header a {
  background: transparent !important;
  border: 1px solid var(--kn-bleu) !important;
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  padding: 10px 20px;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all .2s;
}
html[data-theme="light"] .kn-section-link:hover,
html[data-theme="light"] .kn-section-header a:hover {
  background: var(--kn-bleu) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Cartes compositeurs à la une (home) — body section bien lisible */
html[data-theme="light"] .kn-card__body {
  background: #ffffff !important;
}
html[data-theme="light"] .kn-card__dates {
  background: transparent !important;
  padding: 0 !important;
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-card__title {
  background: transparent !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* Empty state */
html[data-theme="light"] .kn-empty {
  background: rgba(26,19,48,.03) !important;
  border: 1px dashed var(--kn-border) !important;
  color: var(--kn-muted) !important;
  padding: 24px;
  border-radius: 6px;
  text-align: center;
}

/* Section eyebrow génériques avec mot-clé (Collections & Événements, etc.) */
html[data-theme="light"] [class*="section-eyebrow"],
html[data-theme="light"] [class*="-eyebrow"] {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}

/* Divider gradient — rester subtil sur fond clair */
html[data-theme="light"] .kn-divider { opacity: .7; }

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v7 — onglet Catalogue (fiche compositeur)
═══════════════════════════════════════════════════════ */

html[data-theme="light"] .kn-cat-summary {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-cat-summary strong {
  color: var(--kn-or2) !important;
  -webkit-text-fill-color: var(--kn-or2) !important;
}

html[data-theme="light"] .kn-cat-genre {
  color: var(--gc, var(--kn-bleu)) !important;
  -webkit-text-fill-color: var(--gc, var(--kn-bleu)) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--gc, var(--kn-bleu)) 30%, var(--kn-border)) !important;
}
html[data-theme="light"] .kn-cat-genre span {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}

html[data-theme="light"] .kn-cat-item {
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-cat-link:hover {
  background: rgba(31,111,153,.06) !important;
}

html[data-theme="light"] .kn-cat-title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .kn-cat-instr {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-cat-date {
  color: var(--kn-or2) !important;
  -webkit-text-fill-color: var(--kn-or2) !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .kn-cat-audio {
  background: rgba(42,138,100,.18) !important;
  color: var(--kn-vert2) !important;
  -webkit-text-fill-color: var(--kn-vert2) !important;
}
html[data-theme="light"] .kn-cat-arrow {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  opacity: .55;
}
html[data-theme="light"] .kn-cat-link:hover .kn-cat-arrow {
  color: var(--kn-bleu) !important;
  opacity: 1;
}

/* Onglets de la fiche compositeur (Biographie / Catalogue / Galerie / …) */
html[data-theme="light"] .kn-tabs {
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-tab {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  background: transparent !important;
}
html[data-theme="light"] .kn-tab:hover {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-tab.active {
  color: var(--kn-or2) !important;
  -webkit-text-fill-color: var(--kn-or2) !important;
  border-bottom-color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-tab__count {
  background: var(--kn-bleu-dim) !important;
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  padding: 2px 8px;
  border-radius: 999px;
  margin-left: 6px;
  font-size: 11px;
  font-weight: 700;
}

/* ─── Sidebar "Œuvres disponibles" : items lisibles ─── */
html[data-theme="light"] .kn-sidebar-oeuvre,
html[data-theme="light"] .kn-sidebar-oeuvre__item,
html[data-theme="light"] .kn-sidebar-oeuvre-item {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-sidebar-oeuvre__title,
html[data-theme="light"] .kn-sidebar-oeuvre-item__title,
html[data-theme="light"] .kn-sidebar-card li a {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .kn-sidebar-oeuvre__meta,
html[data-theme="light"] .kn-sidebar-oeuvre-item__meta,
html[data-theme="light"] .kn-sidebar-card li .meta {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}

/* Empty state catalogue */
html[data-theme="light"] .kn-empty__title { color: var(--kn-text) !important; -webkit-text-fill-color: var(--kn-text) !important; }

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v8 — production : meta box + chapitres
═══════════════════════════════════════════════════════ */

/* Meta box (Compositeur·s / Interprètes / Production) */
html[data-theme="light"] .kn-prod-card__meta {
  background: linear-gradient(180deg, #fcfcfa 0%, #f7f7f5 100%) !important;
  border: 1px solid var(--kn-border) !important;
  border-left: 3px solid var(--kn-bleu) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
html[data-theme="light"] .kn-prod-card:has(.kn-prod-card__type--disque) .kn-prod-card__meta {
  border-left-color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-prod-card__row + .kn-prod-card__row {
  border-top: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-prod-card__row-key {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
html[data-theme="light"] .kn-prod-card__row-val {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* Description du film/disque : plus de contraste */
html[data-theme="light"] .kn-prod-card__desc {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}

/* Chapitres : lignes claires, ts en bleu, titre en dark */
html[data-theme="light"] .kn-prod-card__chapter {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-prod-card__chapter:hover {
  background: rgba(31,111,153,.06) !important;
  border-color: rgba(31,111,153,.30) !important;
}
html[data-theme="light"] .kn-prod-card__chapter.is-active {
  background: rgba(31,111,153,.12) !important;
  border-color: rgba(31,111,153,.45) !important;
}
html[data-theme="light"] .kn-prod-card__chapter-ts {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-prod-card__chapter-title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-prod-card__chapter-comp {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  font-style: italic;
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v9 — force meta box & cache buster
═══════════════════════════════════════════════════════ */
html[data-theme="light"] .kn-prod-card .kn-prod-card__meta,
html[data-theme="light"] body .kn-prod-card__meta {
  background-color: #fcfcfa !important;
  background-image: linear-gradient(180deg, #fcfcfa 0%, #f7f7f5 100%) !important;
  border: 1px solid var(--kn-border) !important;
  border-left: 3px solid var(--kn-bleu) !important;
  color: var(--kn-text) !important;
}

/* ═══════════════════════════════════════════════════════
   CARTE SONORE — toujours en mode sombre (map dark fit)
═══════════════════════════════════════════════════════ */
html[data-theme="light"] body.page-carte-sonore {
  --kn-fond:       #0d0016;
  --kn-fond-2:     #130020;
  --kn-fond-card:  #130020;
  --kn-fond-ui:    #1a0835;
  --kn-text:       rgba(255,255,255,.88);
  --kn-muted:      rgba(255,255,255,.38);
  --kn-border:     rgba(110,193,228,.10);
  --kn-bleu:       #6EC1E4;
  --kn-bleu2:      #3ba8d4;
  --kn-or:         #e8c87a;
  --kn-or2:        #c9a84c;
  --kn-rose:       #e87a9a;
  --kn-vert:       #7ae8b8;
  --kn-violet:     #b8a0f0;

  background: #0d0016 !important;
  color: rgba(255,255,255,.88) !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page-wrap,
html[data-theme="light"] body.page-carte-sonore .kn-page__article,
html[data-theme="light"] body.page-carte-sonore .kn-page__container,
html[data-theme="light"] body.page-carte-sonore #k-carte-wrapper,
html[data-theme="light"] body.page-carte-sonore #k-carte-panel,
html[data-theme="light"] body.page-carte-sonore .kn-page__header {
  background: #0d0016 !important;
  color: rgba(255,255,255,.88) !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page__header,
html[data-theme="light"] body.page-carte-sonore .kn-page__header h1,
html[data-theme="light"] body.page-carte-sonore .kn-page__header h2,
html[data-theme="light"] body.page-carte-sonore .kn-page__header * {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: initial !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page__header h1 {
  background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,.65) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-eyebrow,
html[data-theme="light"] body.page-carte-sonore [class*="eyebrow"] {
  color: #6EC1E4 !important;
  -webkit-text-fill-color: #6EC1E4 !important;
}

/* ═══════════════════════════════════════════════════════
   CARDS COMPOSITEURS — refonte propre v10
═══════════════════════════════════════════════════════ */
html[data-theme="light"] .kn-card {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(26,19,48,.10) !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 3px rgba(26,19,48,.05), 0 4px 12px rgba(26,19,48,.06) !important;
  overflow: hidden !important;
}
html[data-theme="light"] .kn-card:hover {
  border-color: var(--periode-color, var(--kn-bleu)) !important;
  box-shadow: 0 4px 8px rgba(26,19,48,.06), 0 12px 28px rgba(26,19,48,.12) !important;
  transform: translateY(-3px);
}
html[data-theme="light"] .kn-card__link {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  background: transparent !important;
}

/* Thumb : dégradé doux teinté par la couleur de période */
html[data-theme="light"] .kn-card__thumb,
html[data-theme="light"] .kn-card__thumb--placeholder {
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, color-mix(in srgb, var(--periode-color, #6EC1E4) 18%, transparent) 0%, transparent 70%),
    linear-gradient(160deg, #f7f7f5 0%, #e8e8e6 100%) !important;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% 40%, color-mix(in srgb, var(--periode-color, #6EC1E4) 18%, transparent) 0%, transparent 70%),
    linear-gradient(160deg, #f7f7f5 0%, #e8e8e6 100%) !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  overflow: hidden;
}

/* Initial : grosse lettre filigrane sans rectangle */
html[data-theme="light"] .kn-card__initial {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--periode-color, #1a1330) 55%, rgba(26,19,48,.35)) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--periode-color, #1a1330) 55%, rgba(26,19,48,.35)) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 96px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  opacity: .65 !important;
  text-shadow: 0 2px 12px rgba(255,255,255,.4);
  display: inline-block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Période pill : couleur d'accent solide lisible */
html[data-theme="light"] .kn-card__periode-bar {
  background: rgba(255,255,255,.92) !important;
  background-image: none !important;
  border: 1px solid color-mix(in srgb, var(--periode-color, #6EC1E4) 30%, transparent) !important;
  border-top: 1px solid color-mix(in srgb, var(--periode-color, #6EC1E4) 30%, transparent) !important;
  border-radius: 999px !important;
  padding: 5px 12px !important;
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 6px rgba(26,19,48,.08);
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}
html[data-theme="light"] .kn-card__periode-bar span {
  color: color-mix(in srgb, var(--periode-color, #1a1330) 80%, #1a1330) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--periode-color, #1a1330) 80%, #1a1330) !important;
}

/* Body : reset complet des backgrounds enfants */
html[data-theme="light"] .kn-card__body {
  background: #ffffff !important;
  background-image: none !important;
  padding: 16px 18px 20px !important;
  border: none !important;
}
html[data-theme="light"] .kn-card__body > *,
html[data-theme="light"] .kn-card__title,
html[data-theme="light"] .kn-card__dates,
html[data-theme="light"] .kn-card__tags,
html[data-theme="light"] .kn-card__tags > * {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html[data-theme="light"] .kn-card__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
}
html[data-theme="light"] .kn-card__dates {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  margin: 0 0 6px !important;
  letter-spacing: .3px !important;
}
html[data-theme="light"] .kn-card__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 4px !important;
}
html[data-theme="light"] .kn-card__tags .kn-tag,
html[data-theme="light"] .kn-card__tags .kn-tag--dept {
  display: inline-block !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  background: var(--kn-bleu-dim) !important;
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  border: 1px solid color-mix(in srgb, var(--kn-bleu) 25%, transparent) !important;
}

/* Badge femme */
html[data-theme="light"] .kn-badge-femme {
  background: rgba(184,57,95,.15) !important;
  color: var(--kn-rose) !important;
  -webkit-text-fill-color: var(--kn-rose) !important;
  border: 1px solid rgba(184,57,95,.35) !important;
}

/* Image de thumbnail si elle existe */
html[data-theme="light"] .kn-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  background: transparent !important;
}

/* ═══════════════════════════════════════════════════════
   SEARCHBAR — un seul ring propre
═══════════════════════════════════════════════════════ */
html[data-theme="light"] .kn-searchbar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
html[data-theme="light"] .kn-searchbar__input {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  box-shadow: 0 2px 12px rgba(26,19,48,.06) !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  border-radius: 50px !important;
  outline: none !important;
}
html[data-theme="light"] .kn-searchbar__input:focus {
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 2px 12px rgba(26,19,48,.06), 0 0 0 3px rgba(31,111,153,.15) !important;
  outline: none !important;
}
html[data-theme="light"] .kn-searchbar__input::placeholder {
  color: var(--kn-muted) !important;
  opacity: .9;
}
html[data-theme="light"] .kn-searchbar__icon {
  color: var(--kn-muted) !important;
}

/* ═══════════════════════════════════════════════════════
   FOOTER LIGHT — propre & sobre v11
═══════════════════════════════════════════════════════ */
html[data-theme="light"] .kn-footer,
html[data-theme="light"] footer.kn-footer {
  background: linear-gradient(180deg, #eeeeec 0%, #e8e8e6 100%) !important;
  border-top: 1px solid var(--kn-border);
  color: var(--kn-text) !important;
}

/* Bande légale (bas) : tonalité unifiée, pas de muddy gray */
html[data-theme="light"] .kn-footer__legal {
  background: rgba(26,19,48,.05) !important;
  border-top: 1px solid rgba(26,19,48,.08) !important;
}
html[data-theme="light"] .kn-footer__legal-inner {
  color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-footer__brand-mini {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-footer__sep {
  color: rgba(26,19,48,.25) !important;
}
html[data-theme="light"] .kn-footer__legal-right a {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-footer__legal-right a:hover {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}

/* Newsletter : champ + bouton */
html[data-theme="light"] .kn-footer__nl-form {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 3px rgba(26,19,48,.05);
  padding: 4px !important;
  display: flex;
  align-items: center;
  gap: 4px;
}
html[data-theme="light"] .kn-footer__nl-form:focus-within {
  border-color: var(--kn-bleu) !important;
  box-shadow: 0 0 0 3px rgba(31,111,153,.12) !important;
}
html[data-theme="light"] .kn-footer__nl-input {
  background: transparent !important;
  border: none !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  padding: 10px 16px !important;
  box-shadow: none !important;
}
html[data-theme="light"] .kn-footer__nl-input::placeholder {
  color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-footer__nl-btn {
  background: linear-gradient(135deg, var(--kn-or) 0%, var(--kn-or2) 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: none !important;
  width: 38px; height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(154,122,31,.25);
}
html[data-theme="light"] .kn-footer__nl-legal {
  color: var(--kn-muted) !important;
  -webkit-text-fill-color: var(--kn-muted) !important;
  font-size: 12px;
  margin-top: 12px;
}

/* Bouton FAIRE UN DON : outline propre */
html[data-theme="light"] .kn-footer__nl-cta,
html[data-theme="light"] .kn-footer__btn {
  background: transparent !important;
  color: var(--kn-or2) !important;
  -webkit-text-fill-color: var(--kn-or2) !important;
  border: 1px solid var(--kn-or2) !important;
  padding: 10px 22px !important;
  border-radius: 4px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  transition: all .2s;
}
html[data-theme="light"] .kn-footer__nl-cta:hover,
html[data-theme="light"] .kn-footer__btn:hover {
  background: var(--kn-or2) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Réseaux sociaux ronds */
html[data-theme="light"] .kn-footer__social a,
html[data-theme="light"] .kn-footer__social-link,
html[data-theme="light"] .kn-footer a[class*="social"] {
  background: #ffffff !important;
  border: 1px solid var(--kn-border) !important;
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  width: 36px; height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  box-shadow: 0 1px 3px rgba(26,19,48,.06);
}
html[data-theme="light"] .kn-footer__social a:hover,
html[data-theme="light"] .kn-footer__social-link:hover {
  background: var(--kn-bleu) !important;
  border-color: var(--kn-bleu) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Counts (7, 11, 26, …) à côté des périodes/départements */
html[data-theme="light"] .kn-footer__count {
  background: rgba(31,111,153,.10) !important;
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  padding: 1px 7px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  margin-left: 6px;
}

/* Titres colonnes */
html[data-theme="light"] .kn-footer__col-title {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
}

/* Bouton up arrow (back-to-top) */
html[data-theme="light"] .kn-totop {
  background: var(--kn-bleu) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(31,111,153,.35);
  border: none !important;
}

/* ═══════════════════════════════════════════════════════
   CARTE SONORE — fix : dark uniquement sur la carte, pas le footer
═══════════════════════════════════════════════════════ */
/* Reset : on annule la variable-override globale sur body.page-carte-sonore */
html[data-theme="light"] body.page-carte-sonore {
  background: var(--kn-fond) !important;
  color: var(--kn-text) !important;
  /* variables hertitées du :root principal (palette neutre premium) */
}

/* Mais on garde dark UNIQUEMENT sur la zone carte (panel + map) */
html[data-theme="light"] body.page-carte-sonore #k-carte-wrapper,
html[data-theme="light"] body.page-carte-sonore .kn-page__article {
  background: #0d0016 !important;
  color: rgba(255,255,255,.88) !important;
}
html[data-theme="light"] body.page-carte-sonore #k-carte-panel,
html[data-theme="light"] body.page-carte-sonore #k-carte-panel * {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: initial !important;
}
html[data-theme="light"] body.page-carte-sonore #k-carte-panel a {
  color: #6EC1E4 !important;
  -webkit-text-fill-color: #6EC1E4 !important;
}

/* Header de la page (eyebrow + titre Carte Sonore) reste en clair */
html[data-theme="light"] body.page-carte-sonore .kn-page__header,
html[data-theme="light"] body.page-carte-sonore .kn-page__header * {
  background: var(--kn-fond) !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page__header h1 {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
html[data-theme="light"] body.page-carte-sonore [class*="eyebrow"] {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
  background: transparent !important;
}

/* Élimine la bande sombre entre map et footer */
html[data-theme="light"] body.page-carte-sonore .kn-page,
html[data-theme="light"] body.page-carte-sonore .kn-page__container,
html[data-theme="light"] body.page-carte-sonore main {
  background: var(--kn-fond) !important;
}

/* ═══════════════════════════════════════════════════════
   CARTE SONORE — CLEAN v13 : page claire, seul le bloc map est sombre
═══════════════════════════════════════════════════════ */
html[data-theme="light"] body.page-carte-sonore,
html[data-theme="light"] body.page-carte-sonore .kn-page-wrap,
html[data-theme="light"] body.page-carte-sonore .kn-page,
html[data-theme="light"] body.page-carte-sonore .kn-page__container,
html[data-theme="light"] body.page-carte-sonore .kn-page__article,
html[data-theme="light"] body.page-carte-sonore .kn-page__content,
html[data-theme="light"] body.page-carte-sonore main {
  background: var(--kn-fond) !important;
  color: var(--kn-text) !important;
}

/* Header : titre visible */
html[data-theme="light"] body.page-carte-sonore .kn-page__header,
html[data-theme="light"] body.page-carte-sonore .kn-page__header * {
  background: transparent !important;
  background-image: none !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-page__header h1,
html[data-theme="light"] body.page-carte-sonore .kn-page__header h2 {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
html[data-theme="light"] body.page-carte-sonore .kn-eyebrow,
html[data-theme="light"] body.page-carte-sonore [class*="eyebrow"] {
  color: var(--kn-bleu) !important;
  -webkit-text-fill-color: var(--kn-bleu) !important;
}

/* Bloc carte : seul élément sombre */
html[data-theme="light"] body.page-carte-sonore #k-carte-wrapper {
  background: #0d0016 !important;
  color: rgba(255,255,255,.88) !important;
}
html[data-theme="light"] body.page-carte-sonore #k-carte-panel {
  background: #130020 !important;
}
html[data-theme="light"] body.page-carte-sonore #k-carte-panel,
html[data-theme="light"] body.page-carte-sonore #k-carte-panel * {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: initial !important;
}
html[data-theme="light"] body.page-carte-sonore #k-carte-panel a {
  color: #6EC1E4 !important;
  -webkit-text-fill-color: #6EC1E4 !important;
}

/* ============================================================
   AUDIT FIX — 2026-05-17 (lisibilité, contraste, header, carte)
   Append-only overrides. Safe to remove en bloc.
   ============================================================ */

/* 1. Header — empêche l'overflow du CTA "Nous soutenir" --------- */
.kn-nav__container {
  max-width: min(1440px, 100%) !important;
  padding-left: clamp(16px, 3vw, 32px) !important;
  padding-right: clamp(16px, 3vw, 32px) !important;
  gap: clamp(8px, 1.5vw, 24px) !important;
  box-sizing: border-box !important;
}
.kn-nav__actions { flex-shrink: 0 !important; }
.kn-nav__cta {
  white-space: nowrap !important;
  padding: 10px 18px !important;
}
@media (max-width: 1200px) {
  .kn-nav__menu { gap: clamp(8px, 1.2vw, 20px) !important; }
  .kn-nav__link { font-size: 0.82rem !important; letter-spacing: .04em !important; }
}

/* 2. Pills période — contraste WCAG AA (Lighthouse fix) --------- */
.kn-periode-pill,
.kn-periode-pill__name {
  color: #0f0a1e !important;
}
html[data-theme="light"] .kn-periode-pill {
  background: #ffffff !important;
  border: 1px solid rgba(15,10,30,.18) !important;
  color: #0f0a1e !important;
}
html[data-theme="light"] .kn-periode-pill__name { color: #0f0a1e !important; font-weight: 500 !important; }
html[data-theme="light"] .kn-periode-pill__count { color: rgba(15,10,30,.6) !important; }

/* 3. Hero d'accueil — titre Kanadenn. plus lisible -------------- */
.kn-home-hero__eyebrow,
.kn-home-hero__sub,
.kn-home-hero [class*="eyebrow"] {
  color: rgba(255,255,255,.78) !important;
}
.kn-home-hero__title {
  background: linear-gradient(135deg, #ffffff 0%, rgba(255,255,255,.72) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: 0 2px 24px rgba(0,0,0,.35);
}

/* 4. CTA hero primaire — contraste ----------------------------- */
.kn-home-hero__cta,
.kn-home-hero .kn-btn,
.kn-home-hero a[class*="btn"] {
  background: #1d4e89 !important;
  color: #ffffff !important;
  border: 1px solid #1d4e89 !important;
}
.kn-home-hero__cta:hover { background: #2a6bb0 !important; border-color: #2a6bb0 !important; }
.kn-home-hero a[class*="btn"][class*="secondary"],
.kn-home-hero a[class*="btn"][class*="ghost"] {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.55) !important;
}

/* 5. Cartographie — centrage de la carte ----------------------- */
body.page-carte-sonore #k-carte-wrapper,
body.page-carte-sonore .kn-page__article {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
}
body.page-carte-sonore #k-carte-wrapper { width: 100% !important; }

/* 6. Menu — état actif visible --------------------------------- */
.kn-nav__link.is-active {
  color: var(--kn-bleu, #1d4e89) !important;
  font-weight: 600 !important;
}
.kn-nav__link.is-active::after {
  content: ""; display: block; height: 2px; margin-top: 4px;
  background: currentColor; border-radius: 2px;
}

/* ============================================================
   AUDIT FIX v2 — Fiche compositeur : surface unifiée
   ============================================================ */

/* Supprime le halo bleu + dégradé du hero — surface continue crème */
html[data-theme="light"] .kn-hero-compositeur,
html[data-theme="light"] [class*="hero-compositeur"] {
  background: #f6efe4 !important;
  color: var(--kn-text) !important;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
  border-bottom: 1px solid rgba(15,10,30,.06) !important;
}
html[data-theme="light"] .kn-hero-compositeur__bg { display: none !important; }

/* Portrait : carte blanche élégante, ombre douce */
html[data-theme="light"] .kn-hero-compositeur__portrait,
html[data-theme="light"] .kn-hero-compositeur__img,
html[data-theme="light"] .kn-hero-compositeur__placeholder {
  background: #ffffff !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 32px -16px rgba(15,10,30,.25), 0 2px 8px rgba(15,10,30,.06) !important;
  border: 1px solid rgba(15,10,30,.06) !important;
}

/* Titre : retire l'effet card/encadrement parasite */
html[data-theme="light"] .kn-hero-compositeur__nom {
  background: none !important;
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  margin: 8px 0 12px !important;
  font-size: clamp(2.4rem, 4.2vw, 3.4rem) !important;
  line-height: 1.05 !important;
}
html[data-theme="light"] .kn-hero-compositeur__dates {
  background: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--kn-muted, rgba(15,10,30,.6)) !important;
  font-size: 1rem !important;
  margin: 0 0 28px !important;
}

/* Bio : carte blanche subtile, vraie hiérarchie sur le crème */
html[data-theme="light"] .kn-hero-compositeur__bio-courte {
  background: #ffffff !important;
  border: 1px solid rgba(15,10,30,.06) !important;
  border-left: 3px solid var(--periode-color, var(--kn-bleu, #1d4e89)) !important;
  border-radius: 4px !important;
  padding: 28px 32px !important;
  box-shadow: 0 1px 3px rgba(15,10,30,.04) !important;
  font-size: 1.02rem !important;
  line-height: 1.75 !important;
}
html[data-theme="light"] .kn-hero-compositeur__bio-courte p { color: var(--kn-text) !important; }

/* Badge période : plus discret, intégré */
html[data-theme="light"] .kn-hero-compositeur__periode {
  background: #ffffff !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  display: inline-block !important;
  box-shadow: none !important;
}

/* Fil d'Ariane : aération, contraste */
html[data-theme="light"] .kn-breadcrumb,
html[data-theme="light"] [class*="breadcrumb"] {
  background: transparent !important;
  padding: 20px 0 0 !important;
  font-size: .88rem !important;
  color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-breadcrumb a,
html[data-theme="light"] [class*="breadcrumb"] a { color: var(--kn-bleu, #1d4e89) !important; }
html[data-theme="light"] .kn-breadcrumb__sep-current,
html[data-theme="light"] [class*="breadcrumb"] [class*="current"] { color: var(--kn-text) !important; font-weight: 500 !important; }

/* Onglets sous le hero : continuité visuelle, pas de rupture de fond */
html[data-theme="light"] .kn-tabs,
html[data-theme="light"] [class*="kn-tabs"],
html[data-theme="light"] .kn-single-compositeur__tabs {
  background: #f6efe4 !important;
  border-bottom: 1px solid rgba(15,10,30,.08) !important;
}

/* Corps de fiche : blanc cassé continu pour respirer */
html[data-theme="light"] body.single-compositeur {
  background: #f6efe4 !important;
}
html[data-theme="light"] body.single-compositeur main,
html[data-theme="light"] body.single-compositeur .kn-page,
html[data-theme="light"] body.single-compositeur .kn-page__article {
  background: transparent !important;
}

/* AUDIT FIX v3 — Hero toujours sombre — NEUTRALISÉ */

/* ============================================================
   AUDIT FIX v4 — Playlist grid (Nos productions)
   Cartes thumbnails YouTube élégantes, hover ciné
   ============================================================ */

.kn-prod-card__playlist-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  margin-top: 24px !important;
}

/* Carte : un seul bloc relative, plus de fond bleu plat */
.kn-prod-card__playlist-item {
  position: relative !important;
  display: block !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #0f0a1e !important;
  text-decoration: none !important;
  aspect-ratio: 16 / 10 !important;
  box-shadow: 0 4px 16px -8px rgba(15,10,30,.4) !important;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s !important;
  isolation: isolate !important;
  border: none !important;
}
.kn-prod-card__playlist-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px -12px rgba(15,10,30,.5) !important;
}

/* Thumbnail full-bleed avec zoom progressif au hover */
.kn-prod-card__playlist-thumb {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important; height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #0f0a1e !important;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .35s !important;
  filter: saturate(.95) contrast(1.02);
}
.kn-prod-card__playlist-item:hover .kn-prod-card__playlist-thumb {
  transform: scale(1.06) !important;
  filter: saturate(1.1) contrast(1.05);
}

/* Voile dégradé : lisibilité du titre, ambiance ciné */
.kn-prod-card__playlist-thumb::after {
  content: "" !important;
  position: absolute !important; inset: 0 !important;
  background:
    linear-gradient(180deg,
      rgba(15,10,30,0) 0%,
      rgba(15,10,30,0) 45%,
      rgba(15,10,30,.55) 75%,
      rgba(15,10,30,.92) 100%) !important;
  transition: opacity .35s !important;
}

/* Play icon : pastille blanche translucide centrée, scale au hover */
.kn-prod-card__playlist-play {
  position: absolute !important;
  top: 38% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 56px !important; height: 56px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.92) !important;
  color: #0f0a1e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  padding-left: 4px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
  opacity: 0 !important;
  transition: opacity .3s, transform .35s cubic-bezier(.2,.8,.2,1) !important;
  z-index: 2 !important;
  font: 20px/1 system-ui, sans-serif !important;
}
.kn-prod-card__playlist-item:hover .kn-prod-card__playlist-play {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* Info : ré-empilée par-dessus le thumb en bas */
.kn-prod-card__playlist-info {
  position: absolute !important;
  left: 16px !important; right: 16px !important; bottom: 14px !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.kn-prod-card__playlist-title {
  display: block !important;
  color: #ffffff !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.kn-prod-card__playlist-comp {
  display: block !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

/* Header bloc "Playlist · 19 vidéos" plus typographique */
.kn-prod-card__playlist > summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(15,10,30,.08) !important;
  margin-bottom: 8px !important;
}
.kn-prod-card__playlist > summary::-webkit-details-marker { display: none !important; }
.kn-prod-card__playlist-label {
  font-size: .72rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--kn-bleu, #1d4e89) !important;
}
.kn-prod-card__playlist-toggle {
  font-size: .72rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(15,10,30,.5) !important;
  font-weight: 500 !important;
}

/* Petits écrans : moins de colonnes */
@media (max-width: 640px) {
  .kn-prod-card__playlist-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .kn-prod-card__playlist-play { width: 44px !important; height: 44px !important; font-size: 16px !important; }
  .kn-prod-card__playlist-title { font-size: .82rem !important; }
}

/* ============================================================
   AUDIT FIX v5 — Playlist : titres sous vignette + header opaque
   ============================================================ */

/* Annule v4 : aspect-ratio sur l'item entier */
.kn-prod-card__playlist-item {
  aspect-ratio: auto !important;
  background: transparent !important;
  box-shadow: 0 2px 8px rgba(15,10,30,.06) !important;
  border: 1px solid rgba(15,10,30,.06) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.kn-prod-card__playlist-item:hover {
  border-color: rgba(15,10,30,.14) !important;
  box-shadow: 0 12px 28px -10px rgba(15,10,30,.22) !important;
}

/* Thumb : aspect 16/9 uniquement sur la zone image */
.kn-prod-card__playlist-thumb {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  background-size: cover !important;
  background-position: center !important;
  background-color: #0f0a1e !important;
  overflow: hidden !important;
  transition: filter .35s !important;
  filter: saturate(.95);
}
.kn-prod-card__playlist-item:hover .kn-prod-card__playlist-thumb {
  filter: saturate(1.05) brightness(1.04);
}
.kn-prod-card__playlist-thumb::after {
  content: "" !important;
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(180deg, rgba(15,10,30,0) 60%, rgba(15,10,30,.25) 100%) !important;
}

/* Play : pastille blanche, visible en permanence (plus claire), scale au hover */
.kn-prod-card__playlist-play {
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 48px !important; height: 48px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.92) !important;
  color: #0f0a1e !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  padding-left: 3px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.3) !important;
  opacity: .85 !important;
  transition: opacity .25s, transform .35s cubic-bezier(.2,.8,.2,1), background .25s !important;
  z-index: 2 !important;
}
.kn-prod-card__playlist-item:hover .kn-prod-card__playlist-play {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1.12) !important;
  background: #ffffff !important;
}

/* Info SOUS la vignette, fond blanc, texte marine — vraiment lisible */
.kn-prod-card__playlist-info {
  position: static !important;
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 4px !important;
  padding: 12px 14px 14px !important;
  background: #ffffff !important;
  inset: auto !important;
  z-index: auto !important;
}
.kn-prod-card__playlist-title {
  color: #0f0a1e !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.kn-prod-card__playlist-comp {
  color: rgba(15,10,30,.55) !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

/* ============================================================
   Header opaque en light mode (fini le chevauchement)
   ============================================================ */
html[data-theme="light"] .kn-nav,
html[data-theme="light"] #kn-nav {
  background: rgba(246, 239, 228, .92) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border-bottom: 1px solid rgba(15,10,30,.06) !important;
  box-shadow: 0 1px 0 rgba(15,10,30,.04) !important;
}
/* Menu = couleur du logo (encre profonde uniforme) */
html[data-theme="light"] .kn-nav__link { color: var(--kn-text) !important; opacity: .78; }
html[data-theme="light"] .kn-nav__link:hover,
html[data-theme="light"] .kn-nav__link.is-active { color: var(--kn-text) !important; opacity: 1; }
html[data-theme="light"] .kn-nav__brand { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-nav__dot { color: var(--kn-or) !important; }
html[data-theme="light"] .kn-nav__dot { color: var(--kn-bleu, #1d4e89) !important; }


/* === FIX HOME HERO — light only === */
html[data-theme="light"] .kn-home-hero,
html[data-theme="light"] [class*="kn-home-hero"] {
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(20,71,106,0.04) 0%, transparent 70%),
    var(--kn-fond) !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-page-wrap { background: var(--kn-fond) !important; }
html[data-theme="light"] .kn-home-hero::before {
  background-image: radial-gradient(circle, rgba(26,24,20,0.06) 1px, transparent 1.5px) !important;
  filter: none !important; opacity: 1 !important;
}
html[data-theme="light"] .kn-home-hero__title,
html[data-theme="light"] .kn-home-hero__title-dot,
html[data-theme="light"] .kn-home-hero [class*="hero__title"] {
  color: var(--kn-text) !important;
  -webkit-text-fill-color: var(--kn-text) !important;
  background: none !important;
  text-shadow: none !important;
}
html[data-theme="light"] .kn-home-hero__eyebrow,
html[data-theme="light"] .kn-home-hero [class*="eyebrow"] { color: var(--kn-muted) !important; }
html[data-theme="light"] .kn-home-hero__tagline,
html[data-theme="light"] .kn-home-hero__tagline strong,
html[data-theme="light"] .kn-home-hero__sub,
html[data-theme="light"] .kn-home-hero p,
html[data-theme="light"] .kn-home-hero [class*="sub"] { color: var(--kn-text) !important; }
html[data-theme="light"] .kn-home-hero .kn-stat,
html[data-theme="light"] .kn-home-hero__stats .kn-stat {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; min-width: 140px;
}
html[data-theme="light"] .kn-home-hero .kn-stat__num {
  color: #14082a !important; -webkit-text-fill-color: #14082a !important;
}
html[data-theme="light"] .kn-home-hero .kn-stat__num--plus::after { color: #1d4e89 !important; }
html[data-theme="light"] .kn-home-hero .kn-stat__label { color: rgba(20,8,42,0.55) !important; }
@media (max-width: 720px) { html[data-theme="light"] .kn-home-hero .kn-stat { min-width: 100px; } }
/* === END FIX === */


/* === FIX PILLS DARK === */
html[data-theme="dark"] .kn-periode-pill,
:root:not([data-theme="light"]) .kn-periode-pill {
  background: rgba(255,255,255,0.06) !important;
  border-color: var(--c, #6EC1E4) !important;
  color: #fff !important;
}
html[data-theme="dark"] .kn-periode-pill:hover,
:root:not([data-theme="light"]) .kn-periode-pill:hover {
  background: rgba(255,255,255,0.12) !important;
}
html[data-theme="dark"] .kn-periode-pill__name,
:root:not([data-theme="light"]) .kn-periode-pill__name {
  color: var(--c, #6EC1E4) !important;
  filter: brightness(1.15);
}
html[data-theme="dark"] .kn-periode-pill__count,
:root:not([data-theme="light"]) .kn-periode-pill__count {
  color: rgba(255,255,255,0.7) !important;
}
html[data-theme="dark"] .kn-periode-pill__icon,
:root:not([data-theme="light"]) .kn-periode-pill__icon {
  color: var(--c, #6EC1E4) !important;
  filter: brightness(1.15);
}
/* === END FIX === */


/* === FIX MATRIMOINE + PROD CARDS === */
.kn-matrimoine__cta,
.kn-matrimoine__cta:link,
.kn-matrimoine__cta:visited {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, #c45070, #8e3450) !important;
}
.kn-matrimoine__cta:hover { background: linear-gradient(135deg, #8e3450, #6b2238) !important; }

/* Production cards — media on top */
.kn-prod-card { overflow: hidden; }
.kn-prod-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #14082a;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.kn-prod-card__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.kn-prod-card:hover .kn-prod-card__media img { transform: scale(1.04); }
.kn-prod-card__media-fallback {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  font-size: 64px;
  background: linear-gradient(135deg, rgba(110,193,228,0.15), rgba(184,160,240,0.12));
}
html[data-theme="light"] .kn-prod-card__media { background: var(--kn-fond-ui); }
html[data-theme="light"] .kn-prod-card__media-fallback {
  background: linear-gradient(135deg, rgba(110,193,228,0.18), rgba(184,160,240,0.14));
}
/* === END FIX === */
/* ============================================================
   AUDIT FIX v6 — Lisibilité bi-thème (tokenisation systémique)
   Stratégie : surfaces "signature" toujours sombres (hero, footer)
   Tout le reste suit les tokens du thème actif.
   ============================================================ */

/* ─── 1. Surfaces signature : toujours sombres ─── */
.kn-home-hero,
.kn-footer,
.kn-nav.kn-nav--over-dark { color-scheme: dark; }

html[data-theme="light"] .kn-footer,
html[data-theme="light"] .kn-footer * {
  --kn-text: rgba(255,255,255,.88);
  --kn-muted: rgba(255,255,255,.55);
  --kn-border: rgba(255,255,255,.10);
}
html[data-theme="light"] .kn-footer {
  background: #0d0016 !important;
  color: rgba(255,255,255,.78) !important;
}
html[data-theme="light"] .kn-footer h1,
html[data-theme="light"] .kn-footer h2,
html[data-theme="light"] .kn-footer h3,
html[data-theme="light"] .kn-footer h4,
html[data-theme="light"] .kn-footer p,
html[data-theme="light"] .kn-footer span,
html[data-theme="light"] .kn-footer li { color: inherit !important; }
html[data-theme="light"] .kn-footer a:not(.kn-footer__btn) { color: rgba(255,255,255,.7) !important; }
html[data-theme="light"] .kn-footer a:not(.kn-footer__btn):hover { color: #fff !important; }

/* ─── 2. Playlist : tokens au lieu de couleurs en dur ─── */
.kn-prod-card__playlist-info {
  background: var(--kn-fond-card, #fff) !important;
  color: var(--kn-text) !important;
}
.kn-prod-card__playlist-title { color: var(--kn-text) !important; }
.kn-prod-card__playlist-comp { color: var(--kn-muted) !important; }
.kn-prod-card__playlist-item {
  background: var(--kn-fond-card, #fff) !important;
  border-color: var(--kn-border) !important;
}
.kn-prod-card__playlist-item:hover { border-color: var(--kn-bleu) !important; }

/* ─── 3. Bio fiche compositeur ─── */
html[data-theme="light"] .kn-hero-compositeur__bio-courte {
  background: var(--kn-fond-card, #fff) !important;
  border-color: var(--kn-border) !important;
}
html:not([data-theme="light"]) .kn-hero-compositeur__bio-courte {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-left: 3px solid var(--periode-color, var(--kn-bleu)) !important;
}
html:not([data-theme="light"]) .kn-hero-compositeur__bio-courte p { color: var(--kn-text) !important; }

/* ─── 4. Cartes / sections génériques : suivent le thème ─── */
[class*="kn-card"]:not(.kn-prod-card):not(.kn-prod-card__playlist-item),
.kn-section,
.kn-panel,
.kn-sidebar-card {
  background: var(--kn-fond-card) !important;
  color: var(--kn-text) !important;
  border-color: var(--kn-border) !important;
}

/* ─── 5. Pills / chips / badges : tokens ─── */
[class*="badge"],
[class*="chip"],
[class*="tag"]:not(.kn-prod-card__type):not(.kn-prod-card__chapters-tag):not(.kn-prod-card__bonus-tag),
.kn-eyebrow {
  color: var(--kn-text);
}

/* ─── 6. Inputs / formulaires : tokens ─── */
input[type="text"], input[type="email"], input[type="search"], input[type="url"], textarea, select {
  background: var(--kn-fond-card) !important;
  color: var(--kn-text) !important;
  border: 1px solid var(--kn-border) !important;
}
input::placeholder, textarea::placeholder { color: var(--kn-muted) !important; }

/* ─── 7. Tabs ─── */
.kn-tab, [class*="kn-tab"]:not([class*="tabpanel"]) { color: var(--kn-muted) !important; }
.kn-tab.is-active, .kn-tab[aria-selected="true"] { color: var(--kn-text) !important; }

/* ─── 8. Fil d'Ariane : tokens ─── */
.kn-breadcrumb, [class*="breadcrumb"] { color: var(--kn-muted) !important; }
.kn-breadcrumb a, [class*="breadcrumb"] a { color: var(--kn-bleu) !important; }

/* ─── 9. Tables / liste : tokens ─── */
table, th, td { color: var(--kn-text) !important; border-color: var(--kn-border) !important; }
hr { border-color: var(--kn-border) !important; background: var(--kn-border) !important; }

/* ─── 10. Header : adaptation propre par thème ─── */
html:not([data-theme="light"]) .kn-nav {
  background: rgba(13,0,22,.85) !important;
  backdrop-filter: saturate(180%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(14px) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
html:not([data-theme="light"]) .kn-nav__link { color: rgba(255,255,255,.78) !important; }
html:not([data-theme="light"]) .kn-nav__brand { color: #fff !important; }

/* ─── 11. État focus visible pour accessibilité ─── */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--kn-bleu) !important;
  outline-offset: 2px !important;
  border-radius: 2px;
}

/* ─── 12. Pills période : tokens propres ─── */
.kn-periode-pill {
  background: var(--kn-fond-card) !important;
  color: var(--kn-text) !important;
  border: 1px solid var(--kn-border) !important;
}
.kn-periode-pill:hover { border-color: var(--kn-bleu) !important; color: var(--kn-bleu) !important; }
.kn-periode-pill__count { color: var(--kn-muted) !important; }

/* ─── 13. Catch-all anti-blanc-sur-blanc en light ─── */
html[data-theme="light"] [style*="color:#fff"]:not(.kn-home-hero *):not(.kn-footer *):not([class*="btn"]):not([class*="cta"]):not(.kn-prod-card__playlist-title) {
  color: var(--kn-text) !important;
}

/* ═══════════════════════════════════════════════════════
   THEME LIGHT v2 — refonte harmonieuse (2026-05)
═══════════════════════════════════════════════════════ */

html[data-theme="light"] {
  /* Surfaces — moins jaune, plus contemporain */
  --kn-fond:        #fbf8f3 !important;
  --kn-fond-2:      #ffffff !important;
  --kn-fond-card:   #ffffff !important;
  --kn-fond-ui:    #f3ede2 !important;
  --kn-fond-soft:   #f7f1e6;

  /* Texte */
  --kn-text:        #1a1530 !important;
  --kn-text-soft:   #3a3050;
  --kn-muted:       rgba(26,21,48,.58) !important;

  /* Bordures (échelle) */
  --kn-border:        rgba(26,21,48,.08) !important;
  --kn-border-strong: rgba(26,21,48,.16);

  /* Accents plus saturés pour lisibilité */
  --kn-bleu:        #1a6491 !important;
  --kn-bleu2:       #114c70 !important;
  --kn-bleu-soft:   #e3edf4;

  --kn-or:          #b8923a !important;
  --kn-or2:         #8e6f23 !important;
  --kn-or-soft:     #f3e7c3;
  --kn-or-strong:   #d4a93d;

  --kn-rose:        #c54870 !important;
  --kn-rose2:       #9c3658 !important;
  --kn-rose-soft:   #fbe5ec;

  --kn-vert:        #2a8a64 !important;
  --kn-violet:      #6b4fb8 !important;

  /* Ombres en cascade */
  --kn-shadow-sm:  0 1px 3px rgba(26,21,48,.05);
  --kn-shadow-md:  0 4px 14px rgba(26,21,48,.07);
  --kn-shadow-lg:  0 16px 40px rgba(26,21,48,.10);
  --kn-shadow:     var(--kn-shadow-md) !important;
}

/* Body fond ultra légère ondulation pour casser l'uniformité */
html[data-theme="light"] body {
  background:
    radial-gradient(1200px 600px at 0% -10%, rgba(184,146,58,.06), transparent 60%),
    radial-gradient(1000px 500px at 100% 0%, rgba(26,100,145,.04), transparent 60%),
    var(--kn-fond) !important;
}

/* ─── HERO COMPOSITEUR ───────────────────────────── */
html[data-theme="light"] .kn-hero-compositeur {
  background: linear-gradient(180deg, #fff 0%, var(--kn-fond) 100%) !important;
  border-bottom: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-hero-compositeur__portrait,
html[data-theme="light"] .kn-hero-compositeur__img,
html[data-theme="light"] .kn-hero-compositeur__placeholder {
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: var(--kn-shadow-lg) !important;
  border: 1px solid var(--kn-border) !important;
}
html[data-theme="light"] .kn-hero-compositeur__nom {
  color: var(--kn-text) !important;
  letter-spacing: -0.02em !important;
}
html[data-theme="light"] .kn-hero-compositeur__dates {
  color: var(--kn-muted) !important;
  font-weight: 500 !important;
}
html[data-theme="light"] .kn-hero-compositeur__bio-courte {
  background: #fff !important;
  border-left: 4px solid var(--kn-or) !important;
  border-radius: 0 10px 10px 0 !important;
  box-shadow: var(--kn-shadow-sm) !important;
  color: var(--kn-text) !important;
  padding: 18px 22px !important;
}

/* Badge période — plein couleur or */
html[data-theme="light"] .kn-hero-compositeur__periode {
  background: var(--kn-or) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 12px rgba(184,146,58,.25) !important;
}

/* Badge matrimoine — visible et nommé */
html[data-theme="light"] .kn-badge-femme,
html[data-theme="light"] .kn-badge-femme--hero {
  background: var(--kn-rose-soft) !important;
  color: var(--kn-rose2) !important;
  border: 1px solid var(--kn-rose) !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
html[data-theme="light"] .kn-badge-femme::before,
html[data-theme="light"] .kn-badge-femme--hero::before {
  content: "♀";
  font-size: 1rem;
  line-height: 1;
}

/* ─── ONGLETS ───────────────────────────── */
html[data-theme="light"] .kn-tabs {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 12px !important;
  padding: 6px !important;
  gap: 4px !important;
  box-shadow: var(--kn-shadow-sm) !important;
  margin-bottom: 24px !important;
}
html[data-theme="light"] .kn-tab {
  background: transparent !important;
  color: var(--kn-text-soft) !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  transition: all .2s ease !important;
}
html[data-theme="light"] .kn-tab:hover {
  background: var(--kn-or-soft) !important;
  color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-tab.active,
html[data-theme="light"] .kn-tab[aria-selected="true"] {
  background: var(--kn-or-soft) !important;
  color: var(--kn-or2) !important;
  box-shadow: inset 0 0 0 1px var(--kn-or) !important;
}
html[data-theme="light"] .kn-tab__count {
  background: var(--kn-or) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 2px 8px !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  margin-left: 6px !important;
}

/* ─── CATALOGUE (onglet) ───────────────────────────── */
html[data-theme="light"] .kn-cat-summary {
  background: var(--kn-or-soft) !important;
  border: 1px solid rgba(184,146,58,.25) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-cat-summary strong {
  color: var(--kn-or2) !important;
}
html[data-theme="light"] .kn-cat-section {
  margin-top: 28px !important;
}
html[data-theme="light"] .kn-cat-genre {
  color: var(--kn-text) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  padding-left: 14px !important;
  border-left: 4px solid var(--gc, var(--kn-bleu)) !important;
  margin-bottom: 12px !important;
}
html[data-theme="light"] .kn-cat-genre span {
  color: var(--kn-muted) !important;
  font-weight: 500 !important;
  margin-left: 8px !important;
}
html[data-theme="light"] .kn-cat-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
html[data-theme="light"] .kn-cat-item {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 10px !important;
  transition: all .18s ease !important;
}
html[data-theme="light"] .kn-cat-item:hover {
  border-color: var(--kn-or) !important;
  box-shadow: var(--kn-shadow-md) !important;
  transform: translateY(-1px) !important;
}
html[data-theme="light"] .kn-cat-link {
  display: grid !important;
  grid-template-columns: 1fr auto auto auto auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  color: var(--kn-text) !important;
  text-decoration: none !important;
}
html[data-theme="light"] .kn-cat-title {
  font-weight: 600 !important;
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-cat-instr,
html[data-theme="light"] .kn-cat-date {
  font-size: .82rem !important;
  color: var(--kn-muted) !important;
  font-style: italic !important;
  white-space: nowrap !important;
}
html[data-theme="light"] .kn-cat-audio {
  background: var(--kn-vert) !important;
  color: #fff !important;
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .7rem !important;
}
html[data-theme="light"] .kn-cat-arrow {
  color: var(--kn-muted) !important;
  font-size: 1.1rem !important;
  transition: transform .18s ease, color .18s ease !important;
}
html[data-theme="light"] .kn-cat-item:hover .kn-cat-arrow {
  color: var(--kn-or) !important;
  transform: translateX(4px) !important;
}

/* ─── SOURCES (onglet) ───────────────────────────── */
html[data-theme="light"] .kn-sources-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
html[data-theme="light"] .kn-sources-list li {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-left: 4px solid var(--kn-bleu) !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  color: var(--kn-text) !important;
  transition: all .18s ease !important;
}
html[data-theme="light"] .kn-sources-list li:hover {
  background: var(--kn-bleu-soft) !important;
  border-left-color: var(--kn-bleu2) !important;
  box-shadow: var(--kn-shadow-sm) !important;
}
html[data-theme="light"] .kn-sources-list a {
  color: var(--kn-bleu) !important;
  text-decoration: none !important;
  border-bottom: 1px dotted var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-sources-list a:hover {
  color: var(--kn-bleu2) !important;
  border-bottom-style: solid !important;
}

/* ─── SIDEBAR (Liens / Identité) ───────────────────── */
html[data-theme="light"] .kn-sidebar-card {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  box-shadow: var(--kn-shadow-sm) !important;
}
html[data-theme="light"] .kn-sidebar-card__eyebrow {
  color: var(--kn-muted) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
}
html[data-theme="light"] .kn-sidebar-card__title {
  color: var(--kn-text) !important;
  font-weight: 700 !important;
}
html[data-theme="light"] .kn-sidebar-liens {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
html[data-theme="light"] .kn-sidebar-liens a,
html[data-theme="light"] .kn-sidebar-list a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  color: var(--kn-text) !important;
  text-decoration: none !important;
  transition: background .18s ease !important;
}
html[data-theme="light"] .kn-sidebar-liens a:hover,
html[data-theme="light"] .kn-sidebar-list a:hover {
  background: var(--kn-fond-ui) !important;
}
html[data-theme="light"] .kn-sidebar-lien__dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--kn-bleu) !important;
  flex-shrink: 0 !important;
}
html[data-theme="light"] .kn-sidebar-lien__name {
  font-weight: 500 !important;
  flex: 1 !important;
}
html[data-theme="light"] .kn-sidebar-lien__role {
  font-size: .72rem !important;
  color: var(--kn-muted) !important;
  font-style: italic !important;
}

/* Card "Identité" : description list */
html[data-theme="light"] .kn-dl {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 6px 14px !important;
  font-size: .88rem !important;
}
html[data-theme="light"] .kn-dl dt {
  color: var(--kn-muted) !important;
  font-size: .72rem !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  font-weight: 600 !important;
  align-self: center !important;
}
html[data-theme="light"] .kn-dl dd {
  margin: 0 !important;
  color: var(--kn-text) !important;
  font-weight: 500 !important;
}

/* ─── EMPTY state ──────────────────────────────────── */
html[data-theme="light"] .kn-empty {
  background: #fff !important;
  border: 1px dashed var(--kn-border-strong) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  text-align: center !important;
  color: var(--kn-muted) !important;
}
html[data-theme="light"] .kn-empty__title {
  color: var(--kn-text) !important;
  display: block !important;
  margin: 8px 0 4px !important;
}
html[data-theme="light"] .kn-empty__icon {
  color: var(--kn-or) !important;
  font-size: 2rem !important;
}

/* ─── INTERPRETATIONS (cards vidéo) ────────────────── */
html[data-theme="light"] .kn-interp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 16px !important;
}
html[data-theme="light"] .kn-interp-card {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: var(--kn-shadow-sm) !important;
  transition: all .2s ease !important;
}
html[data-theme="light"] .kn-interp-card:hover {
  box-shadow: var(--kn-shadow-md) !important;
  transform: translateY(-2px) !important;
}
html[data-theme="light"] .kn-interp-title {
  color: var(--kn-text) !important;
  padding: 12px 14px !important;
  font-weight: 500 !important;
}

/* ─── BREADCRUMB ───────────────────────────────────── */
html[data-theme="light"] .kn-breadcrumb {
  color: var(--kn-muted) !important;
  font-size: .82rem !important;
}
html[data-theme="light"] .kn-breadcrumb a {
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-breadcrumb__sep {
  color: var(--kn-border-strong) !important;
  margin: 0 8px !important;
}
html[data-theme="light"] .kn-breadcrumb__current {
  color: var(--kn-text) !important;
  font-weight: 500 !important;
}

/* ─── Catalogue : œuvres (page recherche) — items aussi ─── */
html[data-theme="light"] .kn-oeuvre-card {
  background: #fff !important;
  border: 1px solid var(--kn-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--kn-shadow-sm) !important;
  transition: all .2s ease !important;
}
html[data-theme="light"] .kn-oeuvre-card:hover {
  box-shadow: var(--kn-shadow-md) !important;
  border-color: var(--kn-or) !important;
  transform: translateY(-2px) !important;
}
html[data-theme="light"] .kn-oeuvre-card__title {
  color: var(--kn-text) !important;
}
html[data-theme="light"] .kn-oeuvre-card__comp a {
  color: var(--kn-bleu) !important;
}
html[data-theme="light"] .kn-oeuvre-card__genre {
  background: rgba(0,0,0,0) !important;
  border: 1px solid var(--gc, var(--kn-bleu)) !important;
  color: var(--gc, var(--kn-bleu)) !important;
}
html[data-theme="light"] .kn-oeuvre-card__details,
html[data-theme="light"] .kn-oeuvre-card__date {
  color: var(--kn-muted) !important;
}


/* === FIX PAGINATION === */
.kn-archive__pagination .page-numbers,
.kn-archive__pagination a {
  color: rgba(255,255,255,0.92) !important;
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.18) !important;
  font-weight: 600 !important;
}
.kn-archive__pagination a:hover {
  color: #fff !important;
  background: rgba(110,193,228,0.18) !important;
  border-color: #6EC1E4 !important;
}
.kn-archive__pagination .page-numbers.current {
  background: #6EC1E4 !important;
  border-color: #6EC1E4 !important;
  color: #0a0014 !important;
}
html[data-theme="light"] .kn-archive__pagination .page-numbers,
html[data-theme="light"] .kn-archive__pagination a {
  color: #14082a !important; background: rgba(20,8,42,0.05) !important; border-color: rgba(20,8,42,0.18) !important;
}
html[data-theme="light"] .kn-archive__pagination .page-numbers.current {
  background: #1d4e89 !important; border-color: #1d4e89 !important; color: #fff !important;
}
/* === END FIX === */


/* === FIX NAV LAYOUT (grid centered) === */
.kn-nav__container {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  padding: 0 32px !important;
  gap: 0 !important;
}
.kn-nav__logo { justify-self: start !important; }
.kn-nav__menu {
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.kn-nav__link {
  margin: 0 !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
}
.kn-nav__actions {
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.kn-nav__cta { height: 38px !important; padding: 0 18px !important; font-size: 11px !important; }
@media (max-width: 1200px) {
  .kn-nav__link { padding: 10px 10px !important; font-size: 11px !important; }
  .kn-nav__container { padding: 0 24px !important; }
}
/* === END FIX === */

/* Menu centré dans la barre */
.kn-nav__container { position: relative !important; }
.kn-nav__menu {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}
@media (max-width: 900px) {
  .kn-nav__menu { position: static !important; transform: none !important; }
}

/* Bouton matrimoine — texte blanc forcé */
.kn-matrimoine__cta, .kn-matrimoine__cta:link, .kn-matrimoine__cta:visited, .kn-matrimoine__cta:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}
/* Masque tout reste de badge femme (icônes ♀) */
.kn-badge-femme, .kn-badge-femme--hero { display: none !important; }
.kn-frise__bar.is-femme::before { content: '' !important; margin: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   FIX MENU SINGLE-ROW (header.php v4) — 2026-05-17
   Le CSS d'origine était prévu pour un header 2 rangées ;
   on remet en cohérence avec la structure HTML single-row.
   ═══════════════════════════════════════════════════════════ */
.kn-nav__container {
  height: 84px !important;
  justify-content: space-between !important;
}
.kn-nav__menu {
  margin-left: auto !important;
  margin-right: auto !important;
}
.kn-nav__spacer { height: 84px !important; }

.kn-nav.is-scrolled .kn-nav__container { height: 64px !important; }
.kn-nav.is-scrolled ~ .kn-nav__spacer { height: 64px !important; }

@media (max-width: 820px) {
  .kn-nav__menu {
    position: fixed !important;
    top: 0 !important; right: -340px !important;
    width: 320px !important; height: 100vh !important;
    background: #0d0016 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 100px 32px 32px !important;
    margin: 0 !important;
    transition: right .35s cubic-bezier(.65,.05,.36,1) !important;
    z-index: 600 !important;
  }
  .kn-nav__menu.is-open { right: 0 !important; }
  .kn-nav__link { margin: 12px 0 !important; font-size: 16px !important; }
  .kn-nav__burger { display: block !important; }
  .kn-nav__spacer { height: 64px !important; }
  .kn-nav__container { height: 64px !important; }
}
@media (min-width: 821px) {
  .kn-nav__burger { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   FIX CATALOGUE COMPOSITEUR — titres à gauche (2026-05-17)
   La grille 1fr auto auto auto auto poussait le titre à droite
   parce que la 1ère colonne (icône play) prenait toute la place.
   ═══════════════════════════════════════════════════════════ */
.kn-cat-link {
  grid-template-columns: auto 1fr auto auto auto !important;
  text-align: left !important;
}
.kn-cat-title  { justify-self: start !important; text-align: left !important; }
.kn-cat-instr  { justify-self: end !important; }
.kn-cat-date   { justify-self: end !important; }
.kn-cat-arrow  { justify-self: end !important; }

@media (max-width: 720px) {
  .kn-cat-link { grid-template-columns: auto 1fr auto !important; }
}

/* ═══════════════════════════════════════════════════════════
   FIX HOME HERO — "Kanadenn" blanc + "." bleu (force)
   ═══════════════════════════════════════════════════════════ */
.kn-home-hero__title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
}
.kn-home-hero__title-dot {
  color: #6EC1E4 !important;
  -webkit-text-fill-color: #6EC1E4 !important;
}

/* ═══════════════════════════════════════════════════════════
   FIX CTA MATRIMOINE — texte blanc forcé
   ═══════════════════════════════════════════════════════════ */
.kn-matrimoine__cta,
.kn-matrimoine__cta:link,
.kn-matrimoine__cta:visited,
.kn-matrimoine__cta:hover,
.kn-matrimoine__cta:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════
   FIX MENU OVERLAP — neutralise position:absolute hérité
   (override antérieur ligne ~7790 cassait le flex)
   2026-05-17
   ═══════════════════════════════════════════════════════════ */
@media (min-width: 821px) {
  .kn-nav__container {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
  }
  .kn-nav__menu {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .kn-nav__link {
    position: relative !important;
    display: inline-block !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  .kn-nav__logo, .kn-nav__actions { flex-shrink: 0 !important; }
}

/* Bouton matrimoine — override final ultra-spécifique pour tuer le bleu */
section.kn-matrimoine a.kn-matrimoine__cta,
section.kn-matrimoine a.kn-matrimoine__cta:link,
section.kn-matrimoine a.kn-matrimoine__cta:visited,
section.kn-matrimoine a.kn-matrimoine__cta:hover,
section.kn-matrimoine a.kn-matrimoine__cta:focus,
section.kn-matrimoine a.kn-matrimoine__cta:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
  background-image: linear-gradient(135deg, #e87a9a, #c45070) !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

/* ═══════════════════════════════════════════════════════════
   MENU CENTRÉ SUR LA PAGE (pas entre logo et CTA)
   2026-05-17
   ═══════════════════════════════════════════════════════════ */
@media (min-width: 821px) {
  .kn-nav__container {
    position: relative !important;
  }
  .kn-nav__menu {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    flex: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   MENU CENTRÉ SUR LA PAGE — canonical (2026-05-17)
   ═══════════════════════════════════════════════════════════ */
@media (min-width: 821px) {
  .kn-nav__container {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 84px !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 0 48px !important;
    gap: 32px !important;
    box-sizing: border-box !important;
  }
  .kn-nav__logo, .kn-nav__actions { flex-shrink: 0 !important; }
  .kn-nav__menu {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    flex: none !important;
  }
  .kn-nav__link {
    position: relative !important;
    display: inline-block !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  .kn-nav__burger { display: none !important; }
}
.kn-nav__spacer { height: 84px !important; }
.kn-nav.is-scrolled .kn-nav__container { height: 64px !important; }
.kn-nav.is-scrolled ~ .kn-nav__spacer { height: 64px !important; }

/* ─── Audio chip : compteur dynamique ─── */
.kn-chip__count {
  display: inline-block;
  margin-left: 4px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(10,3,24,0.7);
  background: rgba(10,3,24,0.15);
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
}
.kn-chip--audio:not(.is-active) .kn-chip__count {
  background: rgba(255,255,255,0.08);
  color: rgba(232,200,122,0.9);
}

.kn-chip__count-sub {
  display: inline-block;
  margin-left: 2px;
  font-size: 11px;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  font-variant-numeric: tabular-nums;
}
.kn-chip--audio.is-active .kn-chip__count-sub { color: rgba(10,3,24,0.55); }


/* ═══════════════════════════════════════════════════════════
   FOOTER REFONTE GRAPHIQUE — 2026-05-19
   ═══════════════════════════════════════════════════════════ */
.kn-footer {
  position: relative;
  margin-top: 80px;
  background:
    radial-gradient(ellipse 60% 50% at 20% 0%, rgba(110,193,228,0.06), transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 100%, rgba(232,200,122,0.05), transparent 60%),
    linear-gradient(180deg, #08000f 0%, #050009 100%) !important;
  border-top: 1px solid rgba(232,200,122,0.18) !important;
  overflow: hidden;
}
.kn-footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,200,122,0.4), transparent);
}

/* Stats : impactant */
.kn-footer__stats {
  padding: 48px 24px 32px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: rgba(255,255,255,0.015) !important;
}
.kn-footer__stats-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
  text-align: center;
}
@media (max-width: 720px) { .kn-footer__stats-inner { grid-template-columns: repeat(2, 1fr) !important; gap: 18px !important; } }
.kn-footer__stat { padding: 12px 8px; display: flex !important; flex-direction: column; gap: 4px; }
.kn-footer__stat-num {
  font-family: 'Poppins',sans-serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  color: var(--kn-or, #e8c87a) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.kn-footer__stat-num--rose { color: var(--kn-rose, #e87a9a) !important; }
.kn-footer__stat-lbl {
  font-family: 'Manrope',sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: rgba(255,255,255,0.5) !important;
}

/* Main columns */
.kn-footer__main { padding: 64px 24px !important; }
.kn-footer__container {
  max-width: 1200px; margin: 0 auto;
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr !important;
  gap: 48px !important;
}
@media (max-width: 1000px) { .kn-footer__container { grid-template-columns: 1fr 1fr; gap: 36px !important; } }
@media (max-width: 600px)  { .kn-footer__container { grid-template-columns: 1fr; } }

.kn-footer__col h4.kn-footer__heading,
.kn-footer__heading {
  font-family: 'Poppins',sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase;
  color: var(--kn-or, #e8c87a) !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(232,200,122,0.15);
  position: relative;
}
.kn-footer__heading::after {
  content: '';
  position: absolute; left: 0; bottom: -1px;
  width: 30px; height: 1px;
  background: var(--kn-or, #e8c87a);
}

/* Brand col */
.kn-footer__brand {
  font-family: 'Poppins',sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -0.01em;
}
.kn-footer__dot { color: var(--kn-bleu, #6EC1E4) !important; font-weight: 700; }
.kn-footer__tagline {
  display: block;
  font-family: 'Manrope',sans-serif;
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-top: 4px;
}
.kn-footer__manifesto {
  font-family: 'Manrope',sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.65) !important;
  margin: 18px 0 12px !important;
}
.kn-footer__manifesto--em strong { color: var(--kn-or, #e8c87a); font-weight: 600; }

.kn-footer__socials {
  display: flex; gap: 10px; margin-top: 18px;
}
.kn-footer__socials a {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.7);
  border-radius: 50%;
  transition: all .25s;
}
.kn-footer__socials a:hover {
  background: var(--kn-or, #e8c87a);
  border-color: var(--kn-or, #e8c87a);
  color: #0d0016;
  transform: translateY(-2px);
}

/* Lists */
.kn-footer__list {
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.kn-footer__list li {
  padding: 5px 0 !important;
}
.kn-footer__list a {
  font-family: 'Manrope',sans-serif !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none !important;
  transition: all .2s !important;
  display: inline-flex; align-items: baseline; gap: 6px;
}
.kn-footer__list a:hover {
  color: var(--kn-or, #e8c87a) !important;
  padding-left: 4px;
}
.kn-footer__count {
  font-size: 10px;
  color: rgba(255,255,255,0.35);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.kn-footer__list a:hover .kn-footer__count { color: rgba(232,200,122,0.6); }

/* Newsletter */
.kn-footer__nl-text {
  font-family: 'Manrope',sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.65) !important;
  margin: 0 0 14px !important;
}
.kn-footer__nl-form {
  display: flex !important;
  gap: 6px;
  margin-bottom: 8px;
}
.kn-footer__nl-input {
  flex: 1;
  padding: 11px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 999px;
  color: #fff;
  font-family: 'Manrope',sans-serif; font-size: 13px;
  transition: all .2s;
}
.kn-footer__nl-input:focus { outline:none; border-color: var(--kn-or,#e8c87a); background: rgba(232,200,122,0.06); }
.kn-footer__nl-btn {
  width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #e8c87a, #c9a84c);
  color: #0d0016;
  border: none; border-radius: 50%;
  cursor: pointer;
  transition: all .25s;
  box-shadow: 0 4px 14px -2px rgba(232,200,122,0.4);
}
.kn-footer__nl-btn:hover { transform: translateY(-2px) rotate(45deg); box-shadow: 0 8px 22px -2px rgba(232,200,122,0.6); }
.kn-footer__nl-legal {
  font-family: 'Manrope',sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  margin: 8px 0 18px;
  line-height: 1.5;
}
.kn-footer__nl-cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(232,122,154,0.1);
  border: 1px solid rgba(232,122,154,0.4);
  color: #e87a9a !important;
  font-family: 'Poppins',sans-serif !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: 999px;
  text-decoration: none !important;
  transition: all .25s;
}
.kn-footer__nl-cta:hover {
  background: linear-gradient(135deg, #e87a9a, #c45070);
  border-color: transparent;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px -2px rgba(232,122,154,0.5);
}

/* Bandeau légal */
.kn-footer__legal {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding: 20px 24px !important;
  background: rgba(0,0,0,0.4);
}
.kn-footer__legal-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.kn-footer__legal-left,
.kn-footer__legal-right {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Manrope',sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}
.kn-footer__brand-mini {
  font-family: 'Poppins',sans-serif;
  font-weight: 700;
  color: #fff;
}
.kn-footer__sep { color: rgba(255,255,255,0.25); }
.kn-footer__legal-right a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color .2s;
}
.kn-footer__legal-right a:hover { color: var(--kn-or, #e8c87a) !important; }


/* ═══════════════════════════════════════════════════════════
   HARMONIZE HOME v3 (2026-05-19) — corrections finales
   ═══════════════════════════════════════════════════════════ */
/* Évite la masse noire : éléments visibles même si JS échoue */
[data-fade] { opacity: 1; transform: none; }
[data-fade].is-visible { opacity: 1; transform: none; }
@supports (animation: fadeIn) {
  [data-fade] { animation: kn-fade-up 0.7s cubic-bezier(.16,1,.3,1) both; }
}
@keyframes kn-fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* Grille interprétations : 3 cols desktop pour rendu propre (2 lignes × 3) */
@media (min-width: 1000px) {
  .kn-ecoute-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 999px) and (min-width: 640px) {
  .kn-ecoute-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Matrimoine overlay : assure l'affichage du quote */
.kn-matrimoine__portrait { aspect-ratio: 3/4 !important; }
.kn-matrimoine__portrait-overlay {
  position: absolute !important;
  inset: auto 0 0 0;
  padding: 60px 24px 24px !important;
  background: linear-gradient(180deg, transparent 0%, rgba(13,0,22,0.5) 30%, rgba(13,0,22,0.95) 100%) !important;
  z-index: 2;
  pointer-events: none;
}

/* CTA final : toujours visible */
.kn-cta-section {
  padding: 80px 0 !important;
  border-top: 1px solid rgba(232,200,122,0.15) !important;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(110,193,228,0.06), transparent 70%) !important;
}
.kn-cta-section__title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: #fff !important;
  margin-bottom: 18px !important;
}
.kn-cta-section p {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255,255,255,0.7) !important;
  max-width: 56ch;
  margin: 0 auto 32px !important;
}
.kn-cta-section .kn-btn--bleu, .kn-cta-section .kn-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #6EC1E4, #3ba8d4);
  color: #0d0016 !important;
  font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  border-radius: 999px; text-decoration: none;
  box-shadow: 0 8px 24px -6px rgba(110,193,228,0.5);
  transition: all .25s;
}
.kn-cta-section .kn-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 32px -6px rgba(110,193,228,0.7); }

/* Stats hero : glass cards finalisés */
.kn-home-hero__stats {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 48px !important;
}
.kn-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 130px !important;
  padding: 18px 24px !important;
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
  backdrop-filter: blur(10px);
  transition: all .3s cubic-bezier(.16,1,.3,1);
}
.kn-stat:hover {
  transform: translateY(-3px);
  border-color: rgba(232,200,122,0.4);
  background: rgba(232,200,122,0.04);
}
.kn-stat__num {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(28px, 4vw, 38px) !important;
  font-weight: 700 !important;
  color: var(--kn-or, #e8c87a) !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums;
}
.kn-stat__num--plus::after { content: '+'; color: rgba(232,200,122,0.5); font-size: 0.7em; margin-left: 2px; }
.kn-stat__label {
  font-family: 'Manrope', sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: rgba(255,255,255,0.55) !important;
  margin-top: 6px !important;
}

/* Partenaires : suppression du grand espace vide */
.kn-partners { padding: 60px 0 !important; }

/* Productions : meilleures cards */
.kn-prod-card {
  background: rgba(255,255,255,0.025) !important;
  padding: 16px !important;
}
.kn-prod-card__media,
.kn-prod-card__icon {
  margin-bottom: 14px;
}
.kn-prod-card__body h4 { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; color: #fff !important; }
.kn-prod-card__year { font-family: 'Poppins',sans-serif; font-size: 11px; color: var(--kn-or,#e8c87a) !important; font-weight: 600; letter-spacing: 1px; }

/* ═══════════════════════════════════════════════════════════
   HERO BACKGROUND — Aurores cinématiques (2026-05-19)
   ═══════════════════════════════════════════════════════════ */
.kn-home-hero {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 90% 70% at 20% 10%,  rgba(110,193,228,0.18) 0%, transparent 55%),
    radial-gradient(ellipse 70% 60% at 80% 30%,  rgba(232,200,122,0.14) 0%, transparent 55%),
    radial-gradient(ellipse 80% 60% at 50% 90%,  rgba(232,122,154,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 90% 80%,  rgba(184,160,240,0.10) 0%, transparent 55%),
    linear-gradient(160deg, #0a0014 0%, #110028 40%, #08000f 100%) !important;
  isolation: isolate;
}

/* Couches d'orbes flottants animés */
.kn-home-hero::before {
  content: '';
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 25% 25%, rgba(110,193,228,0.35) 0%, transparent 25%),
    radial-gradient(circle at 75% 35%, rgba(232,200,122,0.28) 0%, transparent 22%),
    radial-gradient(circle at 60% 80%, rgba(232,122,154,0.25) 0%, transparent 25%),
    radial-gradient(circle at 15% 75%, rgba(184,160,240,0.22) 0%, transparent 23%);
  filter: blur(70px);
  opacity: 0.85;
  animation: kn-hero-aurora 22s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}
@keyframes kn-hero-aurora {
  0%   { transform: translate(0, 0) scale(1) rotate(0deg); }
  33%  { transform: translate(-3%, 4%) scale(1.05) rotate(2deg); }
  66%  { transform: translate(4%, -2%) scale(0.98) rotate(-1deg); }
  100% { transform: translate(0, 3%) scale(1.03) rotate(1deg); }
}

/* Grille subtile par-dessus */
.kn-home-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 70% 60% at center, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at center, #000 30%, transparent 80%);
  pointer-events: none;
  z-index: 1;
}

/* Particules lumineuses (étoiles fines) */
.kn-home-hero__content {
  position: relative !important;
  z-index: 3 !important;
}

/* Vignette du bas qui fond vers la section suivante */
.kn-home-hero {
  border-bottom: 1px solid rgba(232,200,122,0.08) !important;
}

/* Touche or sur le hero — léger ray de lumière diagonal */
.kn-home-hero::before {
  box-shadow: inset 0 0 200px rgba(232,200,122,0.04);
}

/* Reduce motion : stoppe l'aurore animée */
@media (prefers-reduced-motion: reduce) {
  .kn-home-hero::before { animation: none !important; }
}

/* ─── Pagination active : texte sombre sur fond bleu ─── */
.kn-page-btn.active, .kn-page-btn.is-active {
  background: #6EC1E4 !important;
  border-color: #6EC1E4 !important;
  color: #05000c !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════
   AMBIANCES — Dégradés subtils par section/page (2026-05-19)
   Philosophie : voiles diaphanes (10–15 % d'opacité max), une
   teinte directrice par section. Jamais opaque, jamais bavard.
   ═══════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────
   HOME — sections
────────────────────────────────────────────────────────── */
/* "Compositeurs à la une" — voile or doux */
.kn-section:has(.kn-grid--vedettes) {
  position: relative;
  background:
    radial-gradient(ellipse 60% 50% at 20% 30%, rgba(232,200,122,0.05), transparent 60%),
    radial-gradient(ellipse 40% 40% at 80% 70%, rgba(110,193,228,0.04), transparent 60%);
}

/* "Dernières interprétations" — voile bleu cyan + grain léger */
.kn-ecoute {
  position: relative;
  background:
    radial-gradient(ellipse 70% 50% at 50% 20%, rgba(110,193,228,0.06), transparent 65%),
    radial-gradient(ellipse 50% 40% at 90% 80%, rgba(184,160,240,0.04), transparent 60%);
}

/* "Productions Kanadenn" — voile vert tendre */
.kn-section:has(.kn-prod-tabs) {
  position: relative;
  background:
    radial-gradient(ellipse 60% 50% at 30% 30%, rgba(122,232,184,0.05), transparent 60%),
    radial-gradient(ellipse 50% 40% at 70% 70%, rgba(110,193,228,0.04), transparent 60%);
}

/* "Explore en jouant" — fond déjà vert subtil, on renforce un peu */
.kn-mediation-section {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(122,232,184,0.08), transparent 60%),
    radial-gradient(ellipse 50% 50% at 0% 100%, rgba(184,160,240,0.05), transparent 60%),
    radial-gradient(ellipse 50% 50% at 100% 100%, rgba(232,200,122,0.04), transparent 60%) !important;
}

/* CTA final — voile bleu */
.kn-cta-section {
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(110,193,228,0.07), transparent 70%),
    radial-gradient(ellipse 40% 40% at 90% 10%, rgba(232,200,122,0.04), transparent 60%) !important;
}

/* ──────────────────────────────────────────────────────────
   PAGES INTERNES — Hero d'archive
────────────────────────────────────────────────────────── */
/* /compositeurs/ et /œuvres/ — moteur de recherche */
.kn-recherche-page .kn-recherche-header,
.kn-oeuvres-page .kn-recherche-header,
body.page-compositeurs .kn-recherche-header,
.kn-search-page .kn-recherche-header {
  position: relative;
  background:
    radial-gradient(ellipse 60% 50% at 20% 30%, rgba(110,193,228,0.10), transparent 55%),
    radial-gradient(ellipse 50% 40% at 80% 60%, rgba(232,200,122,0.06), transparent 55%);
  overflow: hidden;
}

/* /œuvres/ — accent or */
.kn-oeuvres-page {
  background:
    radial-gradient(ellipse 60% 40% at 50% 0%, rgba(232,200,122,0.06), transparent 55%),
    radial-gradient(ellipse 50% 40% at 0% 100%, rgba(184,160,240,0.04), transparent 60%) !important;
}

/* /chronologie/ — violet/or (timeline) */
body.page-chronologie main,
body.page-chronologie .kn-page-wrap {
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(184,160,240,0.08), transparent 60%),
    radial-gradient(ellipse 60% 50% at 10% 100%, rgba(232,200,122,0.06), transparent 60%),
    radial-gradient(ellipse 50% 50% at 90% 50%, rgba(110,193,228,0.05), transparent 60%);
}

/* /nos-productions/ — vert profond */
body.page-template-template-productions,
body.page-nos-productions {
  background:
    radial-gradient(ellipse 60% 40% at 30% 0%, rgba(122,232,184,0.07), transparent 60%),
    radial-gradient(ellipse 50% 40% at 70% 100%, rgba(110,193,228,0.05), transparent 60%);
}

/* /contribuer/ — multi-or accueil chaleureux */
body.page-contribuer {
  background:
    radial-gradient(ellipse 60% 50% at 20% 20%, rgba(232,200,122,0.07), transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 80%, rgba(232,122,154,0.05), transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 100%, rgba(184,160,240,0.04), transparent 60%);
}

/* /mediation/ — vert + violet (médiation = pédagogie) */
body.page-mediation {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(122,232,184,0.08), transparent 60%),
    radial-gradient(ellipse 50% 50% at 100% 50%, rgba(184,160,240,0.05), transparent 60%);
}

/* Single compositeur — déjà coloré par période, on ajoute juste un voile or au sommet du body */
body.single-compositeur {
  background:
    radial-gradient(ellipse 70% 30% at 50% 0%, rgba(232,200,122,0.05), transparent 60%);
}

/* Single oeuvre — fond très subtil neutre */
body.single-oeuvre {
  background:
    radial-gradient(ellipse 60% 30% at 50% 0%, rgba(110,193,228,0.05), transparent 55%);
}

/* Single interprétation — accent bleu (audio) */
body.single-interpretation {
  background:
    radial-gradient(ellipse 60% 40% at 50% 0%, rgba(110,193,228,0.06), transparent 60%);
}

/* 404 — déjà décliné dans 404.php, on renforce le fond */
body.error404 main {
  background:
    radial-gradient(ellipse 70% 60% at 50% 30%, rgba(110,193,228,0.08), transparent 60%),
    radial-gradient(ellipse 50% 50% at 30% 80%, rgba(232,122,154,0.06), transparent 60%);
}

/* ─── Chronologie : neutralise le voile global sur la zone du graphe ─── */
body.page-chronologie {
  background: #05000c !important;
}
body.page-chronologie main,
body.page-chronologie .kn-page-wrap,
body.page-chronologie .kn-chrono-page {
  background: transparent !important;
}
/* Garder seulement un voile très léger sur le hero, pas sur le graphe */
body.page-chronologie .kn-chrono-hero {
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(184,160,240,0.06), transparent 70%) !important;
}

/* ─── [Amélioration v5] Placeholder compositeur sans photo — monogramme premium ─── */
/* Préfixe .kn-card pour battre la spécificité (0,3,0) de la règle globale [class*="kn-card"]:not():not() */
.kn-card .kn-card__thumb--placeholder{
  background:
    radial-gradient(115% 85% at 50% 6%, color-mix(in srgb, var(--periode-color,#6c5ce7) 20%, transparent) 0%, transparent 56%),
    radial-gradient(120% 120% at 50% 128%, rgba(0,0,0,.5) 0%, transparent 62%),
    linear-gradient(155deg,#0a0518 0%,#120c30 52%,#1a1240 100%) !important;
}
.kn-card .kn-card__thumb--placeholder::before{
  content:"";position:absolute;width:56%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 32%, color-mix(in srgb,var(--periode-color,#6c5ce7) 13%,transparent) 0%, transparent 70%);
  border:1px solid color-mix(in srgb, var(--periode-color,#6c5ce7) 42%, transparent);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03),
    0 0 48px color-mix(in srgb, var(--periode-color,#6c5ce7) 20%, transparent) inset,
    0 12px 40px -14px color-mix(in srgb, var(--periode-color,#6c5ce7) 34%, transparent);
  transition:transform .45s ease, box-shadow .45s ease;
}
.kn-card:hover .kn-card__thumb--placeholder::before{
  transform:scale(1.06);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05),
    0 0 64px color-mix(in srgb, var(--periode-color,#6c5ce7) 30%, transparent) inset,
    0 14px 48px -10px color-mix(in srgb, var(--periode-color,#6c5ce7) 46%, transparent);
}
.kn-card .kn-card__thumb--placeholder::after{
  content:"\266B";position:absolute;right:16px;bottom:12px;font-size:19px;line-height:1;
  color:color-mix(in srgb, var(--periode-color,#6c5ce7) 58%, #fff 42%);opacity:.26;
}
/* Monogramme (0,4,0 + !important) : annule fond sombre + couleur générique imposés par la règle globale */
.kn-card .kn-card__thumb--placeholder .kn-card__initial{
  position:relative;z-index:1;
  background:none !important;
  font-family:'Poppins',sans-serif;font-size:66px;font-weight:600;letter-spacing:.5px;
  color:color-mix(in srgb, var(--periode-color,#ffffff) 72%, #ffffff 28%) !important;
  text-shadow:
    0 5px 26px color-mix(in srgb,var(--periode-color,#6c5ce7) 50%,transparent),
    0 1px 0 rgba(255,255,255,.10);
}
html[data-theme="light"] .kn-card .kn-card__thumb--placeholder{
  background:
    radial-gradient(115% 85% at 50% 6%, color-mix(in srgb, var(--periode-color,#6c5ce7) 16%, transparent) 0%, transparent 58%),
    linear-gradient(155deg,#f3f0fb 0%,#e9e3f6 100%) !important;
}
html[data-theme="light"] .kn-card .kn-card__thumb--placeholder .kn-card__initial{
  background:none !important;
  color:color-mix(in srgb, var(--periode-color,#6c5ce7) 72%, #2a1a4a 28%) !important;
  text-shadow:0 4px 16px color-mix(in srgb,var(--periode-color,#6c5ce7) 28%,transparent) !important;
}

/* Badge "N vidéos" sur cartes oeuvres — survol */
.kn-oeuvre-card__vcount{transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;}
.kn-oeuvre-card__vcount:hover{background:rgba(232,200,122,.24)!important;border-color:rgba(232,200,122,.60)!important;color:#f3d98e!important;transform:translateY(-1px);}
.kn-oeuvre-card__vcount:hover svg{fill:#f3d98e!important;}


/* ── Pictogramme Kanadenn (header) ── */
.kn-nav__logo { flex-direction: row !important; align-items: center !important; gap: 10px !important; }
.kn-nav__picto { height: 30px !important; width: auto !important; display: block !important; flex-shrink: 0 !important; }
@media (max-width: 640px){ .kn-nav__picto { height: 24px !important; } }
