/* KFZ Stollhans – hell & klar, mit Kante */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
	--ks-bg:#fff;--ks-soft:#f3f5f7;--ks-line:#e1e5ea;--ks-txt:#161a1e;--ks-mute:#59636e;
	--ks-blue:#0069b4;--ks-blue-d:#00548f;--ks-max:1180px;--ks-pad:24px;
}

/* Grundgerüst: GeneratePress-Container neutralisieren */
body.ks-site{background:var(--ks-bg);color:var(--ks-txt);font-family:"Archivo",system-ui,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden}
.ks-site .site.grid-container,.ks-site .site-content,.ks-site .content-area,.ks-site .site-main{max-width:none;width:100%;padding:0;margin:0;display:block}
.ks-site .inside-article,.ks-site .separate-containers .inside-article{padding:0;background:transparent}
.ks-site .site-main>article,.ks-site .site-main>*{margin:0}
.ks-site .entry-content{margin:0}
.ks-site .entry-content>*:not(.alignfull){max-width:var(--ks-max);margin-left:auto;margin-right:auto;padding-left:var(--ks-pad);padding-right:var(--ks-pad);box-sizing:border-box}
.ks-site .wp-block-group__inner-container{padding:0;max-width:none;margin:0}
.ks-site .entry-content>.alignfull>.wp-block-group__inner-container{max-width:var(--ks-max);margin:0 auto;padding:0 var(--ks-pad)}
.ks-site.single .site-main,.ks-site.blog .site-main{max-width:820px;margin:0 auto;padding:40px var(--ks-pad)}
.ks-site *,.ks-site *::before,.ks-site *::after{box-sizing:border-box}
.ks-site a{color:var(--ks-blue)}
.ks-site a:hover{color:var(--ks-blue-d)}
.ks-site h1,.ks-site h2,.ks-site h3{font-family:"Archivo",system-ui,sans-serif;font-weight:800;color:var(--ks-txt);letter-spacing:-.01em;overflow-wrap:break-word}
.ks-site h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.05;margin:0 0 .6em}
.ks-site h2{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.12;margin:0 0 .5em}
.ks-site h3{font-size:1.25rem;line-height:1.25;margin:0 0 .4em}
.ks-wrap{max-width:var(--ks-max);margin:0 auto;padding:0 var(--ks-pad)}

