/* SME Marketplace - public pages (Über uns / Team / Kontakt / Pricing) */
.public-page-wrap,
body:not(.app-shell) main > section.public-page-wrap,
body:not(.app-shell) main > section.container.py-5 {
    background:
        radial-gradient(circle at top left, rgba(25,135,84,.12), transparent 34%),
        radial-gradient(circle at 85% 10%, rgba(13,110,253,.10), transparent 30%),
        linear-gradient(180deg, #f7faf8 0%, #ffffff 58%, #f3f7f5 100%);
    min-height: calc(100vh - 160px);
}

.public-hero,
.landing-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(246,253,249,.90)),
        radial-gradient(circle at 80% 20%, rgba(25,135,84,.18), transparent 35%);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
}

.public-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 1.5rem;
    align-items: stretch;
    padding: clamp(1.5rem, 4vw, 3rem);
}

.public-hero h1,
.public-simple-hero h1,
.landing-hero h1 {
    color: #10231a;
    letter-spacing: -.045em;
    font-weight: 850;
    line-height: 1.03;
}

.public-hero h1 { font-size: clamp(2.2rem, 5vw, 4.6rem); max-width: 940px; }
.public-simple-hero h1 { font-size: clamp(2rem, 4vw, 3.7rem); }
.public-hero p,
.public-simple-hero p,
.landing-hero .lead {
    color: #647067 !important;
    font-size: 1.08rem;
    line-height: 1.75;
}

.public-hero-card {
    border-radius: 28px;
    padding: 1.5rem;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(17,70,45,.96), rgba(31,137,85,.94)),
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.26), transparent 32%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 22px 55px rgba(25,135,84,.25);
}
.public-hero-card i { font-size: 3.5rem; margin-bottom: auto; opacity: .92; }
.public-hero-card strong { font-size: 1.45rem; line-height: 1.1; margin-bottom: .4rem; }
.public-hero-card span { opacity: .86; line-height: 1.55; }

.pill {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border: 1px solid rgba(25,135,84,.18);
    border-radius: 999px;
    padding: .45rem .78rem;
    background: rgba(25,135,84,.09);
    color: #157347;
    font-weight: 750;
    font-size: .84rem;
}

.btn-brand {
    --bs-btn-color: #fff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #157347;
    box-shadow: 0 12px 26px rgba(25,135,84,.22);
}

.public-feature-card,
.team-card,
.pricing-card,
.content-card,
.contact-info-card {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 26px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

.public-feature-card,
.team-card,
.pricing-card { padding: 1.35rem; }
.public-feature-card i {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    color: #198754;
    background: rgba(25,135,84,.10);
    margin-bottom: 1rem;
}
.public-feature-card h3,
.team-card h3 { font-size: 1.08rem; font-weight: 820; color: #17231c; }
.public-feature-card p,
.team-card p { color: #66756d; margin-bottom: 0; line-height: 1.62; }

.public-text-card h2 { font-weight: 850; letter-spacing: -.025em; color: #14231a; }
.public-text-card p { color: #5f6d65; line-height: 1.75; }
.public-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}
.public-stat-grid > div {
    border-radius: 22px;
    padding: 1.1rem;
    background: linear-gradient(135deg, rgba(25,135,84,.09), rgba(13,110,253,.05));
    border: 1px solid rgba(25,135,84,.12);
}
.public-stat-grid strong { display: block; font-size: 1.35rem; color: #173d2a; }
.public-stat-grid span { color: #65746c; font-size: .92rem; }

.public-simple-hero {
    border-radius: 30px;
    padding: clamp(1.35rem, 3vw, 2.5rem);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(15,23,42,.06);
}

.team-card { text-align: center; transition: transform .18s ease, box-shadow .18s ease; }
.team-card:hover { transform: translateY(-3px); box-shadow: 0 24px 55px rgba(15,23,42,.09); }
.team-avatar {
    width: 86px;
    height: 86px;
    border-radius: 30px;
    display: grid;
    place-items: center;
    margin: 0 auto 1rem;
    background: linear-gradient(135deg, rgba(25,135,84,.14), rgba(13,110,253,.10));
    color: #198754;
    font-size: 2rem;
}

.contact-info-card { padding: 1rem; }
.contact-info-card > div {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .95rem;
    border-radius: 18px;
    color: #24352b;
}
.contact-info-card > div + div { border-top: 1px solid rgba(15,23,42,.06); }
.contact-info-card i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: #198754;
    background: rgba(25,135,84,.10);
}
.public-contact-form .form-label { font-weight: 750; color: #24352b; }
.soft-input {
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,.10);
    background: #f8fbf9;
    padding: .78rem 1rem;
}
.soft-input:focus {
    border-color: rgba(25,135,84,.45);
    box-shadow: 0 0 0 .22rem rgba(25,135,84,.11);
    background: #fff;
}

.pricing-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    transition: transform .18s ease, box-shadow .18s ease;
}
.pricing-card:hover { transform: translateY(-4px); box-shadow: 0 28px 65px rgba(15,23,42,.10); }
.pricing-card.featured {
    border-color: rgba(25,135,84,.32);
    background: linear-gradient(180deg, #ffffff, #f2fbf6);
    box-shadow: 0 30px 70px rgba(25,135,84,.16);
}
.pricing-card .display-6 { color: #173d2a; letter-spacing: -.04em; }

@media (max-width: 991.98px) {
    .public-hero { grid-template-columns: 1fr; }
    .public-hero-card { min-height: 220px; }
}
