body{background:var(--kld-color-background);color:var(--kld-color-text);font-family:var(--kld-font-body);margin:0}h1,h2,h3,h4{font-family:var(--kld-font-heading)}h1{font-size:clamp(2rem,calc(2rem * var(--kld-type-scale)),4rem)}h2{font-size:clamp(1.5rem,calc(1.5rem * var(--kld-type-scale)),3rem)}main{min-height:50vh}.kld-main{margin-inline:auto;max-width:var(--kld-content-width);padding:clamp(2rem,6vw,5rem) 1rem;box-sizing:border-box}.kld-main > .alignwide{width:min(var(--kld-wide-width),calc(100vw - 2rem));max-width:none;position:relative;left:50%;transform:translateX(-50%)}.kld-main > .alignfull{width:100vw;max-width:none;position:relative;left:50%;transform:translateX(-50%)}.kld-width-wide .kld-main{max-width:var(--kld-wide-width)}.kld-width-full .kld-main{max-width:none}.kld-surface-muted{background:var(--kld-color-background-alt)}.kld-surface-dark{--kld-color-accent:var(--kld-color-accent-on-dark);background:var(--kld-color-secondary);color:#fff}.kld-card{background:var(--kld-color-background-alt);border:1px solid color-mix(in srgb,var(--kld-color-text) 14%,transparent);border-radius:var(--kld-radius);padding:1.5rem;margin-bottom:1.5rem}.kld-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.kld-breadcrumbs li+li::before{content:'›';margin-right:.5rem}.screen-reader-text:focus{clip:auto!important;height:auto!important;width:auto!important;z-index:100000}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Palette de lecture partagée par les pages KLD composées en HTML autonome. */
.kld-web-page.kld-web-page {
    --ink: var(--kld-color-text);
    --muted: var(--kld-color-text-muted);
    --blue: var(--kld-color-primary);
    --cyan: var(--kld-color-accent);
    --green: #267346;
    --paper: var(--kld-color-background-alt);
    --line: color-mix(in srgb, var(--kld-color-text) 14%, transparent);
}

.kld-web-page.kld-web-page .kw-band {
    background: var(--kld-color-background-alt);
}

.kld-web-page.kld-web-page .kw-band-item b,
.kld-web-page.kld-web-page .kw-project-copy small,
.kld-web-page.kld-web-page .kw-step b {
    color: var(--kld-color-primary);
}

.kld-web-page.kld-web-page .kw-proof span::before,
.kld-web-page.kld-web-page .kw-list li::before {
    color: var(--kld-color-accent);
}

.kld-web-page.kld-web-page .kw-hero .kw-proof {
    color: #e1edf6;
}

.kld-web-page.kld-web-page .kw-hero .kw-proof span::before {
    color: var(--kld-color-accent-on-dark);
}

.kld-web-page.kld-web-page .kw-eyebrow {
    color: var(--kld-color-accent);
}

.kld-web-page.kld-web-page .kw-hero .kw-eyebrow,
.kld-web-page.kld-web-page .kw-final .kw-eyebrow {
    color: var(--kld-color-accent-on-dark);
}

.kld-web-page.kld-web-page .kw-card,
.kld-web-page.kld-web-page .kw-list li,
.kld-web-page.kld-web-page .kw-project,
.kld-web-page.kld-web-page .kw-step,
.kld-web-page.kld-web-page blockquote {
    background: var(--kld-color-background);
    border-color: var(--line);
}

.kld-web-page.kld-web-page .kw-card .kw-icon {
    background: var(--kld-color-background-alt);
    color: var(--kld-color-accent);
}

.kld-web-page.kld-web-page .kw-link {
    color: var(--kld-color-primary);
}

.kld-web-page.kld-web-page .kw-note .kw-link {
    color: var(--kld-color-accent-on-dark);
}

.kld-web-page.kld-web-page .kw-btn {
    background: var(--kld-color-primary);
    color: #fff;
}

.kld-web-page.kld-web-page .kw-btn:hover {
    background: #114cc1;
}

.kld-web-page.kld-web-page a:focus-visible,
.kld-web-page.kld-web-page summary:focus-visible {
    outline: 3px solid var(--kld-color-primary);
    outline-offset: 3px;
}

.kld-web-page.kld-web-page .kw-hero a:focus-visible,
.kld-web-page.kld-web-page .kw-final a:focus-visible {
    outline-color: var(--kld-color-accent-on-dark);
}

/* Légal : garder un panneau doux, sans blanc pur, et des liens assez foncés. */
.kld-privacy.kld-privacy .kp-copy,
.kld-legal-page.kld-legal-page .kl-card {
    background: var(--kld-color-background-alt);
    border-color: color-mix(in srgb, var(--kld-color-text) 14%, transparent);
}

.kld-privacy.kld-privacy .kp-copy a,
.kld-legal-page.kld-legal-page a {
    color: var(--kld-color-primary);
}

/* Formulaire sombre : remplacer les champs blancs par un fond doux. */
body.page-id-40.page-id-40 .frm_forms input:not([type=submit]):not([type=hidden]),
body.page-id-40.page-id-40 .frm_forms textarea,
body.page-id-40.page-id-40 .frm_forms select {
    background: var(--kld-color-background) !important;
    color: var(--kld-color-text) !important;
}
.kld-page-vierge .kld-page-vierge__main{width:100%;max-width:none;min-height:0;margin:0;padding:0}
