:root { --text:#1b2737; --muted:#667386; --line:#dce4ec; --brand:#3e6278; --surface:#fff; --bg:#f6f8fb; font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing: border-box; }
body { margin:0; color:var(--text); background:var(--bg); line-height:1.7; }
a { color:var(--brand); }
.site-header { min-height:74px; padding:0 max(24px,calc((100vw - 1180px)/2)); background:#fff; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:28px; position:sticky; top:0; z-index:10; }
.site-name { color:var(--text); text-decoration:none; font-weight:850; letter-spacing:-.03em; }
.site-nav > ul { margin:0; padding:0; display:flex; gap:18px; list-style:none; }
.site-nav li { position:relative; list-style:none; }
.site-nav a { color:#425066; text-decoration:none; font-weight:650; }
.site-nav li ul { display:none; position:absolute; top:100%; left:0; min-width:210px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px; box-shadow:0 18px 40px rgba(30,50,70,.12); }
.site-nav li:hover > ul, .site-nav li:focus-within > ul { display:grid; gap:7px; }
.site-content { width:min(100% - 40px,980px); margin:60px auto 90px; }
.prose { background:#fff; border:1px solid var(--line); border-radius:20px; padding:clamp(24px,5vw,58px); box-shadow:0 18px 50px rgba(30,50,70,.06); }
.prose h1 { font-size:clamp(2rem,5vw,3.5rem); line-height:1.05; letter-spacing:-.05em; margin-top:0; }
.prose h2 { margin-top:2em; letter-spacing:-.025em; }
.prose p, .prose li { color:#46546a; }
.prose a { overflow-wrap:anywhere; }
.empty-site { text-align:center; padding:90px 20px; }
.empty-site h1 { font-size:clamp(2rem,5vw,4rem); letter-spacing:-.05em; margin:0 0 12px; }
.error-code { display:block; color:var(--brand); font-size:1rem; font-weight:850; letter-spacing:.14em; }
.site-footer { padding:34px max(24px,calc((100vw - 1180px)/2)); border-top:1px solid var(--line); background:#fff; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:.88rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
.site-footer a { color:#5c6a7e; text-decoration:none; }
@media (max-width:760px) { .site-header { align-items:flex-start; flex-direction:column; padding-top:18px; padding-bottom:18px; position:static; }.site-nav > ul { flex-direction:column; gap:8px; }.site-nav li ul { display:grid; position:static; box-shadow:none; border:0; padding:6px 0 0 16px; }.site-content { margin-top:30px; } }

/* SEO / Breadcrumbs */
.breadcrumbs { margin:0 0 18px; font-size:.86rem; }
.breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; }
.breadcrumbs li { color:#6b7787; }
.breadcrumbs li + li::before { content:'›'; margin-right:7px; color:#9aa6b2; }
.breadcrumbs a { color:inherit; }
.prose img { max-width:100%; height:auto; border-radius:12px; }

/* CMS 1.0.16 · Öffentliche Formulare */
.public-form-card { margin:28px 0; padding:clamp(20px,4vw,34px); border:1px solid var(--line); border-radius:18px; background:#fbfcfe; }
.public-form-card header { margin-bottom:20px; }
.public-form-card h2 { margin:0 0 7px; }
.public-form-card header p { margin:0; color:var(--muted); }
.public-form { display:grid; gap:15px; }
.public-form-field { display:grid; gap:7px; color:#334155; font-weight:700; }
.public-form-field > small { color:var(--muted); font-weight:500; }
.public-form input, .public-form select, .public-form textarea { width:100%; border:1px solid #cfd9e5; border-radius:11px; background:#fff; color:var(--text); padding:11px 12px; font:inherit; outline:none; }
.public-form textarea { min-height:130px; resize:vertical; }
.public-form input:focus, .public-form select:focus, .public-form textarea:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(62,98,120,.12); }
.public-form button { justify-self:start; border:0; min-height:44px; border-radius:11px; padding:0 18px; background:var(--brand); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.public-form-check { display:flex; align-items:center; gap:9px; font-weight:500; }
.public-form-check input { width:18px; height:18px; }
.form-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.public-form-success { margin:0 0 18px; padding:14px 16px; border:1px solid #bde3d4; border-radius:13px; background:#eaf8f2; color:#126b4e; font-weight:700; }
.site-footer-main { display:grid; gap:7px; }
.site-footer-main small { color:#7a8798; }

/* fiebigerCMS 1.0.18 · Vorschau */
.preview-banner {
    max-width: 980px;
    margin: 18px auto 24px;
    padding: 12px 16px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #d6a44f;
    border-radius: 12px;
    background: #fff7e7;
    color: #79530d;
}
@media (max-width: 680px) {
    .preview-banner { margin-inline: 12px; flex-direction: column; }
}

/* 1.0.22 maintenance */
.maintenance-page{min-height:62vh;display:grid;place-items:center;padding:48px 20px}.maintenance-card{max-width:720px;width:100%;padding:48px;border:1px solid #d8e2ee;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(26,44,67,.10);text-align:center}.maintenance-card h1{font-size:clamp(2rem,5vw,3.5rem);margin:.5rem 0 1rem}.maintenance-card p{font-size:1.15rem;line-height:1.7;color:#66748a}.maintenance-card small{display:block;margin-top:18px;color:#7b8798}

/* fiebigerCMS 1.0.22.2 · bewusste Admin-Vorschau während Wartung */
.maintenance-preview-bar {
    position: relative;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px max(24px, calc((100vw - 1180px) / 2));
    border-bottom: 1px solid #edc989;
    background: #fff4dc;
    color: #70440a;
}
.maintenance-preview-bar > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
.maintenance-preview-bar strong { font-weight: 850; }
.maintenance-preview-bar span { color: #87652f; font-size: .9rem; }
.maintenance-preview-bar a {
    flex: 0 0 auto;
    color: #70440a;
    font-weight: 800;
}
@media (max-width: 700px) {
    .maintenance-preview-bar { align-items: flex-start; flex-direction: column; }
}

/* fiebigerCMS 1.0.25 · Content-Builder */
.builder-content { display:grid; gap:clamp(20px,3vw,34px); }
.content-block { margin:0; }
.content-block-text > :first-child,.content-block-html > :first-child { margin-top:0; }
.content-block-text > :last-child,.content-block-html > :last-child { margin-bottom:0; }
.content-block-heading h2,.content-block-heading h3,.content-block-heading h4 { margin:0; line-height:1.18; letter-spacing:-.025em; }
.content-block-heading.align-center { text-align:center; }.content-block-heading.align-right { text-align:right; }
.content-block-image { display:grid; gap:8px; }.content-block-image img { width:100%; height:auto; border-radius:18px; display:block; }.content-block-image figcaption { color:var(--muted); font-size:.85rem; text-align:center; }
.content-gallery { display:grid; gap:12px; }.content-gallery.columns-2{grid-template-columns:repeat(2,1fr)}.content-gallery.columns-3{grid-template-columns:repeat(3,1fr)}.content-gallery.columns-4{grid-template-columns:repeat(4,1fr)}.content-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:15px;background:#e9eef3}.content-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.content-columns { display:grid; gap:22px; }.content-columns.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.content-columns.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.content-columns > div{min-width:0}.content-columns > div > :first-child{margin-top:0}
.content-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:clamp(24px,4vw,42px); border-radius:20px; }.content-cta h2{margin:0 0 8px}.content-cta p{margin:0}.content-cta.style-brand{background:#315870;color:#fff}.content-cta.style-brand p{color:#dbeaf3}.content-cta.style-soft{background:#edf4f8;border:1px solid #d7e5ee}.content-cta.style-dark{background:#152536;color:#fff}.content-cta.style-dark p{color:#c9d4df}
.content-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border-radius:11px; background:#fff; color:#1b3447; text-decoration:none; font-weight:850; white-space:nowrap; border:1px solid rgba(20,50,70,.12); }
.content-notice { padding:18px 20px; border:1px solid var(--line); border-radius:15px; }.content-notice strong{display:block;margin-bottom:4px}.content-notice p{margin:0}.content-notice.tone-info{background:#eef7fb;border-color:#cce4ef}.content-notice.tone-success{background:#edf9f3;border-color:#c8ead8}.content-notice.tone-warning{background:#fff8e8;border-color:#eed8a8}.content-notice.tone-danger{background:#fff0f2;border-color:#efc6cd}
.content-download { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 20px; border:1px solid var(--line); border-radius:15px; background:#fff; }.content-download > div{display:grid;gap:3px}.content-download span{color:var(--muted);font-size:.87rem}.content-download .content-button{background:#315870;color:#fff}
.content-video video { width:100%; display:block; border-radius:18px; background:#0d1720; }.content-video figcaption{margin-top:8px;color:var(--muted);font-size:.85rem;text-align:center}
.content-spacer-small{height:16px}.content-spacer-medium{height:38px}.content-spacer-large{height:74px}
.content-faq { display:grid; gap:10px; }.content-faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 16px}.content-faq summary{padding:14px 0;cursor:pointer;font-weight:800}.content-faq details div{padding:0 0 16px;color:#46546a}
.content-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); gap:28px; padding:clamp(24px,4vw,38px); border-radius:20px; background:#f0f5f8; border:1px solid #d9e5ec; }.content-contact h2{margin-top:0}.content-contact address{font-style:normal;display:grid;gap:8px;align-content:start}.content-contact address span,.content-contact address a{display:block}
@media(max-width:760px){.content-gallery.columns-3,.content-gallery.columns-4{grid-template-columns:repeat(2,1fr)}.content-columns.columns-2,.content-columns.columns-3,.content-contact{grid-template-columns:1fr}.content-cta,.content-download{align-items:flex-start;flex-direction:column}.content-button{white-space:normal}.content-spacer-large{height:45px}}

/* 1.0.29 Theme-Basis */
.site-logo{display:block;max-height:48px;max-width:min(240px,42vw);width:auto;height:auto}.site-name:has(.site-logo){display:flex;align-items:center}.prose{background:var(--surface)}

/* fiebigerCMS 1.0.30 · Template-System & Sticky Footer */
html,body{min-height:100%}
body.public-body{min-height:100vh;display:flex;flex-direction:column}
body.public-body>.site-template-root{flex:1 0 auto}
.site-main{min-height:0}
.site-template-root .site-footer{flex-shrink:0}
.site-template-root{display:flex;flex:1 0 auto;min-height:0;flex-direction:column;width:100%}
.site-template-root>.site-main{display:flex;flex:1 0 auto;width:100%}
.site-template-root>.site-footer{margin-top:auto;flex-shrink:0}
