/*
===============================================================================
ABDL MAP 2.11.0
GLOBAL STYLESHEET
===============================================================================

STRUKTUR

01. DESIGN SYSTEM
02. RESET & BASIS
03. ACCESSIBILITY / UTILITIES
04. GLOBAL LAYOUT
05. NAVIGATION – FULL WIDTH
06. GLOBAL COMPONENTS

07. MAP – PAGE
08. MAP – FILTER
09. MAP – LAYER / LEAFLET / MARKER
10. MAP – RESULTS

11. ABOUT
12. KRABBELGRUPPE

13. KATEGORIEN
14. EINTRAG ERSTELLEN
15. NEUESTE EINTRÄGE
16. VERANSTALTUNGEN
17. EVENT EINTRAGEN

18. LINKVERZEICHNIS
19. LINK EINTRAGEN
20. LINK FORMULAR
21. LINK BEARBEITEN

22. FOOTER
23. RESPONSIVE
24. AKTUALITÄTSSTATUS
25. REDUCED MOTION

===============================================================================
*/

/* ==========================================================================
   ÖFFENTLICHES PROFIL – ABDL MAP 2.10
   ========================================================================== */

.page-profile {
    background: var(--bg);
}


/* PAGE */

.profile3-page {
    width: min(980px, calc(100% - 32px));
    margin: 28px auto 60px;
}


/* HERO */

.profile3-hero {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 22px;
    align-items: center;

    padding: 24px;

    background:
        linear-gradient(
            135deg,
            var(--surface) 0%,
            var(--purple-soft) 100%
        );

    border: 1px solid var(--purple-border);
    border-radius: 18px;

    box-shadow:
        0 6px 24px
        rgba(48, 45, 53, .055);
}


.profile3-avatar {
    width: 150px;
    height: 150px;

    object-fit: cover;

    background: var(--surface-muted);

    border: 4px solid var(--surface);
    border-radius: 50%;

    box-shadow:
        0 5px 18px
        rgba(48, 45, 53, .13);
}


.profile3-copy {
    min-width: 0;
}


.profile3-type {
    display: flex;
    align-items: center;
    gap: 5px;

    margin-bottom: 6px;

    color: var(--text-soft);

    font-size: .74rem;
    font-weight: 750;
}


.profile3-name {
    margin: 0;

    color: var(--text);

    font-size: clamp(1.8rem, 5vw, 2.7rem);
    line-height: 1.1;

    overflow-wrap: anywhere;
}


/* ROLES */

.profile3-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;

    margin-top: 13px;
}


.profile3-role {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    padding: 5px 8px;

    color: var(--purple-dark);

    background: var(--purple-soft);

    border: 1px solid var(--purple-border);
    border-radius: 999px;

    font-size: .7rem;
}


.profile3-role-primary {
    color: #ffffff;

    background: var(--purple);
    border-color: var(--purple);

    font-weight: 780;
}


/* META */

.profile3-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 15px;

    margin-top: 14px;

    color: var(--text-soft);

    font-size: .75rem;
}


/* ACTIONS */

.profile3-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 17px;
}


.profile3-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;
    padding: 8px 12px;

    color: var(--purple-dark);

    background: var(--purple-soft);

    border: 1px solid var(--purple-border);
    border-radius: 9px;

    font-size: .74rem;
    font-weight: 780;

    text-decoration: none;
}


.profile3-action:hover {
    color: var(--purple-dark);

    background: #eae5ff;

    text-decoration: none;
}


/* CONTENT GRID */

.profile3-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;

    margin-top: 16px;
}


.profile3-panel {
    min-width: 0;
    padding: 19px;

    background: var(--surface);

    border: 1px solid var(--border);
    border-radius: 14px;

    box-shadow:
        0 3px 14px
        rgba(48, 45, 53, .035);
}


.profile3-panel-wide {
    grid-column: 1 / -1;
}


.profile3-panel h2 {
    margin: 0 0 12px;

    color: var(--text);

    font-size: .94rem;
}


.profile3-text {
    margin: 0;

    color: var(--text-soft);

    font-size: .8rem;
    line-height: 1.65;

    white-space: pre-wrap;
    overflow-wrap: anywhere;
}


/* CONTACT */

.profile3-contact-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.profile3-contact-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 10px;

    align-items: start;
}


.profile3-contact-label {
    color: var(--text-muted);

    font-size: .72rem;
    font-weight: 750;
}


.profile3-contact-value {
    min-width: 0;

    color: var(--text);

    font-size: .76rem;

    overflow-wrap: anywhere;
}


.profile3-contact-value a {
    color: var(--purple-dark);
    text-decoration: none;
}


.profile3-contact-value a:hover {
    text-decoration: underline;
}


/* COMMUNITY LINKS */

.profile3-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


.profile3-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    min-width: 0;
    padding: 7px 10px;

    color: var(--purple-dark);

    background: var(--purple-soft);

    border: 1px solid var(--purple-border);
    border-radius: 9px;

    font-size: .73rem;

    text-decoration: none;
}


.profile3-link:hover {
    color: var(--purple-dark);

    background: #eae5ff;

    text-decoration: none;
}


.profile3-link-static {
    cursor: default;
}


/* PRIVACY */

.profile3-privacy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    margin-top: 16px;
    padding: 14px 16px;

    color: var(--text-soft);

    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 11px;
}


.profile3-privacy-icon {
    font-size: 1.1rem;
}


.profile3-privacy strong {
    display: block;

    color: var(--text);

    font-size: .75rem;
}


.profile3-privacy p {
    margin: 4px 0 0;

    font-size: .7rem;
    line-height: 1.55;
}


/* FOCUS */

.profile3-action:focus-visible,
.profile3-link:focus-visible {
    outline:
        3px solid
        rgba(118, 85, 246, .2);

    outline-offset: 2px;
}


/* RESPONSIVE */

@media (max-width: 700px) {

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

        text-align: center;
    }


    .profile3-avatar {
        margin: 0 auto;
    }


    .profile3-type,
    .profile3-roles,
    .profile3-meta,
    .profile3-actions {
        justify-content: center;
    }


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


    .profile3-panel-wide {
        grid-column: auto;
    }

}


@media (max-width: 480px) {

    .profile3-page {
        width: calc(100% - 20px);
        margin-top: 18px;
    }


    .profile3-hero,
    .profile3-panel {
        padding: 16px;
    }


    .profile3-avatar {
        width: 128px;
        height: 128px;
    }


    .profile3-contact-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }


    .profile3-actions {
        flex-direction: column;
    }


    .profile3-action {
        width: 100%;
        box-sizing: border-box;
    }

}

/* ==========================================================================
   EINTRÄGE – PRIVACY
   ========================================================================== */

.discover2-privacy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    margin-top: 18px;
    padding: 14px 16px;

    color: var(--text-soft);
    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 11px;
}

.discover2-privacy > span {
    font-size: 1.1rem;
}

.discover2-privacy strong {
    display: block;

    color: var(--text);
    font-size: .75rem;
}

.discover2-privacy p {
    margin: 4px 0 0;

    font-size: .7rem;
    line-height: 1.55;
}

/* ==========================================================================
   NEUESTE EINTRÄGE – PRIVACY NOTE
   ========================================================================== */

.latest2-privacy-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    margin: 16px 0;
    padding: 14px 16px;

    color: var(--text-soft);
    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 11px;
}

.latest2-privacy-note > span {
    font-size: 1.1rem;
}

.latest2-privacy-note strong {
    display: block;

    color: var(--text);
    font-size: .75rem;
}

.latest2-privacy-note p {
    margin: 4px 0 0;

    font-size: .7rem;
    line-height: 1.55;
}


/* ==========================================================================
   STARTSEITE – ABDL MAP 2.10
   ========================================================================== */

.page-home {
    background:
        var(--bg);
}


.home2-page {
    width:
        min(
            1180px,
            calc(100% - 32px)
        );

    margin:
        26px auto 60px;
}


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

.home2-hero {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(260px, .65fr);

    gap:
        28px;

    position:
        relative;

    overflow:
        hidden;

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

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf8ff 55%,
            var(--purple-soft) 100%
        );

    border:
        1px solid
        var(--purple-border);

    border-radius:
        24px;

    box-shadow:
        0 12px 38px
        rgba(48, 45, 53, .07);
}


.home2-hero::after {
    position:
        absolute;

    top:
        -120px;

    right:
        -90px;

    width:
        330px;

    height:
        330px;

    content:
        "";

    pointer-events:
        none;

    background:
        rgba(
            118,
            85,
            246,
            .07
        );

    border-radius:
        50%;
}


.home2-hero-content,
.home2-hero-panel {
    position:
        relative;

    z-index:
        1;
}


.home2-eyebrow {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        6px;

    margin-bottom:
        8px;

    color:
        var(--purple-dark);

    font-size:
        .7rem;

    font-weight:
        850;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}


.home2-hero h1 {
    max-width:
        760px;

    margin:
        0 0 16px;

    color:
        var(--text);

    font-size:
        clamp(
            2.15rem,
            5.5vw,
            3.6rem
        );

    line-height:
        1.07;

    letter-spacing:
        -.035em;
}


.home2-lead {
    max-width:
        720px;

    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        clamp(
            .95rem,
            1.8vw,
            1.08rem
        );

    line-height:
        1.7;
}


.home2-lead strong {
    color:
        var(--text);
}


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

.home2-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;

    margin-top:
        25px;
}


.home2-btn {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        44px;

    padding:
        10px 17px;

    border:
        1px solid transparent;

    border-radius:
        10px;

    font-size:
        .82rem;

    font-weight:
        800;

    line-height:
        1.2;

    text-decoration:
        none;

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


.home2-btn:hover {
    transform:
        translateY(-1px);

    text-decoration:
        none;
}


.home2-btn-primary {
    color:
        #ffffff;

    background:
        var(--purple);

    box-shadow:
        0 6px 17px
        rgba(
            118,
            85,
            246,
            .22
        );
}


.home2-btn-primary:hover {
    color:
        #ffffff;

    background:
        var(--purple-dark);
}


.home2-btn-secondary {
    color:
        var(--purple-dark);

    background:
        var(--surface);

    border-color:
        var(--purple-border);
}


.home2-btn-secondary:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);
}


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

.home2-stats {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        11px 24px;

    margin-top:
        27px;

    padding-top:
        21px;

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


.home2-stat {
    display:
        flex;

    align-items:
        baseline;

    gap:
        6px;
}


.home2-stat-number {
    color:
        var(--purple-dark);

    font-size:
        1.3rem;

    font-weight:
        900;
}


.home2-stat-label {
    color:
        var(--text-muted);

    font-size:
        .73rem;
}


/* ==========================================================================
   HERO 18+ PANEL
   ========================================================================== */

.home2-hero-panel {
    align-self:
        center;

    padding:
        20px;

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

    border:
        1px solid
        var(--purple-border);

    border-radius:
        16px;

    backdrop-filter:
        blur(8px);
}


.home2-hero-panel-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        45px;

    height:
        45px;

    margin-bottom:
        13px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        12px;

    font-size:
        1.25rem;
}


.home2-hero-panel-copy strong {
    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--text);

    font-size:
        .88rem;
}


.home2-hero-panel-copy p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .75rem;

    line-height:
        1.6;
}


.home2-hero-panel-link {
    display:
        inline-flex;

    margin-top:
        12px;

    color:
        var(--purple-dark);

    font-size:
        .72rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.home2-hero-panel-link:hover {
    text-decoration:
        underline;
}


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

.home2-section {
    margin-top:
        38px;
}


.home2-section-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        18px;

    margin-bottom:
        15px;
}


.home2-section-title {
    margin:
        0;

    color:
        var(--text);

    font-size:
        1.4rem;

    letter-spacing:
        -.015em;
}


.home2-section-subtitle {
    margin:
        5px 0 0;

    color:
        var(--text-soft);

    font-size:
        .8rem;

    line-height:
        1.55;
}


.home2-section-link {
    flex:
        0 0 auto;

    color:
        var(--purple-dark);

    font-size:
        .76rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.home2-section-link:hover {
    text-decoration:
        underline;
}


/* ==========================================================================
   QUICK CARDS
   ========================================================================== */

.home2-quick-grid {
    display:
        grid;

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

    gap:
        13px;
}


.home2-quick-card {
    display:
        flex;

    flex-direction:
        column;

    min-height:
        184px;

    padding:
        19px;

    color:
        inherit;

    background:
        var(--surface);

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

    border-radius:
        15px;

    box-shadow:
        0 3px 14px
        rgba(48, 45, 53, .035);

    text-decoration:
        none;

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


.home2-quick-card:hover {
    transform:
        translateY(-2px);

    color:
        inherit;

    border-color:
        var(--purple-border);

    box-shadow:
        0 10px 26px
        rgba(48, 45, 53, .08);

    text-decoration:
        none;
}


.home2-quick-icon {
    margin-bottom:
        14px;

    font-size:
        1.8rem;
}


.home2-quick-title {
    margin-bottom:
        6px;

    color:
        var(--text);

    font-size:
        .92rem;

    font-weight:
        850;
}


.home2-quick-text {
    color:
        var(--text-soft);

    font-size:
        .75rem;

    line-height:
        1.55;
}


.home2-quick-arrow {
    margin-top:
        auto;

    padding-top:
        14px;

    color:
        var(--purple-dark);

    font-size:
        .73rem;

    font-weight:
        800;
}


/* ==========================================================================
   LATEST ENTRIES
   ========================================================================== */

.home2-latest-grid {
    display:
        grid;

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

    gap:
        13px;
}


.home2-profile {
    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    padding:
        16px;

    background:
        var(--surface);

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

    border-radius:
        14px;

    box-shadow:
        0 3px 13px
        rgba(48, 45, 53, .035);
}


.home2-profile-head {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;
}


.home2-avatar {
    flex:
        0 0 auto;

    width:
        58px;

    height:
        58px;

    object-fit:
        cover;

    background:
        var(--surface-muted);

    border:
        2px solid
        #ffffff;

    border-radius:
        50%;

    box-shadow:
        0 2px 10px
        rgba(48, 45, 53, .12);
}


.home2-profile-copy {
    min-width:
        0;
}


.home2-profile-name {
    margin:
        0;

    overflow:
        hidden;

    color:
        var(--text);

    font-size:
        .92rem;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.home2-profile-type {
    margin-top:
        3px;

    color:
        var(--text-muted);

    font-size:
        .7rem;
}


.home2-profile-role {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        4px;

    align-self:
        flex-start;

    margin-top:
        11px;

    padding:
        5px 8px;

    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        999px;

    font-size:
        .69rem;
}


.home2-profile-location {
    margin-top:
        10px;

    overflow:
        hidden;

    color:
        var(--text-soft);

    font-size:
        .72rem;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.home2-profile-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        37px;

    margin-top:
        14px;

    padding:
        8px 11px;

    color:
        #ffffff;

    background:
        var(--purple);

    border-radius:
        9px;

    font-size:
        .73rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.home2-profile-link:hover {
    color:
        #ffffff;

    background:
        var(--purple-dark);

    text-decoration:
        none;
}


/* ==========================================================================
   ACTION CARDS
   ========================================================================== */

.home2-action-grid {
    display:
        grid;

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

    gap:
        13px;
}


.home2-action-card {
    display:
        flex;

    flex-direction:
        column;

    padding:
        20px;

    background:
        var(--surface);

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

    border-radius:
        15px;
}


.home2-action-icon {
    margin-bottom:
        10px;

    font-size:
        1.5rem;
}


.home2-action-card h3 {
    margin:
        0 0 7px;

    color:
        var(--text);

    font-size:
        .94rem;
}


.home2-action-card p {
    margin:
        0 0 16px;

    color:
        var(--text-soft);

    font-size:
        .75rem;

    line-height:
        1.58;
}


.home2-action-card .home2-btn {
    align-self:
        flex-start;

    margin-top:
        auto;
}


/* ==========================================================================
   INFO
   ========================================================================== */

.home2-info-grid {
    display:
        grid;

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

    gap:
        13px;
}


.home2-info {
    display:
        grid;

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

    gap:
        14px;

    padding:
        20px;

    background:
        var(--surface);

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

    border-radius:
        15px;
}


.home2-info-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        42px;

    height:
        42px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        11px;

    font-size:
        1.1rem;
}


.home2-info h2 {
    margin:
        0 0 7px;

    color:
        var(--text);

    font-size:
        .94rem;
}


.home2-info p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .75rem;

    line-height:
        1.62;
}


.home2-info a {
    display:
        inline-flex;

    margin-top:
        9px;

    color:
        var(--purple-dark);

    font-size:
        .71rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.home2-info a:hover {
    text-decoration:
        underline;
}


/* ==========================================================================
   COMMUNITY-EINTRÄGE – ABDL MAP 2.10
   ========================================================================== */

.page-entries {
    background:
        var(--bg);
}


.discover2-page {
    width:
        min(
            1200px,
            calc(100% - 32px)
        );

    margin:
        28px auto 60px;

    text-align:
        left;
}


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

.discover2-header {
    max-width:
        850px;

    margin:
        0 auto 24px;

    text-align:
        center;
}


.discover2-eyebrow {
    margin-bottom:
        6px;

    color:
        var(--purple-dark);

    font-size:
        .7rem;

    font-weight:
        850;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}


.discover2-header h1 {
    margin:
        0 0 9px;

    color:
        var(--text);

    font-size:
        clamp(
            1.9rem,
            4vw,
            2.7rem
        );

    line-height:
        1.12;

    letter-spacing:
        -.025em;
}


.discover2-title-category {
    color:
        var(--purple-dark);
}


.discover2-header p {
    max-width:
        760px;

    margin:
        0 auto;

    color:
        var(--text-soft);

    font-size:
        .86rem;

    line-height:
        1.65;
}


.discover2-header-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        center;

    gap:
        9px;

    margin-top:
        18px;
}


.discover2-header-action {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        41px;

    padding:
        8px 14px;

    border:
        1px solid transparent;

    border-radius:
        9px;

    font-size:
        .77rem;

    font-weight:
        800;

    text-decoration:
        none;

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


.discover2-header-action:hover {
    transform:
        translateY(-1px);

    text-decoration:
        none;
}


.discover2-header-action-primary {
    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);
}


.discover2-header-action-primary:hover {
    color:
        #ffffff;

    background:
        var(--purple-dark);

    border-color:
        var(--purple-dark);
}


.discover2-header-action-secondary {
    color:
        var(--purple-dark);

    background:
        var(--surface);

    border-color:
        var(--purple-border);
}


.discover2-header-action-secondary:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);
}


