:root {
--c-text:   #111827; 
--c-muted:  #6b7280; 
--c-border: #e5e7eb; 
--c-bg:     #ffffff; 
--c-focus:  #111827; 
--c-success: #16a34a; 
--c-danger:  #dc2626; 
--font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, sans-serif;
--lh-base: 1.7;
--container-max: 1240px;
--radius: 8px;
--img-radius: 20px;
--img-shadow: 0 4px 12px rgba(0,0,0,0.15);
--img-margin: 20px;
--img-groove-width: 2px;
} *, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
font-family: var(--font-base);
color: var(--c-text);
line-height: var(--lh-base);
background: var(--c-bg);
}
img, video {
max-width: 100%;
height: auto;
}
.ast-container { max-width: var(--container-max); }
.entry-content p, .entry-content ul, .entry-content ol { margin: 0 0 1.2em; }
h1, h2, h3, h4, h5, h6 {
letter-spacing: -0.02em;
line-height: 1.2;
margin: 0 0 0.6em;
}
p { margin: 0 0 1.2em; }
a {
color: inherit;
text-decoration-thickness: 2px;
text-underline-offset: 3px;
}
a:hover { text-decoration: none; }
:focus-visible {
outline: 2px solid var(--c-focus);
outline-offset: 3px;
border-radius: 4px;
}
.u-text-center { text-align: center; }
.u-hidden { display: none !important; } .d24-image {
display: block;
margin: var(--img-margin) auto;
border-radius: var(--img-radius);
box-shadow: var(--img-shadow);
overflow: hidden;
padding: 0;
background: transparent;
line-height: 0;
border: var(--img-groove-width) groove var(--c-border);
}
.d24-image > a { display: block; line-height: 0; }
.d24-image img {
display: block;
width: 100%;
height: auto;
}
@media (hover: hover) and (pointer: fine) {
.d24-image img { transition: transform 0.4s ease; }
.d24-image:hover img { transform: scale(1.05); }
} .entry-content .acf-ul, .elementor .acf-ul {
list-style: none;
margin: 0;
padding: 0;
}
.entry-content .acf-ul li, .elementor .acf-ul li {
position: relative;
padding-left: 36px;
margin: 0 0 10px;
line-height: 1.5;
}
.entry-content .acf-ul li::before, .elementor .acf-ul li::before {
position: absolute;
left: 0;
top: 0.15em;
width: 22px;
height: 22px;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 800;
color: #ffffff;
content: "–";
background: var(--c-border);
}
.entry-content .acf-ul.d24-checklist li::before, 
.elementor .acf-ul.d24-checklist li::before {
content: "✓";
background: var(--c-success);
}
.entry-content .acf-ul.d24-crosslist li::before, 
.elementor .acf-ul.d24-crosslist li::before {
content: "✕";
background: var(--c-danger);
} .acf-list { margin: 0; padding: 0; }
.acf-list p { margin: 0 0 0.6em; }
.acf-list p::before { content: "– "; color: var(--c-muted); }
.acf-list.d24-checklist p::before { content: "✓ "; color: var(--c-success); font-weight: 800; }
.acf-list.d24-crosslist p::before { content: "✕ "; color: var(--c-danger); font-weight: 800; } .d24-anbieter { font-size: 18px; color: #264fa8; }
.d24-anbieter a { font-weight: 700; text-decoration: none; color: #264fa8; }
.d24-anbieter a:hover { color: #ffd400; } .d24-step-box {
background: #ffffff;
border-radius: 16px;
padding: 28px 24px;
box-shadow: 0 10px 25px rgba(0,0,0,0.05);
transition: all 0.3s ease;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
}
.d24-step-box:hover {
transform: translateY(-6px);
box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}
.d24-step-icon {
display: flex !important; 
width: 64px;
height: 64px;
margin: 0 auto 16px !important; 
background: #f4f7f5;
border-radius: 50%;
align-items: center;
justify-content: center;
flex-shrink: 0; 
}
.d24-step-box:hover .d24-step-icon { background: #e8f5e9; }
.d24-step-title {
display: block !important;
width: 100%;
margin: 8px 0 12px !important; 
font-size: 20px;
font-weight: 600;
line-height: 1.3;
}
.d24-step-text {
font-size: 15px;
line-height: 1.6;
color: #555;
margin: 0;
} .elementor-loop-container .e-loop-item,
.elementor-loop-container .elementor-loop-item { height: 100%; } .d24-card, 
.d24-provider-card {
display: flex;
flex-direction: column;
height: 100%;
background: #ffffff;
border-radius: 16px;
box-shadow: 0 8px 24px rgba(0,0,0,0.06);
overflow: hidden;
transition: all 0.3s ease;
} .d24-card:hover,
.d24-provider-card:hover {
transform: translateY(-6px);
box-shadow: 0 16px 36px rgba(0,0,0,0.09);
} .elementor-loop-container .d24-card .elementor-widget-post-featured-image,
.elementor-loop-container .d24-card .elementor-widget-theme-post-featured-image {
margin-bottom: 20px !important;
}
.elementor-loop-container .d24-card-body {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 20px !important;
}
.elementor-loop-container .d24-card-body .elementor-widget-text-editor { flex: 1 1 auto; }
.elementor-loop-container .d24-card-btn { margin-top: auto !important; } .elementor-loop-container .d24-card .elementor-heading-title,
.elementor-loop-container .d24-card .elementor-widget-theme-post-title .elementor-heading-title,
.elementor-loop-container .d24-card .elementor-widget-post-title .elementor-heading-title {
display: -webkit-box !important;
-webkit-box-orient: vertical !important;
-webkit-line-clamp: 2 !important;
overflow: hidden !important;
}
.elementor-loop-container .d24-card .elementor-widget-text-editor {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
} .d24-provider-card-body {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 14px;
padding: 20px;
}
.d24-provider-card .elementor-heading-title {
font-size: 24px;
font-weight: 600;
line-height: 1.3;
} .d24-hero {
background: #f0faf4;
text-align: center;
padding: 80px 20px 60px;
}
.d24-hero p {
max-width: 700px;
margin: 0 auto 1.2em;
} .d24-hero-features {
margin-top: 20px;
font-size: 16px;
} .d24-hero-features,
.d24-hero-features p,
.d24-hero-features span,
.d24-hero-features div {
color: #2e7d32 !important;
} .d24-cat-card {
background: #ffffff;
border-radius: 14px;
padding: 20px;
text-align: center;
box-shadow: 0 6px 18px rgba(0,0,0,0.05);
transition: all 0.25s ease;
cursor: pointer;
}
.d24-cat-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}
.d24-cat-title { font-size: 16px; font-weight: 600; } .d24-footer .elementor-nav-menu {
display: flex;
flex-direction: column;
gap: 8px;
}
.d24-footer .elementor-nav-menu a { color: #cbd5e0; font-size: 14px; text-decoration: none; }
.d24-footer .elementor-nav-menu a:hover { color: #ffffff; }
.d24-footer-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 12px;
color: #ffffff;
} .d24-subcat-card {
background: #ffffff;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 8px 20px rgba(0,0,0,0.05);
transition: all 0.25s ease;
cursor: pointer;
}
.d24-subcat-card:hover {
transform: translateY(-4px);
box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}
.d24-subcat-title {
padding: 16px 18px;
font-size: 16px;
font-weight: 600;
line-height: 1.4;
} .d24-cats-cta {
text-align: center;
}
.d24-cats-cta h2 {
margin-bottom: 16px;
}
.d24-cats-cta p {
max-width: 600px;
margin: 0 auto 24px;
color: #555;
}
.d24-cats-cta .elementor-button {
border-radius: 10px;
padding: 14px 26px;
font-weight: 600;
}