:root {
    --dark: #171a1d;
    --dark-soft: #202428;
    --dark-light: #2c3136;

    --background: #f1f2f2;
    --surface: #ffffff;

    --text: #171a1d;
    --muted: #667078;

    --orange: #f28c18;
    --orange-hover: #ff9f31;

    --line: #d8dbdd;

    --max-width: 1380px;
}


/* =========================================================
   RESET
   ========================================================= */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    background: var(--background);
    color: var(--text);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    line-height: 1.6;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    position: sticky;
    z-index: 100;
    top: 0;

    background: rgba(23, 26, 29, .98);

    border-bottom: 1px solid rgba(255,255,255,.08);
}

.header-inner {
    width: min(
        calc(100% - 48px),
        var(--max-width)
    );

    min-height: 86px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.brand {
    display: flex;
    align-items: center;

    gap: 13px;

    color: #fff;
}

.brand-mark {
    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    background: var(--orange);

    color: var(--dark);

    font-size: 23px;
    font-weight: 950;
}

.brand-text {
    display: flex;
    flex-direction: column;

    line-height: 1;
}

.brand-text strong {
    font-size: 17px;
}

.brand-text small {
    margin-top: 5px;

    color: #9ba3a9;

    font-size: 13px;
}

.main-nav {
    display: flex;
    align-items: center;

    gap: 22px;
}

.main-nav a {
    position: relative;

    color: #e7e9ea;

    font-size: 13px;
    font-weight: 750;
}

.main-nav a:hover {
    color: var(--orange);
}

.nav-soon span {
    position: absolute;

    top: -17px;
    right: -7px;

    color: var(--orange);

    font-size: 8px;
    font-weight: 900;

    text-transform: uppercase;
}

.nav-toggle {
    display: none;

    padding: 8px;

    border: 0;

    background: transparent;

    color: #fff;

    font-size: 27px;

    cursor: pointer;
}


/* =========================================================
   COMMON
   ========================================================= */

.section {
    width: min(
        calc(100% - 48px),
        var(--max-width)
    );

    margin: 0 auto;

    padding: 105px 0;
}

.eyebrow,
.section-title small,
.future-copy small {
    color: var(--orange);

    font-size: 12px;
    font-weight: 900;

    letter-spacing: .16em;
}

.button {
    min-height: 52px;

    padding: 0 24px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 13px;
    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: .04em;
}

.button-primary {
    background: var(--orange);

    color: var(--dark);
}

.button-primary:hover {
    background: var(--orange-hover);
}

.button-outline {
    border: 1px solid rgba(255,255,255,.25);

    color: #fff;
}

.button-outline:hover {
    border-color: var(--orange);

    color: var(--orange);
}

.badge {
    width: fit-content;

    padding: 7px 11px;

    display: inline-flex;

    background: var(--orange);

    color: var(--dark);

    font-size: 10px;
    font-weight: 950;

    letter-spacing: .08em;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {
    position: relative;

    min-height: 720px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            #121416 0%,
            #171a1d 65%,
            #202428 100%
        );

    color: #fff;
}

.blueprint-grid {
    position: absolute;
    inset: 0;

    opacity: .08;

    background-image:
        linear-gradient(
            rgba(255,255,255,.3) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.3) 1px,
            transparent 1px
        );

    background-size: 65px 65px;
}

.hero::after {
    content: "";

    position: absolute;

    width: 700px;
    height: 700px;

    right: -230px;
    bottom: -320px;

    border: 120px solid rgba(242, 140, 24, .08);

    transform: rotate(26deg);
}

.hero-inner {
    position: relative;
    z-index: 2;

    width: min(
        calc(100% - 48px),
        var(--max-width)
    );

    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;

    align-items: end;

    gap: 90px;
}

.hero-content h1 {
    max-width: 900px;

    margin: 18px 0 0;

    font-size: clamp(
        64px,
        8vw,
        116px
    );

    font-weight: 950;

    line-height: .87;

    letter-spacing: -.065em;
}

.hero-content h1 span {
    display: block;

    color: var(--orange);
}

.hero-content > p {
    max-width: 700px;

    margin: 35px 0 0;

    color: #c7cdd1;

    font-size: 21px;
}

.hero-buttons {
    margin-top: 36px;

    display: flex;
    flex-wrap: wrap;

    gap: 14px;
}

.hero-info {
    padding: 32px;

    border-left: 5px solid var(--orange);

    background: rgba(255,255,255,.055);
}

.block-number {
    color: var(--orange);

    font-size: 12px;
    font-weight: 900;
}

.hero-info h2 {
    margin: 18px 0 0;

    font-size: 25px;

    line-height: 1.12;
}

.hero-info p {
    margin: 17px 0 0;

    color: #adb5bb;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.section-title {
    margin-bottom: 58px;

    display: flex;

    gap: 24px;
}

.section-title > span {
    padding-top: 7px;

    color: var(--orange);

    font-size: 12px;
    font-weight: 900;
}

.section-title h2 {
    margin: 8px 0 0;

    font-size: clamp(
        40px,
        5vw,
        68px
    );

    line-height: .96;

    letter-spacing: -.045em;
}


/* =========================================================
   INTRO
   ========================================================= */

.intro-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;

    gap: 100px;
}

.intro-highlight {
    max-width: 650px;

    font-size: clamp(
        50px,
        6vw,
        84px
    );

    font-weight: 950;

    line-height: .9;

    letter-spacing: -.055em;
}

.intro-text p {
    color: var(--muted);

    font-size: 18px;
}

.text-link {
    display: inline-block;

    margin-top: 15px;

    color: #c76d04;

    font-weight: 900;
}


/* =========================================================
   SERVICES
   ========================================================= */

.dark-section {
    width: 100%;

    background: var(--dark);

    color: #fff;
}

.dark-inner {
    width: min(
        calc(100% - 48px),
        var(--max-width)
    );
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top:
        1px solid rgba(255,255,255,.13);
}

.service-card {
    min-height: 290px;

    padding: 30px;

    display: flex;
    flex-direction: column;

    border-right:
        1px solid rgba(255,255,255,.13);

    transition:
        background .15s ease,
        color .15s ease;
}

.service-card:first-child {
    border-left:
        1px solid rgba(255,255,255,.13);
}

.service-card:hover {
    background: var(--orange);

    color: var(--dark);
}

.service-card > span {
    color: var(--orange);

    font-size: 12px;
    font-weight: 900;
}

.service-card:hover > span {
    color: var(--dark);
}

.service-card h3 {
    margin: auto 0 12px;

    font-size: 25px;
}

.service-card p {
    margin: 0;

    opacity: .68;
}


/* =========================================================
   FUTURE
   ========================================================= */

.future-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: 80px;
}

.future-copy h2 {
    margin: 12px 0 0;

    font-size: clamp(
        44px,
        5vw,
        72px
    );

    line-height: .94;

    letter-spacing: -.05em;
}

.future-copy p {
    max-width: 450px;

    color: var(--muted);

    font-size: 18px;
}

.future-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 18px;
}

.future-card {
    min-height: 330px;

    padding: 34px;

    display: flex;
    flex-direction: column;

    background: var(--dark);

    color: #fff;
}

.future-card:hover {
    background: var(--dark-soft);
}

.future-card h3 {
    margin: 55px 0 14px;

    font-size: 34px;
}

.future-card p {
    margin: 0;

    color: #adb5bb;
}

.future-card strong {
    margin-top: auto;

    color: var(--orange);

    font-size: 13px;
}


/* =========================================================
   PAGE HERO
   ========================================================= */

.page-hero {
    padding:
        125px
        max(
            24px,
            calc(
                (100vw - var(--max-width))
                / 2
            )
        );

    background: var(--dark);

    color: #fff;
}

.page-hero h1 {
    max-width: 1000px;

    margin: 18px 0 0;

    font-size: clamp(
        56px,
        7vw,
        102px
    );

    line-height: .9;

    letter-spacing: -.06em;
}

.page-hero > p {
    max-width: 720px;

    margin: 32px 0 0;

    color: #b8c0c5;

    font-size: 20px;
}

.page-hero-small h1 {
    font-size: clamp(
        50px,
        6vw,
        82px
    );
}

.coming-page .badge {
    margin-bottom: 20px;
}


/* =========================================================
   CONTENT
   ========================================================= */

.simple-content {
    max-width: 850px;
}

.simple-content h2 {
    margin-top: 0;

    font-size: 48px;

    line-height: 1;

    letter-spacing: -.04em;
}

.simple-content p {
    color: var(--muted);

    font-size: 18px;
}

.public-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.public-card {
    min-height: 260px;

    padding: 35px;

    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.public-card > span {
    color: var(--orange);

    font-size: 12px;
    font-weight: 900;
}

.public-card h2 {
    margin: 60px 0 10px;

    font-size: 30px;
}

.public-card p {
    margin: 0;

    color: var(--muted);
}

.notice {
    margin-top: 40px;

    padding: 20px 24px;

    border-left: 5px solid var(--orange);

    background: #fff;

    color: var(--muted);
}

.feature-box {
    padding: 55px;

    display: grid;
    grid-template-columns: .8fr 1.2fr;

    gap: 80px;

    background: #fff;
}

.feature-box h2 {
    margin: 25px 0 0;

    font-size: 48px;

    line-height: 1;

    letter-spacing: -.04em;
}

.feature-box p {
    color: var(--muted);

    font-size: 18px;
}

.three-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.three-grid article {
    min-height: 210px;

    padding: 35px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-right: 1px solid var(--line);
}

.three-grid article:last-child {
    border-right: 0;
}

.three-grid strong {
    font-size: 23px;
}

.three-grid span {
    margin-top: 10px;

    color: var(--muted);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 80px;
}

.contact-grid h2 {
    margin-top: 0;

    font-size: 48px;

    letter-spacing: -.04em;
}

.contact-grid p {
    color: var(--muted);

    font-size: 18px;
}

.contact-box {
    padding: 40px;

    display: flex;
    flex-direction: column;

    border-left: 5px solid var(--orange);

    background: #fff;
}

.contact-box small {
    color: var(--muted);

    font-weight: 800;
}

.contact-box strong {
    margin: 20px 0 6px;

    font-size: 26px;
}

.contact-box span {
    color: var(--muted);
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    background: #111315;

    color: #fff;
}

.footer-inner {
    width: min(
        calc(100% - 48px),
        var(--max-width)
    );

    margin: 0 auto;

    padding: 58px 0;

    display: flex;
    justify-content: space-between;

    gap: 40px;
}

.footer-brand strong {
    font-size: 22px;
}

.footer-brand p {
    color: #8d959b;
}

.footer-inner nav {
    display: flex;
    flex-wrap: wrap;

    gap: 24px;

    color: #b7bec3;

    font-size: 13px;
}

.footer-inner nav a:hover {
    color: var(--orange);
}

.footer-bottom {
    padding: 20px;

    border-top:
        1px solid rgba(255,255,255,.08);

    color: #737b81;

    font-size: 12px;

    text-align: center;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1150px) {

    .main-nav {
        position: absolute;

        top: 86px;
        right: 0;
        left: 0;

        padding: 28px;

        display: none;
        flex-direction: column;
        align-items: stretch;

        background: var(--dark);

        border-top:
            1px solid rgba(255,255,255,.08);
    }

    .main-nav.open {
        display: flex;
    }

    .nav-toggle {
        display: block;
    }

    .nav-soon span {
        position: static;

        margin-left: 8px;
    }

    .hero-inner {
        grid-template-columns: 1fr;

        gap: 55px;
    }

    .hero-info {
        max-width: 620px;
    }

    .service-grid {
        grid-template-columns: 1fr 1fr;
    }

    .three-grid {
        grid-template-columns: 1fr;
    }

    .three-grid article {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
}


@media (max-width: 760px) {

    .header-inner,
    .hero-inner,
    .section,
    .footer-inner {
        width: min(
            calc(100% - 30px),
            var(--max-width)
        );
    }

    .hero {
        min-height: auto;

        padding: 100px 0;
    }

    .hero-content h1 {
        font-size: clamp(
            56px,
            18vw,
            82px
        );
    }

    .hero-content > p {
        font-size: 18px;
    }

    .section {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .intro-grid,
    .future-section,
    .feature-box,
    .contact-grid {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .service-grid,
    .future-grid,
    .public-grid {
        grid-template-columns: 1fr;
    }

    .service-card:first-child {
        border-left: 0;
    }

    .service-card {
        min-height: 230px;

        border-right: 0;
        border-bottom:
            1px solid rgba(255,255,255,.13);
    }

    .feature-box {
        padding: 30px;
    }

    .footer-inner {
        flex-direction: column;
    }
}


/* =========================================================
   PHASE 2.2 – ÖFFENTLICHES FIRMENNETZWERK
   ========================================================= */

.network-hero {
    background:
        linear-gradient(
            110deg,
            #131517 0%,
            #1a1d20 70%,
            #202428 100%
        );
}

.network-section {
    padding-top: 85px;
}

.network-intro {
    margin-bottom: 45px;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
}

.network-intro h2 {
    margin: 5px 0 0;
    font-size: clamp(40px, 5vw, 66px);
    line-height: .95;
    letter-spacing: -.05em;
}

.network-intro p {
    margin: 0;
    align-self: end;
    color: var(--muted);
    font-size: 18px;
}

.network-index {
    color: var(--orange);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
}

.network-filter {
    padding: 26px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr auto;
    gap: 14px;
    background: #fff;
    border: 1px solid var(--line);
}

.network-filter label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.network-filter label > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.network-filter input,
.network-filter select {
    width: 100%;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid var(--line);
    outline: 0;
    background: #f7f8f8;
    color: var(--text);
    font: inherit;
}

.network-filter input:focus,
.network-filter select:focus {
    border-color: var(--orange);
    background: #fff;
}

.network-filter-actions {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.network-reset {
    padding-bottom: 14px;
    white-space: nowrap;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.network-reset:hover {
    color: var(--orange);
}

.network-result-head {
    margin: 42px 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: var(--muted);
    font-size: 13px;
}

.network-result-head > div span {
    color: var(--text);
    font-size: 25px;
    font-weight: 950;
}

.company-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.company-card {
    min-width: 0;
    background: #fff;
    border-top: 5px solid #858b90;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-left: 1px solid var(--line);
}

.company-card.recommended {
    border-top-color: #23894a;
}

.company-card.not-recommended {
    border-top-color: #b43e36;
}

.company-card-main {
    min-height: 480px;
    display: flex;
    flex-direction: column;
}

.company-card-top {
    padding: 24px 24px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.company-logo {
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--dark);
    color: var(--orange);
    font-size: 34px;
    font-weight: 950;
}

.company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.company-recommendation {
    padding: 7px 9px;
    background: #eceeef;
    color: #596066;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.company-recommendation.recommended {
    background: #e7f5eb;
    color: #18743b;
}

.company-recommendation.not-recommended {
    background: #fae9e7;
    color: #a7322c;
}

.company-card-body {
    padding: 28px 24px;
}

.company-featured {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--orange);
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .08em;
}

.company-card h2 {
    margin: 0;
    font-size: 29px;
    line-height: 1.03;
    letter-spacing: -.035em;
}

.company-location {
    margin-top: 10px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.company-card-body p {
    margin: 20px 0 0;
    color: var(--muted);
}

.company-tags {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.company-tags span {
    padding: 6px 8px;
    background: #eef0f1;
    color: #555d63;
    font-size: 10px;
    font-weight: 850;
}

.company-card-footer {
    margin-top: auto;
    padding: 20px 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid var(--line);
}

.company-score strong {
    font-size: 32px;
    line-height: 1;
}

.company-score span {
    color: var(--muted);
    font-size: 11px;
}

.company-more {
    color: #bd6805;
    font-size: 12px;
    font-weight: 900;
}

.company-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(15,18,20,.09);
}

.network-empty {
    padding: 75px 35px;
    background: #fff;
    border: 1px solid var(--line);
    text-align: center;
}

.network-empty > span {
    color: var(--orange);
    font-size: 12px;
    font-weight: 950;
}

.network-empty h2 {
    margin: 12px 0;
    font-size: 38px;
}

.network-empty p {
    color: var(--muted);
}

.company-detail-hero {
    background: var(--dark);
    color: #fff;
}

.company-detail-hero-inner {
    width: min(calc(100% - 48px), var(--max-width));
    margin: 0 auto;
    padding: 100px 0;
    display: grid;
    grid-template-columns: 170px 1fr 220px;
    gap: 55px;
    align-items: center;
}

.company-detail-logo {
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    color: var(--orange);
    font-size: 72px;
    font-weight: 950;
}

.company-detail-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.company-back {
    display: inline-block;
    margin-bottom: 20px;
    color: #9da5aa;
    font-size: 12px;
    font-weight: 800;
}

.company-back:hover {
    color: var(--orange);
}

.company-detail-title h1 {
    margin: 18px 0 0;
    font-size: clamp(52px, 6vw, 92px);
    line-height: .9;
    letter-spacing: -.06em;
}

.company-detail-title > p {
    max-width: 760px;
    margin: 25px 0 0;
    color: #bcc3c8;
    font-size: 19px;
}

.company-detail-title .company-recommendation {
    width: fit-content;
}

.company-detail-title .company-featured {
    margin: 12px 0 0;
    display: block;
}

.company-detail-score {
    min-height: 190px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 5px solid var(--orange);
    background: rgba(255,255,255,.05);
}

.company-detail-score small {
    color: #9ca4aa;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .1em;
}

.company-detail-score strong {
    margin-top: 12px;
    color: var(--orange);
    font-size: 68px;
    line-height: .9;
}

.company-detail-score span {
    margin-top: 8px;
    color: #aab1b6;
    font-size: 12px;
}

.company-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 60px;
    align-items: start;
}

.company-detail-tags {
    margin-top: 0;
    margin-bottom: 40px;
}

.company-content-block {
    padding: 50px 0;
    border-top: 1px solid var(--line);
}

.company-content-block h2 {
    margin: 10px 0 30px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
    letter-spacing: -.04em;
}

.company-longtext {
    max-width: 850px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.8;
}

.company-rating-list {
    display: grid;
    border-top: 1px solid var(--line);
}

.company-rating-row {
    padding: 18px 0;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: center;
    border-bottom: 1px solid var(--line);
}

.company-rating-row > span {
    font-weight: 800;
}

.company-rating-scale {
    display: grid;
    grid-template-columns: 1fr 48px;
    gap: 18px;
    align-items: center;
}

.company-rating-scale > div {
    height: 8px;
    overflow: hidden;
    background: #dfe2e3;
}

.company-rating-scale > div span {
    height: 100%;
    display: block;
    background: var(--orange);
}

.company-rating-scale strong {
    text-align: right;
}

.company-feedback-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.company-feedback {
    padding: 30px;
    background: #fff;
    border-left: 5px solid #858b90;
}

.company-feedback.positive {
    border-left-color: #23894a;
}

.company-feedback.negative {
    border-left-color: #b43e36;
}

.company-feedback strong {
    font-size: 20px;
}

.company-feedback p {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.75;
}

.company-contact-card {
    position: sticky;
    top: 110px;
    padding: 32px;
    background: #fff;
    border-top: 5px solid var(--orange);
}

.company-contact-card h2 {
    margin: 10px 0 30px;
    font-size: 32px;
    line-height: 1;
}

.company-contact-item {
    padding: 18px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-top: 1px solid var(--line);
}

.company-contact-item small {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.company-contact-item strong,
.company-contact-item a {
    font-size: 14px;
}

.company-contact-item a {
    color: #b96200;
    font-weight: 800;
    word-break: break-word;
}

.company-website-button {
    width: 100%;
    margin-top: 25px;
}

@media (max-width: 1150px) {
    .network-filter {
        grid-template-columns: 1fr 1fr;
    }

    .company-grid {
        grid-template-columns: 1fr 1fr;
    }

    .company-detail-hero-inner {
        grid-template-columns: 130px 1fr;
    }

    .company-detail-logo {
        width: 130px;
        height: 130px;
    }

    .company-detail-score {
        grid-column: 1 / -1;
        min-height: auto;
    }

    .company-detail-grid {
        grid-template-columns: 1fr;
    }

    .company-contact-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .network-intro,
    .network-filter,
    .company-grid,
    .company-feedback-grid {
        grid-template-columns: 1fr;
    }

    .network-intro {
        gap: 25px;
    }

    .network-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .network-filter-actions .button {
        width: 100%;
    }

    .network-reset {
        padding: 5px 0;
        text-align: center;
    }

    .network-result-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .company-detail-hero-inner {
        width: min(calc(100% - 30px), var(--max-width));
        padding: 70px 0;
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .company-detail-logo {
        width: 110px;
        height: 110px;
    }

    .company-detail-title h1 {
        font-size: 54px;
    }

    .company-detail-score {
        grid-column: auto;
    }

    .company-rating-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


/* =========================================================
   NAV ADMINCENTER
   ========================================================= */

.main-nav .nav-admin {
    padding: 9px 13px;

    border-left: 3px solid var(--orange);

    background: rgba(242, 140, 24, .08);

    color: var(--orange);
}

.main-nav .nav-admin:hover {
    background: var(--orange);

    color: var(--dark);
}


/* ==========================================================
   PHASE 3.2A – ÖFFENTLICHER LERNBEREICH
   ========================================================== */

.learning-hero > p {
    max-width: 760px;
}

.learning-empty-section,
.learning-start-section,
.learning-question-section,
.learning-result-section {
    max-width: 1180px;
    margin: 0 auto;
}

.learning-empty {
    padding: 48px;
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .06),
            rgba(255, 255, 255, .025)
        );
    border: 1px solid rgba(255,255,255,.09);
}

.learning-empty h2 {
    margin:
        20px
        0
        14px;
    font-size:
        clamp(1.8rem, 4vw, 3rem);
}

.learning-empty p {
    max-width: 780px;
    line-height: 1.75;
}

.learning-empty-note {
    opacity: .68;
}

.learning-message-section {
    max-width: 1180px;
    margin: 0 auto;
}

.learning-message {
    padding: 16px 20px;
    border-radius: 12px;
}

.learning-message-error {
    background: rgba(190, 40, 40, .14);
    border: 1px solid rgba(255, 90, 90, .25);
}

.learning-category-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(280px, 1fr)
        );
    gap: 22px;
}

.learning-category-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    min-height: 330px;
    padding: 28px;
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        );
    border: 1px solid rgba(255,255,255,.08);
}

.learning-category-card h3 {
    margin: 12px 0;
    font-size: 1.5rem;
}

.learning-category-card p {
    line-height: 1.65;
    opacity: .76;
}

.learning-category-count {
    display: inline-flex;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .68;
}

.learning-category-card form {
    display: grid;
    gap: 16px;
}

.learning-category-card label {
    display: grid;
    gap: 8px;
    font-size: .9rem;
    font-weight: 700;
}

.learning-category-card select {
    width: 100%;
    padding: 13px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.28);
    color: inherit;
}

.learning-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.learning-progress-head span {
    opacity: .7;
}

.learning-progress {
    height: 8px;
    overflow: hidden;
    margin-bottom: 28px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
}

.learning-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #d39a39;
}