/* ==========================================================================
   FILTER
   ========================================================================== */

.discover2-filterbox {
    margin-bottom:
        22px;

    padding:
        19px;

    background:
        var(--surface);

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

    border-radius:
        16px;

    box-shadow:
        0 5px 20px
        rgba(48, 45, 53, .045);
}


.discover2-form {
    display:
        block;

    width:
        100%;

    margin:
        0;

    text-align:
        left;
}


.discover2-form label {
    margin:
        0;

    font-weight:
        inherit;
}


.discover2-filter-top {
    display:
        grid;

    grid-template-columns:
        minmax(0, 2fr)
        minmax(160px, .8fr)
        minmax(175px, .85fr)
        auto;

    gap:
        10px;

    align-items:
        end;
}


.discover2-field {
    min-width:
        0;
}


.discover2-field-label {
    display:
        block;

    margin-bottom:
        6px !important;

    color:
        var(--text-soft);

    font-size:
        .72rem;

    font-weight:
        750 !important;
}


.discover2-input,
.discover2-select {
    width:
        100% !important;

    height:
        42px;

    margin:
        0 !important;

    padding:
        8px 10px !important;

    color:
        var(--text);

    background:
        var(--surface);

    border:
        1px solid
        var(--border-strong) !important;

    border-radius:
        9px !important;

    font:
        inherit;

    font-size:
        .8rem;
}


.discover2-input:focus,
.discover2-select:focus {
    border-color:
        var(--purple) !important;

    outline:
        3px solid
        rgba(118, 85, 246, .12);
}


.discover2-submit {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        42px;

    margin:
        0 !important;

    padding:
        8px 15px !important;

    color:
        #ffffff;

    background:
        var(--purple) !important;

    border:
        1px solid
        var(--purple);

    border-radius:
        9px !important;

    font-size:
        .78rem;

    font-weight:
        800;

    cursor:
        pointer;
}


.discover2-submit:hover {
    background:
        var(--purple-dark) !important;

    border-color:
        var(--purple-dark);
}


/* ==========================================================================
   ROLE FILTER
   ========================================================================== */

.discover2-role-section {
    margin-top:
        17px;

    padding-top:
        16px;

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


.discover2-role-head {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    margin-bottom:
        10px;
}


.discover2-role-title {
    color:
        var(--text);

    font-size:
        .78rem;

    font-weight:
        850;
}


.discover2-role-help {
    color:
        var(--text-muted);

    font-size:
        .7rem;
}


.discover2-role-grid {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        7px;
}


.discover2-role {
    position:
        relative;

    display:
        inline-flex;

    align-items:
        center;
}


.discover2-role input {
    position:
        absolute;

    width:
        1px !important;

    height:
        1px !important;

    opacity:
        0;
}


.discover2-role > span {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    min-height:
        32px;

    padding:
        5px 10px;

    color:
        var(--text-soft);

    background:
        var(--surface-soft);

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

    border-radius:
        999px;

    font-size:
        .72rem;

    cursor:
        pointer;

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


.discover2-role:hover > span {
    border-color:
        var(--purple-border);

    background:
        var(--purple-soft);
}


.discover2-role input:checked + span {
    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);
}


.discover2-role input:focus-visible + span {
    outline:
        3px solid
        rgba(118, 85, 246, .22);

    outline-offset:
        2px;
}


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

.discover2-filter-footer {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    margin-top:
        15px;
}


.discover2-filter-summary {
    color:
        var(--text-soft);

    font-size:
        .74rem;
}


.discover2-filter-summary strong {
    color:
        var(--text);
}


.discover2-reset {
    flex:
        0 0 auto;

    color:
        var(--purple-dark);

    font-size:
        .73rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.discover2-reset:hover {
    text-decoration:
        underline;
}


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

.discover2-results-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        14px;
}


.discover2-result-count {
    color:
        var(--text);

    font-size:
        1rem;

    font-weight:
        850;
}


.discover2-result-info {
    margin-top:
        2px;

    color:
        var(--text-muted);

    font-size:
        .73rem;
}


.discover2-map-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        39px;

    padding:
        7px 12px;

    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        9px;

    font-size:
        .75rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.discover2-map-link:hover {
    color:
        var(--purple-dark);

    background:
        #ebe6ff;

    text-decoration:
        none;
}


/* ==========================================================================
   GRID
   ========================================================================== */

.discover2-grid {
    display:
        grid;

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

    gap:
        14px;
}


/* ==========================================================================
   CARD
   ========================================================================== */

.discover2-card {
    display:
        flex;

    flex-direction:
        column;

    min-width:
        0;

    min-height:
        260px;

    padding:
        17px;

    background:
        var(--surface);

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

    border-radius:
        15px;

    box-shadow:
        0 3px 14px
        rgba(48, 45, 53, .04);

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


.discover2-card:hover {
    transform:
        translateY(-2px);

    border-color:
        var(--purple-border);

    box-shadow:
        0 10px 28px
        rgba(48, 45, 53, .085);
}


.discover2-card-head {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;
}


.discover2-avatar {
    flex:
        0 0 auto;

    width:
        66px;

    height:
        66px;

    object-fit:
        cover;

    background:
        var(--surface-muted);

    border:
        2px solid
        #ffffff;

    border-radius:
        50%;

    box-shadow:
        0 3px 12px
        rgba(48, 45, 53, .12);
}


.discover2-card-copy {
    min-width:
        0;
}


.discover2-name {
    margin:
        0;

    overflow:
        hidden;

    color:
        var(--text);

    font-size:
        1rem;

    line-height:
        1.25;

    text-align:
        left;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.discover2-type {
    display:
        flex;

    align-items:
        center;

    gap:
        4px;

    margin-top:
        4px;

    color:
        var(--text-muted);

    font-size:
        .73rem;
}


/* ==========================================================================
   CARD ROLES
   ========================================================================== */

.discover2-card-roles {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;

    margin-top:
        13px;
}


.discover2-card-role {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        4px;

    padding:
        4px 8px;

    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        999px;

    font-size:
        .7rem;
}


.discover2-card-role-primary {
    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);

    font-weight:
        800;
}


.discover2-primary-marker {
    margin-left:
        1px;

    font-size:
        .65rem;
}


/* ==========================================================================
   META
   ========================================================================== */

.discover2-meta {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        6px 12px;

    margin-top:
        12px;

    color:
        var(--text-soft);

    font-size:
        .73rem;
}


/* ==========================================================================
   ACTIONS
   ========================================================================== */

.discover2-actions {
    display:
        flex;

    gap:
        7px;

    margin-top:
        auto;

    padding-top:
        16px;
}


.discover2-action {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        37px;

    padding:
        7px 11px;

    border:
        1px solid transparent;

    border-radius:
        8px;

    font-size:
        .74rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.discover2-action-profile {
    flex:
        1;

    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);
}


.discover2-action-profile:hover {
    color:
        #ffffff;

    background:
        var(--purple-dark);

    border-color:
        var(--purple-dark);

    text-decoration:
        none;
}


.discover2-action-map {
    color:
        var(--text-soft);

    background:
        var(--surface-muted);

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


.discover2-action-map:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border-color:
        var(--purple-border);

    text-decoration:
        none;
}


/* ==========================================================================
   EMPTY
   ========================================================================== */

.discover2-empty {
    grid-column:
        1 / -1;

    padding:
        42px 22px;

    color:
        var(--text-soft);

    background:
        var(--surface);

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

    border-radius:
        15px;

    text-align:
        center;
}


.discover2-empty-icon {
    margin-bottom:
        8px;

    font-size:
        2.1rem;
}


.discover2-empty h2 {
    margin:
        0 0 6px;

    color:
        var(--text);

    font-size:
        1rem;
}


.discover2-empty p {
    margin:
        0;

    font-size:
        .78rem;

    line-height:
        1.55;
}


.discover2-empty-actions {
    display:
        flex;

    justify-content:
        center;

    gap:
        8px;

    margin-top:
        15px;
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.discover2-pagination {
    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    justify-content:
        center;

    gap:
        5px;

    margin-top:
        26px;
}


.discover2-page-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        36px;

    min-height:
        36px;

    padding:
        5px 8px;

    color:
        var(--text-soft);

    background:
        var(--surface);

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

    border-radius:
        8px;

    font-size:
        .73rem;

    font-weight:
        750;

    text-decoration:
        none;
}


a.discover2-page-link:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border-color:
        var(--purple-border);

    text-decoration:
        none;
}


.discover2-page-current {
    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);
}


.discover2-page-arrow {
    font-size:
        .9rem;
}


.discover2-page-dots {
    padding:
        0 3px;

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


/* ==========================================================================
   FOOT CTA
   ========================================================================== */

.discover2-footer-cta {
    display:
        grid;

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

    gap:
        15px;

    align-items:
        center;

    margin-top:
        34px;

    padding:
        21px 23px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        16px;
}


.discover2-footer-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        46px;

    height:
        46px;

    background:
        var(--surface);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        12px;

    font-size:
        1.25rem;
}


.discover2-footer-copy h2 {
    margin:
        0 0 5px;

    color:
        var(--text);

    font-size:
        1rem;
}


.discover2-footer-copy p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .74rem;

    line-height:
        1.55;
}


/* ==========================================================================
   ACCESSIBILITY
   ========================================================================== */

.discover2-page a:focus-visible,
.discover2-page button:focus-visible {
    outline:
        3px solid
        rgba(118, 85, 246, .25);

    outline-offset:
        3px;
}


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

@media (max-width: 1000px) {

    .discover2-filter-top {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


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

}


@media (max-width: 700px) {

    .discover2-page {
        width:
            min(
                100% - 22px,
                1200px
            );

        margin-top:
            20px;
    }


    .discover2-filter-top {
        grid-template-columns:
            1fr;
    }


    .discover2-submit {
        width:
            100%;
    }


    .discover2-role-head,
    .discover2-filter-footer,
    .discover2-results-head {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


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


    .discover2-map-link {
        width:
            100%;
    }


    .discover2-footer-cta {
        grid-template-columns:
            auto minmax(0, 1fr);
    }


    .discover2-footer-cta
    > .discover2-header-action {
        grid-column:
            1 / -1;

        width:
            100%;
    }

}


@media (max-width: 460px) {

    .discover2-header-actions {
        flex-direction:
            column;
    }


    .discover2-header-action {
        width:
            100%;
    }


    .discover2-actions,
    .discover2-empty-actions {
        flex-direction:
            column;
    }


    .discover2-action {
        width:
            100%;
    }


    .discover2-filterbox {
        padding:
            15px;
    }


    .discover2-card {
        padding:
            15px;
    }


    .discover2-avatar {
        width:
            60px;

        height:
            60px;
    }


    .discover2-footer-cta {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================================
   EVENT BEARBEITEN – ABDL MAP 2.10
   ========================================================================== */

.page-edit-event {
    background: var(--bg);
}


.edit-event6-page {
    width: min(920px, calc(100% - 32px));
    margin: 28px auto 60px;
}


/* HEADER */

.edit-event6-header {
    max-width: 760px;
    margin: 0 auto 22px;
    text-align: center;
}


.edit-event6-eyebrow {
    margin-bottom: 6px;

    color: var(--purple-dark);

    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}


.edit-event6-header h1,
.deleted-event6-card h1 {
    margin: 0 0 8px;

    color: var(--text);

    font-size: clamp(1.8rem, 4vw, 2.55rem);
    line-height: 1.12;
}


.edit-event6-header p {
    margin: 0;

    color: var(--text-soft);

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


/* STATUS / NOTICE */

.edit-event6-status,
.edit-event6-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    margin-bottom: 14px;
    padding: 13px 15px;

    border-radius: 11px;

    font-size: .77rem;
    line-height: 1.55;
}


.edit-event6-status strong,
.edit-event6-notice strong {
    display: block;
    margin-bottom: 2px;
}


.edit-event6-notice p {
    margin: 0;
}


.edit-event6-status-active,
.edit-event6-notice-success {
    color: #32664c;
    background: #f0faf4;
    border: 1px solid #cce7d5;
}


.edit-event6-status-cancelled,
.edit-event6-notice-warning {
    color: #805247;
    background: #fff7ee;
    border: 1px solid #efd8bd;
}


.edit-event6-status-private {
    color: var(--purple-dark);
    background: var(--purple-soft);
    border: 1px solid var(--purple-border);
}


/* FORM */

.edit-event6-form {
    display: block;
}


.edit-event6-section {
    margin-bottom: 14px;
    padding: 20px;

    background: var(--surface);

    border: 1px solid var(--border);
    border-radius: 15px;

    box-shadow:
        0 3px 15px
        rgba(48, 45, 53, .035);
}


.edit-event6-section-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;

    margin-bottom: 17px;
}


.edit-event6-section-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    background: var(--purple-soft);
    border: 1px solid var(--purple-border);
    border-radius: 10px;
}


.edit-event6-section-head h2 {
    margin: 0 0 3px;

    color: var(--text);

    font-size: .96rem;
}


.edit-event6-section-head p {
    margin: 0;

    color: var(--text-soft);

    font-size: .74rem;
    line-height: 1.5;
}


/* GRID */

.edit-event6-grid {
    display: grid;
    gap: 13px;
}


.edit-event6-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


.edit-event6-field-wide {
    grid-column: 1 / -1;
}


/* FIELDS */

.edit-event6-field label {
    display: block;
    margin-bottom: 6px;

    color: var(--text);

    font-size: .75rem;
    font-weight: 780;
}


.edit-event6-field input[type="text"],
.edit-event6-field input[type="url"],
.edit-event6-field input[type="date"],
.edit-event6-field input[type="time"],
.edit-event6-field input[type="file"],
.edit-event6-field select,
.edit-event6-field textarea,
.edit-event6-section select {
    width: 100%;
    box-sizing: border-box;

    margin: 0;

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

    border: 1px solid var(--border-strong);
    border-radius: 9px;

    font: inherit;
    font-size: .8rem;
}


.edit-event6-field input[type="text"],
.edit-event6-field input[type="url"],
.edit-event6-field input[type="date"],
.edit-event6-field input[type="time"],
.edit-event6-field select,
.edit-event6-section select {
    min-height: 42px;
    padding: 8px 10px;
}


.edit-event6-field textarea {
    min-height: 150px;
    padding: 10px 11px;

    line-height: 1.55;
    resize: vertical;
}


.edit-event6-field input[type="file"] {
    padding: 8px;
}


.edit-event6-field input:focus,
.edit-event6-field textarea:focus,
.edit-event6-field select:focus {
    border-color: var(--purple);

    outline:
        3px solid
        rgba(118, 85, 246, .12);
}


.edit-event6-help {
    display: block;
    margin-top: 6px;

    color: var(--text-muted);

    font-size: .69rem;
    line-height: 1.45;
}


/* VISIBILITY */

.edit-event6-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
}


.edit-event6-choice {
    position: relative;
    display: block;
}


.edit-event6-choice > input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
}


.edit-event6-choice-body {
    display: block;
    min-height: 100%;

    padding: 15px;

    background: var(--surface-soft);

    border: 1px solid var(--border);
    border-radius: 11px;

    cursor: pointer;

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


.edit-event6-choice-body strong {
    display: block;
    margin-bottom: 5px;

    color: var(--text);

    font-size: .8rem;
}


.edit-event6-choice-body small {
    display: block;

    color: var(--text-soft);

    font-size: .7rem;
    line-height: 1.5;
}


.edit-event6-choice > input:checked + .edit-event6-choice-body {
    background: var(--purple-soft);
    border-color: var(--purple);

    box-shadow:
        inset 0 0 0 1px
        var(--purple);
}


.edit-event6-choice > input:focus-visible + .edit-event6-choice-body {
    outline:
        3px solid
        rgba(118, 85, 246, .22);

    outline-offset: 2px;
}


/* PRIVATE LINK */

.edit-event6-private-link {
    margin-top: 13px;
    padding: 13px 14px;

    background: var(--purple-soft);

    border: 1px solid var(--purple-border);
    border-radius: 10px;
}


.edit-event6-private-link strong {
    color: var(--purple-dark);

    font-size: .75rem;
}


.edit-event6-private-link p {
    margin: 4px 0 8px;

    color: var(--text-soft);

    font-size: .7rem;
}


.edit-event6-private-link code {
    display: block;
    overflow-wrap: anywhere;

    padding: 8px 10px;

    color: var(--text);

    background: var(--surface);

    border: 1px solid var(--border);
    border-radius: 7px;

    font-size: .68rem;
}


/* IMAGE */

.edit-event6-image-layout {
    display: grid;
    grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}


.edit-event6-image-layout
.edit-event6-image-controls:only-child {
    grid-column: 1 / -1;
}


.edit-event6-image-preview {
    overflow: hidden;

    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 12px;
}


.edit-event6-image-preview img {
    display: block;

    width: 100%;
    aspect-ratio: 16 / 10;

    object-fit: cover;
}


.edit-event6-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 13px;

    color: var(--text-soft);

    font-size: .73rem;
    cursor: pointer;
}


.edit-event6-check input {
    width: auto;
    margin: 0;
}


/* DATA NOTE */

.edit-event6-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;

    margin-bottom: 15px;
    padding: 14px 16px;

    color: var(--text-soft);

    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 11px;
}


.edit-event6-note-icon {
    font-size: 1.1rem;
}


.edit-event6-note strong {
    display: block;

    color: var(--text);

    font-size: .76rem;
}


.edit-event6-note p {
    margin: 4px 0 0;

    font-size: .71rem;
    line-height: 1.55;
}


/* BUTTONS */

.edit-event6-actions,
.edit-event6-danger-actions,
.deleted-event6-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


.edit-event6-actions {
    margin: 18px 0 28px;
}


.edit-event6-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 41px;
    box-sizing: border-box;

    padding: 8px 14px;

    border: 1px solid transparent;
    border-radius: 9px;

    font: inherit;
    font-size: .75rem;
    font-weight: 800;

    text-decoration: none;
    cursor: pointer;
}


