/*
Theme Name: KJ IT-Services
Theme URI: https://kj-it.de
Author: K&J IT-Services GmbH & Co. KG
Description: Block-Theme für kj-it.de mit Startseite und Unterseiten für Arztpraxen, Kanzleien, Unternehmen und Privatkunden.
Version: 2.5.2
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: kj-it
*/

/* Schrift Hind: lokal einbinden (keine Verbindung zu Google).
   Dateien siehe assets/fonts/LIESMICH.txt. Ohne die Dateien nutzt die Seite Segoe UI bzw. Systemschrift. */
@font-face{font-family:'Hind';font-weight:400;font-style:normal;font-display:swap;src:url('assets/fonts/Hind-Regular.woff') format('woff')}
@font-face{font-family:'Hind';font-weight:500;font-style:normal;font-display:swap;src:url('assets/fonts/Hind-Medium.woff') format('woff')}
@font-face{font-family:'Hind';font-weight:600;font-style:normal;font-display:swap;src:url('assets/fonts/Hind-SemiBold.woff') format('woff')}
@font-face{font-family:'Hind';font-weight:700;font-style:normal;font-display:swap;src:url('assets/fonts/Hind-Bold.woff') format('woff')}

/* Grundlagen */
body{margin:0;font-family:Hind,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;font-size:19px;line-height:1.6;color:#1A1C1F;background:#FFFFFF}
.wp-site-blocks{padding:0}
.wp-site-blocks > *{margin-block-start:0;margin-block-end:0}
.kj-part{display:contents}
main.wp-block-group{margin:0}
a{color:inherit;text-decoration:none}
body.wp-theme-kj-it a,body.wp-theme-kj-it a:hover,body.wp-theme-kj-it a:focus{color:inherit}
body.wp-theme-kj-it a{text-decoration:none}
body.wp-theme-kj-it a:hover{text-decoration:underline}
/* Elementor bleibt für alte Seiten aktiv, seine globalen Schrift- und Farbeinstellungen sollen dieses Design aber nicht überschreiben */
body.wp-theme-kj-it,body.wp-theme-kj-it .wp-site-blocks{font-family:Hind,'Segoe UI',system-ui,-apple-system,Arial,sans-serif !important}
body.wp-theme-kj-it .wp-site-blocks :is(h1,h2,h3,h4,p,li,span,summary,label,input,textarea,button){font-family:inherit}
body.wp-theme-kj-it .wp-site-blocks :is(h1,h2,h3){color:inherit}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px;box-shadow:0 0 0 6px #1A1C1F}
h1,h2,h3{margin:0;font-weight:700;text-wrap:balance}
img{max-width:100%}
html{scroll-behavior:smooth}
#kontakt,#leistungen{scroll-margin-top:90px}
.admin-bar header{top:32px !important}
@media (max-width:782px){.admin-bar header{top:46px !important}}

/* Häufige Fragen (Akkordeon) */
details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:30px;line-height:1;font-weight:500;color:#C70000}
details[open] summary::after{content:"\2013"}

/* Menü auf kleinen Bildschirmen */
.kj-menu{display:none;position:relative}
.kj-menu summary::after{content:none !important}
.kj-menu summary{width:44px;height:44px;justify-content:center;border-radius:8px}
.kj-menu-list{position:absolute;right:0;top:52px;min-width:220px;background:#16181B;border:1px solid #3A0F0F;border-radius:12px;padding:8px;display:flex;flex-direction:column;z-index:30;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.kj-menu-list a{padding:12px 14px;color:#FFFFFF;font-weight:600;border-radius:8px}
.kj-menu-list a:hover{background:#2A0A0A;text-decoration:none}

/* Kontaktformular (Contact Form 7) */
.kj-form .wpcf7 form{display:flex;flex-direction:column;gap:18px}
.kj-form .wpcf7 p{margin:0}
.kj-form .wpcf7 label{display:block;font-size:17px;font-weight:600}
.kj-form .wpcf7 input[type=text],.kj-form .wpcf7 input[type=email],.kj-form .wpcf7 input[type=tel],.kj-form .wpcf7 textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:14px 18px;border:1px solid #6B727A;border-radius:12px;font-family:inherit;font-size:18px;background:#FFFFFF;color:#1A1C1F}
.kj-form .wpcf7 input[type=submit]{padding:15px 38px;background:#1A1C1F;color:#FFFFFF;border:0;border-radius:999px;font-family:inherit;font-size:20px;font-weight:700;cursor:pointer}
.kj-form .wpcf7 input[type=submit]:hover{background:#000000}
.kj-form .wpcf7-list-item{margin:0}
.kj-form .wpcf7-acceptance label{font-weight:400;font-size:16px}
.kj-form .wpcf7-not-valid-tip{color:#B00000;font-size:15px;margin-top:4px}
.kj-form .wpcf7-response-output{margin:8px 0 0 !important;padding:12px 16px !important;border-radius:10px;font-size:16px}

/* Tablet */
@media (max-width:1060px){.nl{display:none !important}.kj-menu{display:block}}
@media (max-width:980px){section:not(.hero) > div{padding-left:20px !important;padding-right:20px !important}}

/* Handy */
@media (max-width:700px){
header > div{flex-wrap:nowrap !important;gap:8px !important;padding:10px 16px !important}
header nav{flex-wrap:nowrap !important;gap:0 12px !important}
header .np{padding:9px 16px !important;font-size:16px !important;white-space:nowrap}
header img{height:44px !important}
.np{padding:8px 16px !important;font-size:16px !important;white-space:nowrap}
.hero-wrap{padding:28px 20px 236px !important}
.hero-sky{left:-80px !important;transform:none !important;width:880px !important;height:220px !important;aspect-ratio:4/1 !important}
section:not(.hero) > div{padding-top:56px !important;padding-bottom:56px !important}
section.band{padding:40px 16px !important}
section.band > .band-panel{padding:36px 20px !important}
.svc{gap:16px !important}
.ic84{width:56px !important;height:56px !important}
.ic84 svg{width:28px !important;height:28px !important}
footer > div{padding-left:20px !important;padding-right:20px !important}
footer > div:last-child{width:calc(100% - 40px) !important;padding-left:0 !important;padding-right:0 !important}
}

/* Mobile Anruf-Leiste */
.kj-cta-bar{display:none}
@media (max-width:700px){.kj-cta-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;padding:10px 12px;background:#0E0F11;color:#FFFFFF;box-shadow:0 -6px 20px rgba(0,0,0,.35)}.kj-cta-bar a{flex:1;text-align:center;padding:13px 8px;border-radius:999px;font-weight:700;font-size:17px;color:#FFFFFF;border:2px solid #FFFFFF}.kj-cta-bar a.main{background:#FFFFFF;color:#1A1C1F}footer{padding-bottom:70px}}
.kj-form .wpcf7 select{width:100%;box-sizing:border-box;margin-top:6px;padding:14px 18px;border:1px solid #6B727A;border-radius:12px;font-family:inherit;font-size:18px;background:#FFFFFF;color:#1A1C1F}

/* Sprunglink für Tastatur und Screenreader */
.kj-skip{position:absolute;left:-9999px;top:0;z-index:100;background:#FFFFFF;color:#1A1C1F;padding:12px 18px;font-weight:700;border-radius:0 0 8px 0}
.kj-skip:focus{left:0;top:0}
body.wp-theme-kj-it a.kj-skip{color:#1A1C1F}

/* Fernwartung: Lasche am linken Rand */
.kj-fern{position:fixed;left:-6px;top:50%;transform:translateY(-50%);z-index:35;display:flex;flex-direction:column;align-items:center;gap:8px;width:84px;box-sizing:border-box;padding:14px 8px 12px 14px;background:#C70000;color:#FFFFFF;border-radius:0 18px 18px 0;box-shadow:0 8px 24px rgba(0,0,0,.28);font-weight:700;font-size:13px;line-height:1.15;text-align:center;letter-spacing:0.04em;text-transform:uppercase;transition:left .2s,background .2s}
.kj-fern:hover,.kj-fern:focus-visible{left:0;background:#A80000}.kj-fern .ic{width:46px;height:46px;border-radius:50%;background:#FFFFFF;color:#C70000;display:flex;align-items:center;justify-content:center}
@media (max-width:700px){.kj-fern{display:none}}
body.wp-theme-kj-it a.kj-fern{color:#FFFFFF}

/* Logo größer: Navigation passt sich zwischen 981 und 1100 px an */
@media (min-width:1061px) and (max-width:1239px){header nav{gap:0 14px !important;font-size:17px !important}}

/* Fachrichtungen: durchlaufendes Band */
.kj-band{overflow:hidden;margin-top:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.kj-track{display:flex;width:max-content;animation:kjscroll 80s linear infinite}
.kj-band.rev .kj-track{animation-direction:reverse;animation-duration:95s}
.kj-band:hover .kj-track{animation-play-state:paused}
.kj-set{display:flex;gap:14px;margin:0;padding:0 14px 0 0;list-style:none}
.kj-set li{flex:none;padding:10px 22px;border-radius:999px;background:#F1F2F4;color:#1A1C1F;font-size:18px;font-weight:600;white-space:nowrap}
@keyframes kjscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.kj-track{animation:none;width:auto}.kj-set{flex-wrap:wrap;justify-content:center}.kj-set[aria-hidden]{display:none}.kj-band{-webkit-mask-image:none;mask-image:none}}

/* Normale Seiten (Seitenvorlage): Links im Text erkennbar */
body.wp-theme-kj-it .wp-block-post-content a:not(.wp-block-button__link){color:#C70000;text-decoration:underline;text-underline-offset:3px}
body.wp-theme-kj-it .wp-block-post-content a:not(.wp-block-button__link):hover,body.wp-theme-kj-it .wp-block-post-content a:not(.wp-block-button__link):focus{color:#A80000;text-decoration:underline}
.wp-block-post-content h2{margin-top:1.6em}
.wp-block-post-content ul,.wp-block-post-content ol{padding-left:1.4em}

/* ===== Seiten aus Blöcken (im WordPress-Editor bearbeitbar) ===== */
.kj-blocks{background:#FFFFFF}
.kj-blocks .wp-block-post-content{margin:0}
.kj-blocks .wp-block-post-content > .wp-block-group{margin-top:0;margin-bottom:0}
.kj-b-hero{background:linear-gradient(180deg,#0B0C0E 0%,#1E0A0B 55%,#5A0808 100%);color:#FFFFFF;padding:36px 32px 72px}
.kj-b-crumb,.kj-b-crumb a{font-size:16px;color:#D2D6DB;margin:0}
body.wp-theme-kj-it .kj-b-crumb a{color:#D2D6DB;text-decoration:underline}
.kj-b-kicker{margin:32px 0 0;font-size:clamp(18px,2vw,26px);line-height:1.3;font-weight:600;color:#F1F2F4}
.kj-b-h1{margin:8px 0 0;font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-0.015em;color:#FFFFFF}
.kj-b-hero .kj-b-lead{margin:20px auto 0 max(0px,calc((100% - 1180px) / 2)) !important;max-width:620px;font-size:clamp(19px,1.7vw,22px);line-height:1.5;color:#F1F2F4}
.kj-b-hero .kj-b-micro{margin:14px auto 0 max(0px,calc((100% - 1180px) / 2)) !important;font-size:17px;color:#D9DDE2}
.kj-b-buttons{margin:28px 0 0;gap:14px 16px;display:flex;flex-wrap:wrap}
.kj-b-buttons-center{justify-content:center}
.kj-b-buttons .wp-block-button__link{border-radius:999px;font-size:20px;font-weight:700;padding:13px 32px;text-decoration:none;line-height:1.3}
.wp-block-button.kj-btn-light .wp-block-button__link{background:#FFFFFF;color:#1A1C1F;border:2px solid #FFFFFF}
.wp-block-button.kj-btn-outline .wp-block-button__link{background:transparent;color:#FFFFFF;border:2px solid #FFFFFF}
.wp-block-button.kj-btn-dark .wp-block-button__link{background:#1A1C1F;color:#FFFFFF;border:2px solid #1A1C1F}
.wp-block-button.kj-btn-outline-dark .wp-block-button__link{background:transparent;color:#1A1C1F;border:2px solid #1A1C1F}
.kj-b-sec{padding:96px 32px}
.kj-b-center,.kj-b-center-text{text-align:center}
.kj-b-gray{background:#F1F2F4}
.kj-b-h2{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1.15;color:#1A1C1F}
.kj-b-text{margin:22px 0 0;font-size:21px;line-height:1.6;color:#2B2F34}
.kj-b-text + .kj-b-text{margin-top:16px}
.kj-b-cards{margin:44px 0 0;gap:24px}
.kj-b-card{background:#FFFFFF;border-radius:20px;padding:28px;height:100%}
.kj-b-h3{margin:0 0 8px;font-size:22px;line-height:1.25;color:#1A1C1F}
.kj-b-cardtext{margin:0;font-size:18px;line-height:1.55;color:#3A3F45}
.kj-b-team{margin-top:44px;gap:40px 72px;justify-content:center;text-align:center}
.kj-b-foto img{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:50% 30%;background:#E4E6E9}
.kj-b-name{margin:18px 0 0;font-size:22px;font-weight:700;color:#1A1C1F}
.kj-b-rolle{margin:0;font-size:17px;color:#4B5057}
.kj-b-kontakt{margin:8px 0 0;font-size:17px}
.kj-b-kontakt + .kj-b-kontakt{margin-top:0}
body.wp-theme-kj-it .kj-b-kontakt a{color:#C70000;text-decoration:underline;text-underline-offset:3px}
.kj-b-bandwrap.kj-b-sec{padding-top:24px;padding-bottom:72px;background:#FFFFFF}
.kj-b-band{background:linear-gradient(90deg,#0E0F11 0%,#1B1011 55%,#7A0707 100%);color:#FFFFFF;border-radius:24px;padding:40px}
.kj-b-bandkicker{margin:0;font-size:15px;letter-spacing:0.08em;font-weight:700;color:#FFB3B3}
.kj-b-bandh{margin:10px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.15;color:#FFFFFF}
.kj-b-band .kj-b-bandtext{margin:14px auto 0 0 !important;font-size:20px;line-height:1.5;color:#E3E6EA;max-width:720px}
@media (max-width:700px){.kj-b-hero{padding:28px 20px 56px}.kj-b-sec{padding:64px 20px}.kj-b-band{padding:28px 24px}.kj-b-bandwrap.kj-b-sec{padding:16px 20px 56px}}

/* Brotkrume im Titelbild bleibt hell, auch innerhalb des Seitentextes */
body.wp-theme-kj-it .wp-block-post-content .kj-b-crumb a:not(.wp-block-button__link){color:#D2D6DB;text-decoration:underline}
body.wp-theme-kj-it .wp-block-post-content .kj-b-crumb a:not(.wp-block-button__link):hover{color:#FFFFFF}

/* ===== Block-Seiten: weitere Bausteine ===== */
.kj-b-herocols{margin:32px 0 0;gap:40px 56px;align-items:center}
.kj-b-herocols > .wp-block-column:first-child{flex-basis:54% !important}
.kj-b-herocols > .wp-block-column:last-child{flex-basis:40% !important}
.kj-b-herocols .kj-b-kicker{margin-top:0}
.kj-b-herocols .kj-b-lead,.kj-b-herocols .kj-b-micro{margin-left:0 !important;margin-right:auto !important}
.kj-b-illu{border-radius:20px;overflow:hidden;line-height:0;max-width:520px;margin-left:auto}
.kj-b-illu svg{width:100%;height:auto;display:block}
.kj-b-cards > .wp-block-column{display:flex;flex-direction:column}
.kj-b-cards > .wp-block-column > .kj-b-card{flex:1}
.kj-b-card-gray{background:#F1F2F4}
.kj-b-problem::before{content:"";display:block;width:44px;height:5px;background:#FF0000;margin-bottom:20px}
.kj-b-ic{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#F1F2F4;color:#C70000}
.kj-b-card-gray .kj-b-ic{background:#FFFFFF}
.kj-b-ic64{width:64px;height:64px}.kj-b-ic84{width:84px;height:84px;flex:none}.kj-b-ic52{width:52px;height:52px}
.kj-b-ic + .kj-b-h3{margin-top:20px}
.kj-b-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 56px;margin-top:52px}
.kj-b-item{display:flex;gap:24px;align-items:flex-start}
.kj-b-item .kj-b-h3{margin:0}
.kj-b-itemtext .kj-b-cardtext{margin-top:6px}
.kj-b-num{margin:0;width:48px;height:48px;border-radius:50%;background:#FF0000;color:#1A1C1F;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;line-height:1}
.kj-b-num + .kj-b-h3{margin-top:18px}
.kj-b-check{list-style:none;padding:0;margin:48px 0 0;columns:2;column-gap:56px}
.kj-b-check li{break-inside:avoid;position:relative;padding:0 0 0 48px;margin:0 0 26px;font-size:19px;line-height:1.5;color:#2B2F34;min-height:32px}
.kj-b-check li::before{content:"";position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:#F1F2F4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C70000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/18px no-repeat}
.kj-b-check1{columns:1;margin-top:28px}
.kj-b-faqlist{margin-top:44px}
.kj-b-faq .wp-block-details{background:#F1F2F4;border-radius:16px;padding:22px 28px;margin:0 0 14px}
.kj-b-faq .wp-block-details summary{font-size:21px;line-height:1.3;font-weight:700;cursor:pointer;color:#1A1C1F}
.kj-b-faq .wp-block-details p{margin:12px 0 0;font-size:18px;line-height:1.55;color:#3A3F45}
.kj-b-sec.kj-b-cta{background:linear-gradient(100deg,#1A0C0C 0%,#5A0A0A 55%,#C70000 100%);color:#FFFFFF;text-align:center;padding:88px 32px}
.kj-b-ctah{margin:0;font-size:clamp(30px,3.8vw,46px);line-height:1.12;color:#FFFFFF}
.kj-b-cta .kj-b-ctatext{margin:18px auto 0 !important;max-width:620px;font-size:21px;line-height:1.5;color:#E3E6EA}
.kj-b-callout{background:#F1F2F4;border-radius:24px;padding:40px}
.kj-b-h2s{margin:0;font-size:clamp(26px,3vw,34px);line-height:1.2;color:#1A1C1F}
.kj-b-note{margin:16px 0 0;font-size:17px;line-height:1.5;color:#4B5057}
.kj-b-more{margin:16px 0 0;font-size:18px;font-weight:700}
.kj-b-buttons-left{justify-content:flex-start}
.kj-b-card .kj-b-buttons{margin-top:20px}
.wp-block-button.kj-btn-chip .wp-block-button__link{background:#FFFFFF;color:#1A1C1F;border:0;font-size:20px;padding:14px 30px}
.kj-b-marquee{margin-top:40px}
.kj-b-contactcols{gap:48px 72px;align-items:flex-start}
.kj-b-contactcols > .wp-block-column:first-child{flex-basis:56% !important}
.kj-b-contactcols > .wp-block-column:last-child{flex-basis:38% !important}
.kj-b-map{background:#16181B;border-radius:20px;overflow:hidden;margin-top:24px;line-height:0}
.kj-b-map svg{width:100%;height:auto;display:block}
.kj-b-formcard{padding:32px}
.kj-b-card .kj-b-h3{margin-top:0}
@media (max-width:781px){.kj-b-grid2{grid-template-columns:1fr}.kj-b-check{columns:1}.kj-b-item{flex-direction:column;gap:14px}.kj-b-sec.kj-b-cta{padding:64px 20px}}

/* Korrekturen: Symbole und Nummern in Karten links, Kontakt-Spalten */
.kj-b-card .kj-b-ic,.kj-b-card .kj-b-num,.kj-b-item .kj-b-ic{margin-left:0 !important;margin-right:auto !important}
.kj-b-contactcols > .wp-block-column{align-self:flex-start}
.kj-b-contactcols .kj-b-card{height:auto}

/* Laufendes Band: startet immer automatisch, auch bei der Einstellung "reduzierte Bewegung" (Wunsch des Betreibers). Anhalten nur beim Darüberfahren mit der Maus. */
.kj-b-marquee .kj-track{animation:kjscroll 80s linear infinite !important;width:max-content !important}
.kj-b-marquee .kj-band.rev .kj-track{animation-direction:reverse !important;animation-duration:95s !important}
.kj-b-marquee .kj-set{flex-wrap:nowrap !important;justify-content:flex-start !important}
.kj-b-marquee .kj-set[aria-hidden]{display:flex !important}
.kj-b-marquee .kj-band{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent) !important;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent) !important}
.kj-b-marquee .kj-band:hover .kj-track{animation-play-state:paused !important}
.kj-b-marquee .kj-band-btn{display:none !important}

/* Fachrichtungs- und PVS-Band auf grauem Grund: weiße Schilder */
.kj-b-gray .kj-set li{background:#FFFFFF}

/* Rechtstexte (Impressum, Datenschutzerklärung) */
.kj-b-sec.kj-b-legal{padding:64px 24px 96px}
.kj-b-legal .kj-b-legal-h1{margin:0 0 32px;font-size:clamp(32px,4vw,46px);line-height:1.12;color:#1A1C1F}
.kj-b-legal h2{margin:40px 0 12px;font-size:clamp(22px,2.4vw,28px);line-height:1.25;color:#1A1C1F}
.kj-b-legal h3{margin:28px 0 8px;font-size:20px;line-height:1.3;color:#1A1C1F}
.kj-b-legal p,.kj-b-legal li{font-size:18px;line-height:1.65;color:#2B2F34}
.kj-b-legal p{margin:0 0 14px}
.kj-b-legal ul{margin:0 0 14px;padding-left:24px}

/* Ratgeber */
.kj-b-ratgeber .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.kj-b-ratgeber .wp-block-post-template > li{margin:0}
.kj-b-postcard{height:100%;box-sizing:border-box}
.kj-b-postcard .wp-block-post-date{margin:0 0 6px}
.kj-b-postcard .wp-block-post-title{margin:0 0 10px;font-size:24px;line-height:1.2}
.kj-b-postcard .wp-block-post-title a{color:#1A1C1F;text-decoration:none}
.kj-b-postcard .wp-block-post-title a:hover,.kj-b-postcard .wp-block-post-title a:focus{color:#C70000;text-decoration:underline}
.kj-b-postcard .wp-block-post-excerpt{margin:0;font-size:18px;line-height:1.55;color:#3A3F45}
.kj-b-postcard .wp-block-post-excerpt__more-link{display:inline-block;margin-top:10px;font-weight:700}
.kj-b-ratgeber .wp-block-query-pagination{margin-top:32px;gap:16px;font-size:18px}
.kj-b-article .kj-b-postdate{margin:0 0 28px}
.kj-b-article .kj-b-callout{margin-top:48px}
.kj-b-crumb-dark{margin:0 0 16px;font-size:16px;color:#4B5057}
@media (max-width:1000px){.kj-b-ratgeber .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.kj-b-ratgeber .wp-block-post-template{grid-template-columns:1fr}}

/* Ratgeber: Beitragstitel in den Karten dunkel, nicht rot unterstrichen */
body.wp-theme-kj-it .wp-block-post-content .kj-b-postcard .wp-block-post-title a:not(.wp-block-button__link){color:#1A1C1F;text-decoration:none}
body.wp-theme-kj-it .wp-block-post-content .kj-b-postcard .wp-block-post-title a:not(.wp-block-button__link):hover,body.wp-theme-kj-it .wp-block-post-content .kj-b-postcard .wp-block-post-title a:not(.wp-block-button__link):focus{color:#C70000;text-decoration:underline}

/* ===== Effekte (Einblenden, Kartenschwebe, FAQ-Plus, Status, Nach-oben) ===== */
.kj-fx .kj-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.kj-fx .kj-reveal.kj-in{opacity:1;transform:none}
.kj-fx .kj-cards > .wp-block-column.kj-reveal:nth-child(2){transition-delay:.08s}
.kj-fx .kj-cards > .wp-block-column.kj-reveal:nth-child(3){transition-delay:.16s}
.kj-fx .kj-cards > .wp-block-column.kj-reveal:nth-child(4){transition-delay:.24s}
header{transition:box-shadow .3s}
header.kj-scrolled{box-shadow:0 10px 30px -14px rgba(0,0,0,.7)}
.kj-b-card{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.kj-b-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(26,28,31,.5)}
.wp-block-button__link{transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(0,0,0,.55)}
main details > summary{list-style:none;position:relative;padding-right:44px;cursor:pointer}
main details > summary::-webkit-details-marker{display:none}
main details > summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:400;line-height:1;color:#C70000}
main details[open] > summary::after{content:"\2212"}
.kj-status{display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:17px;color:#1A1C1F}
.kj-status:empty{display:none}
.kj-status .kj-dot{width:10px;height:10px;border-radius:50%;background:#8B9097;flex:none}
.kj-status.kj-open .kj-dot{background:#2EA44F;animation:kjpulse 2s infinite}
@keyframes kjpulse{0%{box-shadow:0 0 0 0 rgba(46,164,79,.55)}70%{box-shadow:0 0 0 8px rgba(46,164,79,0)}100%{box-shadow:0 0 0 0 rgba(46,164,79,0)}}
.kj-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;border:0;background:#C70000;color:#FFFFFF;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:34;box-shadow:0 8px 20px -10px rgba(0,0,0,.55)}
.kj-top.kj-show{opacity:1;pointer-events:auto}
.kj-top:hover{transform:translateY(-3px)}
.kj-top svg{width:22px;height:22px}
@media (max-width:700px){.kj-top{display:none}}
@media print{.kj-reveal{opacity:1 !important;transform:none !important}.kj-top{display:none}}

/* Titelbild: lebendige Silhouette */
.hero-stars{position:absolute;inset:0 0 40% 0;pointer-events:none;z-index:0}
.hero-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#FFFFFF;opacity:.2;animation:kjtw 4.4s ease-in-out infinite}
@keyframes kjtw{0%,100%{opacity:.12}50%{opacity:.85}}
.hero-glow{transform-origin:56% 100%;animation:kjglow 9s ease-in-out infinite}
@keyframes kjglow{0%,100%{opacity:.78;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
.hero-sky .sk-far{transform:translate(calc(var(--kx,0)*4px),calc(var(--ky,0)*.06px));will-change:transform}
.hero-sky .sk-mid{transform:translate(calc(var(--kx,0)*9px),calc(var(--ky,0)*.03px));will-change:transform}
.hero-sky .sk-f{transform:translate(calc(var(--kx,0)*15px),0);will-change:transform}
.hero-sky .sk-flow{animation:kjflow 1.4s linear infinite}
@keyframes kjflow{to{stroke-dashoffset:-9}}
.hero-sky .sk-win rect{animation:kjwin 6s ease-in-out infinite}
.hero-sky .sk-win rect:nth-child(3n+1){animation-duration:7.5s;animation-delay:-1.2s}
.hero-sky .sk-win rect:nth-child(3n+2){animation-duration:5.2s;animation-delay:-3.1s}
.hero-sky .sk-win rect:nth-child(4n){animation-duration:9.3s;animation-delay:-5.4s}
@keyframes kjwin{0%,100%{opacity:1}42%{opacity:.3}52%{opacity:.95}68%{opacity:.45}}

/* Feinschliff: weiche Tiefe der weißen Karten */
.kj-b-card{box-shadow:0 1px 2px rgba(26,28,31,.05),0 14px 30px -24px rgba(26,28,31,.32)}
.kj-b-card.kj-b-card-gray{box-shadow:none}
.kj-b-card:hover{box-shadow:0 18px 40px -24px rgba(26,28,31,.5)}

/* Tablet und kleine Laptops: die Lasche würde sonst Text am linken Rand verdecken */
@media (min-width:701px) and (max-width:1100px){
  .kj-fern{display:none}
  .kj-cta-bar{display:flex;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:14px;padding:10px 16px;background:#0E0F11;color:#FFFFFF;box-shadow:0 -6px 20px rgba(0,0,0,.35)}
  .kj-cta-bar a{flex:0 1 280px;text-align:center;padding:13px 8px;border-radius:999px;font-weight:700;font-size:17px;color:#FFFFFF;border:2px solid #FFFFFF}
  .kj-cta-bar a.main{background:#FFFFFF;color:#1A1C1F}
  footer{padding-bottom:70px}
  .kj-top{bottom:92px}
}
@media (min-width:1101px) and (max-width:1340px){
  .kj-fern{width:56px;padding:10px 6px 10px 12px;gap:0}
  .kj-fern .tx{display:none}
  .kj-fern .ic{width:36px;height:36px}
  .kj-fern .ic svg{width:20px;height:20px}
}
/* Tablet: Karten zu zweit statt einzeln untereinander */
@media (min-width:600px) and (max-width:781px){
  .wp-block-columns.kj-b-cards{flex-wrap:wrap !important}
  .wp-block-columns.kj-b-cards > .wp-block-column.wp-block-column{flex-basis:calc(50% - 12px) !important;flex-grow:1}
}

/* Leistungsseiten (SEO): Hauptüberschrift in der Dachzeile, Fließtext-Abschnitte */
h1.kj-b-kicker{font-size:clamp(18px,2vw,26px);line-height:1.3;font-weight:600;letter-spacing:0}
.kj-b-h1{font-weight:700}
.kj-b-prose .kj-b-h2{text-align:left}
.kj-b-prose .kj-b-text{text-align:left}
.kj-b-prose .kj-b-text a{color:#C70000;text-decoration:underline;text-underline-offset:3px}
.kj-b-prose .kj-b-check1{margin-top:20px}

/* Zeilenumbrüche: ausgewogene Überschriften, keine einzelnen Wörter am Zeilenende */
h1,h2,h3,summary,.kj-b-kicker{text-wrap:balance}
.kj-b-lead,.kj-b-text,.kj-b-cardtext,.kj-b-note{text-wrap:pretty}