/* Header */
.ks-header{border-bottom:1px solid var(--ks-line);background:#fff}
.ks-header-in{display:flex;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}
.ks-logo img{height:48px;width:auto;display:block}
.ks-nav{margin-left:auto}
.ks-menu{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.ks-menu a{color:var(--ks-txt);text-decoration:none;font-weight:600}
.ks-menu a:hover,.ks-menu .current-menu-item a{color:var(--ks-blue)}
.ks-tel{order:3;background:var(--ks-blue);color:#fff!important;text-decoration:none;font-weight:700;padding:10px 16px;white-space:nowrap}
.ks-tel:hover{background:var(--ks-blue-d)}

/* Bausteine */
.ks-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem!important;color:var(--ks-blue);font-weight:700;margin:0 0 14px!important}
.ks-lead{color:var(--ks-mute);font-size:1.1rem;max-width:36em}
.ks-section{padding-top:64px;padding-bottom:64px}
.ks-soft{background:var(--ks-soft);border-top:4px solid var(--ks-blue)}
.ks-hero{padding-top:56px;padding-bottom:56px;gap:48px!important;align-items:stretch!important}
.ks-hero .wp-block-column{min-width:0}
.ks-slant,.ks-slant img{height:100%;min-height:380px;width:100%;object-fit:cover;margin:0}
.ks-slant img{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}
.ks-list{list-style:none;padding:0!important;margin:0 0 28px;display:grid;grid-template-columns:repeat(2,1fr);column-gap:32px}
.ks-list li{padding:9px 0;border-bottom:1px solid var(--ks-line)}
.ks-site .wp-block-button .wp-block-button__link{border-radius:0;font-weight:700;padding:14px 22px;background-color:var(--ks-blue)!important;color:#fff!important;border:2px solid var(--ks-blue);text-decoration:none}
.ks-site .wp-block-button .wp-block-button__link:hover{background-color:var(--ks-blue-d)!important;border-color:var(--ks-blue-d)}
.ks-site .wp-block-button.is-style-outline .wp-block-button__link{background-color:transparent!important;color:var(--ks-blue)!important}
.ks-site .wp-block-button.is-style-outline .wp-block-button__link:hover{background-color:var(--ks-blue)!important;color:#fff!important}
.ks-cards{gap:20px!important}
.ks-card{background:#fff;border:1px solid var(--ks-line);padding:0!important}
.ks-card .wp-block-image{margin:0}
.ks-card .wp-block-image img{width:100%;height:210px;object-fit:cover;display:block}
.ks-card>*:not(.wp-block-image){padding-left:22px;padding-right:22px}
.ks-card h3{margin-top:18px}
.ks-card p{color:var(--ks-mute);font-size:.97rem}
.ks-card p:last-child{padding-bottom:20px;margin-bottom:0}
.ks-card a{font-weight:700;text-decoration:none}
.ks-facts{border-top:1px solid var(--ks-line);border-bottom:1px solid var(--ks-line);gap:0!important;margin-top:0;margin-bottom:0}
.ks-facts>.wp-block-column{padding:26px 24px 26px 0}
.ks-facts>.wp-block-column+.wp-block-column{padding-left:24px;border-left:1px solid var(--ks-line)}
.ks-facts p{margin:0}
.ks-facts .ks-eyebrow{color:var(--ks-mute)}
.ks-facts a{font-weight:700;font-size:1.1rem;color:var(--ks-txt);text-decoration:none}
.ks-spec{width:100%;border-collapse:collapse;font-size:.95rem}
.ks-spec th,.ks-spec td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--ks-line)}
.ks-spec th{font-weight:600;color:var(--ks-mute)}
.ks-steps{counter-reset:ks;list-style:none;padding:0!important}
.ks-steps li{counter-increment:ks;padding:10px 0 10px 44px;position:relative;border-bottom:1px solid var(--ks-line)}
.ks-steps li::before{content:counter(ks);position:absolute;left:0;top:9px;width:28px;height:28px;background:var(--ks-blue);color:#fff;font-weight:700;text-align:center;line-height:28px}

/* FAQ (Yoast) */
.ks-site .schema-faq-section{border-bottom:1px solid var(--ks-line);padding:18px 0}
.ks-site .schema-faq-question{font-weight:800;font-size:1.12rem;display:block;margin-bottom:6px}
.ks-site .schema-faq-answer{margin:0;color:var(--ks-txt)}

/* Kontaktformular (Ninja Forms) */
.ks-site .nf-form-cont input:not([type=checkbox]):not([type=submit]),.ks-site .nf-form-cont select,.ks-site .nf-form-cont textarea{border:1px solid #c9d0d7;border-radius:0;padding:12px;font:inherit;background:#fff;width:100%}
.ks-site .nf-form-cont input:focus,.ks-site .nf-form-cont select:focus,.ks-site .nf-form-cont textarea:focus{outline:2px solid var(--ks-blue);outline-offset:0}
.ks-site .nf-form-cont input[type=submit]{background:var(--ks-blue);color:#fff;border:0;border-radius:0;padding:14px 26px;font-weight:700;cursor:pointer}
.ks-site .nf-form-cont input[type=submit]:hover{background:var(--ks-blue-d)}
.ks-site .nf-error-msg,.ks-site .ninja-forms-req-symbol{color:#b3261e}

/* Footer */
.ks-footer{border-top:1px solid var(--ks-line);margin-top:0;background:#fff;color:var(--ks-mute);font-size:.92rem}
.ks-footer-in{display:grid;grid-template-columns:1.3fr 1fr auto;gap:24px;padding-top:32px;padding-bottom:32px;align-items:start}
.ks-footer strong{color:var(--ks-txt)}
.ks-footer a{color:var(--ks-txt);text-decoration:none}
.ks-footer-innung img{height:56px;width:auto}
.ks-footer-legal{grid-column:1/-1;display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--ks-line);padding-top:18px}
.ks-footer-legal span{margin-left:auto}

@media (max-width:820px){
	body.ks-site{font-size:16px}
	.ks-header-in{flex-wrap:wrap;gap:12px 16px;padding-top:14px;padding-bottom:0}
	.ks-logo img{height:40px}
	.ks-tel{order:2;margin-left:auto;padding:8px 12px}
	.ks-tel span{display:none}
	.ks-nav{order:4;width:100%;margin:0;border-top:1px solid var(--ks-line);overflow-x:auto}
	.ks-menu{gap:0;justify-content:space-between}
	.ks-menu a{display:block;padding:12px 4px}
	.ks-hero{padding-top:24px;padding-bottom:32px;gap:24px!important}
	.ks-hero .wp-block-column:last-child{order:-1}
	.ks-slant,.ks-slant img{min-height:220px;clip-path:none}
	.ks-list{grid-template-columns:1fr}
	.ks-section{padding-top:44px;padding-bottom:44px}
	.ks-facts>.wp-block-column,.ks-facts>.wp-block-column+.wp-block-column{padding:20px 0;border-left:0}
	.ks-facts>.wp-block-column+.wp-block-column{border-top:1px solid var(--ks-line)}
	.ks-footer-in{grid-template-columns:1fr}
	.ks-footer-legal span{margin-left:0}
}

/* Feinschliff */
.ks-site .wp-block-buttons{margin-bottom:28px}
.ks-site .wp-block-buttons+h2,.ks-site .wp-block-buttons+.wp-block-heading{margin-top:12px}
.ks-card h2{font-size:1.35rem;margin-top:18px}
.ks-card .ks-spec{margin:0 22px 22px;width:calc(100% - 44px)}
.ks-site .nf-form-title{display:none}
.ks-site .nf-form-fields-required{color:var(--ks-mute);font-size:.9rem;margin-bottom:12px}
.ks-card figure.wp-block-image,.ks-card figure.wp-block-image a{display:block;width:100%}
.ks-site ol.ks-steps{margin-left:0}
@media (max-width:820px){.ks-logo img{height:34px}.ks-tel{font-size:.9rem;padding:8px 10px}}