.edit-event6-button:hover {
    text-decoration: none;
}


.edit-event6-button-primary {
    color: #ffffff;

    background: var(--purple);
    border-color: var(--purple);
}


.edit-event6-button-primary:hover {
    color: #ffffff;
    background: var(--purple-dark);
}


.edit-event6-button-secondary {
    color: var(--purple-dark);

    background: var(--surface);
    border-color: var(--purple-border);
}


.edit-event6-button-secondary:hover {
    color: var(--purple-dark);
    background: var(--purple-soft);
}


.edit-event6-button-success {
    color: #ffffff;

    background: #398a55;
    border-color: #398a55;
}


.edit-event6-button-success:hover {
    color: #ffffff;
    background: #2f7447;
}


.edit-event6-button-warning {
    color: #7a541a;

    background: #fff5df;
    border-color: #ebd198;
}


.edit-event6-button-warning:hover {
    color: #68440e;
    background: #ffedc6;
}


.edit-event6-button-danger {
    color: #9b3845;

    background: #fff3f4;
    border-color: #ecc8ce;
}


.edit-event6-button-danger:hover {
    color: #842c38;
    background: #ffe6e9;
}


/* DANGER ZONE */

.edit-event6-danger-zone {
    padding: 19px;

    background: #fffafa;

    border: 1px solid #ecd7da;
    border-radius: 14px;
}


.edit-event6-danger-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    margin-bottom: 14px;
}


.edit-event6-danger-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background: #fff0f2;
    border-radius: 9px;
}


.edit-event6-danger-head h2 {
    margin: 0 0 3px;

    color: var(--text);

    font-size: .9rem;
}


.edit-event6-danger-head p,
.edit-event6-danger-help {
    margin: 0;

    color: var(--text-soft);

    font-size: .7rem;
    line-height: 1.5;
}


.edit-event6-danger-help {
    margin-top: 10px;
}


/* DELETED */

.deleted-event6-page {
    width: min(760px, calc(100% - 32px));
    margin: 34px auto 60px;
}


.deleted-event6-card {
    padding: 28px;

    background: var(--surface);

    border: 1px solid var(--border);
    border-radius: 17px;

    box-shadow:
        0 7px 25px
        rgba(48, 45, 53, .06);

    text-align: center;
}


.deleted-event6-icon {
    margin-bottom: 8px;

    font-size: 2.5rem;
}


.deleted-event6-title {
    margin: 12px 0;

    color: var(--text-soft);

    font-size: 1rem;
    font-weight: 800;
}


.deleted-event6-lead {
    color: var(--text-soft);

    font-size: .78rem;
    line-height: 1.6;
}


.deleted-event6-notice {
    margin-top: 18px;
    padding: 15px;

    border-radius: 11px;

    font-size: .76rem;
    line-height: 1.55;
}


.deleted-event6-notice p {
    margin: 7px 0 0;
}


.deleted-event6-notice-success {
    color: #32664c;

    background: #f0faf4;
    border: 1px solid #cce7d5;
}


.deleted-event6-notice-danger {
    color: #8a3845;

    background: #fff3f4;
    border: 1px solid #ecc8ce;
}


.deleted-event6-actions {
    justify-content: center;
    margin-top: 18px;
}


.deleted-event6-info {
    margin-top: 20px;
    padding: 14px;

    color: var(--text-soft);

    background: var(--surface-muted);

    border: 1px solid var(--border);
    border-radius: 10px;

    font-size: .72rem;
    line-height: 1.55;

    text-align: left;
}


.deleted-event6-info strong {
    color: var(--text);
}


.deleted-event6-info p {
    margin: 6px 0 0;
}


/* RESPONSIVE */

@media (max-width: 720px) {

    .edit-event6-grid-two,
    .edit-event6-choice-grid,
    .edit-event6-image-layout {
        grid-template-columns: 1fr;
    }


    .edit-event6-field-wide {
        grid-column: auto;
    }

}


@media (max-width: 560px) {

    .edit-event6-page,
    .deleted-event6-page {
        width: calc(100% - 20px);
        margin-top: 18px;
    }


    .edit-event6-section,
    .deleted-event6-card {
        padding: 16px;
    }


    .edit-event6-actions,
    .edit-event6-danger-actions,
    .deleted-event6-actions {
        flex-direction: column;
    }


    .edit-event6-button {
        width: 100%;
    }

}


/* ==========================================================================
   COMMUNITY BANNER
   ========================================================================== */

.home2-community-banner {
    display:
        grid;

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

    gap:
        16px;

    align-items:
        center;

    margin-top:
        38px;

    padding:
        21px 23px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        16px;
}


.home2-community-banner-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px;

    height:
        48px;

    background:
        var(--surface);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        12px;

    font-size:
        1.35rem;
}


.home2-community-banner h2 {
    margin:
        0 0 5px;

    color:
        var(--text);

    font-size:
        1rem;
}


.home2-community-banner p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .74rem;

    line-height:
        1.55;
}


/* ==========================================================================
   SUPPORT
   ========================================================================== */

.home2-support {
    margin-top:
        38px;

    padding:
        25px;

    background:
        linear-gradient(
            135deg,
            var(--purple-soft),
            var(--surface)
        );

    border:
        1px solid
        var(--purple-border);

    border-radius:
        16px;

    text-align:
        center;
}


.home2-support h2 {
    margin:
        3px 0 8px;

    color:
        var(--text);

    font-size:
        1.15rem;
}


.home2-support p {
    max-width:
        700px;

    margin:
        0 auto;

    color:
        var(--text-soft);

    font-size:
        .78rem;

    line-height:
        1.65;
}


.home2-support-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        41px;

    margin-top:
        15px;

    padding:
        9px 15px;

    color:
        #ffffff;

    background:
        var(--purple);

    border-radius:
        9px;

    font-size:
        .77rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.home2-support-link:hover {
    color:
        #ffffff;

    background:
        var(--purple-dark);

    text-decoration:
        none;
}


/* ==========================================================================
   FOCUS
   ========================================================================== */

.home2-page a:focus-visible {
    outline:
        3px solid
        rgba(
            118,
            85,
            246,
            .28
        );

    outline-offset:
        3px;
}


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

@media
(max-width: 980px) {

    .home2-hero {
        grid-template-columns:
            1fr;
    }


    .home2-hero-panel {
        max-width:
            620px;
    }


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


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

}


@media
(max-width: 760px) {

    .home2-action-grid {
        grid-template-columns:
            1fr;
    }


    .home2-info-grid {
        grid-template-columns:
            1fr;
    }


    .home2-community-banner {
        grid-template-columns:
            auto minmax(0, 1fr);
    }


    .home2-community-banner .home2-btn {
        grid-column:
            1 / -1;

        justify-self:
            stretch;
    }

}


