/*
|--------------------------------------------------------------------------
| SVG Live – Öffentliche Seiten vereinheitlichen
| Version 1.0.0
|--------------------------------------------------------------------------
| Nur gemeinsame Geometrie/Rhythmus. Seitenindividuelle Farben, Inhalte
| und Komponenten bleiben in den bestehenden Styles erhalten.
*/

.public-page {
    --public-page-max-width: 1180px;
    --public-page-inline-space: clamp(1rem, 3vw, 2rem);
    --public-page-hero-space: clamp(3.75rem, 7vw, 6.5rem);
    --public-page-section-space: clamp(3.25rem, 6vw, 5.5rem);
    --public-page-content-gap: clamp(1.25rem, 2vw, 2rem);
}

.public-page .services-container,
.public-page.legal-page .legal-page__container {
    width: min(
        calc(100% - (2 * var(--public-page-inline-space))),
        var(--public-page-max-width)
    );
    margin-inline: auto;
}

.public-page__hero,
.public-page .services-hero,
.public-page .advantages-hero,
.public-page .solutions-hero {
    padding-block: var(--public-page-hero-space);
}

.public-page__section {
    padding-block: var(--public-page-section-space);
}

.public-page .services-section__header,
.public-page .legal-page__header {
    width: 100%;
    max-width: 860px;
    margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

.public-page .services-section__header > :first-child,
.public-page .legal-page__header > :first-child {
    margin-top: 0;
}

.public-page .services-section__header > :last-child,
.public-page .legal-page__header > :last-child {
    margin-bottom: 0;
}

.public-page .services-hero__content,
.public-page .advantages-hero__content,
.public-page .solutions-hero__content {
    width: 100%;
    max-width: 860px;
}

.public-page .services-eyebrow,
.public-page .legal-page__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    margin-bottom: .75rem;
}

.public-page .services-page__back,
.public-page .legal-page__footer {
    margin-top: clamp(2rem, 4vw, 3.5rem);
    padding-top: 1.25rem;
}

.public-page--legal {
    padding-block: var(--public-page-hero-space);
}

.public-page--legal .legal-page__container {
    display: block;
}

.public-page--legal .legal-page__content {
    display: grid;
    gap: var(--public-page-content-gap);
}

.public-page--legal .legal-page__content > section,
.public-page--legal .legal-card__section {
    margin: 0;
}

.public-page--imprint .legal-card__header {
    max-width: 860px;
}

.public-page--imprint .legal-card__grid {
    gap: var(--public-page-content-gap);
}

.public-page--imprint .legal-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
}

@media (max-width: 720px) {
    .public-page {
        --public-page-inline-space: 1rem;
        --public-page-hero-space: 3rem;
        --public-page-section-space: 2.75rem;
    }

    .public-page--imprint .legal-card__footer {
        align-items: stretch;
        flex-direction: column;
    }
}