.learning-question-card {
    padding: clamp(24px, 5vw, 48px);
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        );
    border: 1px solid rgba(255,255,255,.09);
}

.learning-question-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.learning-question-meta span {
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.learning-question-card h2 {
    max-width: 900px;
    margin: 0 0 28px;
    font-size:
        clamp(1.45rem, 3vw, 2.25rem);
    line-height: 1.35;
}

.learning-question-hint {
    margin: -14px 0 24px;
    opacity: .65;
}

.learning-options {
    display: grid;
    gap: 12px;
}

.learning-option {
    display: grid;
    grid-template-columns:
        44px 1fr;
    align-items: center;
    gap: 14px;
    padding: 16px;
    cursor: pointer;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.025);
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.learning-option:hover {
    border-color: rgba(211,154,57,.45);
    background: rgba(211,154,57,.06);
    transform: translateY(-1px);
}

.learning-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.learning-option-letter {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    font-weight: 800;
}

.learning-option:has(input:checked) {
    border-color: rgba(211,154,57,.75);
    background: rgba(211,154,57,.1);
}

.learning-option:has(input:checked)
.learning-option-letter {
    background: #d39a39;
    color: #101010;
}

.learning-option-text {
    line-height: 1.5;
}

.learning-question-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
}

.learning-result-summary {
    margin-bottom: 32px;
    padding: 34px;
    border-radius: 22px;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        );
    border: 1px solid rgba(255,255,255,.09);
}

.learning-result-summary h2 {
    margin: 10px 0;
    font-size:
        clamp(3rem, 8vw, 6rem);
}

.learning-result-numbers {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 28px;
}

.learning-result-numbers div {
    display: grid;
    gap: 4px;
}

.learning-result-numbers strong {
    font-size: 1.8rem;
}

.learning-result-numbers span {
    opacity: .65;
    font-size: .85rem;
}

.learning-result-list {
    display: grid;
    gap: 18px;
}

.learning-result-card {
    padding: 26px;
    border-radius: 18px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
}

.learning-result-card.is-correct {
    border-left: 4px solid #66c56c;
}

.learning-result-card.is-wrong {
    border-left: 4px solid #d95d5d;
}

.learning-result-card-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.learning-result-card.is-correct
.learning-result-card-head strong {
    color: #75d67b;
}

.learning-result-card.is-wrong
.learning-result-card-head strong {
    color: #ee7777;
}

.learning-result-card h3 {
    margin: 0 0 20px;
    line-height: 1.5;
}

.learning-answer-review {
    display: grid;
    gap: 8px;
}

.learning-review-option {
    display: grid;
    grid-template-columns:
        34px 1fr;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.025);
}

.learning-review-option.correct-option {
    background: rgba(60,170,80,.12);
}

.learning-review-option.given-option:not(
    .correct-option
) {
    background: rgba(200,65,65,.12);
}

.learning-explanation {
    margin-top: 20px;
    padding: 18px;
    border-radius: 12px;
    background: rgba(211,154,57,.07);
}

.learning-explanation p {
    margin: 8px 0 0;
    line-height: 1.65;
}

.learning-reset-form {
    margin-top: 30px;
    text-align: center;
}


@media (max-width: 700px) {

    .learning-empty,
    .learning-question-card,
    .learning-result-summary {
        padding: 22px;
    }

    .learning-progress-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .learning-result-numbers {
        gap: 24px;
        flex-direction: column;
    }

    .learning-option {
        grid-template-columns:
            38px 1fr;
        padding: 13px;
    }

    .learning-option-letter {
        width: 36px;
        height: 36px;
    }

}


/* ==========================================================
   PHASE 3.2B – LEARNING BUILDER
   ========================================================== */

.learning-builder {
    display: grid;
    gap: 22px;
}

.learning-builder-section {
    padding: 28px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.02)
        );
}

.learning-builder-heading {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    margin-bottom: 22px;
}

.learning-builder-heading > span {
    display: grid;
    place-items: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    border-radius: 11px;

    background: #d39a39;
    color: #101010;

    font-size: .82rem;
    font-weight: 900;
}

.learning-builder-heading h3 {
    margin: 0 0 5px;

    font-size: 1.3rem;
}

.learning-builder-heading p {
    margin: 0;

    opacity: .65;
}

.learning-category-select-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(220px, 1fr)
        );

    gap: 12px;
}

.learning-category-select {
    position: relative;

    cursor: pointer;
}

.learning-category-select input {
    position: absolute;

    opacity: 0;
    pointer-events: none;
}

.learning-category-select > span {
    display: grid;

    gap: 5px;

    min-height: 88px;

    padding: 17px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;

    background: rgba(255,255,255,.025);

    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.learning-category-select:hover > span {
    border-color: rgba(211,154,57,.42);

    transform: translateY(-1px);
}

.learning-category-select input:checked + span {
    border-color: rgba(211,154,57,.8);

    background: rgba(211,154,57,.10);
}

.learning-category-select strong {
    font-size: 1rem;
}

.learning-category-select small {
    opacity: .62;
}

.learning-difficulty-select {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.learning-difficulty-select label {
    position: relative;

    cursor: pointer;
}

.learning-difficulty-select input {
    position: absolute;

    opacity: 0;
    pointer-events: none;
}

.learning-difficulty-select span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 110px;
    min-height: 44px;

    padding: 0 16px;

    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;

    background: rgba(255,255,255,.025);

    font-weight: 800;
}

.learning-difficulty-select input:checked + span {
    border-color: rgba(211,154,57,.8);

    box-shadow:
        0 0 0 2px rgba(211,154,57,.12);
}

.learning-difficulty-select .level-light {
    color: #82d98b;
}

.learning-difficulty-select .level-medium {
    color: #e5b84d;
}

.learning-difficulty-select .level-hard {
    color: #eb7474;
}

.learning-count-field {
    display: grid;

    max-width: 260px;

    gap: 8px;
}

.learning-count-field > span {
    font-size: .88rem;
    font-weight: 800;
}

.learning-count-field select {
    width: 100%;

    padding: 13px 14px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;

    background: rgba(0,0,0,.28);
    color: inherit;
}

.learning-builder-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 4px 0;
}

.learning-builder-submit > span {
    opacity: .65;

    font-size: .9rem;
}

.learning-level-leicht {
    color: #82d98b;
}

.learning-level-mittel {
    color: #e5b84d;
}

.learning-level-schwer {
    color: #eb7474;
}

.learning-result-breakdown {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 18px;

    margin-bottom: 28px;
}

.learning-result-breakdown > article {
    padding: 24px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;

    background: rgba(255,255,255,.03);
}

.learning-result-breakdown h3 {
    margin: 0 0 18px;

    font-size: 1.15rem;
}

.learning-stat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 11px 0;

    border-bottom:
        1px solid rgba(255,255,255,.06);
}

.learning-stat-row:last-child {
    border-bottom: 0;
}

.learning-stat-row > div {
    display: flex;
    align-items: baseline;

    gap: 8px;
}

.learning-stat-row small {
    opacity: .55;
}

.learning-stat-leicht strong {
    color: #82d98b;
}

.learning-stat-mittel strong {
    color: #e5b84d;
}

.learning-stat-schwer strong {
    color: #eb7474;
}


@media (max-width: 760px) {

    .learning-result-breakdown {
        grid-template-columns: 1fr;
    }

    .learning-builder-section {
        padding: 20px;
    }

    .learning-builder-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .learning-builder-submit .button {
        width: 100%;
    }

    .learning-difficulty-select {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .learning-difficulty-select label,
    .learning-difficulty-select span {
        width: 100%;
    }

}


/* ==========================================================
   PHASE 3.2C – FRAGEN-NAVIGATION
   ========================================================== */

.learning-question-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-top: 32px;
}

.learning-question-actions-left,
.learning-question-actions-right {
    display: flex;
    align-items: center;

    gap: 12px;
}

.learning-question-actions-left:empty {
    min-width: 1px;
}

.learning-abort-button {
    padding: 10px 4px;

    border: 0;

    background: transparent;

    color: rgba(255,255,255,.52);

    cursor: pointer;

    font: inherit;
    font-size: .84rem;
    font-weight: 700;

    transition:
        color .18s ease;
}

.learning-abort-button:hover {
    color: #ee7777;
}


/*
 * Gespeicherte Auswahl bekommt bei
 * Reload / Zurück automatisch wieder
 * den vorhandenen :checked-Zustand.
 */
.learning-option:has(input:checked) {
    border-color: rgba(211,154,57,.82);

    background:
        rgba(211,154,57,.11);
}

.learning-option:has(input:checked)
.learning-option-letter {
    background: #d39a39;

    color: #101010;
}


@media (max-width: 760px) {

    .learning-question-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .learning-question-actions-left,
    .learning-question-actions-right {
        width: 100%;
    }

    .learning-question-actions-right {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .learning-question-actions-left .button,
    .learning-question-actions-right .button {
        width: 100%;
    }

    .learning-abort-button {
        width: 100%;

        padding: 12px;
    }

}


/* ==========================================================
   PHASE 3.2D – FRAGEN-NAVIGATOR
   ========================================================== */

.learning-question-navigator-wrap {
    margin:
        0
        0
        24px;

    padding: 18px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;

    background: rgba(255,255,255,.025);
}

.learning-question-navigator-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 14px;
}

.learning-question-navigator-head span {
    font-weight: 800;
}

.learning-question-navigator-head strong {
    opacity: .65;

    font-size: .82rem;
}

.learning-question-navigator {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.learning-nav-number {
    display: inline-grid;
    place-items: center;

    width: 38px;
    height: 38px;

    padding: 0;

    border:
        1px solid rgba(255,255,255,.11);

    border-radius: 9px;

    background:
        rgba(255,255,255,.03);

    color: inherit;

    cursor: pointer;

    font: inherit;
    font-size: .82rem;
    font-weight: 900;

    transition:
        background .16s ease,
        border-color .16s ease,
        color .16s ease,
        transform .16s ease;
}

.learning-nav-number:hover {
    transform: translateY(-1px);

    border-color:
        rgba(211,154,57,.55);
}


/*
 * Offen
 */
.learning-nav-number.is-open {
    background:
        rgba(255,255,255,.035);

    color:
        rgba(255,255,255,.68);
}


/*
 * Beantwortet
 */
.learning-nav-number.is-answered {
    border-color:
        rgba(95,190,105,.4);

    background:
        rgba(95,190,105,.14);

    color: #86dd8e;
}


/*
 * Aktuelle Frage gewinnt immer
 * gegen beantwortet/offen.
 */
.learning-nav-number.is-current {
    border-color: #d39a39;

    background: #d39a39;

    color: #101010;

    box-shadow:
        0 0 0 3px
        rgba(211,154,57,.13);
}

.learning-question-jump-targets,
.learning-hidden-jump {
    display: none !important;
}


@media (max-width: 700px) {

    .learning-question-navigator-head {
        align-items: flex-start;
        flex-direction: column;

        gap: 5px;
    }

    .learning-question-navigator {
        gap: 6px;
    }

    .learning-nav-number {
        width: 34px;
        height: 34px;

        border-radius: 8px;

        font-size: .76rem;
    }

}


/* =========================================================
   PHASE 4.2A – PUBLIC ACCOUNT
   ========================================================= */

.account-hero,
.account-dashboard {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.account-hero {
    display: flex;
    justify-content: center;
    padding: 72px 0 100px;
}

.account-card {
    width: min(100%, 560px);
    padding: 34px;

    background:
        rgba(255,255,255,.92);

    box-shadow:
        0 22px 70px rgba(15,23,42,.10);
}

.account-kicker {
    margin-bottom: 8px;

    color: #b8860b;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: .16em;
}

.account-card h1,
.account-dashboard h1 {
    margin: 0 0 12px;
}

.account-card > p,
.account-dashboard-head p {
    color: #64748b;
    line-height: 1.7;
}

.account-form {
    display: grid;
    gap: 18px;

    margin-top: 28px;
}

.account-form label:not(.account-checkbox) {
    display: grid;
    gap: 7px;
}

.account-form label > span {
    font-size: 13px;
    font-weight: 800;
}

.account-form input[type="text"],
.account-form input[type="email"],
.account-form input[type="password"] {
    width: 100%;
    min-height: 48px;

    padding: 0 14px;

    border: 1px solid #dbe2ea;
    border-radius: 0;

    background: #fff;
    color: #0f172a;

    font: inherit;
}

.account-form input:focus {
    outline: 2px solid rgba(184,134,11,.22);
    border-color: #b8860b;
}

.account-password-note {
    margin-top: -8px;

    color: #64748b;

    font-size: 12px;
    line-height: 1.6;
}

.account-checkbox {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 10px;

    align-items: start;

    font-size: 12px;
    line-height: 1.6;
}

.account-checkbox input {
    margin-top: 3px;
}

.account-checkbox a,
.account-switch a,
.account-card-link {
    color: #8b6914;
    font-weight: 800;
}

.account-primary-button,
.account-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 20px;

    border: 0;

    text-decoration: none;

    font: inherit;
    font-weight: 900;

    cursor: pointer;
}

.account-primary-button {
    background: #b8860b;
    color: #fff;
}

.account-secondary-button {
    background: #0f172a;
    color: #fff;
}

.account-switch {
    margin-top: 24px;

    text-align: center;

    color: #64748b;
    font-size: 13px;
}

.account-alert {
    margin: 22px 0;
    padding: 14px 16px;

    font-size: 13px;
    font-weight: 700;
}

.account-alert-error {
    background: #fee2e2;
    color: #991b1b;
}

.account-alert-success {
    background: #dcfce7;
    color: #166534;
}

.account-dashboard {
    padding: 72px 0 100px;
}

.account-dashboard-head {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: flex-start;

    margin-bottom: 32px;
}

.account-dashboard-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;
}

.account-dashboard-card {
    position: relative;

    min-height: 230px;

    padding: 28px;

    background: rgba(255,255,255,.92);

    box-shadow:
        0 18px 55px rgba(15,23,42,.08);
}

.account-card-number {
    display: block;

    margin-bottom: 22px;

    color: #b8860b;

    font-size: 11px;
    font-weight: 900;

    letter-spacing: .14em;
}

.account-dashboard-card h2 {
    margin: 0 0 12px;
}

.account-dashboard-card p {
    color: #64748b;
    line-height: 1.65;
}

.account-dashboard-card dl {
    margin: 0;
}

.account-dashboard-card dl > div {
    padding: 11px 0;

    border-bottom:
        1px solid #e2e8f0;
}

.account-dashboard-card dt {
    color: #64748b;

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
}

.account-dashboard-card dd {
    margin: 4px 0 0;

    font-weight: 800;
}

.account-coming {
    display: inline-flex;

    margin-top: 12px;
    padding: 5px 9px;

    background: #f1f5f9;
    color: #64748b;

    font-size: 10px;
    font-weight: 900;

    text-transform: uppercase;
}

.nav-account {
    font-weight: 800;
}


@media (max-width: 760px) {

    .account-hero,
    .account-dashboard {
        width:
            min(
                100% - 20px,
                1180px
            );
    }

    .account-hero,
    .account-dashboard {
        padding-top: 36px;
        padding-bottom: 60px;
    }

    .account-card {
        padding: 24px 20px;
    }

    .account-dashboard-head {
        display: grid;
    }

    .account-dashboard-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   SEMINARE – HERO
   ========================================================== */

.seminar-hero {
    text-align: center;
}

.seminar-hero .eyebrow {
    margin-left: auto;
    margin-right: auto;
}

.seminar-hero h1 {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    white-space: nowrap;
    font-size: clamp(
        3rem,
        6vw,
        7rem
    );
    line-height: .98;
}

.seminar-hero h1 span {
    color: #ff9200;
}

.seminar-hero > p {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


/* ==========================================================
   KONTAKTFORMULAR
   ========================================================== */

.contact-form-wrap {
    width: min(
        900px,
        100%
    );
    margin: 0 auto;
}

.contact-form {
    position: relative;
    display: grid;
    gap: 22px;

    padding: 34px;

    background:
        rgba(
            18,
            24,
            31,
            .86
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .10
        );
}

.contact-form-grid {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 20px;
}

.contact-form label {
    display: grid;
    gap: 9px;
}

.contact-form label > span {
    color: #f4f4f4;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    box-sizing: border-box;

    padding: 15px 16px;

    color: #fff;
    background: #090e14;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .14
        );

    border-radius: 4px;

    font: inherit;

    outline: none;

    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.contact-form textarea {
    resize: vertical;
    min-height: 190px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #ff9200;

    box-shadow:
        0 0 0 3px
        rgba(
            255,
            146,
            0,
            .12
        );
}

.contact-form-privacy {
    color: #9ca6b1;
    font-size: .88rem;
    line-height: 1.6;
}

.contact-form-privacy a {
    color: #ff9200;
    font-weight: 700;
    text-decoration: none;
}

.contact-form-privacy a:hover {
    text-decoration: underline;
}

.contact-submit {
    min-height: 54px;

    padding: 14px 24px;

    border: 0;
    border-radius: 3px;

    background: #ff9200;
    color: #101317;

    font: inherit;
    font-weight: 900;

    cursor: pointer;

    transition:
        transform .15s ease,
        filter .15s ease;
}

.contact-submit:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.contact-honeypot {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.account-alert-success {
    margin-bottom: 20px;
}

.account-alert-success span {
    display: block;
    margin-top: 5px;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 900px) {

    .seminar-hero h1 {
        font-size: clamp(
            2.6rem,
            9vw,
            5rem
        );
    }

    .contact-form-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 680px) {

    /*
     * Auf kleinen Smartphones darf die Überschrift
     * umbrechen, bevor sie aus dem Bildschirm fliegt.
     */
    .seminar-hero h1 {
        white-space: normal;
    }

    .contact-form {
        padding: 22px 18px;
    }

}


/* ==========================================================
   KONTAKT – PREMIUM DARK SECTION
   ========================================================== */

.contact-form-section {
    position: relative;

    margin: 0;
    padding:
        clamp(70px, 8vw, 120px)
        clamp(24px, 6vw, 90px);

    background-color: #11161b;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:
        72px 72px;

    overflow: hidden;
}


/*
 * Dezenter orangefarbener Licht-/Bauakzent.
 * Kein riesiger orangener Zirkus.
 */

.contact-form-section::before {
    content: "";

    position: absolute;

    top: -180px;
    right: 7%;

    width: 320px;
    height: 700px;

    background:
        linear-gradient(
            180deg,
            rgba(255,146,0,.10),
            rgba(255,146,0,0)
        );

    transform: rotate(28deg);

    pointer-events: none;
}


/* ----------------------------------------------------------
   FORMULAR-CONTAINER
   ---------------------------------------------------------- */

.contact-form-section .contact-form-wrap {
    position: relative;
    z-index: 1;

    width: min(
        1040px,
        100%
    );

    margin:
        0 auto;
}


/*
 * Vorher wirkte das Formular wie eine massive graue Box.
 * Jetzt fügt es sich in die Seite ein.
 */

.contact-form-section .contact-form {
    position: relative;

    display: grid;
    gap: 24px;

    padding:
        clamp(28px, 4vw, 46px);

    background:
        linear-gradient(
            135deg,
            rgba(28,34,40,.94),
            rgba(16,21,26,.94)
        );

    border: 0;

    border-left:
        5px solid #ff9200;

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.20);
}


/* dezente obere Linie */

.contact-form-section .contact-form::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,146,0,.65),
            rgba(255,255,255,.10),
            transparent
        );
}