@media
(max-width: 620px) {

    .home2-page {
        width:
            min(
                100% - 20px,
                1180px
            );

        margin-top:
            14px;
    }


    .home2-hero {
        padding:
            27px 20px;

        border-radius:
            18px;
    }


    .home2-hero h1 {
        font-size:
            clamp(
                1.85rem,
                10vw,
                2.55rem
            );
    }


    .home2-actions {
        flex-direction:
            column;
    }


    .home2-btn {
        width:
            100%;
    }


    .home2-section-head {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .home2-quick-grid,
    .home2-latest-grid {
        grid-template-columns:
            1fr;
    }


    .home2-quick-card {
        min-height:
            auto;
    }


    .home2-community-banner {
        grid-template-columns:
            1fr;
    }


    .home2-community-banner-icon {
        width:
            44px;

        height:
            44px;
    }

}


/* ==========================================================================
   01. DESIGN SYSTEM
   ========================================================================== */

:root {

    /* ----------------------------------------------------------------------
       Grundflächen
       ---------------------------------------------------------------------- */

    --bg: #f6f7fb;

    --surface: #ffffff;
    --surface-soft: #fafafe;
    --surface-muted: #f2f3f7;


    /* ----------------------------------------------------------------------
       Linien
       ---------------------------------------------------------------------- */

    --border: #e2e4eb;
    --border-strong: #d5d8e2;


    /* ----------------------------------------------------------------------
       Text
       ---------------------------------------------------------------------- */

    --text: #302d35;
    --text-soft: #666b76;
    --text-muted: #898e99;


    /* ----------------------------------------------------------------------
       Primärfarbe
       ---------------------------------------------------------------------- */

    --purple: #7655f6;
    --purple-dark: #6040df;
    --purple-soft: #f2efff;
    --purple-border: #ddd5ff;


    /* ----------------------------------------------------------------------
       Statusfarben
       ---------------------------------------------------------------------- */

    --green: #397b5c;
    --green-soft: #edf8f2;

    --orange: #bf782e;
    --orange-soft: #fff4e7;

    --red: #a94455;
    --red-soft: #fff1f3;


    /* ----------------------------------------------------------------------
       Schatten
       ---------------------------------------------------------------------- */

    --shadow-xs:
        0 2px 7px
        rgba(30, 26, 45, .035);

    --shadow-sm:
        0 5px 18px
        rgba(30, 26, 45, .055);

    --shadow-md:
        0 12px 32px
        rgba(30, 26, 45, .085);


    /* ----------------------------------------------------------------------
       Radien
       ---------------------------------------------------------------------- */

    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 18px;
    --radius-xl: 24px;


    /* ----------------------------------------------------------------------
       Layout
       ---------------------------------------------------------------------- */

    --content-width: 1180px;


    /* ----------------------------------------------------------------------
       Typografie
       ---------------------------------------------------------------------- */

    --font-xs: .58rem;
    --font-sm: .66rem;
    --font-base: .76rem;
    --font-md: .9rem;


    /* ----------------------------------------------------------------------
       Animation
       ---------------------------------------------------------------------- */

    --transition: 160ms ease;
}



/* ==========================================================================
   02. RESET & BASIS
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    width: 100%;
    min-height: 100%;

    margin: 0;
    padding: 0;

    scroll-behavior: smooth;
}


body {
    width: 100%;
    min-width: 0;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    color: var(--text);

    background: var(--bg);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


img {
    display: block;

    max-width: 100%;
    height: auto;
}


button,
input,
select,
textarea {
    font: inherit;
}


button {
    touch-action: manipulation;
}


a {
    color: var(--purple-dark);
}


[hidden] {
    display: none !important;
}



/* ==========================================================================
   03. ACCESSIBILITY / UTILITIES
   ========================================================================== */

.visually-hidden {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


.skip-link {
    position: fixed;

    top: 10px;
    left: 10px;

    z-index: 99999;

    padding:
        9px 12px;

    color: #ffffff;

    background: var(--purple-dark);

    border-radius: 8px;

    text-decoration: none;

    transform:
        translateY(-160%);

    transition:
        transform var(--transition);
}


.skip-link:focus {
    transform:
        translateY(0);
}



/* ==========================================================================
   04. GLOBAL LAYOUT
   ========================================================================== */

.container {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;
}


.page-map .container {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}



/* ==========================================================================
   05. NAVIGATION – FULL WIDTH
   ========================================================================== */

.topnav {
    position: relative;

    z-index: 1000;

    width: 100%;

    margin: 0;
    padding: 0;

    background: #ffffff;

    border-bottom:
        1px solid var(--border);

    box-shadow:
        0 3px 12px
        rgba(35, 28, 50, .04);
}


/* --------------------------------------------------------------------------
   INNER
   -------------------------------------------------------------------------- */

.nav-inner {
    display: flex;
    align-items: stretch;

    gap: 3px;

    width: 100%;
    max-width: none;

    min-height: 58px;

    margin: 0;

    padding:
        0 28px;

    overflow: visible;
}


/* --------------------------------------------------------------------------
   HAUPTLINKS
   -------------------------------------------------------------------------- */

.nav-inner > a,
.nav-inner > a:link,
.nav-inner > a:visited,
.nav-inner .dropbtn {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    min-height: 58px;

    margin: 0;

    padding:
        0 15px;

    color: #504a58;

    background: transparent;

    border: 0;
    border-radius: 0;

    appearance: none;
    -webkit-appearance: none;

    font-size: 14px;
    font-weight: 750;

    line-height: 1;

    white-space: nowrap;

    text-decoration: none !important;

    cursor: pointer;

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


.nav-inner > a:hover,
.nav-inner > a:focus,
.nav-inner .dropbtn:hover,
.nav-inner .dropbtn:focus {
    color: #6548dd;

    background: #faf8ff;

    text-decoration: none !important;
}


/* --------------------------------------------------------------------------
   AKTIV
   -------------------------------------------------------------------------- */

.nav-inner > a.active,
.nav-inner > a.active:link,
.nav-inner > a.active:visited,
.nav-inner .dropbtn.active {
    color: #6042d0;

    background: #f3efff;

    text-decoration: none !important;
}


.nav-inner > a.active::after,
.nav-inner .dropbtn.active::after {
    content: "";

    position: absolute;

    left: 14px;
    right: 14px;
    bottom: 0;

    height: 3px;

    background: var(--purple);

    border-radius:
        3px 3px 0 0;
}


/* --------------------------------------------------------------------------
   DROPDOWN
   -------------------------------------------------------------------------- */

.nav-inner .dropdown {
    position: relative;

    display: flex;
    align-items: stretch;
}


.nav-inner .dropdown-content {
    position: absolute;

    top: 100%;
    left: 0;

    z-index: 2000;

    display: none;

    min-width: 210px;
    max-width: 320px;

    padding: 7px;

    background: #ffffff;

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

    border-radius:
        0 0 11px 11px;

    box-shadow:
        0 12px 32px
        rgba(35, 28, 50, .13);
}


.nav-inner .dropdown:hover > .dropdown-content,
.nav-inner .dropdown:focus-within > .dropdown-content {
    display: block;
}


.nav-inner .dropdown-content a {
    display: flex;

    align-items: center;

    gap: 7px;

    width: 100%;

    min-height: 36px;

    padding:
        8px 10px;

    color: #514b58;

    background: transparent;

    border-radius: 7px;

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

    line-height: 1.3;

    white-space: normal;

    text-decoration: none !important;

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


.nav-inner .dropdown-content a:hover,
.nav-inner .dropdown-content a:focus {
    color: #6042d0;

    background: #f5f1ff;

    text-decoration: none !important;
}


.nav-inner .dropdown-content a.active {
    color: #6042d0;

    background: #eee9ff;

    font-weight: 800;
}


.nav-divider {
    height: 1px;

    margin:
        6px 5px;

    background: var(--border);
}



/* ==========================================================================
   06. GLOBAL COMPONENTS
   ========================================================================== */

.links-button,
.about-button,
.krabbel-button,
.map2-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 41px;

    padding:
        8px 13px;

    border-radius: 9px;

    font-size: .69rem;
    font-weight: 850;

    line-height: 1.2;

    text-decoration: none !important;

    cursor: pointer;

    transition:
        transform var(--transition),
        background var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}


.links-button:hover,
.about-button:hover,
.krabbel-button:hover {
    transform:
        translateY(-1px);
}


.links-button-primary,
.about-button-primary,
.krabbel-button-primary,
.map2-button {
    color: #ffffff !important;

    background: var(--purple);

    border:
        1px solid var(--purple);
}


.links-button-primary:hover,
.about-button-primary:hover,
.krabbel-button-primary:hover,
.map2-button:hover {
    color: #ffffff !important;

    background: var(--purple-dark);

    border-color: var(--purple-dark);
}


.links-button-secondary,
.about-button-secondary,
.krabbel-button-secondary,
.map2-button-secondary {
    color: #5d4a98 !important;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);
}


.links-button-secondary:hover,
.about-button-secondary:hover,
.krabbel-button-secondary:hover {
    background: #ebe5ff;
}



/* ==========================================================================
   07. MAP – PAGE
   ========================================================================== */

.map2-page {
    width: 100%;

    margin: 0;

    padding:
        26px 28px 58px;
}


.map2-header {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(310px, 440px);

    gap: 30px;

    align-items: center;

    margin-bottom: 22px;

    padding:
        27px 30px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 64%,
            #f2eeff 100%
        );

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.map2-header-copy {
    min-width: 0;
}


.map2-eyebrow,
.map2-section-eyebrow {
    color: var(--purple);

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

    letter-spacing: .09em;

    text-transform: uppercase;
}


.map2-header h1 {
    margin:
        6px 0 9px;

    color: #2b2730;

    font-size:
        clamp(
            2rem,
            4vw,
            3.15rem
        );

    line-height: 1.05;

    letter-spacing: -.035em;
}


.map2-header-copy > p {
    max-width: 820px;

    margin: 0;

    color: var(--text-soft);

    font-size: .9rem;

    line-height: 1.7;
}


.map2-header-info {
    display: grid;

    gap: 9px;
}


.map2-header-info-item {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    padding:
        12px 13px;

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

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

    border-radius: 11px;
}


.map2-header-info-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 34px;

    width: 34px;
    height: 34px;

    background: var(--purple-soft);

    border-radius: 9px;

    font-size: 1rem;
}


.map2-layout {
    display: grid;

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

    gap: 22px;

    align-items: start;
}


.map2-main {
    min-width: 0;
}



/* ==========================================================================
   08. MAP – FILTER
   ========================================================================== */

.map2-sidebar {
    position: sticky;

    top: 18px;

    min-width: 0;

    overflow: hidden;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.map2-sidebar-header {
    display: flex;

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

    gap: 12px;

    padding: 18px;

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


.map2-filter-section {
    padding:
        16px 17px;

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


.map2-filter-section:last-child {
    border-bottom: 0;
}


.map2-filter-heading {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 8px;
}


.map2-filter-actions {
    display: flex;

    gap: 4px;
}


.map2-filter-action {
    padding:
        4px 7px;

    color: #67549f;

    background: #f5f2ff;

    border:
        1px solid var(--purple-border);

    border-radius: 6px;

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

    cursor: pointer;
}


.map2-filter-action:hover {
    background: #ebe5ff;
}


.map2-search-row {
    display: grid;

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

    gap: 6px;
}


.map2-input {
    width: 100%;
    min-width: 0;

    height: 40px;

    padding:
        8px 10px;

    color: var(--text);

    background: #ffffff;

    border:
        1px solid var(--border-strong);

    border-radius: 8px;

    outline: none;

    font-size: .73rem;
}


.map2-input:focus {
    border-color: #9d86ee;

    box-shadow:
        0 0 0 3px
        rgba(118, 85, 246, .10);
}


.map2-filter-help {
    margin-top: 8px;

    color: var(--text-muted);

    font-size: .59rem;

    line-height: 1.45;
}


/* --------------------------------------------------------------------------
   Radius
   -------------------------------------------------------------------------- */

.map2-radius-options {
    display: grid;

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

    gap: 5px;
}


.map2-radius-option {
    position: relative;
}


.map2-radius-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.map2-radius-option span {
    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    min-height: 41px;

    padding:
        5px 2px;

    color: #666a72;

    background: #f8f8fa;

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

    border-radius: 7px;

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

    cursor: pointer;
}


.map2-radius-option input:checked + span {
    color: #5842b6;

    background: #eee9ff;

    border-color: #a68ff3;
}


/* --------------------------------------------------------------------------
   Checkboxen
   -------------------------------------------------------------------------- */

.map2-checkbox-list,
.map2-role-grid {
    display: grid;

    gap: 6px;
}


.map2-checkbox {
    position: relative;
}


.map2-checkbox input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.map2-checkbox > span {
    display: flex;

    align-items: center;

    gap: 8px;

    min-height: 36px;

    padding:
        8px 10px;

    color: #5b5f67;

    background: #fafafa;

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

    border-radius: 8px;

    font-size: .68rem;
    font-weight: 720;

    cursor: pointer;
}


.map2-checkbox input:checked + span {
    color: #594495;

    background: #f2efff;

    border-color: #b4a2f3;
}



/* ==========================================================================
   09. MAP – LAYER / LEAFLET / MARKER
   ========================================================================== */

.map2-map-card {
    overflow: hidden;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.map2-map-header {
    display: flex;

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

    gap: 18px;

    padding:
        17px 19px;

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


.map2-layer-controls {
    display: flex;

    align-items: stretch;
    justify-content: space-between;

    gap: 12px;

    padding:
        11px 15px;

    background: #fafafe;

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


.map2-layer-controls-group {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


.map2-layer-toggle {
    position: relative;

    display: flex;

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

    gap: 9px;

    min-width: 205px;
    min-height: 52px;

    padding:
        8px 10px;

    background: #ffffff;

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

    border-radius: 10px;

    cursor: pointer;
}


.map2-layer-toggle input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.map2-layer-toggle-content {
    display: flex;

    align-items: center;

    gap: 8px;
}


.map2-layer-toggle-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 33px;

    width: 33px;
    height: 33px;

    background: var(--purple-soft);

    border-radius: 8px;

    font-size: .95rem;
}


.map2-layer-count {
    padding:
        2px 6px;

    color: #604b9d;

    background: #eee9ff;

    border-radius: 999px;

    font-size: .61rem;
}


.map2-map-wrapper {
    position: relative;

    width: 100%;

    overflow: hidden;
}


#map2 {
    width: 100%;

    height:
        clamp(
            540px,
            68vh,
            790px
        );

    min-height: 540px;

    z-index: 1;

    background: #dcebed;
}


.leaflet-container {
    font-family: inherit;
}


.leaflet-control-zoom {
    overflow: hidden;

    border: 0 !important;

    border-radius: 10px !important;

    box-shadow:
        0 3px 12px
        rgba(0, 0, 0, .15) !important;
}


.map2-leaflet-div-icon {
    background: transparent !important;

    border: 0 !important;
}


.map2-marker {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background: var(--purple);

    border:
        3px solid #ffffff;

    border-radius:
        50% 50% 50% 8px;

    box-shadow:
        0 3px 10px
        rgba(0, 0, 0, .26);

    transform:
        rotate(-45deg);
}


.map2-marker-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    transform:
        rotate(45deg);

    font-size: 17px;
}


.map2-marker-person {
    background: #765ee7;
}


.map2-marker-group {
    background: #527cc5;
}


.map2-marker-club {
    background: #925ca3;
}


.map2-marker-meetup {
    background: #d1863f;
}


.map2-marker-shop {
    background: #43886d;
}


.map2-marker-event {
    background:
        var(
            --map2-event-color,
            #7655f6
        );
}



/* ==========================================================================
   10. MAP – RESULTS
   ========================================================================== */

.map2-results-section {
    margin-top: 21px;

    padding: 21px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.map2-results-header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 17px;

    padding-bottom: 14px;

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


.map2-results-grid {
    display: grid;

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

    gap: 14px;
}


.map2-result-item {
    min-width: 0;

    height: 100%;
}


.map2-result-button {
    display: flex;

    flex-direction: column;

    width: 100%;
    height: 100%;

    min-height: 185px;

    padding: 0;

    overflow: hidden;

    color: var(--text);

    background: #ffffff;

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

    border-radius: 13px;

    text-align: left;

    cursor: pointer;

    box-shadow:
        var(--shadow-xs);

    transition:
        transform var(--transition),
        box-shadow var(--transition),
        border-color var(--transition);
}


.map2-result-button:hover {
    transform:
        translateY(-2px);

    border-color: #cfc4f4;

    box-shadow:
        var(--shadow-md);
}


.map2-result-card-top {
    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        14px 14px 10px;
}


.map2-result-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 46px;

    width: 46px;
    height: 46px;

    background: var(--purple-soft);

    border:
        1px solid #e5dfff;

    border-radius: 12px;

    font-size: 1.3rem;
}


.map2-result-main {
    flex: 1;

    width: 100%;

    padding:
        0 14px 14px;
}


.map2-result-title {
    display: block;

    width: 100%;

    overflow: hidden;

    color: #343039;

    font-size: .94rem;
    font-weight: 850;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.map2-result-meta {
    display: flex;

    flex-wrap: wrap;

    gap:
        4px 8px;

    margin-top: 8px;

    color: var(--text-muted);

    font-size: .59rem;
}


.map2-result-roles {
    display: flex;

    flex-wrap: wrap;

    gap: 5px;

    margin-top: 10px;
}


.map2-result-role {
    display: inline-flex;

    align-items: center;

    gap: 4px;

    padding:
        4px 7px;

    color: #604c9f;

    background: #eee9ff;

    border:
        1px solid #ddd4fb;

    border-radius: 999px;

    font-size: .58rem;
    font-weight: 750;
}


.map2-result-description {
    display: -webkit-box;

    margin-top: 10px;

    overflow: hidden;

    color: var(--text-soft);

    font-size: .62rem;

    line-height: 1.45;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}


.map2-result-card-footer {
    display: flex;

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

    margin-top: auto;

    padding:
        9px 12px 9px 14px;

    color: #66539e;

    background: #faf9ff;

    border-top:
        1px solid var(--border);

    font-size: .59rem;
    font-weight: 800;
}



/* ==========================================================================
   11. ABOUT
   ========================================================================== */

.about-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.about-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(320px, .9fr);

    gap: 28px;
}


.about-hero-copy,
.about-hero-panel,
.about-section,
.about-intro,
.about-privacy,
.about-cta {
    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.about-hero-copy {
    padding:
        34px 36px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f2eeff
        );
}


.about-hero-panel {
    padding: 22px;
}


.about-eyebrow,
.about-section-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.about-hero h1 {
    margin:
        8px 0 12px;

    font-size:
        clamp(
            2.2rem,
            5vw,
            4rem
        );

    line-height: 1.02;
}


.about-hero-lead {
    margin:
        0 0 14px;

    color: #4f4a55;

    font-size: 1.08rem;
    font-weight: 700;

    line-height: 1.55;
}


.about-hero-text {
    margin: 0;

    color: var(--text-soft);

    font-size: .9rem;

    line-height: 1.7;
}


.about-section,
.about-intro,
.about-privacy,
.about-cta {
    margin-top: 24px;

    padding: 28px;
}


.about-feature-grid,
.about-privacy-grid {
    display: grid;

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

    gap: 14px;
}


.about-feature-card {
    padding: 17px;

    background: #fbfbfe;

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

    border-radius: 13px;
}



/* ==========================================================================
   12. KRABBELGRUPPE
   ========================================================================== */

.krabbel-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.krabbel-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(320px, .9fr);

    gap: 28px;
}


.krabbel-hero-copy,
.krabbel-hero-panel,
.krabbel-section,
.krabbel-community-note,
.krabbel-cta {
    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.krabbel-hero-copy {
    padding:
        34px 36px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f2eeff
        );
}


.krabbel-hero-panel {
    padding: 22px;
}


.krabbel-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.krabbel-section,
.krabbel-community-note,
.krabbel-cta {
    margin-top: 24px;

    padding: 28px;
}


.krabbel-telegram-invite {
    display: grid;

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

    gap: 18px;

    align-items: center;

    padding: 21px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f5f1ff
        );

    border:
        1px solid var(--purple-border);

    border-radius: 15px;
}


.krabbel-rules-grid {
    display: grid;

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

    gap: 14px;
}


.krabbel-rule-card {
    padding: 16px;

    background: #fbfbfe;

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

    border-radius: 13px;
}



/* ==========================================================================
   13. KATEGORIEN
   ========================================================================== */

.categories-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.categories-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.categories-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 22px;
}


.categories-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.categories-hero h1 {
    margin:
        7px 0 11px;

    color: #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.categories-hero-lead {
    margin:
        0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;

    line-height: 1.55;
}


.categories-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


.categories-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}


/* --------------------------------------------------------------------------
   Panel
   -------------------------------------------------------------------------- */

.categories-hero-panel {
    display: flex;

    flex-direction: column;

    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.categories-hero-panel-head {
    display: flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 14px;

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


.categories-hero-panel-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 44px;

    width: 44px;
    height: 44px;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 11px;

    font-size: 1.15rem;
}


.categories-hero-panel-head strong {
    display: block;

    color: #403a45;

    font-size: .78rem;
}


.categories-hero-panel-head div > span {
    display: block;

    margin-top: 2px;

    color: var(--text-muted);

    font-size: .59rem;
}


.categories-stat-grid {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.categories-stat-card {
    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        10px 11px;

    background: var(--surface-soft);

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

    border-radius: 10px;
}


.categories-stat-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 34px;

    width: 34px;
    height: 34px;

    background: #ffffff;

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

    border-radius: 9px;
}


.categories-stat-card strong {
    display: block;

    color: #453f4a;

    font-size: .88rem;
}


.categories-stat-card div > span {
    display: block;

    margin-top: 1px;

    color: var(--text-muted);

    font-size: .56rem;
}


/* --------------------------------------------------------------------------
   Section
   -------------------------------------------------------------------------- */

.categories-section {
    padding: 26px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.categories-section-header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;

    padding-bottom: 15px;

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


.categories-section-header h2 {
    margin:
        4px 0 5px;

    color: #332f38;

    font-size: 1.35rem;
}


.categories-section-header p {
    margin: 0;

    color: var(--text-muted);

    font-size: .66rem;

    line-height: 1.5;
}


.categories-count-badge {
    flex-shrink: 0;

    padding:
        6px 10px;

    color: #65519e;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 999px;

    font-size: .61rem;
    font-weight: 850;
}


.categories-grid {
    display: grid;

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

    gap: 14px;
}


/* --------------------------------------------------------------------------
   Cards
   -------------------------------------------------------------------------- */

.categories-card {
    display: flex;

    flex-direction: column;

    min-width: 0;
    min-height: 205px;

    overflow: hidden;

    color: var(--text);

    background: #ffffff;

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

    border-radius: 13px;

    box-shadow:
        var(--shadow-xs);

    text-decoration: none !important;

    transition:
        transform var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}


.categories-card:hover {
    color: var(--text);

    transform:
        translateY(-2px);

    border-color: #cdc3f0;

    box-shadow:
        var(--shadow-md);
}


.categories-card.is-empty {
    opacity: .72;
}


.categories-card.is-empty:hover {
    opacity: 1;
}


.categories-card-top {
    display: flex;

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

    gap: 10px;

    padding:
        14px 14px 9px;
}


.categories-card-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 46px;

    width: 46px;
    height: 46px;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 12px;

    font-size: 1.3rem;
}


.categories-card-count {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 30px;
    height: 28px;

    padding:
        0 8px;

    color: #65519e;

    background: #f3efff;

    border:
        1px solid var(--purple-border);

    border-radius: 999px;

    font-size: .6rem;
    font-weight: 850;
}


.categories-card-body {
    flex: 1;

    padding:
        0 14px 14px;
}


.categories-card-kicker {
    color: var(--purple);

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

    letter-spacing: .08em;

    text-transform: uppercase;
}


.categories-card h3 {
    margin:
        4px 0 7px;

    color: #37323d;

    font-size: .95rem;
}


.categories-card-body p {
    margin: 0;

    color: var(--text-soft);

    font-size: .63rem;

    line-height: 1.55;
}


.categories-card-footer {
    display: flex;

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

    gap: 8px;

    margin-top: auto;

    padding:
        10px 13px;

    color: #624e9d;

    background: #faf9ff;

    border-top:
        1px solid var(--border);

    font-size: .6rem;
    font-weight: 850;
}


.categories-card-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    background: #eee9ff;

    border-radius: 50%;
}


/* --------------------------------------------------------------------------
   Empty
   -------------------------------------------------------------------------- */

.categories-empty {
    padding:
        42px 20px;

    text-align: center;

    background: var(--surface-soft);

    border:
        1px dashed var(--border-strong);

    border-radius: 13px;
}


/* --------------------------------------------------------------------------
   CTA
   -------------------------------------------------------------------------- */

.categories-cta {
    display: grid;

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

    gap: 17px;

    align-items: center;

    margin-top: 22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}



/* ==========================================================================
   14. EINTRAG ERSTELLEN
   ========================================================================== */

.entry2-page {
    width:
        min(
            1080px,
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.entry2-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 20px;
}


.entry2-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.entry2-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.entry2-hero h1 {
    margin:
        7px 0 11px;

    color: #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.entry2-hero-lead {
    margin:
        0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;

    line-height: 1.55;
}


.entry2-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


.entry2-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}


/* --------------------------------------------------------------------------
   Hero Panel
   -------------------------------------------------------------------------- */

.entry2-hero-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.entry2-hero-panel-head {
    display: grid;

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

    gap: 10px;

    align-items: center;

    padding-bottom: 14px;

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


.entry2-hero-panel-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 11px;
}


.entry2-age-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 38px;
    height: 26px;

    color: #9f4358;

    background: #fff0f3;

    border:
        1px solid #efccd5;

    border-radius: 999px;

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


.entry2-hero-info-list {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.entry2-hero-info {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


/* --------------------------------------------------------------------------
   Form / Panels
   -------------------------------------------------------------------------- */

.entry2-form {
    display: grid;

    gap: 14px;
}


.entry2-panel {
    padding: 22px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.entry2-panel-head {
    display: flex;

    align-items: center;

    gap: 11px;

    margin-bottom: 17px;

    padding-bottom: 13px;

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


.entry2-panel-number {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 34px;

    width: 34px;
    height: 34px;

    color: #ffffff;

    background: var(--purple);

    border-radius: 10px;

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


.entry2-panel-head h2 {
    margin:
        0 0 3px;

    color: #37323d;

    font-size: 1rem;
}


.entry2-panel-head p {
    margin: 0;

    color: var(--text-muted);

    font-size: .64rem;
}


.entry2-grid,
.entry2-community-grid {
    display: grid;

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

    gap: 14px;
}


.entry2-field {
    min-width: 0;
}


.entry2-field-wide {
    grid-column:
        1 / -1;
}


.entry2-label {
    display: block;

    margin-bottom: 6px;

    color: #4b4650;

    font-size: .67rem;
    font-weight: 850;
}


.entry2-required {
    color: var(--red);
}


.entry2-input,
.entry2-select,
.entry2-textarea {
    display: block;

    width: 100%;

    color: var(--text);

    background: #ffffff;

    border:
        1px solid var(--border-strong);

    border-radius: 10px;

    outline: none;

    font-size: .72rem;
}


.entry2-input,
.entry2-select {
    min-height: 44px;

    padding:
        10px 12px;
}


.entry2-textarea {
    min-height: 130px;

    padding:
        11px 12px;

    resize: vertical;

    line-height: 1.55;
}


.entry2-input:focus,
.entry2-select:focus,
.entry2-textarea:focus {
    border-color: #967cf0;

    box-shadow:
        0 0 0 3px
        rgba(118, 85, 246, .10);
}


.entry2-help {
    margin-top: 6px;

    color: var(--text-muted);

    font-size: .56rem;
}


/* --------------------------------------------------------------------------
   Typen
   -------------------------------------------------------------------------- */

.entry2-type-grid {
    display: grid;

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

    gap: 9px;
}


.entry2-type-option {
    position: relative;
}


.entry2-type-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.entry2-type-card {
    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    min-height: 110px;

    padding: 12px;

    color: #5b5663;

    background: var(--surface-soft);

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

    border-radius: 12px;

    text-align: center;

    cursor: pointer;
}


.entry2-type-option input:checked + .entry2-type-card {
    color: #ffffff;

    background: var(--purple);

    border-color: var(--purple);
}


.entry2-type-icon {
    margin-bottom: 5px;

    font-size: 1.45rem;
}


.entry2-type-label {
    font-size: .72rem;
    font-weight: 850;
}


.entry2-type-description {
    margin-top: 3px;

    font-size: .56rem;
}


/* --------------------------------------------------------------------------
   Rollen
   -------------------------------------------------------------------------- */

.entry2-role-toolbar {
    display: flex;

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

    gap: 10px;

    margin-bottom: 10px;
}


.entry2-role-actions {
    display: flex;

    gap: 5px;
}


.entry2-mini-button {
    padding:
        4px 7px;

    color: #5d4a98;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 6px;

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

    cursor: pointer;
}


.entry2-role-grid {
    display: grid;

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

    gap: 8px;
}


.entry2-role {
    position: relative;
}


.entry2-role input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.entry2-role > span {
    display: flex;

    align-items: center;

    gap: 6px;

    min-height: 39px;

    padding:
        7px 9px;

    color: #5d5767;

    background: var(--surface-soft);

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

    border-radius: 9px;

    font-size: .65rem;

    cursor: pointer;
}


.entry2-role input:checked + span {
    color: #ffffff;

    background: var(--purple);

    border-color: var(--purple);
}


.entry2-primary-wrap {
    margin-top: 14px;

    padding-top: 14px;

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


.entry2-location-note {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-top: 11px;

    padding:
        12px 13px;

    color: var(--green);

    background: var(--green-soft);

    border:
        1px solid #cfe6d8;

    border-radius: 10px;
}


/* --------------------------------------------------------------------------
   Submit
   -------------------------------------------------------------------------- */

.entry2-submit-panel {
    display: grid;

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

    gap: 14px;

    align-items: center;

    padding:
        18px 20px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}



/* ==========================================================================
   15. NEUESTE EINTRÄGE
   ========================================================================== */

.latest2-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.latest2-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 22px;
}


.latest2-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.latest2-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.latest2-hero h1 {
    margin:
        7px 0 11px;

    color: #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.latest2-hero-lead {
    margin:
        0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;
}


.latest2-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


.latest2-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}


.latest2-hero-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.latest2-hero-panel-head {
    display: flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 14px;

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


.latest2-hero-stats {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.latest2-hero-stat {
    display: flex;

    align-items: center;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


/* --------------------------------------------------------------------------
   Section / Cards
   -------------------------------------------------------------------------- */

.latest2-section {
    padding: 26px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.latest2-section-header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;

    padding-bottom: 15px;

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


.latest2-count-badge {
    flex-shrink: 0;

    padding:
        6px 10px;

    color: #65519e;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 999px;

    font-size: .61rem;
    font-weight: 850;
}


.latest2-grid {
    display: grid;

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

    gap: 14px;
}


.latest2-card {
    display: flex;

    flex-direction: column;

    min-width: 0;
    min-height: 245px;

    padding: 16px;

    background: #ffffff;

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

    border-radius: 13px;

    box-shadow:
        var(--shadow-xs);

    transition:
        transform var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}


.latest2-card:hover {
    transform:
        translateY(-2px);

    border-color: #cdc3f0;

    box-shadow:
        var(--shadow-md);
}


.latest2-card-head {
    display: flex;

    align-items: center;

    gap: 12px;
}


.latest2-avatar {
    flex:
        0 0 64px;

    width: 64px;
    height: 64px;

    object-fit: cover;

    background: var(--surface-muted);

    border:
        3px solid #ffffff;

    border-radius: 50%;

    box-shadow:
        0 3px 12px
        rgba(30, 26, 45, .12);
}


.latest2-name {
    margin: 0;

    overflow: hidden;

    color: #343039;

    font-size: .94rem;
    font-weight: 850;

    text-overflow: ellipsis;

    white-space: nowrap;
}


.latest2-new,
.latest2-role {
    display: inline-flex;

    align-items: center;

    gap: 4px;

    padding:
        4px 7px;

    color: #604c9f;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 999px;

    font-size: .58rem;
    font-weight: 750;
}


.latest2-role-primary {
    color: #ffffff;

    background: var(--purple);

    border-color: var(--purple);
}


.latest2-roles {
    display: flex;

    flex-wrap: wrap;

    gap: 5px;

    margin-top: 14px;
}


.latest2-meta {
    display: flex;

    flex-wrap: wrap;

    gap:
        6px 10px;

    margin-top: 12px;

    color: var(--text-muted);

    font-size: .59rem;
}


.latest2-actions {
    display: flex;

    gap: 7px;

    margin-top: auto;

    padding-top: 16px;
}


.latest2-profile-link,
.latest2-map-link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 38px;

    border-radius: 8px;

    font-size: .62rem;
    font-weight: 850;

    text-decoration: none !important;
}


.latest2-profile-link {
    flex: 1;

    justify-content: space-between;

    padding:
        8px 11px;

    color: #ffffff !important;

    background: var(--purple);

    border:
        1px solid var(--purple);
}


.latest2-map-link {
    flex:
        0 0 38px;

    width: 38px;

    color: #5d4a98 !important;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);
}


.latest2-footer-cta {
    display: grid;

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

    gap: 17px;

    align-items: center;

    margin-top: 22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}



/* ==========================================================================
   16. VERANSTALTUNGEN
   ========================================================================== */

.events4-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.events4-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 18px;
}


.events4-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.events4-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.events4-hero h1 {
    margin:
        7px 0 11px;

    color: #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.events4-hero-lead {
    margin:
        0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;
}


.events4-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


.events4-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}


.events4-hero-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.events4-hero-panel-head {
    display: flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 14px;

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


.events4-hero-info-list {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.events4-hero-info {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


/* --------------------------------------------------------------------------
   View Navigation
   -------------------------------------------------------------------------- */

.events4-navigation {
    display: grid;

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

    gap: 9px;

    margin-bottom: 18px;

    padding: 7px;

    background: #ffffff;

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

    border-radius: 12px;

    box-shadow:
        var(--shadow-xs);
}


.events4-nav-button {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding:
        8px 12px;

    color: #625a6d;

    background: var(--surface-soft);

    border:
        1px solid transparent;

    border-radius: 8px;

    font-size: .66rem;
    font-weight: 850;

    text-decoration: none !important;
}


.events4-nav-active {
    color: #ffffff !important;

    background: var(--purple);

    border-color: var(--purple);
}


/* --------------------------------------------------------------------------
   Infokarten
   -------------------------------------------------------------------------- */

.events4-info {
    display: grid;

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

    gap: 12px;

    margin-bottom: 18px;
}


.events4-info-card {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    padding: 15px;

    background: #ffffff;

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

    border-radius: 12px;

    box-shadow:
        var(--shadow-xs);
}


/* --------------------------------------------------------------------------
   Kalender
   -------------------------------------------------------------------------- */

.events4-calendar-panel {
    padding: 22px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.events4-calendar-head,
.events4-archive-head {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 17px;

    padding-bottom: 14px;

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


#calendar {
    width: 100%;

    min-height: 650px;
}


.events4-calendar-panel .fc {
    font-size: 13px;
}


.events4-calendar-panel .fc-toolbar-title {
    color: #51428e;

    font-size: 1.08rem;

    font-weight: 850;
}


.events4-calendar-panel .fc-button {
    background: var(--purple) !important;

    border: 0 !important;

    border-radius: 7px !important;

    font-size: .72rem !important;

    font-weight: 750 !important;

    box-shadow: none !important;
}


.events4-calendar-panel .fc-button:hover {
    background: var(--purple-dark) !important;
}


/* --------------------------------------------------------------------------
   Archiv
   -------------------------------------------------------------------------- */

.events4-archive-section {
    padding: 26px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.events4-archive-grid {
    display: grid;

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

    gap: 14px;
}


.events4-archive-card {
    display: flex;

    flex-direction: column;

    overflow: hidden;

    background: #ffffff;

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

    border-radius: 13px;

    box-shadow:
        var(--shadow-xs);
}


.events4-archive-image,
.events4-archive-placeholder {
    width: 100%;
    height: 170px;

    background:
        linear-gradient(
            135deg,
            #faf9ff,
            #f1edff
        );

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


.events4-archive-image {
    object-fit: cover;
}


.events4-archive-body {
    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 15px;
}


.events4-category-badge {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    width: fit-content;

    margin-bottom: 7px;

    padding:
        4px 7px;

    color: #ffffff;

    background:
        var(
            --event-color,
            var(--purple)
        );

    border-radius: 999px;

    font-size: .58rem;
    font-weight: 850;
}


.events4-archive-link {
    display: flex;

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

    min-height: 38px;

    margin-top: auto;

    padding:
        8px 11px;

    color: #ffffff !important;

    background: var(--purple);

    border-radius: 8px;

    font-size: .62rem;
    font-weight: 850;

    text-decoration: none !important;
}


.events4-footer-cta {
    display: grid;

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

    gap: 17px;

    align-items: center;

    margin-top: 22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


/* --------------------------------------------------------------------------
   Event Modal
   -------------------------------------------------------------------------- */

.event4-modal {
    position: fixed;

    inset: 0;

    z-index: 10000;

    display: none;

    align-items: flex-start;
    justify-content: center;

    overflow-y: auto;

    padding:
        5vh 16px;

    background:
        rgba(24, 21, 31, .65);

    backdrop-filter:
        blur(3px);
}


.event4-modal.is-open {
    display: flex;
}


.event4-modal-dialog {
    position: relative;

    width:
        min(
            620px,
            100%
        );

    max-height: 88vh;

    overflow-y: auto;

    padding: 22px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        0 20px 60px
        rgba(0, 0, 0, .25);
}


.event4-modal-close {
    position: absolute;

    top: 10px;
    right: 12px;

    width: 36px;
    height: 36px;

    color: #737782;

    background: var(--surface-muted);

    border: 0;

    border-radius: 50%;

    cursor: pointer;
}


.event4-modal-category {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    padding:
        4px 8px;

    color: #ffffff;

    background:
        var(
            --event-color,
            var(--purple)
        );

    border-radius: 999px;

    font-size: .62rem;
    font-weight: 850;
}



/* ==========================================================================
   17. EVENT EINTRAGEN
   ========================================================================== */

.event-create5-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;

    text-align: left;
}


.event-create5-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 22px;
}


.event-create5-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.event-create5-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.event-create5-hero h1 {
    margin:
        7px 0 11px;

    color: #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.event-create5-hero-lead {
    margin:
        0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;
}


.event-create5-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


.event-create5-hero-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.event-create5-hero-panel-head {
    display: flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 14px;

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


.event-create5-hero-info-list {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.event-create5-hero-info {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


/* --------------------------------------------------------------------------
   Erfolg
   -------------------------------------------------------------------------- */

.event-create5-success {
    margin-bottom: 22px;

    padding: 22px;

    color: #32664c;

    background:
        linear-gradient(
            135deg,
            #f2fbf5,
            #ffffff
        );

    border:
        1px solid #cce7d5;

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.event-create5-success-head {
    display: flex;

    align-items: flex-start;

    gap: 13px;
}


.event-create5-success-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 44px;

    width: 44px;
    height: 44px;

    color: #ffffff;

    background: #4f9b6b;

    border-radius: 50%;

    font-size: 1.15rem;
    font-weight: 900;
}


.event-create5-success-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-top: 17px;
}


.event-create5-success-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding:
        8px 12px;

    color: #ffffff !important;

    background: var(--purple);

    border:
        1px solid var(--purple);

    border-radius: 8px;

    font-size: .65rem;
    font-weight: 850;

    text-decoration: none !important;
}


.event-create5-success-secondary {
    color: #594895 !important;

    background: var(--purple-soft);

    border-color: var(--purple-border);
}


.event-create5-token-box {
    margin-top: 13px;

    padding: 13px;

    color: #554572;

    background: #ffffff;

    border:
        1px solid #ddd4f8;

    border-radius: 10px;
}


.event-create5-private-url {
    display: block;

    width: 100%;

    padding: 9px;

    overflow-wrap: anywhere;

    color: #5b4896;

    background: #f8f6ff;

    border:
        1px solid #e1daf5;

    border-radius: 7px;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: .62rem;
}


/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */

.event-create5-layout {
    display: grid;

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

    gap: 20px;

    align-items: start;
}


.event-create5-card {
    min-width: 0;

    padding: 25px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.event-create5-section {
    margin-bottom: 30px;

    padding-bottom: 28px;

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


.event-create5-section-head {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 16px;
}


.event-create5-section-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 36px;

    width: 36px;
    height: 36px;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 9px;
}


.event-create5-grid {
    display: grid;

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

    gap: 14px;
}


.event-create5-full {
    grid-column:
        1 / -1;
}


.event-create5-field {
    min-width: 0;
}


.event-create5-field label {
    display: block;

    margin-bottom: 6px;

    color: #555a64;

    font-size: .68rem;
    font-weight: 800;
}


.event-create5-required {
    color: var(--red);
}


.event-create5-field input,
.event-create5-field textarea,
.event-create5-field select {
    display: block;

    width: 100%;

    padding:
        10px 11px;

    color: #35383e;

    background: #ffffff;

    border:
        1px solid var(--border-strong);

    border-radius: 9px;

    font-size: .73rem;
}


.event-create5-field textarea {
    min-height: 160px;

    resize: vertical;
}


.event-create5-field input:focus,
.event-create5-field textarea:focus,
.event-create5-field select:focus {
    outline: none;

    border-color: #8f78e9;

    box-shadow:
        0 0 0 3px
        rgba(124, 92, 252, .10);
}


.event-create5-help {
    margin-top: 5px;

    color: var(--text-muted);

    font-size: .58rem;
}


/* --------------------------------------------------------------------------
   Kategorien
   -------------------------------------------------------------------------- */

.event-create5-category-grid,
.event-create5-visibility-grid {
    display: grid;

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

    gap: 9px;
}


.event-create5-category,
.event-create5-visibility {
    position: relative;
}


.event-create5-category input,
.event-create5-visibility input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
}


.event-create5-category label,
.event-create5-visibility label {
    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 60px;

    padding: 11px;

    color: #5c6069;

    background: var(--surface-soft);

    border:
        2px solid var(--border);

    border-radius: 10px;

    cursor: pointer;
}


.event-create5-category input:checked + label,
.event-create5-visibility input:checked + label {
    color: #51418b;

    background: var(--purple-soft);

    border-color: #927be8;
}


/* --------------------------------------------------------------------------
   Upload
   -------------------------------------------------------------------------- */

.event-create5-upload {
    display: flex;

    align-items: center;

    gap: 13px;

    padding: 14px;

    background: var(--surface-soft);

    border:
        1px dashed var(--border-strong);

    border-radius: 11px;
}


.event-create5-upload-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 48px;

    width: 48px;
    height: 48px;

    background: #ffffff;

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

    border-radius: 11px;
}


/* --------------------------------------------------------------------------
   Actions
   -------------------------------------------------------------------------- */

.event-create5-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}


.event-create5-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 43px;

    padding:
        9px 15px;

    color: #ffffff !important;

    background: var(--purple);

    border:
        1px solid var(--purple);

    border-radius: 9px;

    font-size: .68rem;
    font-weight: 850;

    text-decoration: none !important;

    cursor: pointer;
}


.event-create5-secondary {
    color: #594895 !important;

    background: var(--purple-soft);

    border-color: var(--purple-border);
}


/* --------------------------------------------------------------------------
   Sidebar
   -------------------------------------------------------------------------- */

.event-create5-sidebar {
    display: grid;

    gap: 12px;

    position: sticky;

    top: 20px;
}


.event-create5-side-card {
    padding: 17px;

    background: #ffffff;

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

    border-radius: 12px;

    box-shadow:
        var(--shadow-xs);
}


.event-create5-side-card-accent {
    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border-color:
        var(--purple-border);
}



/* ==========================================================================
   18. LINKVERZEICHNIS
   ========================================================================== */

.links-page,
.link-create-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.links-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.page-links .links-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(280px, .65fr);

    gap: 26px;

    margin-bottom: 24px;
}


.page-links .links-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f2eeff
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.page-links .links-hero-panel,
.page-links .links-section {
    background: #ffffff;

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

    box-shadow:
        var(--shadow-sm);
}


.page-links .links-hero-panel {
    padding: 20px;

    border-radius:
        var(--radius-xl);
}


.page-links .links-section {
    padding: 26px;

    border-radius:
        var(--radius-lg);
}


.page-links .links-section-header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;

    padding-bottom: 15px;

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


.page-links .links-grid {
    display: grid;

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

    gap: 15px;
}


.page-links .links-card {
    display: flex;

    flex-direction: column;

    overflow: hidden;

    background: #ffffff;

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

    border-radius: 13px;

    box-shadow:
        var(--shadow-xs);
}


.page-links .links-card-banner,
.page-links .links-card-placeholder {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 130px;

    background:
        linear-gradient(
            135deg,
            #faf9ff,
            #f1edff
        );

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


.page-links .links-card-banner img {
    width: 100%;
    height: 100%;

    padding: 12px;

    object-fit: contain;
}


.page-links .links-card-body {
    flex: 1;

    padding:
        15px 15px 14px;
}


.page-links .links-card-footer {
    margin-top: auto;

    padding:
        10px 13px;

    background: #faf9ff;

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


.page-links .links-cta {
    display: grid;

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

    gap: 17px;

    align-items: center;

    margin-top: 22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}



/* ==========================================================================
   19. LINK EINTRAGEN
   ========================================================================== */

.link-create-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(300px, .65fr);

    gap: 24px;

    align-items: stretch;
}


.link-create-hero-copy {
    padding:
        31px 33px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f1edff
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.link-create-info-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.link-create-info-list {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.link-create-info-item {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


.link-create-process {
    display: grid;

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

    gap: 11px;

    align-items: center;

    margin-top: 18px;

    padding: 13px;

    background: #ffffff;

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

    border-radius: 13px;

    box-shadow:
        var(--shadow-xs);
}


.link-create-process-item {
    display: flex;

    align-items: center;

    gap: 9px;

    padding: 7px;
}


.link-create-process-number {
    display: flex;

    align-items: center;
    justify-content: center;

    flex:
        0 0 30px;

    width: 30px;
    height: 30px;

    color: #ffffff;

    background: var(--purple);

    border-radius: 50%;

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


.link-create-section,
.link-create-notes-section {
    margin-top: 20px;

    padding: 24px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.link-create-section-header {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 19px;

    padding-bottom: 14px;

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


.link-create-notes {
    display: grid;

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

    gap: 11px;
}


.link-create-notes article {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 13px;

    background: var(--surface-soft);

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

    border-radius: 11px;
}


.link-create-footer-cta {
    display: grid;

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

    gap: 16px;

    align-items: center;

    margin-top: 20px;

    padding:
        21px 23px;

    background:
        linear-gradient(
            135deg,
            #f8f5ff,
            #ffffff
        );

    border:
        1px solid var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}



/* ==========================================================================
   20. LINK FORMULAR
   ========================================================================== */

.link-form {
    display: grid;

    gap: 18px;
}


.link-form-fieldset {
    min-width: 0;

    margin: 0;

    padding: 20px;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fcfbff
        );

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

    border-radius: 14px;

    box-shadow:
        var(--shadow-xs);
}


.link-form-fieldset legend {
    padding:
        0 8px;

    color: #433d49;

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


.link-form-grid {
    display: grid;

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

    gap: 16px;
}


.link-form-group {
    min-width: 0;
}


.link-form-group-full {
    grid-column:
        1 / -1;
}


.link-form-group label {
    display: flex;

    align-items: center;

    gap: 6px;

    margin-bottom: 6px;

    color: #47424d;

    font-size: .68rem;
    font-weight: 850;
}


.link-form-optional {
    margin-left: auto;

    color: var(--text-muted);

    font-size: .54rem;
}


.link-form-group input,
.link-form-group textarea,
.link-form-group select {
    display: block;

    width: 100%;

    color: var(--text);

    background: #ffffff;

    border:
        1px solid var(--border-strong);

    border-radius: 10px;

    outline: none;

    font-size: .72rem;
}


.link-form-group input,
.link-form-group select {
    min-height: 44px;

    padding:
        10px 12px;
}


.link-form-group textarea {
    min-height: 135px;

    padding:
        11px 12px;

    resize: vertical;
}


.link-form-group input:focus,
.link-form-group textarea:focus,
.link-form-group select:focus {
    border-color: #967cf0;

    box-shadow:
        0 0 0 3px
        rgba(118, 85, 246, .10);
}


.link-form-backlink {
    background:
        linear-gradient(
            135deg,
            #f9f7ff,
            #ffffff
        );

    border-color:
        var(--purple-border);
}


.link-form-backlink-content {
    display: flex;

    align-items: flex-start;

    gap: 12px;
}


.link-form-submit {
    display: flex;

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

    gap: 14px;
}


.link-form-message {
    display: grid;

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

    gap: 13px;

    margin-bottom: 18px;

    padding: 17px;

    border-radius: 13px;
}


.link-form-message-success {
    color: #376d50;

    background: #f0faf4;

    border:
        1px solid #cce7d7;
}


.link-form-message-error {
    color: #944153;

    background: #fff4f6;

    border:
        1px solid #efcdd5;
}



/* ==========================================================================
   21. LINK BEARBEITEN
   ========================================================================== */

.link-edit-page {
    width:
        min(
            920px,
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.link-edit-hero {
    display: flex;

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

    gap: 20px;

    margin-bottom: 20px;

    padding:
        27px 29px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #f5f1ff
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.link-edit-section {
    padding: 24px;

    background: #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.link-edit-actions {
    display: flex;

    align-items: center;

    gap: 9px;
}


.link-edit-delete {
    min-height: 41px;

    padding:
        8px 13px;

    color: #a13d50;

    background: #fff2f4;

    border:
        1px solid #efcbd3;

    border-radius: 9px;

    font-size: .68rem;
    font-weight: 850;

    cursor: pointer;
}

/* ==========================================================================
   GÄSTEBUCH
   ========================================================================== */

.guestbook2-page {
    width:
        min(
            var(--content-width),
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


/* --------------------------------------------------------------------------
   Eyebrow
   -------------------------------------------------------------------------- */

.guestbook2-eyebrow {
    color:
        var(--purple);

    font-size:
        .7rem;

    font-weight:
        900;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


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

.guestbook2-hero {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap:
        24px;

    align-items:
        stretch;

    margin-bottom:
        22px;
}


.guestbook2-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.guestbook2-hero h1 {
    margin:
        7px 0 11px;

    color:
        #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height:
        1.05;

    letter-spacing:
        -.04em;
}


.guestbook2-hero-lead {
    margin:
        0 0 10px;

    color:
        #4e4954;

    font-size:
        1rem;

    font-weight:
        750;

    line-height:
        1.55;
}


.guestbook2-hero-text {
    max-width:
        760px;

    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .78rem;

    line-height:
        1.65;
}


.guestbook2-hero-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        9px;

    margin-top:
        20px;
}


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

.guestbook2-hero-panel {
    padding:
        20px;

    background:
        #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.guestbook2-hero-panel-head {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding-bottom:
        14px;

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


.guestbook2-hero-panel-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 44px;

    width:
        44px;

    height:
        44px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        11px;

    font-size:
        1.15rem;
}


.guestbook2-hero-panel-head strong {
    display:
        block;

    color:
        #403a45;

    font-size:
        .78rem;
}


.guestbook2-hero-panel-head div > span {
    display:
        block;

    margin-top:
        2px;

    color:
        var(--text-muted);

    font-size:
        .59rem;
}


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

.guestbook2-stats {
    display:
        grid;

    gap:
        8px;

    margin-top:
        14px;
}


.guestbook2-stat {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        10px 11px;

    background:
        var(--surface-soft);

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

    border-radius:
        10px;
}


.guestbook2-stat-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 34px;

    width:
        34px;

    height:
        34px;

    background:
        #ffffff;

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

    border-radius:
        9px;
}


.guestbook2-stat strong {
    display:
        block;

    color:
        #453f4a;

    font-size:
        .72rem;
}


.guestbook2-stat div > span {
    display:
        block;

    margin-top:
        2px;

    color:
        var(--text-muted);

    font-size:
        .56rem;

    line-height:
        1.4;
}


/* ==========================================================================
   STATUSMELDUNGEN
   ========================================================================== */

.guestbook2-message {
    display:
        grid;

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

    gap:
        12px;

    align-items:
        flex-start;

    margin-bottom:
        18px;

    padding:
        16px;

    border-radius:
        12px;
}


.guestbook2-message-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        36px;

    height:
        36px;

    border-radius:
        50%;

    font-size:
        .8rem;

    font-weight:
        900;
}


.guestbook2-message strong {
    display:
        block;

    margin-bottom:
        3px;

    font-size:
        .72rem;
}


.guestbook2-message p {
    margin:
        0;

    font-size:
        .64rem;

    line-height:
        1.5;
}


.guestbook2-message-success {
    color:
        #35684c;

    background:
        var(--green-soft);

    border:
        1px solid
        #cce7d7;
}


.guestbook2-message-success
.guestbook2-message-icon {
    color:
        #ffffff;

    background:
        #4f9b6b;
}


.guestbook2-message-error {
    color:
        #914253;

    background:
        var(--red-soft);

    border:
        1px solid
        #efcdd5;
}


.guestbook2-message-error
.guestbook2-message-icon {
    color:
        #ffffff;

    background:
        var(--red);
}


/* ==========================================================================
   SECTIONS
   ========================================================================== */

.guestbook2-form-section,
.guestbook2-entries-section {
    padding:
        26px;

    background:
        #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.guestbook2-entries-section {
    margin-top:
        22px;
}


.guestbook2-section-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        18px;

    margin-bottom:
        18px;

    padding-bottom:
        15px;

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


.guestbook2-section-head h2 {
    margin:
        4px 0 5px;

    color:
        #332f38;

    font-size:
        1.35rem;
}


.guestbook2-section-head p {
    margin:
        0;

    color:
        var(--text-muted);

    font-size:
        .66rem;

    line-height:
        1.5;
}


.guestbook2-write-badge,
.guestbook2-count-badge {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        28px;

    padding:
        5px 9px;

    color:
        #6049b4;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        999px;

    font-size:
        .58rem;

    font-weight:
        850;

    white-space:
        nowrap;
}


/* ==========================================================================
   FORMULAR
   ========================================================================== */

.guestbook2-form {
    display:
        grid;

    gap:
        14px;
}


.guestbook2-field {
    padding:
        17px;

    background:
        var(--surface-soft);

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

    border-radius:
        12px;
}


.guestbook2-label {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    margin-bottom:
        6px;

    color:
        #4b4650;

    font-size:
        .67rem;

    font-weight:
        850;
}


.guestbook2-required {
    color:
        var(--red);
}


.guestbook2-optional {
    margin-left:
        auto;

    color:
        var(--text-muted);

    font-size:
        .54rem;

    font-weight:
        600;
}


.guestbook2-input,
.guestbook2-textarea {
    display:
        block;

    width:
        100%;

    color:
        var(--text);

    background:
        #ffffff;

    border:
        1px solid
        var(--border-strong);

    border-radius:
        10px;

    outline:
        none;

    font-size:
        .72rem;
}


.guestbook2-input {
    min-height:
        44px;

    padding:
        10px 12px;
}


.guestbook2-textarea {
    min-height:
        150px;

    padding:
        11px 12px;

    resize:
        vertical;

    line-height:
        1.6;
}


.guestbook2-input:focus,
.guestbook2-textarea:focus {
    border-color:
        #967cf0;

    box-shadow:
        0 0 0 3px
        rgba(118, 85, 246, .10);
}


.guestbook2-help {
    margin:
        6px 0 0;

    color:
        var(--text-muted);

    font-size:
        .56rem;

    line-height:
        1.45;
}


.guestbook2-field-footer {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;
}


/* ==========================================================================
   HONEYPOT
   ========================================================================== */

.guestbook2-honeypot {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    overflow:
        hidden !important;

    clip:
        rect(
            0,
            0,
            0,
            0
        ) !important;

    white-space:
        nowrap !important;

    pointer-events:
        none !important;
}


/* ==========================================================================
   SUBMIT
   ========================================================================== */

.guestbook2-submit {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    padding-top:
        4px;
}


.guestbook2-submit-note {
    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    max-width:
        650px;

    color:
        var(--text-muted);

    font-size:
        .58rem;

    line-height:
        1.45;
}


/* ==========================================================================
   EINTRÄGE
   ========================================================================== */

.guestbook2-entries {
    display:
        grid;

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

    gap:
        13px;
}


.guestbook2-entry {
    min-width:
        0;

    padding:
        17px;

    background:
        var(--surface-soft);

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

    border-radius:
        13px;
}


.guestbook2-entry-head {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    margin-bottom:
        12px;

    padding-bottom:
        10px;

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


.guestbook2-entry-avatar {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 39px;

    width:
        39px;

    height:
        39px;

    color:
        #ffffff;

    background:
        var(--purple);

    border-radius:
        50%;

    font-size:
        .78rem;

    font-weight:
        900;
}


.guestbook2-entry-author {
    min-width:
        0;
}


.guestbook2-entry-author strong {
    display:
        block;

    overflow-wrap:
        anywhere;

    color:
        #413c46;

    font-size:
        .72rem;
}


.guestbook2-entry-author time {
    display:
        block;

    margin-top:
        3px;

    color:
        var(--text-muted);

    font-size:
        .54rem;
}


.guestbook2-entry-message {
    color:
        var(--text-soft);

    font-size:
        .68rem;

    line-height:
        1.65;

    overflow-wrap:
        anywhere;
}


/* ==========================================================================
   EMPTY
   ========================================================================== */

.guestbook2-empty {
    padding:
        35px 20px;

    text-align:
        center;
}


.guestbook2-empty-icon {
    margin-bottom:
        10px;

    font-size:
        2rem;
}


.guestbook2-empty h3 {
    margin:
        0 0 7px;

    color:
        #3c3741;

    font-size:
        1rem;
}


.guestbook2-empty p {
    max-width:
        520px;

    margin:
        0 auto 16px;

    color:
        var(--text-soft);

    font-size:
        .66rem;

    line-height:
        1.55;
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.guestbook2-pagination {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        22px;

    padding-top:
        18px;

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


.guestbook2-page-numbers {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        5px;
}


.guestbook2-page-button,
.guestbook2-page-number {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        34px;

    padding:
        6px 9px;

    color:
        #5f4a9f;

    background:
        #ffffff;

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

    border-radius:
        8px;

    font-size:
        .6rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.guestbook2-page-number {
    min-width:
        34px;
}


.guestbook2-page-button:hover,
.guestbook2-page-number:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border-color:
        var(--purple-border);

    text-decoration:
        none;
}


.guestbook2-page-number.is-active {
    color:
        #ffffff;

    background:
        var(--purple);

    border-color:
        var(--purple);
}


.guestbook2-page-dots {
    color:
        var(--text-muted);

    font-size:
        .7rem;
}


/* ==========================================================================
   FOOT CTA
   ========================================================================== */

.guestbook2-footer-cta {
    display:
        grid;

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

    gap:
        17px;

    align-items:
        center;

    margin-top:
        22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid
        var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.guestbook2-footer-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        52px;

    height:
        52px;

    background:
        #ffffff;

    border:
        1px solid
        var(--purple-border);

    border-radius:
        13px;

    font-size:
        1.25rem;
}


.guestbook2-footer-cta h2 {
    margin:
        4px 0 6px;

    color:
        #38333e;

    font-size:
        1.15rem;
}


.guestbook2-footer-cta p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .65rem;

    line-height:
        1.5;
}


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

@media (max-width: 980px) {

    .guestbook2-hero {
        grid-template-columns:
            1fr;
    }


    .guestbook2-footer-cta {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }


    .guestbook2-footer-cta > .links-button {
        grid-column:
            1 / -1;

        justify-self:
            start;
    }

}


@media (max-width: 760px) {

    .guestbook2-entries {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 680px) {

    .guestbook2-page {
        width:
            calc(100% - 16px);

        padding:
            16px 0 38px;
    }


    .guestbook2-hero-copy {
        padding:
            22px 18px;
    }


    .guestbook2-hero-actions {
        flex-direction:
            column;
    }


    .guestbook2-hero-actions
    .links-button {
        width:
            100%;
    }


    .guestbook2-form-section,
    .guestbook2-entries-section {
        padding:
            19px 15px;
    }


    .guestbook2-section-head {
        flex-direction:
            column;

        align-items:
            flex-start;
    }


    .guestbook2-field {
        padding:
            14px;
    }


    .guestbook2-submit {
        flex-direction:
            column;

        align-items:
            stretch;
    }


    .guestbook2-submit
    .links-button {
        width:
            100%;
    }


    .guestbook2-pagination {
        flex-direction:
            column;
    }


    .guestbook2-footer-cta {
        grid-template-columns:
            1fr;

        padding:
            20px 17px;
    }


    .guestbook2-footer-cta > .links-button {
        grid-column:
            auto;

        width:
            100%;
    }

}


@media (max-width: 430px) {

    .guestbook2-page {
        width:
            calc(100% - 12px);
    }


    .guestbook2-field-footer {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            0;
    }


    .guestbook2-page-numbers {
        justify-content:
            center;
    }

}

/* ==========================================================================
   RECHTLICHE SEITEN
   ========================================================================== */

.legal2-page {
    width:
        min(
            980px,
            calc(100% - 32px)
        );

    margin:
        0 auto;

    padding:
        34px 0 56px;
}


.legal2-eyebrow {
    color:
        var(--purple);

    font-size:
        .7rem;

    font-weight:
        900;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


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

.legal2-hero {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(290px, .75fr);

    gap:
        24px;

    align-items:
        stretch;

    margin-bottom:
        22px;
}


.legal2-hero-copy {
    padding:
        32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.legal2-hero h1 {
    margin:
        7px 0 11px;

    color:
        #302c35;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height:
        1.05;

    letter-spacing:
        -.04em;
}


.legal2-hero-lead {
    margin:
        0 0 10px;

    color:
        #4e4954;

    font-size:
        1rem;

    font-weight:
        750;

    line-height:
        1.55;
}


.legal2-hero-text {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .78rem;

    line-height:
        1.65;
}


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

.legal2-hero-panel {
    padding:
        20px;

    background:
        #ffffff;

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

    border-radius:
        var(--radius-xl);

    box-shadow:
        var(--shadow-sm);
}


.legal2-hero-panel-head {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding-bottom:
        14px;

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


.legal2-hero-panel-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 44px;

    width:
        44px;

    height:
        44px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        11px;

    font-size:
        1.15rem;
}


.legal2-hero-panel-head strong {
    display:
        block;

    color:
        #403a45;

    font-size:
        .78rem;
}


.legal2-hero-panel-head div > span {
    display:
        block;

    margin-top:
        2px;

    color:
        var(--text-muted);

    font-size:
        .59rem;
}


.legal2-hero-info-list {
    display:
        grid;

    gap:
        8px;

    margin-top:
        14px;
}


.legal2-hero-info {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        9px;

    padding:
        10px;

    background:
        var(--surface-soft);

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

    border-radius:
        9px;
}


.legal2-hero-info > span {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 32px;

    width:
        32px;

    height:
        32px;

    background:
        #ffffff;

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

    border-radius:
        8px;
}


.legal2-hero-info strong {
    display:
        block;

    color:
        #48434d;

    font-size:
        .65rem;
}


.legal2-hero-info small {
    display:
        block;

    margin-top:
        2px;

    color:
        var(--text-muted);

    font-size:
        .55rem;

    line-height:
        1.4;
}


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

.legal2-section {
    margin-top:
        18px;

    padding:
        25px 27px;

    background:
        #ffffff;

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

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.legal2-section-head {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    margin-bottom:
        17px;

    padding-bottom:
        14px;

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


.legal2-section-head h2 {
    margin:
        4px 0 0;

    color:
        #353039;

    font-size:
        1.2rem;

    line-height:
        1.25;
}


.legal2-section-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 42px;

    width:
        42px;

    height:
        42px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        11px;

    font-size:
        1rem;
}


/* ==========================================================================
   COPY
   ========================================================================== */

.legal2-copy {
    color:
        var(--text-soft);

    font-size:
        .73rem;

    line-height:
        1.75;
}


.legal2-copy p {
    margin:
        0 0 13px;
}


.legal2-copy p:last-child {
    margin-bottom:
        0;
}


.legal2-copy strong {
    color:
        var(--text);

    font-weight:
        800;
}


.legal2-copy a {
    color:
        var(--purple-dark);

    font-weight:
        750;

    text-decoration:
        none;
}


.legal2-copy a:hover {
    text-decoration:
        underline;
}


/* ==========================================================================
   KONTAKTDATEN
   ========================================================================== */

.legal2-contact-card {
    overflow:
        hidden;

    background:
        var(--surface-soft);

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

    border-radius:
        12px;
}


.legal2-contact-row {
    display:
        grid;

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

    gap:
        14px;

    align-items:
        start;

    padding:
        12px 14px;

    border-bottom:
        1px solid
        var(--border);

    color:
        var(--text-soft);

    font-size:
        .7rem;

    line-height:
        1.55;
}


.legal2-contact-row:last-child {
    border-bottom:
        0;
}


.legal2-contact-label {
    color:
        var(--text-muted);

    font-size:
        .6rem;

    font-weight:
        850;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}


.legal2-contact-row strong {
    color:
        var(--text);
}


.legal2-contact-row a {
    color:
        var(--purple-dark);

    font-weight:
        750;

    overflow-wrap:
        anywhere;

    text-decoration:
        none;
}


.legal2-contact-row a:hover {
    text-decoration:
        underline;
}


/* ==========================================================================
   HINWEISE
   ========================================================================== */

.legal2-note {
    display:
        grid;

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

    gap:
        10px;

    align-items:
        flex-start;

    margin-top:
        14px;

    padding:
        13px 14px;

    border-radius:
        11px;
}


.legal2-note-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        32px;

    height:
        32px;

    border-radius:
        8px;
}


.legal2-note strong {
    display:
        block;

    margin-bottom:
        3px;

    font-size:
        .68rem;
}


.legal2-note p {
    margin:
        0;

    font-size:
        .61rem;

    line-height:
        1.55;
}


.legal2-note-warning {
    color:
        #73501e;

    background:
        var(--orange-soft);

    border:
        1px solid
        #eed7b7;
}


.legal2-note-warning
.legal2-note-icon {
    background:
        #ffffff;

    border:
        1px solid
        #ead6ba;
}


/* ==========================================================================
   PROJEKT-LINKS
   ========================================================================== */

.legal2-link-list {
    display:
        grid;

    gap:
        8px;
}


.legal2-link-card {
    display:
        grid;

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

    gap:
        10px;

    align-items:
        center;

    min-height:
        45px;

    padding:
        10px 12px;

    color:
        var(--text-soft);

    background:
        var(--surface-soft);

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

    border-radius:
        10px;

    font-size:
        .68rem;

    font-weight:
        750;

    text-decoration:
        none;

    transition:
        color var(--transition),
        background var(--transition),
        border-color var(--transition),
        transform var(--transition);
}


.legal2-link-card:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    border-color:
        var(--purple-border);

    transform:
        translateY(-1px);

    text-decoration:
        none;
}


.legal2-link-arrow {
    color:
        var(--purple);
}


/* ==========================================================================
   VERWANDTE SEITEN
   ========================================================================== */

.legal2-related {
    display:
        grid;

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

    gap:
        20px;

    align-items:
        center;

    margin-top:
        22px;

    padding:
        23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border:
        1px solid
        var(--purple-border);

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.legal2-related h2 {
    margin:
        4px 0 6px;

    color:
        #38333e;

    font-size:
        1.15rem;
}


.legal2-related p {
    max-width:
        620px;

    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .65rem;

    line-height:
        1.55;
}


.legal2-related-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        8px;
}


/* ==========================================================================
   FOCUS
   ========================================================================== */

.legal2-page a:focus-visible {
    outline:
        3px solid
        rgba(118, 85, 246, .18);

    outline-offset:
        3px;
}


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

@media (max-width: 820px) {

    .legal2-hero {
        grid-template-columns:
            1fr;
    }


    .legal2-related {
        grid-template-columns:
            1fr;
    }


    .legal2-related-actions {
        justify-content:
            flex-start;
    }

}


@media (max-width: 620px) {

    .legal2-page {
        width:
            calc(100% - 16px);

        padding:
            16px 0 38px;
    }


    .legal2-hero-copy {
        padding:
            22px 18px;
    }


    .legal2-section {
        padding:
            20px 16px;
    }


    .legal2-section-head {
        align-items:
            flex-start;
    }


    .legal2-contact-row {
        grid-template-columns:
            1fr;

        gap:
            3px;
    }


    .legal2-related {
        padding:
            20px 17px;
    }


    .legal2-related-actions {
        flex-direction:
            column;

        align-items:
            stretch;
    }


    .legal2-related-actions
    .links-button {
        width:
            100%;
    }

}


@media (max-width: 430px) {

    .legal2-page {
        width:
            calc(100% - 12px);
    }

}

/* ==========================================================================
   LEGAL – LISTEN & INFO-HINWEISE
   ========================================================================== */

.legal2-list {
    margin:
        12px 0 16px;

    padding-left:
        21px;

    color:
        var(--text-soft);

    font-size:
        .73rem;

    line-height:
        1.7;
}


.legal2-list li {
    margin:
        5px 0;

    padding-left:
        3px;
}


.legal2-list li::marker {
    color:
        var(--purple);
}


.legal2-note-info {
    color:
        #554878;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);
}


.legal2-note-info
.legal2-note-icon {
    background:
        #ffffff;

    border:
        1px solid
        var(--purple-border);
}

/* ==========================================================================
   LEGAL – JUGENDSCHUTZ
   ========================================================================== */


/* --------------------------------------------------------------------------
   18+ Banner
   -------------------------------------------------------------------------- */

.legal2-age-banner {
    display:
        grid;

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

    gap:
        18px;

    align-items:
        center;

    margin-bottom:
        22px;

    padding:
        22px 24px;

    color:
        #493741;

    background:
        linear-gradient(
            135deg,
            #fff2f5,
            #ffffff
        );

    border:
        1px solid
        #efccd4;

    border-radius:
        var(--radius-lg);

    box-shadow:
        var(--shadow-sm);
}


.legal2-age-banner-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        64px;

    height:
        64px;

    color:
        #ffffff;

    background:
        #b84d63;

    border-radius:
        50%;

    font-size:
        1.05rem;

    font-weight:
        950;

    letter-spacing:
        -.03em;
}


.legal2-age-banner h2 {
    margin:
        4px 0 6px;

    color:
        #3c3036;

    font-size:
        1.25rem;
}


.legal2-age-banner p {
    margin:
        0;

    color:
        #705d65;

    font-size:
        .68rem;

    line-height:
        1.6;
}


/* --------------------------------------------------------------------------
   Schutzregeln
   -------------------------------------------------------------------------- */

.legal2-rule-grid {
    display:
        grid;

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

    gap:
        11px;
}


.legal2-rule-card {
    padding:
        16px;

    background:
        var(--surface-soft);

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

    border-radius:
        12px;
}


.legal2-rule-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    margin-bottom:
        10px;

    background:
        #ffffff;

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

    border-radius:
        10px;

    font-size:
        1rem;
}


.legal2-rule-card h3 {
    margin:
        0 0 6px;

    color:
        #403a45;

    font-size:
        .76rem;
}


.legal2-rule-card p {
    margin:
        0;

    color:
        var(--text-soft);

    font-size:
        .63rem;

    line-height:
        1.55;
}


/* --------------------------------------------------------------------------
   Meldestelle
   -------------------------------------------------------------------------- */

.legal2-report-card {
    display:
        grid;

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

    gap:
        13px;

    align-items:
        center;

    margin-top:
        17px;

    padding:
        15px;

    background:
        var(--purple-soft);

    border:
        1px solid
        var(--purple-border);

    border-radius:
        12px;
}


.legal2-report-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        42px;

    height:
        42px;

    background:
        #ffffff;

    border:
        1px solid
        var(--purple-border);

    border-radius:
        10px;

    font-size:
        1rem;
}


.legal2-report-card div > span {
    display:
        block;

    margin-bottom:
        2px;

    color:
        var(--text-muted);

    font-size:
        .55rem;

    font-weight:
        750;
}


.legal2-report-card strong {
    display:
        block;

    margin-bottom:
        2px;

    color:
        var(--text);

    font-size:
        .7rem;
}


.legal2-report-card a:not(.links-button) {
    color:
        var(--purple-dark);

    font-size:
        .63rem;

    font-weight:
        750;

    overflow-wrap:
        anywhere;

    text-decoration:
        none;
}


.legal2-report-card a:not(.links-button):hover {
    text-decoration:
        underline;
}


/* --------------------------------------------------------------------------
   Gefahrenhinweis
   -------------------------------------------------------------------------- */

.legal2-note-danger {
    color:
        #864153;

    background:
        var(--red-soft);

    border:
        1px solid
        #efcdd5;
}


.legal2-note-danger
.legal2-note-icon {
    color:
        #ffffff;

    background:
        var(--red);

    border:
        1px solid
        var(--red);
}


/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 700px) {

    .legal2-rule-grid {
        grid-template-columns:
            1fr;
    }


    .legal2-report-card {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }


    .legal2-report-card
    > .links-button {
        grid-column:
            1 / -1;

        justify-self:
            start;
    }

}


@media (max-width: 520px) {

    .legal2-age-banner {
        grid-template-columns:
            1fr;

        padding:
            18px 16px;
    }


    .legal2-age-banner-icon {
        width:
            56px;

        height:
            56px;
    }


    .legal2-report-card {
        grid-template-columns:
            1fr;
    }


    .legal2-report-card
    > .links-button {
        grid-column:
            auto;

        width:
            100%;
    }

}

/* ==========================================================================
   NAVIGATION – 2.10 ERGÄNZUNGEN
   ========================================================================== */

.topnav .nav-link {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        5px;

    min-height:
        42px;

    padding:
        0 13px;

    color:
        var(--text-soft);

    border-radius:
        10px;

    font-size:
        .72rem;

    font-weight:
        750;

    white-space:
        nowrap;

    text-decoration:
        none;

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


.topnav .nav-link:hover {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);

    text-decoration:
        none;
}


.topnav .nav-link.active {
    color:
        var(--purple-dark);

    background:
        var(--purple-soft);
}


.nav-caret {
    display:
        inline-block;

    margin-left:
        2px;

    font-size:
        .72em;

    opacity:
        .7;

    transition:
        transform .16s ease;
}


.dropdown:hover
.nav-caret,
.dropdown:focus-within
.nav-caret {
    transform:
        rotate(180deg);
}

/* ==========================================================================
   KRABBELGRUPPE 2.10 – ERGÄNZUNGEN
   ========================================================================== */

.krabbel-age-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;

    margin: 0 0 22px;
    padding: 20px 22px;

    background: linear-gradient(
        135deg,
        #fff4f6,
        #ffffff
    );

    border: 1px solid #efccd4;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}


.krabbel-age-notice-badge {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    color: #ffffff;
    background: #b84d63;

    border-radius: 50%;

    font-size: 1rem;
    font-weight: 900;
}


.krabbel-age-notice h2 {
    margin: 3px 0 6px;

    color: var(--text);

    font-size: 1.05rem;
}


.krabbel-age-notice p {
    margin: 0;

    color: var(--text-soft);

    font-size: .72rem;
    line-height: 1.6;
}


.krabbel-external-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;

    margin-top: 14px;
    padding: 14px 16px;

    background: var(--surface-muted);
    border: 1px solid var(--border);
    border-radius: 12px;
}


.krabbel-external-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 9px;

    color: var(--purple-dark);
    font-weight: 850;
}


.krabbel-external-note strong {
    display: block;

    margin-bottom: 3px;

    color: var(--text);

    font-size: .72rem;
}


.krabbel-external-note p {
    margin: 0;

    color: var(--text-soft);

    font-size: .66rem;
    line-height: 1.55;
}


.krabbel-safety-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}


.krabbel-safety-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;

    padding: 15px;

    background: var(--surface-soft);
    border: 1px solid var(--border);
    border-radius: 12px;
}


.krabbel-safety-card > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 9px;
}


.krabbel-safety-card h3 {
    margin: 0 0 4px;

    color: var(--text);

    font-size: .72rem;
}


.krabbel-safety-card p {
    margin: 0;

    color: var(--text-soft);

    font-size: .64rem;
    line-height: 1.55;
}


.krabbel-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-top: 22px;
    padding: 22px 24px;

    background: var(--purple-soft);
    border: 1px solid var(--purple-border);
    border-radius: var(--radius-lg);
}


.krabbel-final-cta h2 {
    margin: 4px 0 5px;

    color: var(--text);

    font-size: 1rem;
}


.krabbel-final-cta p {
    margin: 0;

    color: var(--text-soft);

    font-size: .7rem;
    line-height: 1.55;
}


@media (max-width: 820px) {

    .krabbel-safety-grid {
        grid-template-columns: 1fr;
    }


    .krabbel-final-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media (max-width: 560px) {

    .krabbel-age-notice {
        grid-template-columns: 1fr;
    }


    .krabbel-age-notice-badge {
        width: 54px;
        height: 54px;
    }


    .krabbel-final-cta .krabbel-button {
        width: 100%;
    }

}

/* ==========================================================================
   FEEDBACK
   ========================================================================== */

.feedback2-page {
    width: min(
        var(--content-width),
        calc(100% - 32px)
    );

    margin: 0 auto;

    padding: 34px 0 56px;
}


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

.feedback2-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(300px, .75fr);

    gap: 24px;

    align-items: stretch;

    margin-bottom: 22px;
}


.feedback2-hero-copy {
    padding: 32px 34px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #faf9ff 60%,
            #f1edff 100%
        );

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

    border-radius: var(--radius-xl);

    box-shadow: var(--shadow-sm);
}


.feedback2-eyebrow {
    color: var(--purple);

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

    letter-spacing: .1em;

    text-transform: uppercase;
}


.feedback2-hero h1 {
    margin: 7px 0 11px;

    color: #302c35;

    font-size: clamp(
        2rem,
        4vw,
        3.3rem
    );

    line-height: 1.05;

    letter-spacing: -.04em;
}


.feedback2-hero-lead {
    margin: 0 0 10px;

    color: #4e4954;

    font-size: 1rem;
    font-weight: 750;

    line-height: 1.55;
}


.feedback2-hero-text {
    max-width: 760px;

    margin: 0;

    color: var(--text-soft);

    font-size: .78rem;

    line-height: 1.65;
}


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

.feedback2-hero-panel {
    padding: 20px;

    background: #ffffff;

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

    border-radius: var(--radius-xl);

    box-shadow: var(--shadow-sm);
}


.feedback2-hero-panel-head {
    display: flex;

    align-items: center;

    gap: 10px;

    padding-bottom: 14px;

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


.feedback2-hero-panel-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    background: var(--purple-soft);

    border: 1px solid var(--purple-border);

    border-radius: 11px;

    font-size: 1.15rem;
}


.feedback2-hero-panel-head strong {
    display: block;

    color: #403a45;

    font-size: .78rem;
}


.feedback2-hero-panel-head div > span {
    display: block;

    margin-top: 2px;

    color: var(--text-muted);

    font-size: .58rem;
}


.feedback2-hero-info-list {
    display: grid;

    gap: 8px;

    margin-top: 14px;
}


.feedback2-hero-info {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 10px;

    background: var(--surface-soft);

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

    border-radius: 9px;
}


.feedback2-hero-info > span {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 32px;

    width: 32px;
    height: 32px;

    background: #ffffff;

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

    border-radius: 8px;
}


.feedback2-hero-info strong {
    display: block;

    color: #48434d;

    font-size: .65rem;
}


.feedback2-hero-info small {
    display: block;

    margin-top: 2px;

    color: var(--text-muted);

    font-size: .54rem;

    line-height: 1.4;
}


/* ==========================================================================
   MELDUNGEN
   ========================================================================== */

.feedback2-message {
    display: grid;

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

    gap: 12px;

    align-items: flex-start;

    margin-bottom: 18px;

    padding: 16px;

    border-radius: 12px;
}


.feedback2-message-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 50%;

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


.feedback2-message strong {
    display: block;

    margin-bottom: 3px;

    font-size: .72rem;
}


.feedback2-message p {
    margin: 0;

    font-size: .64rem;

    line-height: 1.5;
}


.feedback2-message-success {
    color: #35684c;

    background: var(--green-soft);

    border: 1px solid #cce7d7;
}


.feedback2-message-success .feedback2-message-icon {
    color: #ffffff;

    background: #4f9b6b;
}


.feedback2-message-error {
    color: #914253;

    background: var(--red-soft);

    border: 1px solid #efcdd5;
}


.feedback2-message-error .feedback2-message-icon {
    color: #ffffff;

    background: var(--red);
}


/* ==========================================================================
   FORM SECTION
   ========================================================================== */

.feedback2-section {
    padding: 26px;

    background: #ffffff;

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

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-sm);
}


.feedback2-section-head {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;

    padding-bottom: 15px;

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


.feedback2-section-head h2 {
    margin: 4px 0 5px;

    color: #332f38;

    font-size: 1.35rem;
}


.feedback2-section-head p {
    margin: 0;

    color: var(--text-muted);

    font-size: .66rem;
}


.feedback2-age-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 38px;
    height: 26px;

    color: #9a4355;

    background: #fff0f3;

    border: 1px solid #efcbd3;

    border-radius: 999px;

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


/* ==========================================================================
   FORMULAR
   ========================================================================== */

.feedback2-form {
    display: grid;

    gap: 14px;
}


.feedback2-fieldset {
    min-width: 0;

    margin: 0;

    padding: 18px;

    background: var(--surface-soft);

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

    border-radius: 12px;
}


.feedback2-fieldset legend {
    padding: 0 7px;

    color: #403a45;

    font-size: .69rem;
    font-weight: 850;
}


.feedback2-required {
    color: var(--red);
}


.feedback2-label {
    display: flex;

    align-items: center;

    gap: 6px;

    margin-bottom: 6px;

    color: #4b4650;

    font-size: .67rem;
    font-weight: 850;
}


.feedback2-optional {
    margin-left: auto;

    color: var(--text-muted);

    font-size: .54rem;
    font-weight: 600;
}


.feedback2-input,
.feedback2-textarea {
    display: block;

    width: 100%;

    color: var(--text);

    background: #ffffff;

    border: 1px solid var(--border-strong);

    border-radius: 10px;

    outline: none;

    font-size: .72rem;
}


.feedback2-input {
    min-height: 44px;

    padding: 10px 12px;
}


.feedback2-textarea {
    min-height: 150px;

    padding: 11px 12px;

    resize: vertical;

    line-height: 1.55;
}


.feedback2-input:focus,
.feedback2-textarea:focus {
    border-color: #967cf0;

    box-shadow:
        0 0 0 3px
        rgba(118, 85, 246, .10);
}


.feedback2-help {
    margin: 6px 0 0;

    color: var(--text-muted);

    font-size: .56rem;

    line-height: 1.45;
}


/* ==========================================================================
   RATING
   ========================================================================== */

.feedback2-rating {
    display: flex;

    flex-direction: row-reverse;

    justify-content: flex-end;

    gap: 5px;
}


.feedback2-rating input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.feedback2-rating label {
    color: #d6d7de;

    font-size: 2rem;

    line-height: 1;

    cursor: pointer;

    transition:
        color var(--transition),
        transform var(--transition);
}


.feedback2-rating label:hover,
.feedback2-rating label:hover ~ label,
.feedback2-rating input:checked ~ label {
    color: #f0b33d;
}


.feedback2-rating label:hover {
    transform: translateY(-1px);
}


.feedback2-rating input:focus-visible + label {
    outline: 3px solid rgba(118, 85, 246, .18);

    outline-offset: 4px;

    border-radius: 4px;
}


/* ==========================================================================
   FEEDBACK-TYP
   ========================================================================== */

.feedback2-type-grid {
    display: grid;

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

    gap: 8px;
}


.feedback2-type-option {
    position: relative;
}


.feedback2-type-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.feedback2-type-option > span {
    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 5px;

    min-height: 86px;

    padding: 10px;

    color: #5c5763;

    background: #ffffff;

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

    border-radius: 10px;

    cursor: pointer;

    text-align: center;

    transition:
        color var(--transition),
        background var(--transition),
        border-color var(--transition),
        transform var(--transition);
}


.feedback2-type-option > span > span {
    font-size: 1.2rem;
}


.feedback2-type-option strong {
    font-size: .64rem;
}


.feedback2-type-option > span:hover {
    transform: translateY(-1px);

    border-color: #cfc4f4;
}


.feedback2-type-option input:checked + span {
    color: #ffffff;

    background: var(--purple);

    border-color: var(--purple);
}


.feedback2-type-option input:focus-visible + span {
    outline: 3px solid rgba(118, 85, 246, .18);

    outline-offset: 3px;
}


/* ==========================================================================
   HONEYPOT
   ========================================================================== */

.feedback2-honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;

    white-space: nowrap !important;

    pointer-events: none !important;
}


/* ==========================================================================
   SUBMIT
   ========================================================================== */

.feedback2-submit {
    display: flex;

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

    gap: 14px;

    padding-top: 4px;
}


.feedback2-submit-note {
    display: flex;

    align-items: center;

    gap: 7px;

    color: var(--text-muted);

    font-size: .58rem;

    line-height: 1.45;
}


/* ==========================================================================
   FOOT CTA
   ========================================================================== */

.feedback2-footer-cta {
    display: grid;

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

    gap: 17px;

    align-items: center;

    margin-top: 22px;

    padding: 23px 25px;

    background:
        linear-gradient(
            135deg,
            #f7f3ff,
            #ffffff
        );

    border: 1px solid var(--purple-border);

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow-sm);
}


.feedback2-footer-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    background: #ffffff;

    border: 1px solid var(--purple-border);

    border-radius: 13px;

    font-size: 1.25rem;
}


.feedback2-footer-cta h2 {
    margin: 4px 0 6px;

    color: #38333e;

    font-size: 1.15rem;
}


.feedback2-footer-cta p {
    margin: 0;

    color: var(--text-soft);

    font-size: .65rem;

    line-height: 1.5;
}


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

@media (max-width: 980px) {

    .feedback2-hero {
        grid-template-columns: 1fr;
    }


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


    .feedback2-footer-cta {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }


    .feedback2-footer-cta > .links-button {
        grid-column: 1 / -1;

        justify-self: start;
    }

}


@media (max-width: 680px) {

    .feedback2-page {
        width: calc(100% - 16px);

        padding: 16px 0 38px;
    }


    .feedback2-hero-copy {
        padding: 22px 18px;
    }


    .feedback2-section {
        padding: 19px 15px;
    }


    .feedback2-section-head {
        flex-direction: column;

        align-items: flex-start;
    }


    .feedback2-type-grid {
        grid-template-columns: 1fr 1fr;
    }


    .feedback2-submit {
        flex-direction: column;

        align-items: stretch;
    }


    .feedback2-submit .links-button {
        width: 100%;
    }


    .feedback2-footer-cta {
        grid-template-columns: 1fr;

        padding: 20px 17px;
    }


    .feedback2-footer-cta > .links-button {
        grid-column: auto;

        width: 100%;
    }

}


@media (max-width: 430px) {

    .feedback2-page {
        width: calc(100% - 12px);
    }


    .feedback2-type-grid {
        grid-template-columns: 1fr;
    }


    .feedback2-rating label {
        font-size: 1.7rem;
    }

}

/* ==========================================================================
   22. FOOTER
   ========================================================================== */

.footer-nav {
    width: 100%;

    margin-top: 48px;

    color: var(--text);

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #faf9ff
        );

    border-top:
        1px solid var(--border);

    box-shadow:
        0 -4px 18px
        rgba(30, 26, 45, .035);
}


.footer-inner {
    display: grid;

    grid-template-columns:
        minmax(280px, 1.6fr)
        repeat(
            3,
            minmax(150px, 1fr)
        );

    gap: 30px;

    width: 100%;

    padding:
        38px 32px 30px;
}


.footer-brand {
    display: flex;

    align-items: flex-start;

    gap: 11px;
}


.footer-brand-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color: #5c45b0;

    background: var(--purple-soft);

    border:
        1px solid var(--purple-border);

    border-radius: 11px;
}


.footer-heading {
    margin:
        0 0 11px;

    color: #3d3943;

    font-size: .7rem;
    font-weight: 850;
}


.footer-links,
.footer-legal {
    display: grid;

    gap: 5px;
}


.footer-links a,
.footer-legal a {
    width: fit-content;

    color: #777b85;

    font-size: .64rem;
    font-weight: 680;

    text-decoration: none;
}


.footer-links a:hover,
.footer-legal a:hover {
    color: var(--purple-dark);
}


.footer-age-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding:
        3px 6px;

    color: #9a4355;

    background: #fff0f3;

    border:
        1px solid #efcbd3;

    border-radius: 999px;

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


.footer-bottom {
    display: flex;

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

    gap: 18px;

    padding:
        13px 32px;

    color: #8a8e98;

    background: #f7f7fb;

    border-top:
        1px solid var(--border);

    font-size: .56rem;
}


.page-links .links-page + .footer-nav {
    margin-top: 0;
}



/* ==========================================================================
   23. RESPONSIVE
   ========================================================================== */


/* --------------------------------------------------------------------------
   LARGE DESKTOP
   -------------------------------------------------------------------------- */

@media (min-width: 1500px) {

    .map2-page {
        padding-left: 34px;
        padding-right: 34px;
    }


    .map2-results-grid {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );
    }

}


/* --------------------------------------------------------------------------
   SMALL DESKTOP
   -------------------------------------------------------------------------- */

@media (max-width: 1250px) {

    .nav-inner {
        padding:
            0 20px;
    }


    .nav-inner > a,
    .nav-inner .dropbtn {
        padding:
            0 11px;

        font-size: 13px;
    }


    .map2-layout {
        grid-template-columns:
            290px
            minmax(0, 1fr);
    }


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

}


/* --------------------------------------------------------------------------
   TABLET
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {

    .map2-header,
    .about-hero,
    .krabbel-hero,
    .categories-hero,
    .entry2-hero,
    .latest2-hero,
    .events4-hero,
    .event-create5-hero,
    .page-links .links-hero,
    .link-create-hero {
        grid-template-columns: 1fr;
    }


    .map2-layout {
        grid-template-columns: 1fr;
    }


    .map2-sidebar {
        position: relative;

        top: auto;
    }


    .categories-stat-grid,
    .latest2-hero-stats {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }


    .categories-grid,
    .latest2-grid,
    .events4-archive-grid,
    .page-links .links-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .entry2-type-grid,
    .entry2-role-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .events4-info {
        grid-template-columns: 1fr;
    }


    .event-create5-layout {
        grid-template-columns: 1fr;
    }


    .event-create5-sidebar {
        position: static;

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


    .link-create-info-list,
    .link-create-notes {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


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

}


/* --------------------------------------------------------------------------
   NAV MOBILE / TABLET
   -------------------------------------------------------------------------- */

@media (max-width: 760px) {

    /*
     * Die Navigation bleibt horizontal scrollbar.
     *
     * Wichtig:
     * Dropdowns sind auf Desktop Hover-Menüs.
     * Auf Touch-Geräten funktioniert focus-within zusätzlich.
     */

    .nav-inner {
        width: 100%;

        min-height: 50px;

        padding:
            0 8px;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }


    .nav-inner > a,
    .nav-inner .dropbtn {
        min-height: 50px;

        padding:
            0 10px;

        font-size: 12px;
    }


    .nav-inner .dropdown-content {
        min-width: 190px;
    }

}


/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 680px) {

    .container {
        width:
            calc(100% - 16px);
    }


    /* Map */

    .map2-page {
        padding:
            12px 9px 34px;
    }


    #map2 {
        height: 68vh;

        min-height: 460px;
    }


    .map2-results-grid {
        grid-template-columns: 1fr;
    }


    /* Seitenbreiten */

    .about-page,
    .krabbel-page,
    .categories-page,
    .entry2-page,
    .latest2-page,
    .events4-page,
    .event-create5-page,
    .links-page,
    .link-create-page,
    .link-edit-page {
        width:
            calc(100% - 16px);

        padding:
            16px 0 38px;
    }


    /* Hero Innenabstände */

    .categories-hero-copy,
    .entry2-hero-copy,
    .latest2-hero-copy,
    .events4-hero-copy,
    .event-create5-hero-copy,
    .link-create-hero-copy {
        padding:
            22px 18px;
    }


    /* Einspaltige Grids */

    .about-feature-grid,
    .about-privacy-grid,
    .krabbel-rules-grid,
    .categories-stat-grid,
    .categories-grid,
    .entry2-grid,
    .entry2-community-grid,
    .entry2-type-grid,
    .entry2-role-grid,
    .latest2-hero-stats,
    .latest2-grid,
    .events4-navigation,
    .events4-archive-grid,
    .event-create5-grid,
    .event-create5-category-grid,
    .event-create5-visibility-grid,
    .event-create5-sidebar,
    .page-links .links-grid,
    .link-create-info-list,
    .link-create-notes,
    .link-form-grid {
        grid-template-columns: 1fr;
    }


    /* Kategorie */

    .categories-section {
        padding:
            19px 15px;
    }


    .categories-section-header {
        flex-direction: column;

        align-items: flex-start;
    }


    .categories-hero-actions {
        flex-direction: column;
    }


    .categories-hero-actions .links-button {
        width: 100%;
    }


    .categories-cta {
        grid-template-columns: 1fr;

        padding:
            20px 17px;
    }


    /* Eintrag erstellen */

    .entry2-panel {
        padding:
            18px 15px;
    }


    .entry2-field-wide {
        grid-column: auto;
    }


    .entry2-hero-actions {
        flex-direction: column;
    }


    .entry2-hero-actions .links-button {
        width: 100%;
    }


    .entry2-role-toolbar {
        flex-direction: column;

        align-items: flex-start;
    }


    .entry2-submit-panel {
        grid-template-columns: 1fr;
    }


    /* Neueste Einträge */

    .latest2-section {
        padding:
            19px 15px;
    }


    .latest2-section-header {
        flex-direction: column;

        align-items: flex-start;
    }


    .latest2-hero-actions {
        flex-direction: column;
    }


    .latest2-hero-actions .links-button {
        width: 100%;
    }


    .latest2-footer-cta {
        grid-template-columns: 1fr;
    }


    /* Events */

    .events4-calendar-panel,
    .events4-archive-section {
        padding:
            18px 14px;
    }


    .events4-calendar-head,
    .events4-archive-head {
        flex-direction: column;

        align-items: flex-start;
    }


    .events4-hero-actions {
        flex-direction: column;
    }


    .events4-hero-actions .links-button {
        width: 100%;
    }


    .events4-footer-cta {
        grid-template-columns: 1fr;
    }


    .events4-calendar-panel .fc-header-toolbar {
        flex-direction: column;

        gap: 8px;
    }


    .event4-modal {
        padding:
            16px 10px;
    }


    /* Event eintragen */

    .event-create5-card {
        padding:
            19px 15px;
    }


    .event-create5-full {
        grid-column: auto;
    }


    .event-create5-actions,
    .event-create5-success-actions {
        flex-direction: column;
    }


    .event-create5-button,
    .event-create5-success-button {
        width: 100%;
    }


    .event-create5-upload {
        align-items: flex-start;
    }


    /* Links */

    .link-create-process {
        grid-template-columns: 1fr;
    }


    .link-create-process-arrow {
        display: none;
    }


    .link-create-section-header,
    .page-links .links-section-header {
        flex-direction: column;

        align-items: flex-start;
    }


    .link-form-group-full {
        grid-column: auto;
    }


    .link-form-submit {
        flex-direction: column;

        align-items: stretch;
    }


    .link-form-backlink-content {
        flex-direction: column;
    }


    .page-links .links-section {
        padding:
            19px 15px;
    }


    .page-links .links-cta,
    .link-create-footer-cta {
        grid-template-columns: 1fr;
    }


    .page-links .links-button,
    .link-create-hero-actions .links-button,
    .link-create-footer-cta .links-button {
        width: 100%;
    }


    /* Link Edit */

    .link-edit-hero,
    .link-edit-actions {
        flex-direction: column;

        align-items: stretch;
    }


    /* Footer */

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

        padding:
            29px 18px 24px;
    }


    .footer-bottom {
        flex-direction: column;

        align-items: flex-start;

        padding:
            12px 18px;
    }

}


/* --------------------------------------------------------------------------
   VERY SMALL MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 430px) {

    .map2-radius-options {
        grid-template-columns:
            repeat(
                3,
                1fr
            );
    }


    #map2 {
        min-height: 430px;
    }


    .about-page,
    .krabbel-page,
    .categories-page,
    .entry2-page,
    .latest2-page,
    .events4-page,
    .event-create5-page,
    .links-page,
    .link-create-page,
    .link-edit-page {
        width:
            calc(100% - 12px);
    }


    .latest2-card {
        padding: 14px;
    }


    .event-create5-card {
        padding:
            17px 13px;
    }


    .event-create5-upload {
        flex-direction: column;
    }


    .event-create5-upload .event-create5-field {
        width: 100%;
    }


    .events4-calendar-panel .fc {
        font-size: 11px;
    }

}



/* ==========================================================================
   24. AKTUALITÄTSSTATUS – ABDL MAP 2.11.0
   ========================================================================== */

.entry-freshness-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: .18rem .46rem;
    border: 1px solid rgba(118, 85, 246, .16);
    border-radius: 999px;
    background: rgba(118, 85, 246, .055);
    color: inherit;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .01em;
    white-space: nowrap;
}

/* Die Zustände bleiben bewusst schlicht – kein zusätzliches Symbol im Badge. */
.entry-freshness-badge::before {
    content: none;
}

.entry-freshness-badge.is-new {
    border-color: rgba(118, 85, 246, .20);
    background: rgba(118, 85, 246, .075);
}

.entry-freshness-badge.is-updated {
    border-color: rgba(70, 111, 220, .18);
    background: rgba(70, 111, 220, .065);
}

.entry-freshness-badge.is-old {
    border-color: rgba(110, 118, 129, .16);
    background: rgba(110, 118, 129, .05);
    opacity: .82;
}

.entry-freshness-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .75rem;
    margin-top: .5rem;
    font-size: .78rem;
    opacity: .72;
}

.entry-freshness-meta span {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.entry-freshness-stack {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
}

.map2-result-freshness,
.map2-popup-freshness {
    margin-top: .35rem;
}

@media (max-width: 640px) {
    .entry-freshness-badge {
        padding: .16rem .42rem;
        font-size: .65rem;
    }

    .entry-freshness-meta {
        font-size: .75rem;
    }
}


/* ==========================================================================
   25. REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }


    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;
    }


    .categories-card:hover,
    .latest2-card:hover,
    .map2-result-button:hover,
    .page-links .links-card:hover,
    .links-button:hover,
    .about-button:hover,
    .krabbel-button:hover {
        transform: none;
    }

}

/* ==========================================================================
   25. PROFIL-HASHTAGS – 2.13
   ========================================================================== */

.hashtag-editor {
    display: grid;
    gap: 12px;
}

.hashtag-input-row {
    display: grid;
    gap: 6px;
}

.hashtag-input-label {
    margin-bottom: 0;
}

.hashtag-input-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.hashtag-add-button {
    min-height: 42px;
    padding-inline: 14px;
}

.profile-tags-picker-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 14px;
    padding: 10px 12px;
    background: #f8f7fc;
    border: 1px solid #e9e5f3;
    border-radius: 10px;
    color: #66616f;
    font-size: .72rem;
    line-height: 1.4;
}

.profile-tags-counter {
    flex: 0 0 auto;
    color: var(--purple, #7655f6);
    font-size: .72rem;
    font-weight: 850;
}

.hashtag-chips,
.profile-tags-public,
.discover2-card-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.hashtag-chips:empty {
    display: none;
}

.hashtag-chip,
.profile-tag-public,
.discover2-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 9px;
    color: #625d69 !important;
    background: #f8f7fb;
    border: 1px solid #e6e2ec;
    border-radius: 999px;
    font-size: .69rem;
    font-weight: 760;
    line-height: 1.15;
    text-decoration: none !important;
}

.hashtag-chip {
    color: #553dcc !important;
    background: rgba(118, 85, 246, .08);
    border-color: rgba(118, 85, 246, .22);
}

.hashtag-remove {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    margin: -2px -3px -2px 1px;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: .95rem;
    line-height: 1;
    cursor: pointer;
}

.hashtag-remove:hover,
.hashtag-remove:focus-visible {
    background: rgba(118, 85, 246, .12);
    outline: none;
}

.profile-tags-public {
    margin-top: 10px;
}

.profile-tag-public:hover,
.discover2-card-tag:hover {
    color: #553dcc !important;
    background: #f3efff;
    border-color: #d4c9f6;
}

.discover2-card-tags {
    margin-top: 10px;
}

@media (max-width: 640px) {
    .hashtag-input-controls {
        grid-template-columns: 1fr;
    }

    .hashtag-add-button {
        width: 100%;
    }

    .profile-tags-picker-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .hashtag-chip,
    .profile-tag-public,
    .discover2-card-tag {
        font-size: .65rem;
    }
}
