/* KN documents: small, scoped repair. Keep the installed conference branding. */
.knx-detail-hero .kn-docs-download {
    color:#fff !important;
    background:rgba(6,21,34,.92) !important;
    border:1px solid rgba(231,210,168,.75) !important;
    text-decoration:none;
    min-height:56px;
    gap:12px;
    padding:15px 21px;
}
.knx-detail-hero .kn-docs-download:hover,
.knx-detail-hero .kn-docs-download:focus-visible {
    background:#e4c687 !important;
    color:#0d2330 !important;
    border-color:#e4c687 !important;
}
.kn-docs-download svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.knx-downloads a.kn-docs-invitation { gap:14px; min-height:74px; border-color:var(--brand-line,#b9cbbd); }
.knx-downloads a.kn-docs-invitation:before { content:'↓'; display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border:1px solid currentColor; border-radius:50%; font-size:22px; }
.knx-downloads a.kn-docs-invitation:hover { background:#fffdf8; box-shadow:0 10px 24px #132d4015; }
/* Defence in depth: even if old Divi CSS wins, header icons remain bounded. */
body.kn-docs-guidelines .kn-masthead svg.knx-icon { width:18px!important; height:18px!important; min-width:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
body.kn-docs-guidelines .kn13-contact-strip svg { max-width:18px; max-height:18px; }
body.kn-docs-guidelines .kn13-contact-strip a { display:inline-flex; align-items:center; gap:9px; color:#e0e9e5; text-decoration:none; }
body.kn-docs-guidelines .kn13-contact-strip>.knx-shell { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:9px 0; }
body.kn-docs-guidelines .kn13-contact-strip>.knx-shell>div { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
body.kn-docs-guidelines .cursor-light { pointer-events:none; }
body.kn-docs-guidelines :where(.eco-hero h1,.eco-main h2,.eco-main h3) { overflow-wrap:normal; text-wrap:balance; }
/* Normal, editable WordPress blocks if the guidelines page had to be created. */
.kn-docs-guide-content { color:#172c36; font:400 17px/1.85 KN Manrope,Arial,sans-serif; background:#f5f0e6; padding:clamp(24px,4vw,56px); max-width:1120px; margin-inline:auto; }
.kn-docs-guide-content * { box-sizing:border-box; }
.kn-docs-guide-content h2,.kn-docs-guide-content h3 { color:#172c36; line-height:1.2; letter-spacing:-.02em; }
.kn-docs-guide-content h2 { font-size:clamp(28px,3vw,42px); margin:42px 0 18px; }
.kn-docs-guide-content p { margin:0 0 18px; }
.kn-docs-guide-content a { color:#234c43; text-decoration:underline; text-underline-offset:4px; }
.kn-docs-guide-content .kn-docs-guide-summary { padding:24px; border:1px solid #b9cbbd; border-radius:10px; background:#fffdf8; }
.kn-docs-guide-content ul,.kn-docs-guide-content ol { padding-left:24px; }
.kn-docs-guide-content li { margin:10px 0; }
.kn-docs-guide-content [id] { scroll-margin-top:25px; }
@media(max-width:650px) {
    .knx-detail-hero .kn-docs-download { width:100%; }
    body.kn-docs-guidelines .kn13-contact-strip>.knx-shell>div { gap:10px; justify-content:space-between; }
    .kn-docs-guide-content { font-size:16px; }
}
@media print { .kn-docs-guide-content { background:white; padding:0; color:black; } }