/* ----------------------------------------------------------
   LABELS
   ---------------------------------------------------------- */

.contact-form-section
.contact-form label > span {
    color: #f3f5f7;

    font-size: .78rem;
    font-weight: 800;

    letter-spacing: .075em;
}


/* ----------------------------------------------------------
   INPUTS
   ---------------------------------------------------------- */

.contact-form-section
.contact-form input,

.contact-form-section
.contact-form textarea {
    background:
        rgba(5,10,15,.88);

    border:
        1px solid
        rgba(255,255,255,.09);

    color: #f7f7f7;

    border-radius: 2px;
}


.contact-form-section
.contact-form input {
    min-height: 56px;
}


.contact-form-section
.contact-form textarea {
    min-height: 220px;
}


.contact-form-section
.contact-form input::placeholder,

.contact-form-section
.contact-form textarea::placeholder {
    color: #88939f;
}


/* Fokus passend zum Orange */

.contact-form-section
.contact-form input:focus,

.contact-form-section
.contact-form textarea:focus {
    border-color:
        rgba(255,146,0,.85);

    box-shadow:
        0 0 0 3px
        rgba(255,146,0,.10);
}


/* ----------------------------------------------------------
   DATENSCHUTZ
   ---------------------------------------------------------- */

.contact-form-section
.contact-form-privacy {
    max-width: 850px;

    color: #8f9aa5;

    font-size: .84rem;
    line-height: 1.65;
}


.contact-form-section
.contact-form-privacy a {
    color: #ff9200;
}


/* ----------------------------------------------------------
   BUTTON
   ---------------------------------------------------------- */

.contact-form-section
.contact-submit {
    justify-self: start;

    min-width: 220px;
    min-height: 54px;

    padding:
        14px 28px;

    background: #ff9200;
    color: #11161b;

    border: 0;
    border-radius: 2px;

    font-weight: 900;

    letter-spacing: .025em;
}


.contact-form-section
.contact-submit:hover {
    filter: brightness(1.08);

    transform:
        translateY(-2px);
}


/* ----------------------------------------------------------
   STATUSMELDUNGEN
   ---------------------------------------------------------- */

.contact-form-section
.account-alert {
    border-radius: 2px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .contact-form-section {
        padding:
            65px 28px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 680px) {

    .contact-form-section {
        padding:
            48px 18px;

        background-size:
            48px 48px;
    }

    .contact-form-section
    .contact-form {
        padding:
            26px 20px;

        border-left-width: 3px;
    }

    .contact-form-section
    .contact-submit {
        width: 100%;
        justify-self: stretch;
    }

}


/* ==========================================================
   BAUÜBERWACHUNG.ONLINE
   GLOBAL PUBLIC DARK DESIGN
   ========================================================== */

.public-site {
    --bb-bg: #11161b;
    --bb-bg-deep: #0b1015;
    --bb-bg-card: #171e25;
    --bb-bg-card-2: #1b232b;

    --bb-line:
        rgba(255,255,255,.08);

    --bb-line-soft:
        rgba(255,255,255,.035);

    --bb-text: #f4f6f8;
    --bb-text-soft: #a8b1bb;

    --bb-orange: #ff9200;
    --bb-orange-soft:
        rgba(255,146,0,.12);

    background: var(--bb-bg);
    color: var(--bb-text);
}


/* ==========================================================
   GESAMTER ÖFFENTLICHER HAUPTBEREICH
   ========================================================== */

.public-site main {
    position: relative;

    min-height: 70vh;

    background-color:
        var(--bb-bg);

    background-image:
        linear-gradient(
            rgba(255,255,255,.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.022) 1px,
            transparent 1px
        );

    background-size:
        72px 72px;

    overflow: hidden;
}


/*
 * Dezenter diagonaler Bau-Akzent.
 * Nicht klickbar, nicht aufdringlich.
 */

.public-site main::before {
    content: "";

    position: fixed;

    top: 120px;
    right: 9%;

    width: 280px;
    height: 760px;

    background:
        linear-gradient(
            180deg,
            rgba(255,146,0,.10),
            rgba(255,146,0,.025),
            transparent
        );

    transform: rotate(27deg);

    pointer-events: none;
    z-index: 0;
}


/* Inhalte immer über Dekoration */

.public-site main > * {
    position: relative;
    z-index: 1;
}


/* ==========================================================
   HERO-BEREICHE
   ========================================================== */

.public-site .page-hero {
    position: relative;

    background:
        linear-gradient(
            180deg,
            rgba(20,25,30,.97),
            rgba(17,22,27,.96)
        );

    color:
        var(--bb-text);

    border-bottom:
        1px solid
        var(--bb-line);
}


.public-site .page-hero-small {
    background:
        linear-gradient(
            180deg,
            rgba(20,25,30,.97),
            rgba(17,22,27,.96)
        );
}


.public-site .page-hero h1 {
    color:
        #ffffff;
}


.public-site .page-hero p {
    color:
        var(--bb-text-soft);
}


.public-site .eyebrow {
    color:
        var(--bb-orange);
}


/* ==========================================================
   NORMALE CONTENT-SECTIONS
   ========================================================== */

.public-site .section {
    position: relative;

    background:
        transparent;

    color:
        var(--bb-text);
}


/*
 * Falls alte Regeln irgendwo noch Weiß erzwingen,
 * hier bewusst nur für PUBLIC überschreiben.
 */

.public-site .section,
.public-site .section:nth-child(odd),
.public-site .section:nth-child(even) {
    background-color:
        transparent;
}


/* ==========================================================
   TEXTE
   ========================================================== */

.public-site .section p,
.public-site .simple-content p,
.public-site .feature-box p,
.public-site .contact-grid p {
    color:
        var(--bb-text-soft);
}


.public-site .section h1,
.public-site .section h2,
.public-site .section h3,
.public-site .simple-content h2,
.public-site .simple-content h3 {
    color:
        #ffffff;
}


.public-site .section a:not(.button):not(.account-primary-button) {
    color:
        var(--bb-orange);
}


/* ==========================================================
   SIMPLE CONTENT
   IMPRESSUM / DATENSCHUTZ / TEXTSEITEN
   ========================================================== */

.public-site .simple-content {
    width:
        min(
            1040px,
            100%
        );

    margin:
        0 auto;

    padding:
        clamp(34px, 5vw, 58px);

    background:
        linear-gradient(
            135deg,
            rgba(26,33,40,.93),
            rgba(15,20,25,.93)
        );

    border:
        1px solid
        var(--bb-line);

    border-left:
        4px solid
        var(--bb-orange);

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.16);
}


.public-site .simple-content h2 {
    margin-top:
        2.2em;

    padding-bottom:
        .45em;

    border-bottom:
        1px solid
        var(--bb-line);
}


.public-site .simple-content h2:first-child {
    margin-top: 0;
}


/* ==========================================================
   FEATURE BOXES
   ========================================================== */

.public-site .feature-box {
    background:
        linear-gradient(
            135deg,
            rgba(27,34,41,.94),
            rgba(17,22,27,.94)
        );

    color:
        var(--bb-text);

    border:
        1px solid
        var(--bb-line);

    border-left:
        4px solid
        var(--bb-orange);

    box-shadow:
        0 20px 55px
        rgba(0,0,0,.14);
}


.public-site .feature-box h2 {
    color:
        #ffffff;
}


.public-site .feature-box .badge {
    color:
        #12161a;

    background:
        var(--bb-orange);
}


/* ==========================================================
   ALLGEMEINE KARTEN / GRIDS
   ========================================================== */

.public-site .card,
.public-site .service-card,
.public-site .network-card,
.public-site .company-card,
.public-site .learning-card,
.public-site .account-card {
    background:
        linear-gradient(
            135deg,
            rgba(27,34,41,.95),
            rgba(16,21,26,.95)
        );

    color:
        var(--bb-text);

    border-color:
        var(--bb-line);

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.14);
}


/* ==========================================================
   FORMULARE GLOBAL
   ========================================================== */

.public-site input,
.public-site textarea,
.public-site select {
    background:
        rgba(5,10,15,.92);

    color:
        #f5f7f8;

    border-color:
        rgba(255,255,255,.10);
}


.public-site input::placeholder,
.public-site textarea::placeholder {
    color:
        #7f8994;
}


.public-site input:focus,
.public-site textarea:focus,
.public-site select:focus {
    border-color:
        var(--bb-orange);

    box-shadow:
        0 0 0 3px
        rgba(255,146,0,.10);
}


/* ==========================================================
   ACCOUNT-BEREICH
   ========================================================== */

.public-site .account-hero {
    background:
        transparent;
}


.public-site .account-card {
    border:
        1px solid
        var(--bb-line);

    border-left:
        4px solid
        var(--bb-orange);
}


.public-site .account-kicker {
    color:
        var(--bb-orange);
}


.public-site .account-switch a {
    color:
        var(--bb-orange);
}


/* ==========================================================
   KONTAKT
   ========================================================== */

.public-site .contact-form-section {
    background-color:
        transparent;

    background-image:
        none;
}


.public-site .contact-form {
    background:
        linear-gradient(
            135deg,
            rgba(27,34,41,.95),
            rgba(15,20,25,.95)
        );
}


/* ==========================================================
   TABELLEN / LISTEN
   ========================================================== */

.public-site table {
    color:
        var(--bb-text);

    background:
        rgba(16,21,26,.86);

    border-color:
        var(--bb-line);
}


.public-site th {
    background:
        rgba(255,146,0,.10);

    color:
        #ffffff;
}


.public-site td {
    border-color:
        var(--bb-line);
}


/* ==========================================================
   TRENNLINIEN
   ========================================================== */

.public-site hr {
    border: 0;

    border-top:
        1px solid
        var(--bb-line);
}


/* ==========================================================
   FOOTER-ÜBERGANG
   ========================================================== */

.public-site footer {
    border-top:
        1px solid
        var(--bb-line);
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {

    .public-site main {
        background-size:
            56px 56px;
    }

    .public-site main::before {
        right: -120px;
        opacity: .7;
    }

    .public-site .simple-content {
        padding:
            32px 26px;
    }

}


@media (max-width: 680px) {

    .public-site main {
        background-size:
            44px 44px;
    }

    .public-site main::before {
        display: none;
    }

    .public-site .simple-content {
        padding:
            26px 20px;

        border-left-width:
            3px;
    }

    .public-site .feature-box,
    .public-site .account-card {
        border-left-width:
            3px;
    }

}


/* ==========================================================
   PUBLIC – ORANGE AKZENTE BEI HOVER ERHALTEN
   ========================================================== */

/*
 * Kleine Abschnitts-/Karten-Nummern
 * wie 01, 02, 03 bleiben dauerhaft orange.
 */

.public-site .number,
.public-site .card-number,
.public-site .feature-number,
.public-site .section-number,
.public-site .service-number,
.public-site .network-number,
.public-site .learning-number,
.public-site [class*="number"] {
    color: #ff9200;
}


/*
 * Auch beim Hover nicht überschreiben.
 */

.public-site .card:hover .number,
.public-site .card:hover .card-number,
.public-site .feature-box:hover .number,
.public-site .feature-box:hover .feature-number,
.public-site .service-card:hover .number,
.public-site .service-card:hover .service-number,
.public-site .network-card:hover .number,
.public-site .network-card:hover .network-number,
.public-site .learning-card:hover .number,
.public-site .learning-card:hover .learning-number,
.public-site [class*="card"]:hover [class*="number"],
.public-site [class*="box"]:hover [class*="number"] {
    color: #ff9200 !important;
}


/*
 * Eyebrows / kleine orange Labels ebenfalls nicht
 * durch allgemeine Hoverfarben verlieren lassen.
 */

.public-site .eyebrow,
.public-site .badge,
.public-site .card-kicker,
.public-site .section-kicker {
    color: #ff9200;
}


/*
 * Orange linke Akzentlinien auf Karten bleiben beim Hover.
 */

.public-site .feature-box,
.public-site .simple-content,
.public-site .account-card,
.public-site .contact-form,
.public-site .service-card,
.public-site .network-card,
.public-site .learning-card {
    border-left-color: #ff9200;
}


.public-site .feature-box:hover,
.public-site .service-card:hover,
.public-site .network-card:hover,
.public-site .learning-card:hover {
    border-left-color: #ff9200;
}


/*
 * Falls einzelne Karten intern kleine <span>-Nummern
 * ohne eigene Klasse verwenden.
 */

.public-site .feature-box > div:first-child > span:first-child,
.public-site .service-card > span:first-child,
.public-site .network-card > span:first-child,
.public-site .learning-card > span:first-child {
    color: #ff9200 !important;
}


/* ==========================================================
   PUBLIC CARD HOVER – FINAL
   ========================================================== */

/*
 * Alle typischen öffentlichen Karten bekommen wieder
 * eine sichtbare, aber seriöse Interaktion.
 */

.public-site .card,
.public-site .service-card,
.public-site .network-card,
.public-site .company-card,
.public-site .learning-card,
.public-site .feature-box {
    position: relative;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/*
 * Echter Hover:
 * leicht nach oben,
 * etwas heller,
 * dezenter Orangeton,
 * keine Disco.
 */

.public-site .card:hover,
.public-site .service-card:hover,
.public-site .network-card:hover,
.public-site .company-card:hover,
.public-site .learning-card:hover,
.public-site .feature-box:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40, 35, 27, .98),
            rgba(20, 24, 28, .98)
        );

    border-color:
        rgba(255,146,0,.48);

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28);
}


/* ==========================================================
   LINKS ALS KARTE
   ========================================================== */

.public-site a.card,
.public-site a.service-card,
.public-site a.network-card,
.public-site a.company-card,
.public-site a.learning-card {
    text-decoration: none;
}


/* ==========================================================
   ORANGE KLEINTEILE
   ========================================================== */

.public-site .card .badge,
.public-site .service-card .badge,
.public-site .network-card .badge,
.public-site .company-card .badge,
.public-site .learning-card .badge,
.public-site .feature-box .badge {
    transition:
        background .22s ease,
        color .22s ease,
        transform .22s ease;
}


.public-site .card:hover .badge,
.public-site .service-card:hover .badge,
.public-site .network-card:hover .badge,
.public-site .company-card:hover .badge,
.public-site .learning-card:hover .badge,
.public-site .feature-box:hover .badge {
    background:
        #ff9200;

    color:
        #11161b !important;

    transform:
        translateY(-1px);
}


/*
 * Kleine Nummern 01 / 02 / 03 usw.
 */

.public-site .number,
.public-site .card-number,
.public-site .feature-number,
.public-site .service-number,
.public-site .network-number,
.public-site .learning-number,
.public-site [class*="number"] {
    color:
        #ff9200 !important;

    transition:
        color .22s ease,
        transform .22s ease;
}


.public-site .card:hover .number,
.public-site .card:hover .card-number,
.public-site .service-card:hover .service-number,
.public-site .network-card:hover .network-number,
.public-site .learning-card:hover .learning-number,
.public-site .feature-box:hover .feature-number,
.public-site [class*="card"]:hover [class*="number"],
.public-site [class*="box"]:hover [class*="number"] {
    color:
        #ff9200 !important;

    transform:
        translateX(3px);
}


/* ==========================================================
   ÜBERSCHRIFTEN
   ========================================================== */

.public-site .card h2,
.public-site .card h3,
.public-site .service-card h2,
.public-site .service-card h3,
.public-site .network-card h2,
.public-site .network-card h3,
.public-site .company-card h2,
.public-site .company-card h3,
.public-site .learning-card h2,
.public-site .learning-card h3,
.public-site .feature-box h2,
.public-site .feature-box h3 {
    transition:
        color .22s ease;
}


.public-site .card:hover h2,
.public-site .card:hover h3,
.public-site .service-card:hover h2,
.public-site .service-card:hover h3,
.public-site .network-card:hover h2,
.public-site .network-card:hover h3,
.public-site .company-card:hover h2,
.public-site .company-card:hover h3,
.public-site .learning-card:hover h2,
.public-site .learning-card:hover h3,
.public-site .feature-box:hover h2,
.public-site .feature-box:hover h3 {
    color:
        #ffffff;
}


/* ==========================================================
   MEHR-ERFAHREN / CARD LINKS
   ========================================================== */

.public-site .card a,
.public-site .service-card a,
.public-site .network-card a,
.public-site .company-card a,
.public-site .learning-card a,
.public-site .feature-box a {
    transition:
        color .22s ease,
        transform .22s ease;
}


.public-site .card:hover a,
.public-site .service-card:hover a,
.public-site .network-card:hover a,
.public-site .company-card:hover a,
.public-site .learning-card:hover a,
.public-site .feature-box:hover a {
    color:
        #ff9200;

    transform:
        translateX(3px);
}


/* ==========================================================
   FALLBACK FÜR KARTEN OHNE KLARE CARD-KLASSE
   ========================================================== */

/*
 * Viele der älteren öffentlichen Boxen hängen direkt
 * in Grid-Strukturen. Die bekommen ebenfalls Hover,
 * aber nur wenn sie tatsächlich wie eine Karte aufgebaut sind.
 */

.public-site .section-grid > a,
.public-site .section-grid > article,
.public-site .section-grid > div,
.public-site .card-grid > a,
.public-site .card-grid > article,
.public-site .card-grid > div {
    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.public-site .section-grid > a:hover,
.public-site .section-grid > article:hover,
.public-site .section-grid > div:hover,
.public-site .card-grid > a:hover,
.public-site .card-grid > article:hover,
.public-site .card-grid > div:hover {
    transform:
        translateY(-5px);

    border-color:
        rgba(255,146,0,.45);

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.26);
}


/* ==========================================================
   TOUCH / MOBILE
   ========================================================== */

@media (hover: none) {

    .public-site .card:hover,
    .public-site .service-card:hover,
    .public-site .network-card:hover,
    .public-site .company-card:hover,
    .public-site .learning-card:hover,
    .public-site .feature-box:hover {
        transform: none;
    }

}


