.sfw-region-page {
    --sfw-region-primary: #c1e8c3;
    --sfw-region-secondary: #228e73;
    --sfw-region-accent: #61ce70;
    --sfw-region-ink: #0b1b14;
    --sfw-region-muted: #42534b;
    --sfw-region-panel: rgba(255, 255, 255, 0.9);
    --sfw-region-line: rgba(11, 27, 20, 0.12);
    --sfw-region-radius: 18px;
    color: var(--sfw-region-ink);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sfw-region-section {
    max-width: 1180px;
    margin: 14px auto 0;
    padding: clamp(24px, 4vw, 42px);
    background: linear-gradient(180deg, rgba(193, 232, 195, 0.72), rgba(193, 232, 195, 0.28));
}

.sfw-region-section > * {
    max-width: 100%;
}

.sfw-region-section--hero,
.sfw-region-section--why,
.sfw-region-section--faq,
.sfw-region-section--cta,
.sfw-region-section--reviews {
    border-radius: 0;
}

.sfw-region-page h1,
.sfw-region-page h2,
.sfw-region-page h3,
.sfw-region-page p,
.sfw-region-page ul,
.sfw-region-page ol,
.sfw-region-page figure {
    margin-top: 0;
}

.sfw-region-page h1 {
    max-width: 920px;
    font-size: clamp(2.15rem, 5vw, 3.65rem);
    line-height: 1.04;
    margin-bottom: 18px;
}

.sfw-region-page h2 {
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    line-height: 1.15;
    margin-bottom: 14px;
}

.sfw-region-page h3 {
    display: inline-flex;
    align-items: center;
    margin: 8px 8px 0 0;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid var(--sfw-region-line);
    font-size: 0.98rem;
    line-height: 1.25;
    box-shadow: 0 8px 22px rgba(34, 142, 115, 0.08);
}

.sfw-region-page p,
.sfw-region-page li {
    font-size: 1.05rem;
    line-height: 1.65;
}

.sfw-region-page a {
    color: #0f6d56;
    font-weight: 700;
}

.sfw-region-section--info h2 {
    margin-top: 0;
}

.sfw-region-section--why {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
}

.sfw-region-section--why > :not(.sfw-region-figure) {
    grid-column: 1 / -1;
}

.sfw-region-section--info > ol,
.sfw-region-section--info > ul,
.sfw-region-section--info > p {
    padding: 18px 20px;
    margin-bottom: 18px;
    background: var(--sfw-region-panel);
    border: 1px solid var(--sfw-region-line);
    border-radius: var(--sfw-region-radius);
}

.sfw-region-section--info > ol,
.sfw-region-section--info > ul {
    padding-left: 42px;
}

.sfw-region-section--info > ol li,
.sfw-region-section--info > ul li {
    padding-left: 4px;
}

.sfw-region-section--info > ol li::marker {
    color: var(--sfw-region-secondary);
    font-weight: 800;
}

.sfw-region-section--info > ul li::marker {
    color: var(--sfw-region-secondary);
}

.sfw-region-section--info > p {
    display: block;
}

.sfw-region-section--info > p:has(a:only-child) {
    padding: 0;
    background: transparent;
    border: 0;
}

.sfw-region-section--info > p:has(a:only-child) a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 16px;
    background: var(--sfw-region-secondary);
    color: #fff !important;
    text-decoration: none;
}

.sfw-region-page hr {
    height: 1px;
    margin: 18px 0;
    border: 0;
    background: var(--sfw-region-line);
}

.sfw-region-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 12px;
}

.sfw-region-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 46px;
    padding: 11px 16px;
    border-radius: 16px;
    border: 1px solid rgba(11, 27, 20, 0.42);
    background: var(--sfw-region-secondary);
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
    line-height: 1.2;
}

.sfw-region-btn:nth-child(even) {
    background: #fff;
    color: var(--sfw-region-ink) !important;
}

.sfw-region-figure {
    display: block;
    width: 100%;
    margin: 18px 0 20px;
}

.sfw-region-figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--sfw-region-radius);
    border: 1px solid var(--sfw-region-line);
    box-shadow: 0 14px 34px rgba(11, 27, 20, 0.1);
}