/* ==========================================================
   KOMMT BALD – SERIÖSES TEXTLABEL
   ========================================================== */

.public-site .card .badge,
.public-site .service-card .badge,
.public-site .network-card .badge,
.public-site .company-card .badge,
.public-site .learning-card .badge,
.public-site .feature-box .badge {
    display: inline-block;

    padding: 0;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    color: #ff9200 !important;

    font-size: .78rem;
    font-weight: 900;

    line-height: 1.2;

    letter-spacing: .07em;
    text-transform: uppercase;

    transform: none !important;
}


/* Auch beim Hover bleibt es ein oranges Textlabel */

.public-site .card:hover .badge,
.public-site .service-card:hover .badge,
.public-site .network-card:hover .badge,
.public-site .company-card:hover .badge,
.public-site .learning-card:hover .badge,
.public-site .feature-box:hover .badge {
    background: transparent !important;

    color: #ff9200 !important;

    transform: none !important;
}


/* ==========================================================
   FUTURE-CARDS = SERVICE-CARD HOVER
   ========================================================== */

.public-site .future-card {
    position: relative;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;

    text-decoration: none;
}


/*
 * Exakt derselbe Hover-Look wie bei .service-card
 */

.public-site .future-card:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40, 35, 27, .98),
            rgba(20, 24, 28, .98)
        );

    border-color:
        rgba(255,146,0,.48);

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28);
}


/* Überschrift bleibt weiß */

.public-site .future-card h3 {
    transition:
        color .22s ease;
}

.public-site .future-card:hover h3 {
    color:
        #ffffff;
}


/* Beschreibung bleibt ruhig/grau */

.public-site .future-card p {
    color:
        var(--bb-text-soft);
}


/* Mehr erfahren bleibt orange und bewegt sich leicht */

.public-site .future-card strong {
    color:
        #ff9200;

    transition:
        color .22s ease,
        transform .22s ease;
}

.public-site .future-card:hover strong {
    color:
        #ff9200;

    transform:
        translateX(3px);
}


/* KOMMT BALD = nur orange Schrift, kein Kasten */

.public-site .future-card .badge {
    display: inline-block;

    padding: 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .78rem;

    font-weight:
        900;

    line-height:
        1.2;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;

    transform:
        none !important;

    transition:
        color .22s ease;
}


.public-site .future-card:hover .badge {
    background:
        transparent !important;

    color:
        #ff9200 !important;

    transform:
        none !important;
}


/* Touchgeräte nicht künstlich hochspringen lassen */

@media (hover: none) {

    .public-site .future-card:hover {
        transform:
            none;
    }

}


/* ==========================================================
   FIRMENNETZWERK – CLEAN DARK DESIGN
   Weißflächen / Badge-Kästen / harte Linien entfernen
   ========================================================== */


/* ----------------------------------------------------------
   FILTERBEREICH
   ---------------------------------------------------------- */

.public-site .network-filter,
.public-site .network-filters,
.public-site .company-filter,
.public-site .company-filters,
.public-site .filter-box,
.public-site .filter-bar,
.public-site .filters {
    background:
        rgba(20, 25, 30, .88) !important;

    color:
        #ffffff !important;

    border:
        0 !important;

    border-left:
        3px solid #ff9200 !important;

    box-shadow:
        none !important;
}


/* Labels über den Feldern */

.public-site .network-filter label,
.public-site .network-filters label,
.public-site .company-filter label,
.public-site .company-filters label,
.public-site .filter-box label,
.public-site .filter-bar label,
.public-site .filters label {
    color:
        #c6cdd4 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/* Eingabefelder und Selects */

.public-site .network-filter input,
.public-site .network-filter select,
.public-site .network-filters input,
.public-site .network-filters select,
.public-site .company-filter input,
.public-site .company-filter select,
.public-site .company-filters input,
.public-site .company-filters select,
.public-site .filter-box input,
.public-site .filter-box select,
.public-site .filter-bar input,
.public-site .filter-bar select,
.public-site .filters input,
.public-site .filters select {
    background:
        #0b1015 !important;

    color:
        #ffffff !important;

    border:
        1px solid rgba(255,255,255,.08) !important;

    box-shadow:
        none !important;
}


/* Placeholder */

.public-site .network-filter input::placeholder,
.public-site .network-filters input::placeholder,
.public-site .company-filter input::placeholder,
.public-site .company-filters input::placeholder,
.public-site .filter-box input::placeholder,
.public-site .filter-bar input::placeholder,
.public-site .filters input::placeholder {
    color:
        #89939e !important;

    opacity:
        1;
}


/* Select-Optionen */

.public-site select option {
    background:
        #11171d;

    color:
        #ffffff;
}


/* Filterbutton */

.public-site .network-filter button,
.public-site .network-filters button,
.public-site .company-filter button,
.public-site .company-filters button,
.public-site .filter-box button,
.public-site .filter-bar button,
.public-site .filters button {
    background:
        #ff9200 !important;

    color:
        #101418 !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    font-weight:
        900;
}

.public-site .network-filter button:hover,
.public-site .network-filters button:hover,
.public-site .company-filter button:hover,
.public-site .company-filters button:hover,
.public-site .filter-box button:hover,
.public-site .filter-bar button:hover,
.public-site .filters button:hover {
    background:
        #ffaa2b !important;

    color:
        #101418 !important;
}


/* ----------------------------------------------------------
   ERGEBNIS-INFORMATIONEN
   ---------------------------------------------------------- */

.public-site .network-results-count,
.public-site .network-result-count,
.public-site .results-count,
.public-site .company-count,
.public-site .result-count {
    color:
        #9ca6af !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/* ----------------------------------------------------------
   FIRMENKARTEN
   ---------------------------------------------------------- */

.public-site .network-card,
.public-site .company-card {
    background:
        rgba(20, 25, 30, .92) !important;

    border:
        1px solid rgba(255,255,255,.07) !important;

    box-shadow:
        none !important;
}


/* Titel */

.public-site .network-card h2,
.public-site .network-card h3,
.public-site .company-card h2,
.public-site .company-card h3 {
    color:
        #ffffff !important;
}


/* Normaler Text */

.public-site .network-card p,
.public-site .company-card p {
    color:
        #aeb7c0 !important;
}


/* ----------------------------------------------------------
   BADGES – KEINE WEISSEN/GRAUEN KÄSTEN MEHR
   ---------------------------------------------------------- */

.public-site .network-card .badge,
.public-site .company-card .badge,
.public-site .network-card [class*="badge"],
.public-site .company-card [class*="badge"],
.public-site .network-card [class*="tag"],
.public-site .company-card [class*="tag"] {
    display:
        inline-block;

    padding:
        0 !important;

    margin:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #aeb7c0 !important;

    font-weight:
        700;

    line-height:
        1.4;
}


/* EMPFOHLEN als dezenter orangefarbener Akzent */

.public-site .network-card .recommended,
.public-site .company-card .recommended,
.public-site .network-card .is-recommended,
.public-site .company-card .is-recommended,
.public-site .network-card [class*="recommend"],
.public-site .company-card [class*="recommend"] {
    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   HARTE WEISSE TRENNLINIEN AUS DEN KARTEN ENTFERNEN
   ---------------------------------------------------------- */

.public-site .network-card hr,
.public-site .company-card hr {
    border:
        0 !important;

    border-top:
        1px solid rgba(255,255,255,.07) !important;
}


/*
 * Footer-/Bewertungsbereich innerhalb der Firmenkarte.
 * Keine helle Linie mehr.
 */

.public-site .network-card-footer,
.public-site .company-card-footer,
.public-site .network-card__footer,
.public-site .company-card__footer {
    border-color:
        rgba(255,255,255,.07) !important;

    background:
        transparent !important;
}


/* ----------------------------------------------------------
   BEWERTUNG + PROFIL-LINK
   ---------------------------------------------------------- */

.public-site .network-card .rating,
.public-site .company-card .rating,
.public-site .network-card [class*="rating"],
.public-site .company-card [class*="rating"] {
    color:
        #ff9200 !important;
}


.public-site .network-card a,
.public-site .company-card a {
    color:
        #ff9200;

    text-decoration:
        none;
}


.public-site .network-card a:hover,
.public-site .company-card a:hover {
    color:
        #ffad33;
}


/* ----------------------------------------------------------
   HOVER – GLEICHER SERIÖSER ORANGE-HOVER
   ---------------------------------------------------------- */

.public-site .network-card,
.public-site .company-card {
    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.public-site .network-card:hover,
.public-site .company-card:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40, 35, 27, .98),
            rgba(20, 24, 28, .98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    box-shadow:
        0 22px 55px rgba(0,0,0,.28) !important;
}


/* ----------------------------------------------------------
   GENERISCHE HELLE HINTERGRÜNDE INNERHALB DER FILTERZONE
   ENTSCHÄRFEN
   ---------------------------------------------------------- */

.public-site .network-filter *,
.public-site .network-filters *,
.public-site .company-filter *,
.public-site .company-filters *,
.public-site .filter-box *,
.public-site .filter-bar *,
.public-site .filters * {
    box-shadow:
        none;
}


/* Mobile */

@media (max-width: 800px) {

    .public-site .network-filter,
    .public-site .network-filters,
    .public-site .company-filter,
    .public-site .company-filters,
    .public-site .filter-box,
    .public-site .filter-bar,
    .public-site .filters {
        border-left:
            2px solid #ff9200 !important;
    }

}


/* ==========================================================
   LEISTUNGEN + LERNBEREICH – CLEAN DARK
   ========================================================== */


/* ----------------------------------------------------------
   "IN VORBEREITUNG" / KOMMT-BALD BADGES
   nur noch orange Schrift
   ---------------------------------------------------------- */

.public-site .coming-page .badge,
.public-site .feature-box .badge {
    display: inline-block;

    padding: 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .78rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    line-height:
        1.2;

    text-transform:
        uppercase;
}


/* Beim Hover ebenfalls kein Kasten */

.public-site .coming-page:hover .badge,
.public-site .feature-box:hover .badge {
    background:
        transparent !important;

    color:
        #ff9200 !important;

    transform:
        none !important;
}


/* ----------------------------------------------------------
   LERNBEREICH / FEATURE BOX
   ---------------------------------------------------------- */

.public-site .feature-box {
    background:
        rgba(22, 28, 34, .86) !important;

    border:
        1px solid rgba(255,255,255,.07) !important;

    border-left:
        3px solid #ff9200 !important;

    box-shadow:
        none !important;
}


/* ----------------------------------------------------------
   LEISTUNGS-CARDS
   harte weiße Linien entschärfen
   ---------------------------------------------------------- */

.public-site .service-grid {
    border-color:
        rgba(255,255,255,.10) !important;
}


.public-site .service-card {
    border-color:
        rgba(255,255,255,.10) !important;
}


/*
 * Falls die Trennung über Border-Top/Left/Right
 * aufgebaut ist, ebenfalls abdunkeln.
 */

.public-site .service-grid > *,
.public-site .service-card {
    border-color:
        rgba(255,255,255,.10) !important;
}


/* Nummern bleiben klar orange */

.public-site .service-card > span:first-child {
    color:
        #ff9200 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/* ----------------------------------------------------------
   WEISSER HINWEISBALKEN AUF LEISTUNGEN WEG
   ---------------------------------------------------------- */

/*
 * Alte Hinweis-/Notice-/Info-Kästen:
 * dunkle Fläche, keine weiße Box.
 */

.public-site .notice,
.public-site .info-box,
.public-site .service-note,
.public-site .services-note,
.public-site .page-note {
    background:
        transparent !important;

    color:
        #9fa9b3 !important;

    border:
        0 !important;

    border-left:
        3px solid #ff9200 !important;

    box-shadow:
        none !important;

    padding:
        14px 0 14px 22px !important;
}


/*
 * Falls der Hinweis aktuell als generischer heller Block
 * direkt unter dem Leistungsgitter steckt.
 */

.public-site .service-grid + div,
.public-site .service-grid + p {
    background:
        transparent !important;

    color:
        #9fa9b3 !important;

    border:
        0 !important;

    border-left:
        3px solid #ff9200 !important;

    box-shadow:
        none !important;
}


/* ----------------------------------------------------------
   TEXTE
   ---------------------------------------------------------- */

.public-site .service-card h3 {
    color:
        #ffffff !important;
}


.public-site .service-card p,
.public-site .feature-box p {
    color:
        #aab3bc !important;
}


/* ----------------------------------------------------------
   SERVICE HOVER BLEIBT ERHALTEN
   ---------------------------------------------------------- */

.public-site .service-card:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.45) !important;

    box-shadow:
        0 22px 55px rgba(0,0,0,.28) !important;
}


/* Mobile */

@media (max-width: 700px) {

    .public-site .notice,
    .public-site .info-box,
    .public-site .service-note,
    .public-site .services-note,
    .public-site .page-note,
    .public-site .service-grid + div,
    .public-site .service-grid + p {
        padding-left:
            16px !important;

        border-left-width:
            2px !important;
    }

}


/* ==========================================================
   FIRMENNETZWERK – BADGES FINAL
   ========================================================== */


/* ----------------------------------------------------------
   EMPFOHLEN
   vorhandene Ampelfarbe NICHT überschreiben
   ---------------------------------------------------------- */

.public-site .network-card .recommended,
.public-site .company-card .recommended,
.public-site .network-card .is-recommended,
.public-site .company-card .is-recommended,
.public-site .network-card [class*="recommend"],
.public-site .company-card [class*="recommend"] {
    padding: 0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    /*
     * Ganz wichtig:
     * Keine feste Farbe mehr.
     * Grün / Gelb / Rot aus den bestehenden
     * Ampelklassen darf wieder greifen.
     */
    color:
        inherit;

    font-weight:
        900;

    letter-spacing:
        .045em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   Falls die Ampel über Statusklassen läuft
   ---------------------------------------------------------- */

.public-site .network-card .recommended.green,
.public-site .company-card .recommended.green,
.public-site .network-card .recommend-green,
.public-site .company-card .recommend-green,
.public-site .network-card .status-green,
.public-site .company-card .status-green {
    color:
        #68d391 !important;
}


.public-site .network-card .recommended.yellow,
.public-site .company-card .recommended.yellow,
.public-site .network-card .recommend-yellow,
.public-site .company-card .recommend-yellow,
.public-site .network-card .status-yellow,
.public-site .company-card .status-yellow {
    color:
        #f6c453 !important;
}


.public-site .network-card .recommended.red,
.public-site .company-card .recommended.red,
.public-site .network-card .recommend-red,
.public-site .company-card .recommend-red,
.public-site .network-card .status-red,
.public-site .company-card .status-red {
    color:
        #ef6b73 !important;
}


/* ----------------------------------------------------------
   KATEGORIE – z.B. "Sonstige"
   KEIN WEISSER KASTEN
   ---------------------------------------------------------- */

.public-site .network-card .category,
.public-site .company-card .category,
.public-site .network-card .category-badge,
.public-site .company-card .category-badge,
.public-site .network-card .company-category,
.public-site .company-card .company-category,
.public-site .network-card [class*="category"],
.public-site .company-card [class*="category"] {
    display:
        inline-block;

    padding:
        0 !important;

    margin:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .82rem;

    font-weight:
        800;

    letter-spacing:
        .02em;

    line-height:
        1.4;
}


/* ----------------------------------------------------------
   Generische Badge-Regel darf Kategorie nicht wieder weiß machen
   ---------------------------------------------------------- */

.public-site .network-card .badge:not([class*="recommend"]),
.public-site .company-card .badge:not([class*="recommend"]) {
    padding:
        0 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;
}


/* Hover ändert daran nichts */

.public-site .network-card:hover .category,
.public-site .company-card:hover .category,
.public-site .network-card:hover [class*="category"],
.public-site .company-card:hover [class*="category"] {
    background:
        transparent !important;

    color:
        #ff9200 !important;
}


/* ==========================================================
   BAUÜBERWACHUNG.ONLINE
   PUBLIC CARD CLEANUP – FINAL
   ========================================================== */


/* ==========================================================
   1. KONTAKTFORMULAR WIRKLICH ZENTRIEREN
   ========================================================== */

.public-site .contact-form-section {
    display: block;

    width: 100%;

    padding-left:
        clamp(24px, 7vw, 120px);

    padding-right:
        clamp(24px, 7vw, 120px);
}


.public-site .contact-form-section
.contact-form-wrap {
    width:
        min(
            1040px,
            100%
        ) !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;
}


.public-site .contact-form-section
.contact-form {
    width: 100%;

    margin-left:
        auto !important;

    margin-right:
        auto !important;
}


/* ==========================================================
   2. LEISTUNGEN
   WEISSE TRENNSTRICHE WEG -> CARDS
   ========================================================== */

.public-site .services-page-section
.service-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 24px;

    border: 0 !important;

    background:
        transparent !important;
}


.public-site .services-page-section
.service-card {
    min-height: 250px;

    padding:
        38px 34px;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.96),
            rgba(16,21,26,.96)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.30) !important;

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.14);

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.public-site .services-page-section
.service-card:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    border-left-color:
        #ff9200 !important;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28);
}


.public-site .services-page-section
.service-card > span:first-child {
    color:
        #ff9200 !important;
}


/* Hinweis darunter bleibt nur Text */

.public-site .services-page-section
.service-grid + div,

.public-site .services-page-section
.service-grid + p {
    margin-top:
        28px;

    padding:
        12px 0 12px 20px !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-left:
        3px solid
        #ff9200 !important;

    color:
        #9fa9b3 !important;

    box-shadow:
        none !important;
}


/* ==========================================================
   3. SHOP + SEMINARE
   ALTE WEISSE RASTERLINIEN WEG
   ========================================================== */

/*
 * Diese Seiten besitzen die alten dreispaltigen
 * Coming-Soon-Raster.
 *
 * Direkte Kind-DIVs des unteren Bereichs werden
 * zu richtigen Cards.
 */

.public-site .shop-coming-page .section,
.public-site .seminar-coming-page .section {
    border:
        0 !important;
}


.public-site .shop-coming-page .section > div,
.public-site .seminar-coming-page .section > div {
    border-color:
        transparent !important;
}


/*
 * Drei Feature-Elemente als Karten.
 *
 * nth-child wird hier bewusst benutzt, weil die drei
 * sichtbaren Feature-Blöcke direkte Kinder ihres Grids sind.
 */

.public-site .shop-coming-page
.section > div:last-child,

.public-site .seminar-coming-page
.section > div:last-child {
    border:
        0 !important;
}


/*
 * Alle direkten Artikel-/Div-Elemente innerhalb
 * eines dreispaltigen Grids.
 */

.public-site .shop-coming-page
.section > div > div,

.public-site .seminar-coming-page
.section > div > div {
    border:
        0 !important;
}


/*
 * Breiter Fallback für die tatsächlich sichtbaren
 * drei Boxen, ohne Text oder Hero anzufassen.
 */

.public-site .shop-coming-page
.section h3,

.public-site .seminar-coming-page
.section h3 {
    color:
        #ffffff;
}


/* ==========================================================
   COMING FEATURE GRIDS
   ========================================================== */

.public-site .shop-coming-page
.coming-grid,

.public-site .seminar-coming-page
.coming-grid,

.public-site .shop-coming-page
.feature-grid,

.public-site .seminar-coming-page
.feature-grid,

.public-site .shop-coming-page
.preview-grid,

.public-site .seminar-coming-page
.preview-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 24px;

    border:
        0 !important;

    background:
        transparent !important;
}


/*
 * Die Cards darin.
 */

.public-site .shop-coming-page
.coming-grid > *,

.public-site .seminar-coming-page
.coming-grid > *,

.public-site .shop-coming-page
.feature-grid > *,

.public-site .seminar-coming-page
.feature-grid > *,

.public-site .shop-coming-page
.preview-grid > *,

.public-site .seminar-coming-page
.preview-grid > * {
    min-height:
        180px;

    padding:
        32px 28px;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.95),
            rgba(16,21,26,.95)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.28) !important;

    box-shadow:
        0 15px 40px
        rgba(0,0,0,.13);

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.public-site .shop-coming-page
.coming-grid > *:hover,

.public-site .seminar-coming-page
.coming-grid > *:hover,

.public-site .shop-coming-page
.feature-grid > *:hover,

.public-site .seminar-coming-page
.feature-grid > *:hover,

.public-site .shop-coming-page
.preview-grid > *:hover,

.public-site .seminar-coming-page
.preview-grid > *:hover {
    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    border-left-color:
        #ff9200 !important;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.27);
}


/* ==========================================================
   FALLBACK FÜR DIE ALTEN DREI-SPALTEN-GRIDS
   ========================================================== */

/*
 * Falls die Seite keine der obigen Grid-Klassen verwendet,
 * greifen wir auf den bekannten Coming-Page-Aufbau zurück.
 */

.public-site .coming-page
.section > div:has(> div:nth-child(3)) {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 24px;

    border:
        0 !important;
}


.public-site .coming-page
.section > div:has(> div:nth-child(3))
> div {
    padding:
        32px 28px;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.95),
            rgba(16,21,26,.95)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.28) !important;

    box-shadow:
        0 15px 40px
        rgba(0,0,0,.13);
}


/* ==========================================================
   4. SEMINAR-ÜBERSCHRIFT
   SCHULUNG • WISSEN • PRAXIS = EINE ZEILE
   ========================================================== */

.public-site .seminar-hero {
    text-align:
        center;
}


.public-site .seminar-hero h1 {
    width:
        100% !important;

    max-width:
        none !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

    text-align:
        center !important;

    white-space:
        nowrap !important;

    font-size:
        clamp(
            3.2rem,
            5vw,
            5.8rem
        ) !important;

    line-height:
        .98 !important;
}


.public-site .seminar-hero > p {
    max-width:
        900px;

    margin-left:
        auto;

    margin-right:
        auto;

    text-align:
        center;
}


/* Punkt bleibt Orange */

.public-site .seminar-hero h1 span {
    color:
        #ff9200;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1050px) {

    .public-site .services-page-section
    .service-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .public-site .shop-coming-page
    .coming-grid,

    .public-site .seminar-coming-page
    .coming-grid,

    .public-site .shop-coming-page
    .feature-grid,

    .public-site .seminar-coming-page
    .feature-grid,

    .public-site .shop-coming-page
    .preview-grid,

    .public-site .seminar-coming-page
    .preview-grid {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

    .public-site .services-page-section
    .service-grid {
        grid-template-columns:
            1fr;
    }


    /*
     * Erst auf Handy darf die Seminarüberschrift umbrechen.
     */

    .public-site .seminar-hero h1 {
        white-space:
            normal !important;

        font-size:
            clamp(
                2.7rem,
                11vw,
                4.4rem
            ) !important;
    }

}


/* ==========================================================
   FIRMENNETZWERK – AMPEL + KATEGORIE FINAL
   ========================================================== */


/* ----------------------------------------------------------
   EMPFEHLUNG = AMPELFARBEN
   ---------------------------------------------------------- */

body.public-site .company-recommendation {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}


/* empfohlen = GRÜN */

body.public-site
.company-recommendation.recommended {
    color: #58d97c !important;
}


/* neutral = GELB */

body.public-site
.company-recommendation.neutral {
    color: #f4c84b !important;
}


/* nicht empfohlen = ROT */

body.public-site
.company-recommendation.not-recommended {
    color: #ff6262 !important;
}


/* Hover darf Ampelfarbe nicht überschreiben */

body.public-site
.company-card:hover
.company-recommendation.recommended {
    color: #58d97c !important;
}

body.public-site
.company-card:hover
.company-recommendation.neutral {
    color: #f4c84b !important;
}

body.public-site
.company-card:hover
.company-recommendation.not-recommended {
    color: #ff6262 !important;
}


/* ----------------------------------------------------------
   KATEGORIE – z.B. SONSTIGE
   orange Text, KEIN Kasten
   ---------------------------------------------------------- */

body.public-site
.company-category-label,

body.public-site
.company-card
.company-category-label,

body.public-site
.company-card:hover
.company-category-label {
    display: inline !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #ff9200 !important;

    font-size: .82rem !important;
    font-weight: 800 !important;

    line-height: 1.4 !important;
}


/* ==========================================================
   BAUÜBERWACHUNG.ONLINE
   PUBLIC CARDS – REAL STRUCTURE FINAL
   ========================================================== */


/* ==========================================================
   LEISTUNGEN
   .public-grid > .public-card
   ========================================================== */

body.public-site .services-page-section .public-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 24px !important;

    border: 0 !important;
    background: transparent !important;
}


body.public-site .services-page-section .public-card {
    min-height: 230px !important;

    padding:
        36px 32px !important;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.96),
            rgba(16,21,26,.96)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.30) !important;

    border-radius:
        4px !important;

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.14) !important;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease !important;
}


body.public-site .services-page-section .public-card:hover {
    transform:
        translateY(-5px) !important;

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    border-left-color:
        #ff9200 !important;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28) !important;
}


/* Nummern 01 – 04 */

body.public-site
.services-page-section
.public-card > span:first-child {
    display: block !important;

    margin-bottom:
        18px !important;

    padding: 0 !important;

    color:
        #ff9200 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    font-weight:
        800 !important;

    transition:
        transform .22s ease !important;
}


body.public-site
.services-page-section
.public-card:hover > span:first-child {
    transform:
        translateX(3px) !important;
}


body.public-site
.services-page-section
.public-card h2 {
    margin:
        0 0 14px !important;

    color:
        #ffffff !important;
}


body.public-site
.services-page-section
.public-card p {
    margin:
        0 !important;

    color:
        #aab3bc !important;

    line-height:
        1.7 !important;
}


/* Hinweis unter Leistungen:
   kein weißer Kasten */

body.public-site
.services-page-section
.notice {
    margin-top:
        30px !important;

    padding:
        12px 0 12px 20px !important;

    background:
        transparent !important;

    color:
        #9fa9b3 !important;

    border:
        0 !important;

    border-left:
        3px solid #ff9200 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;
}


/* ==========================================================
   SHOP + SEMINARE
   ECHTE STRUKTUR:
   .three-grid > article
   ========================================================== */

body.public-site .three-grid {
    display:
        grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap:
        24px !important;

    border:
        0 !important;

    background:
        transparent !important;
}


/*
 * ALLE direkten Artikel des three-grid.
 * Damit verschwinden die alten weißen Trennlinien.
 */

body.public-site .three-grid > article {
    min-width:
        0 !important;

    min-height:
        180px !important;

    padding:
        32px 28px !important;

    display:
        flex !important;

    flex-direction:
        column !important;

    justify-content:
        center !important;

    align-items:
        flex-start !important;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.96),
            rgba(16,21,26,.96)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.30) !important;

    border-radius:
        4px !important;

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.14) !important;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease !important;
}


/*
 * EXAKT DERSELBE ORANGE HOVER
 * wie bei den guten öffentlichen Cards.
 */

body.public-site .three-grid > article:hover {
    transform:
        translateY(-5px) !important;

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    border-left-color:
        #ff9200 !important;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28) !important;
}


/* Überschrift */

body.public-site
.three-grid > article > strong {
    display:
        block !important;

    margin-bottom:
        12px !important;

    color:
        #ffffff !important;

    font-size:
        1.15rem !important;

    line-height:
        1.3 !important;

    transition:
        color .22s ease !important;
}


/* Beschreibung */

body.public-site
.three-grid > article > span {
    display:
        block !important;

    color:
        #aab3bc !important;

    line-height:
        1.65 !important;
}


/* ==========================================================
   SEMINAR HERO
   SCHULUNG • WISSEN • PRAXIS
   ========================================================== */

/*
 * Die vorhandene seminar-hero Klasse existiert im PHP
 * derzeit NICHT.
 *
 * Deshalb direkt die Seminarseite über den vorhandenen
 * coming-page Hero behandeln.
 */

body.public-site
.page-hero.coming-page h1 {
    width:
        100% !important;

    max-width:
        none !important;
}


/*
 * Desktop:
 * Überschrift darf nicht unnötig umbrechen.
 */

@media (min-width: 761px) {

    body.public-site
    .page-hero.coming-page h1 {
        white-space:
            nowrap !important;
    }

}


/* Punkte orange */

body.public-site
.page-hero.coming-page h1 span {
    color:
        #ff9200 !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 1050px) {

    body.public-site .three-grid {
        grid-template-columns:
            1fr !important;
    }

}


@media (max-width: 760px) {

    body.public-site
    .services-page-section
    .public-grid {
        grid-template-columns:
            1fr !important;
    }


    body.public-site
    .page-hero.coming-page h1 {
        white-space:
            normal !important;
    }


    body.public-site
    .three-grid > article,
    body.public-site
    .services-page-section
    .public-card {
        min-height:
            auto !important;

        padding:
            28px 24px !important;
    }

}



/* ==========================================================
   FIRMENDETAIL – CLEAN DARK FINAL
   ========================================================== */


/* ----------------------------------------------------------
   HAUPTINHALTSBLÖCKE
   statt weißer Trennlinien -> echte Cards
   ---------------------------------------------------------- */

body.public-site
.company-detail-section
.company-content-block {
    margin:
        0 0 24px !important;

    padding:
        34px 32px !important;

    background:
        linear-gradient(
            135deg,
            rgba(25,31,37,.96),
            rgba(16,21,26,.96)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-left:
        3px solid
        rgba(255,146,0,.30) !important;

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.14) !important;
}


/* Keine alten horizontalen Section-Linien mehr */

body.public-site
.company-detail-section
.company-content-block::before,

body.public-site
.company-detail-section
.company-content-block::after {
    display:
        none !important;
}


body.public-site
.company-detail-section
.company-content-block {
    border-top-color:
        rgba(255,255,255,.07) !important;

    border-bottom-color:
        rgba(255,255,255,.07) !important;
}


/* Nummern 01 / 02 usw. */

body.public-site
.company-detail-section
.network-index {
    color:
        #ff9200 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


/* Überschriften */

body.public-site
.company-detail-section
.company-content-block h2 {
    color:
        #ffffff !important;
}


/* Fließtext */

body.public-site
.company-detail-section
.company-content-block p {
    color:
        #aab3bc !important;
}


/* ----------------------------------------------------------
   KATEGORIE – Sonstige
   ---------------------------------------------------------- */

body.public-site
.bb-company-detail-category,

body.public-site
.bb-company-detail-category:hover {
    display:
        inline !important;

    padding:
        0 !important;

    margin:
        0 !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    border:
        0 !important;

    outline:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-weight:
        800 !important;
}


/* ----------------------------------------------------------
   KONTAKT-CARD RECHTS
   Weiß komplett verbannen
   ---------------------------------------------------------- */

body.public-site
.bb-company-contact-card {
    background:
        linear-gradient(
            135deg,
            rgba(26,32,38,.98),
            rgba(16,21,26,.98)
        ) !important;

    color:
        #ffffff !important;

    border:
        1px solid
        rgba(255,255,255,.07) !important;

    border-top:
        3px solid
        #ff9200 !important;

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.18) !important;
}


/* alles darin standardmäßig lesbar */

body.public-site
.bb-company-contact-card * {
    border-color:
        rgba(255,255,255,.08) !important;
}


/* kleine Labels */

body.public-site
.bb-company-contact-card small,

body.public-site
.bb-company-contact-card label {
    color:
        #8f9aa5 !important;
}


/* Daten */

body.public-site
.bb-company-contact-card p,

body.public-site
.bb-company-contact-card span,

body.public-site
.bb-company-contact-card strong {
    color:
        #e6ebef !important;
}


/* Telefon + Mail dürfen Orange bleiben */

body.public-site
.bb-company-contact-card a {
    color:
        #ff9200 !important;
}


/* Website Button */

body.public-site
.bb-company-contact-card
a[href^="http"] {
    color:
        #11161b !important;

    background:
        #ff9200 !important;

    border:
        0 !important;
}


/* ----------------------------------------------------------
   BEWERTUNG
   Werte/Orange bleiben bestehen
   ---------------------------------------------------------- */

body.public-site
.company-rating-list {
    border:
        0 !important;
}


body.public-site
.company-rating-list > * {
    border-color:
        rgba(255,255,255,.08) !important;
}


/* ==========================================================
   PRÜFUNG & LERNEN
   IN VORBEREITUNG = NUR ORANGE TEXT
   ========================================================== */

body.public-site
.feature-box
.badge,

body.public-site
.feature-box:hover
.badge {
    display:
        inline-block !important;

    padding:
        0 !important;

    margin:
        0 0 20px !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    border:
        0 !important;

    outline:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-weight:
        900 !important;

    letter-spacing:
        .06em !important;

    transform:
        none !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

    body.public-site
    .company-detail-section
    .company-content-block {
        padding:
            28px 22px !important;
    }

}


/* ==========================================================
   FIRMENDETAIL – KATEGORIE NUR ALS TEXT
   ========================================================== */

body.public-site
.company-detail-section
span[class*="category"],

body.public-site
.company-detail-section
.bb-company-detail-category {
    display: inline !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #ff9200 !important;

    font-weight: 800 !important;
    line-height: 1.4 !important;
}


/* Hover darf daraus keinen Kasten machen */

body.public-site
.company-detail-section
span[class*="category"]:hover,

body.public-site
.company-detail-section
.bb-company-detail-category:hover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    color: #ff9200 !important;
}


/* ==========================================================
   FIRMENDETAIL – ECHTE KATEGORIE-TAGS
   ========================================================== */

body.public-site
.company-detail-tags > span,

body.public-site
.company-detail-tags > span:hover {
    display: inline !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #ff9200 !important;

    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}


/* ==========================================================
   BAUÜBERWACHUNG.ONLINE – BRAND LOGO FINAL
   ========================================================== */

.public-site .brand {
    display:
        inline-flex;

    align-items:
        center;

    text-decoration:
        none;
}


.public-site .brand-logo {
    display:
        block;

    width:
        auto;

    height:
        58px;

    max-width:
        280px;

    object-fit:
        contain;
}


@media (max-width: 760px) {

    .public-site .brand-logo {
        height:
            46px;

        max-width:
            210px;
    }

}


/* ==========================================================
   BRAND LOGO – GRÖSSER
   ========================================================== */

.public-site .brand-logo {
    height: 78px !important;
    max-width: 360px !important;
}


@media (max-width: 760px) {

    .public-site .brand-logo {
        height: 58px !important;
        max-width: 260px !important;
    }

}


/* ============================================================
   BAUÜBERWACHUNG.ONLINE – BREITES HEADER-LOGO
   ============================================================ */

.public-site .site-logo img,
.public-site .brand img,
.public-site .header-logo img,
.public-site header .logo img {
    width: auto;
    height: 58px;
    max-width: 320px;
    object-fit: contain;
    object-position: left center;
    display: block;
}

/* Falls das alte quadratische Logo einen festen Container hatte */
.public-site .site-logo,
.public-site .brand,
.public-site .header-logo,
.public-site header .logo {
    width: auto;
    min-width: 0;
}

/* Mobile */
@media (max-width: 900px) {
    .public-site .site-logo img,
    .public-site .brand img,
    .public-site .header-logo img,
    .public-site header .logo img {
        height: 46px;
        max-width: 240px;
    }
}


/* ==========================================================
   STATUSLABEL – NUR ORANGE SCHRIFT
   Kein Kasten / kein Button-Look
   Desktop + Mobile
   ========================================================== */

.public-site .coming-soon,
.public-site .coming-soon-badge,
.public-site .status-badge,
.public-site .status-label,
.public-site .eyebrow,
.public-site .kicker {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: #ff8a00 !important;

    padding: 0 !important;
    margin-left: 0;

    display: inline-block;

    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* Auch bei Hover niemals wieder zum Kasten werden */
.public-site .coming-soon:hover,
.public-site .coming-soon-badge:hover,
.public-site .status-badge:hover,
.public-site .status-label:hover,
.public-site .eyebrow:hover,
.public-site .kicker:hover {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #ff8a00 !important;
}

/* Mobile ebenfalls ausdrücklich ohne Kasten */
@media (max-width: 768px) {
    .public-site .coming-soon,
    .public-site .coming-soon-badge,
    .public-site .status-badge,
    .public-site .status-label,
    .public-site .eyebrow,
    .public-site .kicker {
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        color: #ff8a00 !important;
    }
}



/* ==========================================================
   PRÜFUNG & LERNEN
   "IN VORBEREITUNG" FINAL
   ========================================================== */

body.public-site
main
.feature-box
span.badge,

body.public-site
main
.feature-box
span.badge:hover {

    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    padding: 0 !important;

    background: none !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #ff9200 !important;

    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;

    transform: none !important;
}


/* Auch Mobile bleibt garantiert ohne Kasten */

@media (max-width: 768px) {

    body.public-site
    main
    .feature-box
    span.badge,

    body.public-site
    main
    .feature-box
    span.badge:hover {

        padding: 0 !important;

        background: none !important;
        background-color: transparent !important;
        background-image: none !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        color: #ff9200 !important;
    }

}


/* ==========================================================
   PRÜFUNG & LERNEN – EMPTY STATUS FINAL
   "IN VORBEREITUNG" NUR ORANGE SCHRIFT
   ========================================================== */

body.public-site
.learning-empty > .badge,

body.public-site
.learning-empty > .badge:hover {
    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;

    padding: 0 !important;
    margin: 0 0 22px !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: #ff9200 !important;

    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;

    transform: none !important;
}


/* Mobile ebenfalls ausdrücklich ohne Kasten */

@media (max-width: 768px) {

    body.public-site
    .learning-empty > .badge,

    body.public-site
    .learning-empty > .badge:hover {
        padding: 0 !important;

        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        color: #ff9200 !important;
    }

}


/* ==========================================================
   MOBILE FINAL – KEIN HORIZONTALER OVERFLOW
   ========================================================== */

@media (max-width: 768px) {

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }


    /* ------------------------------------------------------
       ALLGEMEINE PUBLIC CONTAINER
       ------------------------------------------------------ */

    body.public-site main,
    body.public-site section,
    body.public-site .section,
    body.public-site .page-hero {
        max-width: 100%;
    }


    /* ------------------------------------------------------
       HOME HERO
       ------------------------------------------------------ */

    body.public-site .home-hero,
    body.public-site .hero,
    body.public-site .hero-inner,
    body.public-site .home-hero-inner {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    body.public-site .home-hero h1,
    body.public-site .hero h1 {
        width: 100%;
        max-width: 100%;

        font-size: clamp(3rem, 13vw, 4.6rem) !important;
        line-height: .94 !important;

        overflow-wrap: break-word;
        word-break: normal;

        white-space: normal !important;
    }


    body.public-site .home-hero h1 *,
    body.public-site .hero h1 * {
        max-width: 100%;
        white-space: normal !important;
    }


    body.public-site .home-hero p,
    body.public-site .hero p {
        width: 100%;
        max-width: 100%;

        font-size: 1.1rem !important;
        line-height: 1.6 !important;

        overflow-wrap: break-word;
    }


    /* ------------------------------------------------------
       HERO BUTTONS
       Auf Mobile untereinander
       ------------------------------------------------------ */

    body.public-site .hero-actions,
    body.public-site .home-hero-actions,
    body.public-site .hero-buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 100%;

        gap: 14px !important;
    }


    body.public-site .hero-actions a,
    body.public-site .home-hero-actions a,
    body.public-site .hero-buttons a {
        width: 100% !important;
        max-width: 100% !important;

        justify-content: center;

        text-align: center;

        box-sizing: border-box;
    }


    /* ------------------------------------------------------
       CARDS
       ------------------------------------------------------ */

    body.public-site .service-grid,
    body.public-site .home-grid,
    body.public-site .feature-grid,
    body.public-site .cards-grid {
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 100%;
    }


    body.public-site .service-card,
    body.public-site .home-card,
    body.public-site .feature-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        box-sizing: border-box;
    }


    body.public-site .service-card h2,
    body.public-site .home-card h2,
    body.public-site .feature-card h2 {
        max-width: 100%;

        font-size: clamp(1.7rem, 7vw, 2.35rem) !important;
        line-height: 1.08 !important;

        overflow-wrap: break-word;
    }


    body.public-site .service-card p,
    body.public-site .home-card p,
    body.public-site .feature-card p {
        max-width: 100%;

        overflow-wrap: break-word;
    }


    /* ------------------------------------------------------
       GLOBALER SCHUTZ GEGEN FESTE DESKTOP-BREITEN
       ------------------------------------------------------ */

    body.public-site img,
    body.public-site video,
    body.public-site iframe {
        max-width: 100%;
    }

}