.sfw-region-figure figcaption {
    margin-top: 8px;
    color: var(--sfw-region-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.sfw-region-faq-list {
    display: grid;
    gap: 10px;
}

.sfw-region-faq-item {
    border: 1px solid var(--sfw-region-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.78);
    overflow: hidden;
}

.sfw-region-faq-item summary {
    cursor: pointer;
    padding: 16px 18px;
    font-weight: 800;
}

.sfw-region-faq-item p,
.sfw-region-faq-item ul,
.sfw-region-faq-item ol {
    padding: 0 18px 18px;
    margin-bottom: 0;
}

.sfw-region-section--cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
}

.sfw-region-section--cta .sfw-region-actions {
    justify-content: flex-end;
    margin: 0;
}

.sfw-region-reviews {
    min-height: 160px;
}

@media (max-width: 900px) {
    .sfw-region-section {
        margin-top: 10px;
        padding: 24px 16px;
    }

    .sfw-region-section--cta {
        display: block;
    }

    .sfw-region-section--why {
        display: block;
    }

    .sfw-region-actions,
    .sfw-region-section--cta .sfw-region-actions {
        justify-content: stretch;
    }

    .sfw-region-btn {
        width: 100%;
    }

    .sfw-region-page h1 {
        font-size: clamp(2rem, 10vw, 2.55rem);
    }

    .sfw-region-page h3 {
        display: flex;
        width: 100%;
        margin-right: 0;
        border-radius: 16px;
    }

    .sfw-region-section--info > ol,
    .sfw-region-section--info > ul,
    .sfw-region-section--info > p {
        padding: 16px 18px;
    }

    .sfw-region-section--info > ol,
    .sfw-region-section--info > ul {
        padding-left: 36px;
    }

    .sfw-region-section--info > p:has(a:only-child) {
        padding: 0;
    }

    .sfw-region-section--info > p:has(a:only-child) a {
        width: 100%;
    }

    .sfw-region-figure {
        display: block;
        width: 100%;
        margin: 18px 0 20px;
    }
}

/* Offenes Design fuer migrierte Regio-Seiten, angeglichen an Startseite und Produktseiten. */
.sfw-region-page {
    --sfw-region-max: 1480px;
    --sfw-region-pad: max(18px, calc((100vw - var(--sfw-region-max)) / 2 + 18px));
    background: #fff;
    overflow-x: clip;
}

.sfw-region-section {
    width: 100vw;
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: clamp(34px, 5vw, 72px) var(--sfw-region-pad);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.sfw-region-section--hero {
    background: linear-gradient(135deg, rgba(193, 232, 195, 0.82), rgba(255, 255, 255, 0.9) 56%, rgba(97, 206, 112, 0.14));
    border-bottom: 1px solid rgba(34, 142, 115, 0.16);
}

.sfw-region-section--info,
.sfw-region-section--areas,
.sfw-region-section--reviews {
    background: #f6fbf7;
}

.sfw-region-section--why {
    background: #fff;
}

.sfw-region-section--faq {
    background: #fff8ed;
}

.sfw-region-section--cta {
    background: #f7f9fc;
}

.sfw-region-page h1,
.sfw-region-page h2,
.sfw-region-page p,
.sfw-region-page ul,
.sfw-region-page ol {
    letter-spacing: 0;
}

.sfw-region-page h1 {
    max-width: 980px;
    font-size: clamp(34px, 4.4vw, 58px);
    line-height: 1.05;
}

.sfw-region-page h2 {
    max-width: 1120px;
    font-size: clamp(24px, 2vw, 32px);
}

.sfw-region-section > p,
.sfw-region-section > ul,
.sfw-region-section > ol {
    max-width: 1120px;
}

.sfw-region-section--info > ol,
.sfw-region-section--info > ul,
.sfw-region-section--info > p,
.sfw-region-faq-item,
.sfw-region-btn,
.sfw-region-page h3 {
    border-radius: 8px;
    box-shadow: none;
}

.sfw-region-section--info > ol,
.sfw-region-section--info > ul,
.sfw-region-section--info > p,
.sfw-region-faq-list,
.sfw-region-actions {
    max-width: 1404px;
}

.sfw-region-section--info > p:has(a:only-child) {
    max-width: 1404px;
}

.sfw-region-figure {
    max-width: 980px;
}

.sfw-region-figure img {
    border-radius: 8px;
    box-shadow: none;
}

@media (max-width: 900px) {
    .sfw-region-section {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 28px 18px;
    }

    .sfw-region-page h1 {
        font-size: clamp(32px, 9vw, 42px);
    }
}