/* PHASE-6.4C-SHOP-START */

.shop-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.shop-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.shop-product-card,
.shop-cart-item,
.shop-cart-summary,
.shop-order-item {
    background: rgba(10, 15, 20, .72);
    border-radius: 18px;
    padding: 24px;
}

.shop-product-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.shop-product-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.shop-product-price {
    font-size: 1.25rem;
}

.shop-product-meta {
    margin-top: auto;
    opacity: .72;
}

.shop-cart-layout,
.shop-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 24px;
    align-items: start;
}

.shop-cart-items,
.shop-order-items {
    display: grid;
    gap: 16px;
}

.shop-cart-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 20px;
    align-items: center;
}

.shop-cart-item-actions {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}

.shop-cart-item-actions form {
    display: flex;
    align-items: end;
    gap: 8px;
}

.shop-cart-item-actions input[type="number"] {
    width: 78px;
}

.shop-cart-line-total {
    white-space: nowrap;
    font-size: 1.1rem;
}

.shop-cart-summary {
    position: sticky;
    top: 110px;
}

.shop-cart-summary dl {
    display: grid;
    gap: 12px;
    margin: 20px 0;
}

.shop-cart-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.shop-cart-total {
    font-size: 1.15rem;
    font-weight: 700;
    padding-top: 14px;
}

.shop-cart-summary form {
    margin-top: 12px;
}

.shop-cart-clear-form {
    opacity: .78;
}

.shop-message {
    border-radius: 14px;
    padding: 16px 18px;
    margin-bottom: 20px;
}

.shop-message-success {
    background: rgba(50, 140, 70, .16);
}

.shop-message-error {
    background: rgba(170, 55, 55, .16);
}

.shop-order-items {
    display: grid;
    gap: 12px;
}

.shop-order-item {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
}

.shop-order-item > div {
    display: grid;
    gap: 5px;
}

@media (max-width: 980px) {
    .shop-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-cart-layout,
    .shop-order-layout {
        grid-template-columns: 1fr;
    }

    .shop-cart-summary {
        position: static;
    }
}

@media (max-width: 680px) {
    .shop-product-grid {
        grid-template-columns: 1fr;
    }

    .shop-cart-item {
        grid-template-columns: 1fr;
    }

    .shop-cart-item-actions {
        align-items: stretch;
    }

    .shop-cart-item-actions form {
        align-items: stretch;
        flex-wrap: wrap;
    }
}

/* PHASE-6.4C-SHOP-END */

/* PHASE-6.5B-SEMINARS-START */

.seminar-public-section {
    position: relative;
}

.seminar-public-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.seminar-public-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 100%;
}

.seminar-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.seminar-booking-state {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 700;
    background: rgba(255,255,255,.07);
}

.seminar-booking-state[data-state="open"] {
    color: #acf520;
}

.seminar-booking-state[data-state="not_open"] {
    color: #8fb0ff;
}

.seminar-booking-state[data-state="closed"],
.seminar-booking-state[data-state="started"] {
    color: #b9c1cc;
}

.seminar-card-facts {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: auto;
}

.seminar-card-facts > div,
.seminar-fact-row {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.seminar-card-facts > div {
    padding: 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.045);
}

.seminar-card-facts small,
.seminar-fact-row small {
    opacity: .64;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
}

.seminar-card-facts strong,
.seminar-fact-row strong {
    font-size: 1rem;
}

.seminar-card-facts span,
.seminar-fact-row span {
    opacity: .78;
    font-size: .88rem;
}

.seminar-card-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.seminar-empty-card {
    max-width: 850px;
}

.seminar-detail-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(300px, .8fr);
    gap: 24px;
    align-items: start;
}

.seminar-detail-content,
.seminar-detail-facts {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.seminar-description {
    line-height: 1.8;
}

.seminar-detail-facts {
    position: sticky;
    top: 110px;
}

.seminar-fact-row {
    padding-bottom: 16px;
    border-bottom:
        1px solid rgba(255,255,255,.08);
}

.seminar-detail-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.seminar-booking-placeholder {
    cursor: default;
    opacity: .65;
}

@media (max-width: 960px) {
    .seminar-public-grid {
        grid-template-columns: 1fr;
    }

    .seminar-detail-layout {
        grid-template-columns: 1fr;
    }

    .seminar-detail-facts {
        position: static;
    }
}

@media (max-width: 620px) {
    .seminar-card-facts {
        grid-template-columns: 1fr;
    }
}

/* PHASE-6.5B-SEMINARS-END */

/* PHASE-6.5C-BOOKINGS-START */

.seminar-booking-state[data-state="full"] {
    color: #ffb44d;
}

.seminar-booking-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.seminar-booking-existing {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(172,245,32,.08);
}

.seminar-booking-existing strong {
    color: #acf520;
}

.page-notice {
    width: min(1180px, calc(100% - 32px));
    margin: 24px auto 0;
    padding: 14px 18px;
    border-radius: 14px;
    backdrop-filter: blur(14px);
}

.page-notice-success {
    background: rgba(172,245,32,.09);
    border: 1px solid rgba(172,245,32,.22);
}

.page-notice-error {
    background: rgba(255,80,80,.09);
    border: 1px solid rgba(255,80,80,.22);
}

/* PHASE-6.5C-BOOKINGS-END */


/* ==========================================================
   BAUÜBERWACHUNG.ONLINE
   SEMINARE – GLOBAL CARD STANDARD
   EIN DESIGN FÜR ALLE CARDS
   ========================================================== */


/*
 * WICHTIG:
 *
 * Diese Cards verwenden exakt dieselbe Grundidee wie
 * die bestehenden öffentlichen Cards der Startseite:
 *
 * - dunkler 135° Verlauf
 * - feine Außenkante
 * - orange linke Akzentlinie
 * - gleicher Hover
 * - translateY(-5px)
 * - gleicher Hover-Verlauf
 * - gleicher Hover-Schatten
 *
 * KEIN eigener Seminar-Card-Stil mehr.
 */


.public-site .seminar-member-notice,
.public-site .seminar-empty-card,
.public-site .seminar-public-card,
.public-site .seminar-detail-content,
.public-site .seminar-detail-facts,
.public-site .account-seminar-entry {

    position:
        relative;

    background:
        linear-gradient(
            135deg,
            rgba(27,34,41,.95),
            rgba(16,21,26,.95)
        ) !important;

    color:
        var(--bb-text);

    border:
        1px solid
        var(--bb-line) !important;

    border-left:
        4px solid
        #ff9200 !important;

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.14) !important;

    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* ----------------------------------------------------------
   EXAKT DER GLOBALE CARD-HOVER
   ---------------------------------------------------------- */

.public-site .seminar-member-notice:hover,
.public-site .seminar-empty-card:hover,
.public-site .seminar-public-card:hover,
.public-site .seminar-detail-content:hover,
.public-site .seminar-detail-facts:hover,
.public-site .account-seminar-entry:hover {

    transform:
        translateY(-5px);

    background:
        linear-gradient(
            135deg,
            rgba(40,35,27,.98),
            rgba(20,24,28,.98)
        ) !important;

    border-color:
        rgba(255,146,0,.48) !important;

    border-left-color:
        #ff9200 !important;

    box-shadow:
        0 22px 55px
        rgba(0,0,0,.28) !important;
}


/* ----------------------------------------------------------
   MEMBER-CARD
   NUR TEXT – KEINE BUTTONS
   ---------------------------------------------------------- */

.public-site .seminar-member-notice {

    width:
        100%;

    max-width:
        none;

    padding:
        38px 34px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        14px;
}


.public-site .seminar-member-notice
.seminar-member-actions,

.public-site .seminar-member-notice
button {

    display:
        none !important;
}


.public-site .seminar-member-notice
.eyebrow {

    color:
        #ff9200 !important;

    margin:
        0;
}


.public-site .seminar-member-notice
h2 {

    margin:
        0;

    color:
        #ffffff;
}


.public-site .seminar-member-notice
p {

    margin:
        0;

    max-width:
        1050px;

    color:
        var(--bb-text-soft);

    line-height:
        1.7;
}


/* ----------------------------------------------------------
   LEERZUSTAND
   ---------------------------------------------------------- */

.public-site .seminar-empty-card {

    width:
        100%;

    max-width:
        none !important;

    padding:
        38px 34px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        14px;
}


.public-site .seminar-empty-card
.eyebrow {

    color:
        #ff9200 !important;

    margin:
        0;
}


.public-site .seminar-empty-card
h2 {

    margin:
        0;

    color:
        #ffffff;
}


.public-site .seminar-empty-card
p {

    margin:
        0;

    color:
        var(--bb-text-soft);

    line-height:
        1.7;
}


/* ----------------------------------------------------------
   VERÖFFENTLICHTE SEMINAR-CARDS
   ---------------------------------------------------------- */

.public-site .seminar-public-card {

    padding:
        34px;

    min-height:
        100%;

    display:
        flex;

    flex-direction:
        column;

    gap:
        20px;
}


.public-site .seminar-public-card
h2,

.public-site .seminar-public-card
h3 {

    color:
        #ffffff;

    transition:
        color .22s ease;
}


.public-site .seminar-public-card:hover
h2,

.public-site .seminar-public-card:hover
h3 {

    color:
        #ffffff;
}


/* ----------------------------------------------------------
   ORANGE LABELS BLEIBEN ORANGE
   ---------------------------------------------------------- */

.public-site .seminar-member-notice
.eyebrow,

.public-site .seminar-empty-card
.eyebrow,

.public-site .seminar-public-card
.eyebrow,

.public-site .seminar-detail-content
.eyebrow,

.public-site .seminar-detail-facts
.eyebrow {

    color:
        #ff9200 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;
}


.public-site .seminar-member-notice:hover
.eyebrow,

.public-site .seminar-empty-card:hover
.eyebrow,

.public-site .seminar-public-card:hover
.eyebrow,

.public-site .seminar-detail-content:hover
.eyebrow,

.public-site .seminar-detail-facts:hover
.eyebrow {

    color:
        #ff9200 !important;

    background:
        transparent !important;

    transform:
        none !important;
}


/* ----------------------------------------------------------
   DETAIL-CARDS
   ---------------------------------------------------------- */

.public-site .seminar-detail-content,
.public-site .seminar-detail-facts {

    padding:
        34px;
}


/*
 * Die kleinen Fakten innerhalb einer Card bleiben
 * nur strukturierte Inhalte.
 *
 * KEINE zweite Designwelt.
 */

.public-site .seminar-fact-row {

    padding:
        14px 0;

    border:
        0 !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.06) !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    border-radius:
        0 !important;
}


.public-site .seminar-fact-row:last-child {

    border-bottom:
        0 !important;
}


/* ----------------------------------------------------------
   MEMBER-HINWEIS AUF DETAILSEITE
   ---------------------------------------------------------- */

.public-site .seminar-member-required {

    padding:
        16px 0;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    border-radius:
        0 !important;
}


.public-site .seminar-member-required
strong {

    color:
        #ff9200;
}


/* ----------------------------------------------------------
   KONTO – MEINE SEMINARE
   AUCH DERSELBE CARD-STANDARD
   ---------------------------------------------------------- */

.public-site .account-seminar-entry {

    padding:
        26px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        14px;
}


.public-site .account-seminar-entry-head {

    display:
        flex;

    justify-content:
        space-between;

    align-items:
        flex-start;

    gap:
        12px;

    flex-wrap:
        wrap;
}


.public-site .account-seminar-entry dl {

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:
        10px 20px;

    margin:
        0;
}


.public-site .account-seminar-entry
dl > div {

    padding:
        8px 0;

    background:
        transparent;

    border:
        0;
}


.public-site .account-seminar-entry
dt {

    color:
        var(--bb-text-soft);

    opacity:
        .68;

    font-size:
        .75rem;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;
}


.public-site .account-seminar-entry
dd {

    margin:
        0;
}


/* ----------------------------------------------------------
   STATUS
   ---------------------------------------------------------- */

.public-site .account-seminar-status {

    display:
        inline-flex;

    padding:
        0;

    background:
        transparent;

    border:
        0;

    border-radius:
        0;

    font-size:
        .78rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .05em;
}


.public-site
.account-seminar-status[data-status="confirmed"] {

    color:
        #acf520;
}


.public-site
.account-seminar-status[data-status="pending"] {

    color:
        #ff9200;
}


.public-site
.account-seminar-status[data-status="cancelled"] {

    color:
        #b9c1cc;
}


/* ----------------------------------------------------------
   INNERHALB DER CARDS KEINE WEITEREN CARD-DESIGNS
   ---------------------------------------------------------- */

.public-site .account-seminar-payment,
.public-site .account-seminar-confirmed {

    padding:
        12px 0;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;
}


.public-site .account-seminar-payment
strong {

    color:
        #ff9200;
}


.public-site .account-seminar-confirmed
strong {

    color:
        #acf520;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 680px) {

    .public-site .seminar-member-notice,
    .public-site .seminar-empty-card,
    .public-site .seminar-public-card,
    .public-site .seminar-detail-content,
    .public-site .seminar-detail-facts,
    .public-site .account-seminar-entry {

        padding:
            26px 22px;

        border-left-width:
            3px !important;
    }


    .public-site .account-seminar-entry
    dl {

        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   SEMINARE – GLOBAL CARD STANDARD END
   ========================================================== */


/* ==========================================================
   SEMINAR-MEMBER-TEXTLINKS-START
   NUR TEXT – KEIN BUTTONDESIGN
   ========================================================== */

.public-site
.seminar-member-notice
.seminar-member-textlinks {

    display:
        flex !important;

    align-items:
        center;

    gap:
        28px;

    flex-wrap:
        wrap;

    margin-top:
        4px;
}


.public-site
.seminar-member-notice
.seminar-member-textlinks a {

    display:
        inline !important;

    padding:
        0 !important;

    margin:
        0 !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    width:
        auto !important;

    height:
        auto !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    border:
        0 !important;

    outline:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.3;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none;

    transition:
        color .18s ease,
        opacity .18s ease;
}


.public-site
.seminar-member-notice
.seminar-member-textlinks a:hover {

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ffb247 !important;

    transform:
        none !important;

    text-decoration:
        none;

    opacity:
        1;
}


/*
 * Frühere Regel:
 * .seminar-member-notice a { display:none }
 *
 * Für diese beiden echten Textlinks
 * ausdrücklich wieder freigeben.
 */

.public-site
.seminar-member-notice
a:not(.seminar-member-textlinks a) {

    /* keine globale Aktion nötig */
}


/* Mobile */

@media (max-width: 620px) {

    .public-site
    .seminar-member-notice
    .seminar-member-textlinks {

        gap:
            18px;
    }

}

/* SEMINAR-MEMBER-TEXTLINKS-END */


/* ==========================================================
   PHASE-6.5D2-SEMINAR-PAYMENT
   NUR TEXTAKTIONEN – KEINE EXTRA BUTTON-CARDS
   ========================================================== */

.public-site .seminar-payment-form {
    display: inline;
    margin: 0;
    padding: 0;
}

.public-site .seminar-payment-textlink {
    display: inline;

    margin: 0;
    padding: 0;

    min-width: 0;
    min-height: 0;

    border: 0;
    border-radius: 0;

    outline: 0;

    background: transparent;

    box-shadow: none;

    color: #ff9200;

    font: inherit;
    font-size: .82rem;
    font-weight: 900;

    letter-spacing: .03em;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        color .18s ease,
        opacity .18s ease;
}

.public-site .seminar-payment-textlink:hover {
    color: #ffb247;

    border: 0;

    background: transparent;

    box-shadow: none;

    transform: none;
}

/* PHASE-6.5D2-SEMINAR-PAYMENT-END */


/* ==========================================================
   PUBLIC-TEXT-ACTIONS-GLOBAL-START

   BAUÜBERWACHUNG.ONLINE
   EINHEITLICHER STANDARD FÜR ALLE ÖFFENTLICHEN AKTIONEN

   - keine Button-Kästen
   - keine Rahmen
   - kein Hintergrund
   - kein Schatten
   - keine Pillen
   - nur Text
   - Funktion / Formulare bleiben vollständig erhalten

   WICHTIG:
   Nur .public-site
   Admincenter wird NICHT verändert.
   ========================================================== */


/* ----------------------------------------------------------
   LINKS MIT BISHERIGEM BUTTON-DESIGN
   ---------------------------------------------------------- */

.public-site a.button,
.public-site a.button-secondary,
.public-site a.btn,
.public-site a.btn-primary,
.public-site a.btn-secondary,
.public-site a.primary-button,
.public-site a.secondary-button,
.public-site a.action-button,
.public-site a.account-card-link {

    display:
        inline-flex !important;

    align-items:
        center;

    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    height:
        auto !important;

    margin:
        0;

    padding:
        0 !important;

    border:
        0 !important;

    outline:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-family:
        inherit;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.35;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;

    cursor:
        pointer;

    transition:
        color .18s ease,
        opacity .18s ease !important;
}


/* ----------------------------------------------------------
   ECHTE FORMULAR-BUTTONS
   TECHNISCH BLEIBEN ES BUTTONS
   OPTISCH ABER NUR TEXT
   ---------------------------------------------------------- */

.public-site button[type="submit"],
.public-site button[type="button"].button,
.public-site button[type="button"].button-secondary,
.public-site input[type="submit"] {

    appearance:
        none !important;

    -webkit-appearance:
        none !important;

    display:
        inline-flex !important;

    align-items:
        center;

    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    height:
        auto !important;

    margin:
        0;

    padding:
        0 !important;

    border:
        0 !important;

    outline:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-family:
        inherit;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.35;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;

    cursor:
        pointer;

    transition:
        color .18s ease,
        opacity .18s ease !important;
}


/* ----------------------------------------------------------
   HOVER
   KEINE KISTE KOMMT ZURÜCK
   ---------------------------------------------------------- */

.public-site a.button:hover,
.public-site a.button-secondary:hover,
.public-site a.btn:hover,
.public-site a.btn-primary:hover,
.public-site a.btn-secondary:hover,
.public-site a.primary-button:hover,
.public-site a.secondary-button:hover,
.public-site a.action-button:hover,
.public-site a.account-card-link:hover,
.public-site button[type="submit"]:hover,
.public-site button[type="button"].button:hover,
.public-site button[type="button"].button-secondary:hover,
.public-site input[type="submit"]:hover {

    transform:
        none !important;

    border:
        0 !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    box-shadow:
        none !important;

    color:
        #ffb247 !important;

    opacity:
        1;

    text-decoration:
        none !important;
}


/* ----------------------------------------------------------
   FOCUS
   TASTATURBEDIENUNG BLEIBT ERKENNBAR
   ABER OHNE BUTTON-RAHMEN
   ---------------------------------------------------------- */

.public-site a.button:focus-visible,
.public-site a.button-secondary:focus-visible,
.public-site a.btn:focus-visible,
.public-site a.btn-primary:focus-visible,
.public-site a.btn-secondary:focus-visible,
.public-site a.primary-button:focus-visible,
.public-site a.secondary-button:focus-visible,
.public-site a.action-button:focus-visible,
.public-site a.account-card-link:focus-visible,
.public-site button[type="submit"]:focus-visible,
.public-site input[type="submit"]:focus-visible {

    outline:
        2px solid rgba(255,146,0,.72) !important;

    outline-offset:
        5px !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    background:
        transparent !important;
}


/* ----------------------------------------------------------
   DISABLED
   ---------------------------------------------------------- */

.public-site button:disabled,
.public-site input[type="submit"]:disabled,
.public-site [aria-disabled="true"].button,
.public-site [aria-disabled="true"].button-secondary {

    color:
        rgba(255,255,255,.38) !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    cursor:
        not-allowed;

    opacity:
        1;
}


/* ----------------------------------------------------------
   WARENKORB

   Auch Mengenänderung / Entfernen / Leeren /
   Checkout-Aktionen bekommen exakt denselben Textstandard.
   ---------------------------------------------------------- */

.public-site .shop-cart-layout button,
.public-site .shop-cart-layout .button,
.public-site .shop-cart-layout .button-secondary,
.public-site .shop-cart-layout a.button,
.public-site .shop-cart-layout a.button-secondary,
.public-site .shop-cart-actions button,
.public-site .shop-cart-actions a,
.public-site .shop-cart-item-actions button,
.public-site .shop-cart-item-actions a {

    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    height:
        auto !important;

    margin:
        0;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    outline:
        0 !important;

    background:
        transparent !important;

    background-color:
        transparent !important;

    background-image:
        none !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-family:
        inherit;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.35;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;

    cursor:
        pointer;

    transition:
        color .18s ease !important;
}


.public-site .shop-cart-layout button:hover,
.public-site .shop-cart-layout .button:hover,
.public-site .shop-cart-layout .button-secondary:hover,
.public-site .shop-cart-layout a:hover,
.public-site .shop-cart-actions button:hover,
.public-site .shop-cart-actions a:hover,
.public-site .shop-cart-item-actions button:hover,
.public-site .shop-cart-item-actions a:hover {

    transform:
        none !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    color:
        #ffb247 !important;
}


/* ----------------------------------------------------------
   SEMINARE

   Bereits Textaktionen – hier nur endgültig vereinheitlichen.
   ---------------------------------------------------------- */

.public-site .seminar-member-textlinks a,
.public-site .seminar-payment-textlink {

    display:
        inline-flex !important;

    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    height:
        auto !important;

    margin:
        0;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.35;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;
}


.public-site .seminar-member-textlinks a:hover,
.public-site .seminar-payment-textlink:hover {

    transform:
        none !important;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    color:
        #ffb247 !important;
}


/* ----------------------------------------------------------
   FORM-AKTIONSGRUPPEN

   Mehrere Textaktionen sauber nebeneinander.
   ---------------------------------------------------------- */

.public-site .shop-cart-actions,
.public-site .shop-cart-item-actions,
.public-site .seminar-member-textlinks,
.public-site .seminar-payment-actions {

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        12px 24px;
}


/* ----------------------------------------------------------
   WICHTIG:
   ICON-/MENÜ-BUTTONS NICHT ZERSTÖREN

   Diese bleiben von der allgemeinen Textregel ausgenommen.
   ---------------------------------------------------------- */

.public-site .nav-toggle,
.public-site .menu-toggle,
.public-site .mobile-nav-toggle,
.public-site .hamburger,
.public-site .site-menu-toggle {

    /* bestehendes Design gewinnt wieder */
    all:
        revert-layer;
}


/* ==========================================================
   PUBLIC-TEXT-ACTIONS-GLOBAL-END
   ========================================================== */

/* =========================================================
   NAV-TOGGLE-RESPONSIVE-FIX-START

   Desktop:
   Hamburger vollständig ausblenden.

   Tablet / Mobile bis 1150px:
   vorhandenen Hamburger wieder anzeigen.

   WICHTIG:
   Dieser Sonderfall überschreibt absichtlich den globalen
   PUBLIC-TEXT-ACTIONS-Block für .nav-toggle.
   ========================================================= */

.public-site .nav-toggle {
    display: none !important;
}

@media (max-width: 1150px) {
    .public-site .nav-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
}

/* NAV-TOGGLE-RESPONSIVE-FIX-END */


/* ==========================================================
   PHASE-6.5E2-SEMINAR-ACCESS
   GESCHÜTZTER MEMBER-ZUGANG
   NUR TEXTAKTION
   ========================================================== */

.public-site .seminar-access-textlink {

    display:
        inline-flex !important;

    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    height:
        auto !important;

    margin:
        0;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    color:
        #ff9200 !important;

    font-size:
        .84rem;

    font-weight:
        900;

    line-height:
        1.35;

    letter-spacing:
        .025em;

    text-transform:
        uppercase;

    text-decoration:
        none !important;

    transition:
        color .18s ease;
}


.public-site .seminar-access-textlink:hover {

    color:
        #ffb247 !important;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    transform:
        none !important;
}

/* PHASE-6.5E2-SEMINAR-ACCESS-END */

/* ==========================================================
   BB-FORUM-PHASE-1B
   ========================================================== */

.forum-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 70px 0 100px;
}

.forum-hero,
.forum-editor-card,
.forum-reply-card,
.forum-login-box,
.forum-topic-header,
.forum-empty {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .08),
            rgba(255, 255, 255, .025)
        );
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 22px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .20);
    backdrop-filter: blur(18px);
}

.forum-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 42px;
}

.forum-hero-compact {
    margin-bottom: 28px;
}

.forum-hero h1,
.forum-editor-card h1,
.forum-topic-header h1 {
    margin: 6px 0 12px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
}

.forum-hero p,
.forum-editor-card > p,
.forum-topic-header > p,
.forum-empty p,
.forum-login-box p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    line-height: 1.7;
}

.forum-kicker {
    display: inline-block;
    color: #d3a953;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.forum-hero-action,
.forum-login-actions,
.forum-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.forum-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    background: rgba(255, 255, 255, .055);
    color: inherit;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.forum-button:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .28);
}

.forum-button-primary {
    background: #d3a953;
    border-color: #d3a953;
    color: #111;
}

.forum-button-primary:hover {
    background: #e2bb68;
    border-color: #e2bb68;
}

.forum-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 48px 0 18px;
}

.forum-section-head h2 {
    margin: 4px 0 0;
    font-size: 1.7rem;
}

.forum-section-spacing {
    margin-top: 58px;
}

.forum-category-list,
.forum-topic-list {
    display: grid;
    gap: 12px;
}

.forum-category-card,
.forum-topic-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 30px;
    align-items: center;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
    color: inherit;
    text-decoration: none;
    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}

.forum-category-card:hover,
.forum-topic-row:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .065);
    border-color: rgba(211, 169, 83, .35);
}

.forum-category-main h3,
.forum-topic-main h3 {
    margin: 0 0 7px;
    font-size: 1.12rem;
}

.forum-category-main p,
.forum-topic-main p {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    line-height: 1.55;
}

.forum-category-stats,
.forum-topic-stats {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 6px 22px;
    min-width: 270px;
    font-size: .88rem;
    color: rgba(255, 255, 255, .66);
}

.forum-category-stats strong,
.forum-topic-stats strong {
    color: #fff;
}

.forum-last-activity,
.forum-topic-stats > span:last-child {
    grid-column: 1 / -1;
}

.forum-topic-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 7px;
}

.forum-badge {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(211, 169, 83, .14);
    border: 1px solid rgba(211, 169, 83, .24);
    color: #e6c475;
    font-size: .72rem;
    font-weight: 800;
}

.forum-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, .60);
    font-size: .92rem;
}

.forum-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.forum-breadcrumb a:hover {
    color: #fff;
}

.forum-breadcrumb strong {
    color: rgba(255, 255, 255, .86);
}

.forum-empty {
    padding: 36px;
    text-align: center;
}

.forum-empty h1,
.forum-empty h2,
.forum-empty h3 {
    margin-top: 0;
}

.forum-empty .forum-button {
    margin-top: 18px;
}

.forum-topic-header {
    padding: 32px 36px;
    margin-bottom: 18px;
}

.forum-post-list {
    display: grid;
    gap: 14px;
}

.forum-post {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .035);
}

.forum-post-first {
    border-color: rgba(211, 169, 83, .22);
}

.forum-post-author {
    padding: 26px 20px;
    background: rgba(255, 255, 255, .025);
    border-right: 1px solid rgba(255, 255, 255, .07);
    text-align: center;
}

.forum-post-author strong,
.forum-post-author span {
    display: block;
}

.forum-post-author span {
    margin-top: 4px;
    color: rgba(255, 255, 255, .52);
    font-size: .82rem;
}

.forum-avatar {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    border-radius: 50%;
    background:
        linear-gradient(
            135deg,
            #d3a953,
            #8d6720
        );
    color: #111;
    font-size: 1.45rem;
    font-weight: 900;
}

.forum-post-content {
    min-width: 0;
    padding: 24px 28px 30px;
}

.forum-post-meta {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .52);
    font-size: .82rem;
}

.forum-post-body {
    color: rgba(255, 255, 255, .90);
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.forum-editor-card,
.forum-reply-card {
    padding: 36px;
}

.forum-reply-card {
    margin-top: 26px;
}

.forum-login-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin-top: 26px;
    padding: 28px 32px;
}

.forum-login-box h2,
.forum-reply-card h2 {
    margin: 0 0 6px;
}

.forum-form {
    display: grid;
    gap: 20px;
    margin-top: 30px;
}

.forum-form label {
    display: grid;
    gap: 8px;
}

.forum-form label > span {
    font-weight: 700;
}

.forum-form input,
.forum-form select,
.forum-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    background: rgba(0, 0, 0, .22);
    color: #fff;
    padding: 13px 14px;
    font: inherit;
    outline: none;
}

.forum-form textarea {
    resize: vertical;
    line-height: 1.6;
}

.forum-form input:focus,
.forum-form select:focus,
.forum-form textarea:focus {
    border-color: rgba(211, 169, 83, .72);
    box-shadow: 0 0 0 3px rgba(211, 169, 83, .10);
}

.forum-form small {
    color: rgba(255, 255, 255, .48);
}

.forum-form-actions {
    justify-content: flex-end;
    margin-top: 4px;
}

.forum-message {
    margin: 20px 0;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .05);
}

.forum-message-error {
    border-color: rgba(220, 80, 80, .35);
    background: rgba(220, 80, 80, .08);
}

@media (max-width: 850px) {
    .forum-page {
        width: min(100% - 24px, 1180px);
        padding-top: 42px;
    }

    .forum-hero,
    .forum-login-box {
        align-items: flex-start;
        flex-direction: column;
    }

    .forum-category-card,
    .forum-topic-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .forum-category-stats,
    .forum-topic-stats {
        min-width: 0;
    }

    .forum-post {
        grid-template-columns: 1fr;
    }

    .forum-post-author {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px 20px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .07);
        text-align: left;
    }

    .forum-avatar {
        width: 42px;
        height: 42px;
        margin: 0;
        font-size: 1rem;
    }

    .forum-post-author span {
        margin: 0 0 0 auto;
    }
}

@media (max-width: 560px) {
    .forum-hero,
    .forum-editor-card,
    .forum-reply-card,
    .forum-topic-header {
        padding: 24px 20px;
        border-radius: 16px;
    }

    .forum-category-card,
    .forum-topic-row {
        padding: 18px;
    }

    .forum-category-stats,
    .forum-topic-stats {
        grid-template-columns: 1fr 1fr;
    }

    .forum-post-content {
        padding: 20px;
    }

    .forum-post-meta {
        flex-direction: column;
        gap: 4px;
    }

    .forum-hero-action,
    .forum-login-actions,
    .forum-form-actions {
        width: 100%;
    }

    .forum-button {
        flex: 1 1 auto;
    }
}

/* ==========================================================
   BB-FORUM-REPORT-1D
   ========================================================== */

.forum-post-tools {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.07);
}

.forum-report-details {
    width: min(100%, 520px);
}

.forum-report-details summary {
    width: max-content;
    margin-left: auto;
    color: rgba(255,255,255,.58);
    font-size: .82rem;
    cursor: pointer;
    user-select: none;
}

.forum-report-details summary:hover {
    color: #fff;
}

.forum-report-form {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(0,0,0,.16);
}

.forum-report-form label {
    display: grid;
    gap: 7px;
}

.forum-report-form label > span {
    font-size: .88rem;
    font-weight: 700;
}

.forum-report-form label small {
    color: rgba(255,255,255,.42);
    font-weight: 400;
}

.forum-report-form select,
.forum-report-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: rgba(0,0,0,.24);
    color: #fff;
    padding: 11px 12px;
    font: inherit;
}

.forum-report-form textarea {
    resize: vertical;
    line-height: 1.5;
}

.forum-report-form select:focus,
.forum-report-form textarea:focus {
    outline: none;
    border-color: rgba(211,169,83,.68);
    box-shadow: 0 0 0 3px rgba(211,169,83,.10);
}

.forum-report-actions {
    display: flex;
    justify-content: flex-end;
}

.forum-report-submit {
    border: 1px solid rgba(220,80,80,.42);
    border-radius: 9px;
    background: rgba(220,80,80,.10);
    color: #fff;
    padding: 9px 13px;
    font: inherit;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
}

.forum-report-submit:hover {
    background: rgba(220,80,80,.18);
}

.forum-report-done {
    color: rgba(255,255,255,.46);
    font-size: .82rem;
}

.forum-message-success {
    border-color: rgba(70,200,120,.32);
    background: rgba(70,200,120,.08);
}

@media (max-width: 560px) {
    .forum-report-details {
        width: 100%;
    }

    .forum-report-details summary {
        margin-left: 0;
    }

    .forum-report-actions {
        justify-content: stretch;
    }

    .forum-report-submit {
        width: 100%;
    }
}

/* ==========================================================
   BB-FORUM-EDIT-1E
   ========================================================== */

.forum-post-tools {
    align-items: flex-start;
    gap: 14px;
}

.forum-edit-link {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(211,169,83,.26);
    border-radius: 8px;
    background: rgba(211,169,83,.07);
    color: rgba(255,255,255,.76);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.forum-edit-link:hover {
    background: rgba(211,169,83,.13);
    color: #fff;
}

.forum-post-edited {
    color: rgba(255,255,255,.42);
    font-size: .78rem;
}

@media (max-width: 560px) {
    .forum-post-tools {
        flex-direction: column;
    }

    .forum-edit-link {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }
}

/* ==========================================================
   BB-FORUM-ATTACHMENTS-2A
   ========================================================== */

.forum-attachments {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.forum-attachments-title {
    display: block;
    margin-bottom: 12px;
    font-size: .86rem;
}

.forum-attachment-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fill,
            minmax(180px, 1fr)
        );
    gap: 12px;
}

.forum-attachment-image,
.forum-attachment-file-wrap {
    margin: 0;
    position: relative;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    background: rgba(0,0,0,.16);
    overflow: hidden;
}

.forum-attachment-image img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
    background: rgba(0,0,0,.2);
}

.forum-attachment-image figcaption {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    overflow-wrap: anywhere;
    font-size: .8rem;
}

.forum-attachment-image figcaption small,
.forum-attachment-file small {
    color: rgba(255,255,255,.48);
}

.forum-attachment-file {
    min-height: 86px;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px;
    color: inherit;
    text-decoration: none;
}

.forum-attachment-file:hover {
    background: rgba(255,255,255,.04);
}

.forum-attachment-file > span:last-child {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.forum-attachment-file strong {
    overflow-wrap: anywhere;
}

.forum-attachment-file-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 10px;
    border: 1px solid rgba(211,169,83,.25);
    background: rgba(211,169,83,.08);
    font-size: .72rem;
    font-weight: 800;
}

.forum-attachment-delete-form {
    padding: 0 10px 10px;
}

.forum-attachment-delete {
    border: 0;
    background: transparent;
    color: rgba(255,120,120,.72);
    padding: 4px 0;
    font: inherit;
    font-size: .76rem;
    cursor: pointer;
}

.forum-attachment-delete:hover {
    color: #ff8c8c;
    text-decoration: underline;
}

.forum-attachment-upload-details {
    min-width: min(100%, 360px);
}

.forum-attachment-upload-details summary {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.74);
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
}

.forum-attachment-upload-form {
    display: grid;
    gap: 11px;
    margin-top: 10px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 11px;
    background: rgba(0,0,0,.18);
}

.forum-attachment-upload-form label {
    display: grid;
    gap: 7px;
    font-size: .82rem;
    font-weight: 700;
}

.forum-attachment-upload-form input[type="file"] {
    width: 100%;
    box-sizing: border-box;
    color: rgba(255,255,255,.72);
    font: inherit;
    font-weight: 400;
}

.forum-attachment-upload-form small {
    color: rgba(255,255,255,.46);
    line-height: 1.45;
}

.forum-attachment-upload-button {
    width: max-content;
    border: 1px solid rgba(211,169,83,.34);
    border-radius: 8px;
    background: rgba(211,169,83,.10);
    color: #fff;
    padding: 8px 12px;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
}

.forum-attachment-upload-button:hover {
    background: rgba(211,169,83,.17);
}

@media (max-width: 560px) {
    .forum-attachment-grid {
        grid-template-columns: 1fr;
    }

    .forum-attachment-image img {
        height: auto;
        max-height: 320px;
    }

    .forum-attachment-upload-details {
        width: 100%;
        min-width: 0;
    }
}

/* ==========================================================
   BB-FORUM-DROPZONE-2B
   ========================================================== */

.forum-direct-attachment {
    display: grid;
    gap: 10px;
}

.forum-direct-attachment-title {
    font-weight: 700;
}

.forum-direct-attachment-title small {
    color: rgba(255,255,255,.45);
    font-weight: 400;
}

.forum-dropzone {
    position: relative;
    display: grid;
    place-items: center;
    gap: 5px;
    min-height: 150px;
    padding: 22px;
    box-sizing: border-box;
    border: 1px dashed rgba(211,169,83,.36);
    border-radius: 13px;
    background: rgba(211,169,83,.045);
    text-align: center;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.forum-dropzone:hover {
    border-color: rgba(211,169,83,.65);
    background: rgba(211,169,83,.075);
}

.forum-dropzone.is-dragover {
    border-color: rgba(211,169,83,.95);
    background: rgba(211,169,83,.13);
    transform: translateY(-1px);
}

.forum-dropzone-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.forum-dropzone-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 3px;
    border: 1px solid rgba(211,169,83,.35);
    border-radius: 50%;
    background: rgba(211,169,83,.08);
    font-size: 1.5rem;
    line-height: 1;
}

.forum-dropzone > strong {
    font-size: .95rem;
}

.forum-dropzone > span:not(.forum-dropzone-icon) {
    color: rgba(255,255,255,.65);
    font-size: .84rem;
}

.forum-dropzone > small {
    max-width: 580px;
    color: rgba(255,255,255,.42);
    font-size: .76rem;
    line-height: 1.45;
}

.forum-dropzone-files {
    display: grid;
    gap: 7px;
}

.forum-dropzone-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    background: rgba(0,0,0,.13);
    font-size: .8rem;
}

.forum-dropzone-file-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forum-dropzone-file-size {
    flex: 0 0 auto;
    color: rgba(255,255,255,.42);
}

.forum-dropzone-error {
    padding: 9px 11px;
    border: 1px solid rgba(220,80,80,.30);
    border-radius: 9px;
    background: rgba(220,80,80,.07);
    color: #ffaaaa;
    font-size: .8rem;
}

@media (max-width: 560px) {
    .forum-dropzone {
        min-height: 135px;
        padding: 18px 14px;
    }

    .forum-dropzone-file {
        align-items: flex-start;
    }
}

/* =========================================================
   KONTO – STANDARD PUBLIC DESIGN
   03.09.2026
   ========================================================= */

.public-site .account-dashboard {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 72px 0 100px;
}


/* Kopfbereich wie normale öffentliche Seiten */

.public-site .account-dashboard-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;

    margin: 0 0 42px;
}

.public-site .account-dashboard-head > div {
    max-width: 850px;
}

.public-site .account-kicker {
    display: block;

    margin: 0 0 18px;

    color: #ff9800;

    font-size: 14px;
    font-weight: 900;

    line-height: 1;
    letter-spacing: .22em;
}

.public-site .account-dashboard h1 {
    margin: 0;

    color: #f5f7fa;

    font-size: clamp(42px, 5vw, 72px);
    font-weight: 900;

    line-height: 1.02;
    letter-spacing: -.035em;
}

.public-site .account-dashboard-head p {
    max-width: 820px;

    margin: 24px 0 0;

    color: #9ca8b8;

    font-size: clamp(18px, 2vw, 23px);

    line-height: 1.65;
}


/* Abmelden */

.public-site .account-secondary-button {
    flex: 0 0 auto;

    min-height: 52px;

    padding: 0 28px;

    border: 1px solid rgba(255, 152, 0, .28);
    border-radius: 10px;

    background:
        rgba(255, 152, 0, .08);

    color: #ff9800;

    font-weight: 900;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.public-site .account-secondary-button:hover {
    border-color: rgba(255, 152, 0, .55);

    background:
        rgba(255, 152, 0, .15);

    transform: translateY(-1px);
}


/* Kartenraster */

.public-site .account-dashboard-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;
}


/* Karten exakt im Dark/Public-Look */

.public-site .account-dashboard-card {
    position: relative;

    min-width: 0;
    min-height: 230px;

    padding: 32px;

    border:
        1px solid rgba(255, 255, 255, .09);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 31, 38, .92),
            rgba(16, 23, 30, .82)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, .18);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    color: #f5f7fa;

    overflow: hidden;
}

.public-site .account-dashboard-card::before {
    content: "";

    position: absolute;

    inset: 0 auto auto 0;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            rgba(255, 152, 0, .65),
            rgba(255, 152, 0, 0)
        );

    pointer-events: none;
}


/* Nummern */

.public-site .account-card-number {
    display: block;

    margin: 0 0 24px;

    color: #ff9800;

    font-size: 14px;
    font-weight: 900;

    line-height: 1;

    letter-spacing: .18em;
}


/* Überschriften */

.public-site .account-dashboard-card h2 {
    margin: 0 0 18px;

    color: #f5f7fa;

    font-size: clamp(24px, 2.3vw, 32px);
    font-weight: 900;

    line-height: 1.15;
}


/* Texte */

.public-site .account-dashboard-card p {
    margin: 0 0 20px;

    color: #a9b3bf;

    line-height: 1.7;
}


/* Definition Lists */

.public-site .account-dashboard-card dl {
    margin: 0;
}

.public-site .account-dashboard-card dl > div {
    padding: 15px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, .08);
}

.public-site .account-dashboard-card dl > div:first-child {
    padding-top: 0;
}

.public-site .account-dashboard-card dl > div:last-child {
    border-bottom: 0;
}

.public-site .account-dashboard-card dt {
    color: #8491a2;

    font-size: 12px;
    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: .08em;
}

.public-site .account-dashboard-card dd {
    margin: 6px 0 0;

    color: #f5f7fa;

    font-size: 16px;
    font-weight: 800;

    overflow-wrap: anywhere;
}


/* Links */

.public-site a.account-card-link {
    display: inline-flex;

    margin-top: 12px;

    color: #ff9800;

    font-weight: 900;

    text-decoration: none;
}

.public-site a.account-card-link:hover {
    color: #ffb347;
}


/* Kleine Statuskennzeichnungen */

.public-site .account-coming {
    display: inline-flex;

    margin-top: 14px;

    padding: 7px 11px;

    border:
        1px solid rgba(255, 152, 0, .22);

    border-radius: 999px;

    background:
        rgba(255, 152, 0, .08);

    color: #ff9800;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;

    letter-spacing: .08em;
}


/* Alerts */

.public-site .account-alert {
    border-radius: 12px;
}

.public-site .account-alert-success {
    border:
        1px solid rgba(76, 175, 80, .30);

    background:
        rgba(76, 175, 80, .10);

    color: #b7efba;
}

.public-site .account-alert-error {
    border:
        1px solid rgba(244, 67, 54, .30);

    background:
        rgba(244, 67, 54, .10);

    color: #ffb7b1;
}


/* =========================================================
   ACCOUNT FORM / PASSWORTSEITE
   ========================================================= */

.public-site .account-hero {
    width: min(1180px, calc(100% - 40px));

    margin: 0 auto;

    padding: 72px 0 100px;
}

.public-site .account-card {
    width: min(100%, 720px);

    margin: 0 auto;

    padding: 38px;

    border:
        1px solid rgba(255, 255, 255, .09);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(24, 31, 38, .92),
            rgba(16, 23, 30, .82)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, .18);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    color: #f5f7fa;
}

.public-site .account-card h1 {
    color: #f5f7fa;
}

.public-site .account-card > p,
.public-site .account-password-note,
.public-site .account-switch {
    color: #9ca8b8;
}

.public-site .account-form label > span {
    color: #d9dee5;
}

.public-site .account-form input[type="text"],
.public-site .account-form input[type="email"],
.public-site .account-form input[type="password"] {
    border:
        1px solid rgba(255, 255, 255, .11);

    border-radius: 10px;

    background:
        rgba(5, 10, 15, .55);

    color: #f5f7fa;

    outline: none;
}

.public-site .account-form input:focus {
    border-color: rgba(255, 152, 0, .65);

    outline:
        2px solid rgba(255, 152, 0, .12);
}

.public-site .account-primary-button {
    border-radius: 10px;

    background: #ff9800;

    color: #111820;
}

.public-site .account-primary-button:hover {
    background: #ffad33;
}

.public-site .account-switch a,
.public-site .account-checkbox a {
    color: #ff9800;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .public-site .account-dashboard,
    .public-site .account-hero {
        width: min(100% - 32px, 1180px);

        padding-top: 52px;
        padding-bottom: 72px;
    }

    .public-site .account-dashboard-head {
        display: grid;

        gap: 28px;

        margin-bottom: 32px;
    }

    .public-site .account-dashboard h1 {
        font-size: clamp(40px, 11vw, 56px);
    }

    .public-site .account-dashboard-head p {
        margin-top: 20px;

        font-size: 18px;

        line-height: 1.6;
    }

    .public-site .account-secondary-button {
        width: 100%;
    }

    .public-site .account-dashboard-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .public-site .account-dashboard-card {
        min-height: 0;

        padding: 26px 22px;

        border-radius: 16px;
    }

    .public-site .account-card {
        padding: 28px 22px;

        border-radius: 16px;
    }

}


/* =========================================================
   FORUM – PUBLIC ZURÜCK-BUTTON
   ========================================================= */

.public-site .forum-back-row {
    display: flex;
    align-items: center;

    margin: 0 0 22px;
}

.public-site .forum-back-row .forum-button {
    min-height: 42px;

    padding: 0 16px;

    border-color:
        rgba(255, 152, 0, .28);

    background:
        rgba(255, 152, 0, .07);

    color: #ff9800;
}

.public-site .forum-back-row .forum-button:hover {
    border-color:
        rgba(255, 152, 0, .55);

    background:
        rgba(255, 152, 0, .14);
}

@media (max-width: 760px) {

    .public-site .forum-back-row {
        margin-bottom: 18px;
    }

}


/* =========================================================
   FORUM – ZURÜCK-BUTTON KOMPAKT
   ========================================================= */

.public-site .forum-back-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.public-site .forum-back-row .forum-button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px;

    padding: 0 17px;

    flex: 0 0 auto;
}

@media (max-width: 760px) {

    .public-site .forum-back-row {
        justify-content: flex-start;
    }

    .public-site .forum-back-row .forum-button {
        width: auto !important;

        padding: 0 16px;

        font-size: 15px;
    }

}


/* =========================================================
   FORUM PUBLIC – THEMENSTATUS
   ========================================================= */

.public-site .forum-topic-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 10px;
}

.public-site .forum-badge {
    display: inline-flex;
    align-items: center;

    min-height: 28px;
    padding: 5px 10px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;

    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .04em;

    white-space: nowrap;
}

.public-site .forum-badge-pinned {
    border-color: rgba(255,152,0,.40);
    background: rgba(255,152,0,.11);
    color: #ffad33;
}

.public-site .forum-badge-locked {
    border-color: rgba(230,75,75,.40);
    background: rgba(230,75,75,.11);
    color: #ff9d9d;
}

@media (max-width: 760px) {

    .public-site .forum-topic-flags {
        gap: 6px;
    }

    .public-site .forum-badge {
        min-height: 26px;
        padding: 5px 9px;
        font-size: 10px;
    }

}


/* =========================================================
   FORUM – GESCHLOSSENES THEMA HINWEIS
   ========================================================= */

.public-site .forum-topic-locked-notice {
    display: flex;
    flex-direction: column;
    gap: 7px;

    margin-top: 24px;

    padding: 20px 22px;

    border:
        1px solid rgba(230, 75, 75, .40);

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(230, 75, 75, .12),
            rgba(230, 75, 75, .045)
        );

    color: #ffb0b0;
}

.public-site .forum-topic-locked-notice strong {
    color: #ff9d9d;

    font-size: 18px;
    font-weight: 900;
}

.public-site .forum-topic-locked-notice span {
    color: #c9a5a5;

    line-height: 1.6;
}

@media (max-width: 760px) {

    .public-site .forum-topic-locked-notice {
        padding: 18px;

        border-radius: 12px;
    }

    .public-site .forum-topic-locked-notice strong {
        font-size: 16px;
    }

}


/* =========================================================
   FORUM – KATEGORIE INFO
   ========================================================= */

.public-site .forum-category-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;

    margin: 0 0 22px;
    padding: 16px 18px;

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 14px;

    background:
        rgba(255,255,255,.025);
}

.public-site .forum-category-info-count {
    display: flex;
    align-items: baseline;
    gap: 8px;

    flex: 0 0 auto;
}

.public-site .forum-category-info-count strong {
    color: #f5f7fa;

    font-size: 26px;
    font-weight: 900;

    line-height: 1;
}

.public-site .forum-category-info-count span {
    color: #9ca8b8;

    font-size: 14px;
    font-weight: 700;
}

.public-site .forum-category-info-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;

    gap: 16px;
}

.public-site .forum-category-info-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.public-site .forum-category-info-item small {
    color: #8793a1;

    font-size: 12px;
    line-height: 1.3;
}

@media (max-width: 760px) {

    .public-site .forum-category-info {
        display: grid;
        gap: 15px;

        padding: 16px;
    }

    .public-site .forum-category-info-legend {
        display: grid;
        justify-content: stretch;

        gap: 10px;
    }

    .public-site .forum-category-info-item {
        justify-content: space-between;
    }

}



/* =========================================================
   FORUM – EDITOR PREMIUM UX
   ========================================================= */

.public-site .forum-editor-form {
    gap: 22px;
}


/* Schreibfelder */

.public-site .forum-editor-form input[type="text"],
.public-site .forum-editor-form select,
.public-site .forum-editor-form textarea {
    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.public-site .forum-editor-textarea {
    min-height: 220px;

    padding: 18px;

    line-height: 1.7;

    resize: vertical;

    background:
        rgba(5, 10, 15, .56);
}

.public-site .forum-editor-form
input[type="text"]:focus,
.public-site .forum-editor-form
select:focus,
.public-site .forum-editor-form
textarea:focus {
    border-color:
        rgba(255, 152, 0, .68);

    background:
        rgba(8, 14, 20, .72);

    box-shadow:
        0 0 0 3px
        rgba(255, 152, 0, .09);
}


/* Feld-Metadaten */

.public-site .forum-editor-field-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 14px;

    margin-top: 8px;
}

.public-site .forum-editor-field-meta small {
    margin: 0;

    color: #7f8b98;
}

.public-site .forum-char-counter {
    flex: 0 0 auto;

    color: #9da8b5;

    font-size: 12px;
    font-weight: 900;

    white-space: nowrap;
}

.public-site .forum-char-counter.is-near-limit {
    color: #ffb347;
}

.public-site .forum-char-counter.is-limit {
    color: #ff8585;
}


/* Schreib-Hilfe */

.public-site .forum-editor-guide {
    display: grid;
    gap: 6px;

    padding: 15px 17px;

    border:
        1px solid rgba(255, 152, 0, .14);

    border-radius: 12px;

    background:
        rgba(255, 152, 0, .045);
}

.public-site .forum-editor-guide strong {
    color: #ffad33;

    font-size: 13px;
    font-weight: 900;
}

.public-site .forum-editor-guide span {
    color: #8e9aa8;

    font-size: 13px;
    line-height: 1.55;
}

.public-site .forum-editor-guide-compact {
    margin-top: -4px;
}


/* Dropzone enger mit Editor verbinden */

.public-site .forum-editor-form
.forum-direct-attachment {
    margin-top: 2px;

    padding-top: 20px;

    border-top:
        1px solid rgba(255,255,255,.07);
}


/* =========================================================
   FORUM – NEUESTE THEMEN PREMIUM
   ========================================================= */

.public-site .forum-recent-topic-row {
    position: relative;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.public-site .forum-recent-topic-row:hover {
    transform: translateY(-1px);
}

.public-site .forum-recent-topic-pinned {
    border-color:
        rgba(255, 152, 0, .22);

    background:
        linear-gradient(
            110deg,
            rgba(255, 152, 0, .055),
            rgba(255, 255, 255, .018)
        );
}

.public-site .forum-recent-topic-pinned::before {
    content: "";

    position: absolute;

    top: 12px;
    bottom: 12px;
    left: 0;

    width: 3px;

    border-radius: 0 3px 3px 0;

    background: #ff9800;
}

.public-site .forum-recent-topic-row
.forum-topic-stats {
    align-items: flex-end;
}

.public-site .forum-recent-topic-row
.forum-topic-stats > span {
    white-space: nowrap;
}


/* Mobile */

@media (max-width: 760px) {

    .public-site .forum-editor-textarea {
        min-height: 260px;

        font-size: 16px;
    }

    .public-site .forum-editor-field-meta {
        align-items: flex-start;

        gap: 10px;
    }

    .public-site .forum-editor-guide {
        padding: 14px;
    }

    .public-site .forum-recent-topic-row
    .forum-topic-stats {
        align-items: flex-start;
    }

    .public-site .forum-recent-topic-row
    .forum-topic-stats > span {
        white-space: normal;
    }

}


/* =========================================================
   FORUM – EDITOR MOBILE COMPACT
   ========================================================= */

.public-site .forum-editor-form .forum-editor-textarea {
    min-height: 190px;
}

.public-site .forum-editor-field-meta {
    margin-top: 6px;
}

.public-site .forum-char-counter {
    min-width: 74px;
    text-align: right;
}

.public-site .forum-editor-guide {
    margin-top: -2px;
}

.public-site .forum-editor-form
.forum-direct-attachment {
    margin-top: 0;
    padding-top: 16px;
}


/* Titelbereich etwas kompakter */

.public-site .forum-editor-form
input[type="text"] {
    min-height: 52px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

    .public-site .forum-editor-form {
        gap: 18px;
    }

    .public-site .forum-editor-textarea {
        min-height: 180px !important;
        height: 180px;

        padding: 15px 16px;

        line-height: 1.6;
    }

    .public-site .forum-editor-textarea:focus {
        min-height: 230px !important;
        height: 230px;
    }

    .public-site .forum-editor-field-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;

        gap: 10px;

        margin-top: 7px;
    }

    .public-site .forum-editor-field-meta small {
        flex: 1 1 auto;
    }

    .public-site .forum-char-counter {
        flex: 0 0 auto;

        min-width: 68px;

        text-align: right;

        font-size: 11px;
    }

    .public-site .forum-editor-guide {
        gap: 4px;

        padding: 12px 13px;

        margin-top: -4px;
    }

    .public-site .forum-editor-guide strong {
        font-size: 12px;
    }

    .public-site .forum-editor-guide span {
        font-size: 12px;
        line-height: 1.5;
    }

    .public-site .forum-editor-form
    .forum-direct-attachment {
        padding-top: 14px;
    }

}



/* =========================================================
   FORUM – PUBLIC SEARCH
   ========================================================= */

.public-site .forum-home-search {
    margin: 8px 0 30px;
}

.public-site .forum-search-form {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 10px;
}

.public-site .forum-search-form label {
    min-width: 0;
}

.public-site .forum-search-form input[type="search"] {
    width: 100%;
    min-height: 48px;

    padding: 0 16px;

    border:
        1px solid rgba(255,255,255,.11);

    border-radius: 10px;

    background:
        rgba(5,10,15,.54);

    color: #f5f7fa;

    font: inherit;

    outline: none;

    -webkit-appearance: none;
    appearance: none;

    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.public-site
.forum-search-form
input[type="search"]:focus {
    border-color:
        rgba(255,152,0,.65);

    background:
        rgba(8,14,20,.72);

    box-shadow:
        0 0 0 3px
        rgba(255,152,0,.09);
}

.public-site
.forum-search-form
input[type="search"]::placeholder {
    color: #778493;
}


/* Suchseite */

.public-site .forum-search-hero {
    margin-bottom: 28px;
}

.public-site .forum-search-hero h1 {
    margin:
        8px 0 12px;

    color: #f5f7fa;

    font-size:
        clamp(38px, 6vw, 64px);

    line-height: 1.05;
}

.public-site .forum-search-hero > p {
    max-width: 760px;

    margin:
        0 0 24px;

    color: #98a4b1;

    line-height: 1.65;
}

.public-site .forum-search-form-large {
    max-width: 860px;
}


/* Zusammenfassung */

.public-site .forum-search-summary {
    display: flex;
    align-items: baseline;

    gap: 9px;

    margin:
        0 0 20px;

    color: #98a4b1;
}

.public-site .forum-search-summary strong {
    color: #ff9800;

    font-size: 25px;
    font-weight: 900;
}


/* Treffer */

.public-site .forum-search-results {
    display: grid;

    gap: 14px;
}

.public-site .forum-search-result {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 24px;

    padding: 24px;

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 15px;

    background:
        rgba(255,255,255,.025);

    color: inherit;

    text-decoration: none;

    overflow: hidden;

    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.public-site .forum-search-result:hover {
    border-color:
        rgba(255,152,0,.23);

    background:
        rgba(255,255,255,.04);

    transform:
        translateY(-1px);
}

.public-site .forum-search-result-pinned {
    border-color:
        rgba(255,152,0,.20);
}

.public-site
.forum-search-result-pinned::before {
    content: "";

    position: absolute;

    inset:
        10px auto 10px 0;

    width: 3px;

    border-radius:
        0 3px 3px 0;

    background:
        #ff9800;
}

.public-site
.forum-search-result-main {
    min-width: 0;
}

.public-site
.forum-search-result h2 {
    margin:
        0 0 8px;

    color:
        #f5f7fa;

    font-size:
        clamp(20px, 2.5vw, 27px);

    line-height:
        1.22;
}

.public-site
.forum-search-result-meta {
    margin:
        0;

    color:
        #85919e;

    font-size:
        13px;

    line-height:
        1.5;
}

.public-site
.forum-search-result-excerpt {
    margin:
        13px 0 0;

    color:
        #abb4bf;

    line-height:
        1.65;
}

.public-site
.forum-search-result-stats {
    display: grid;

    align-content: center;

    gap: 11px;

    min-width: 100px;

    text-align: right;
}

.public-site
.forum-search-result-stats span {
    color:
        #8995a2;

    font-size:
        12px;
}

.public-site
.forum-search-result-stats strong {
    display: block;

    color:
        #f1f4f7;

    font-size:
        19px;
}


/* Pagination */

.public-site .forum-pagination {
    display: flex;

    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 14px;

    margin-top: 28px;
}

.public-site
.forum-pagination-status {
    color:
        #8995a2;

    font-size:
        13px;
}

.public-site
.forum-pagination-status strong {
    color:
        #f5f7fa;
}


/* Screenreader */

.public-site .sr-only {
    position: absolute;

    width: 1px;
    height: 1px;

    padding: 0;
    margin: -1px;

    overflow: hidden;
    clip: rect(0,0,0,0);

    white-space: nowrap;

    border: 0;
}


/* Mobile */

@media (max-width: 760px) {

    .public-site .forum-home-search {
        margin-bottom: 24px;
    }

    .public-site .forum-search-form {
        grid-template-columns: 1fr;
    }

    .public-site
    .forum-search-form
    .forum-button {
        width: 100%;
    }

    .public-site .forum-search-result {
        grid-template-columns: 1fr;

        gap: 15px;

        padding: 20px 18px;
    }

    .public-site
    .forum-search-result-stats {
        display: flex;

        justify-content: space-between;

        min-width: 0;

        padding-top: 13px;

        border-top:
            1px solid rgba(255,255,255,.07);

        text-align: left;
    }

    .public-site
    .forum-search-result-stats strong {
        display: inline;

        margin-right: 4px;

        font-size: 14px;
    }

    .public-site .forum-pagination {
        display: grid;

        grid-template-columns: 1fr;

        text-align: center;
    }

    .public-site
    .forum-pagination
    .forum-button {
        width: 100%;
    }

}

