/* ============================================================
   ServerForum
   WoltLab-inspiriertes Grundlayout
   Eigenständiges Design
   ============================================================ */


/* ============================================================
   1. DESIGN-VARIABLEN

   HIER kannst du später das komplette Design verändern.
   ============================================================ */

:root {

    /* Hintergrund */

    --sf-body-background: #0b1220;
    --sf-header-background: #080f1d;
    --sf-footer-background: #080f1d;

    /* Boxen */

    --sf-card-background: #111c2e;
    --sf-card-background-hover: #16243a;

    /* Rahmen */

    --sf-border: #263b59;
    --sf-border-light: #314968;

    /* Schrift */

    --sf-text: #f1f5f9;
    --sf-text-muted: #8fa6c2;
    --sf-text-soft: #cbd5e1;

    /* Hauptfarbe */

    --sf-primary: #3b82f6;
    --sf-primary-hover: #2563eb;

    /* Status */

    --sf-success: #22c55e;
    --sf-danger: #ef4444;
    --sf-warning: #eab308;

    /* Schatten */

    --sf-shadow-small:
        0 4px 15px rgba(0, 0, 0, 0.12);

    --sf-shadow:
        0 10px 30px rgba(0, 0, 0, 0.16);

    /* Rundungen */

    --sf-radius-small: 7px;
    --sf-radius: 10px;
    --sf-radius-large: 14px;

    /* Seitenbreite */

    --sf-content-width: 1500px;

    /* Header */

    --sf-header-height: 72px;

    /* Abstände */

    --sf-space-xs: 6px;
    --sf-space-sm: 10px;
    --sf-space-md: 16px;
    --sf-space-lg: 24px;
    --sf-space-xl: 32px;

}


/* ============================================================
   2. RESET
   ============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    margin: 0;
    padding: 0;

    scroll-behavior: smooth;
}


body {
    margin: 0;
    padding: 0;

    background: var(--sf-body-background);

    color: var(--sf-text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 15px;

    line-height: 1.6;

    min-height: 100vh;
}


a {
    color: var(--sf-primary);

    text-decoration: none;

    transition:
        color 0.15s ease,
        background 0.15s ease,
        border-color 0.15s ease;
}


a:hover {
    color: #60a5fa;
}


button,
input,
textarea,
select {
    font-family: inherit;
}


img {
    max-width: 100%;
    height: auto;
}


/* ============================================================
   3. SEITENSTRUKTUR
   ============================================================ */

body {
    display: flex;
    flex-direction: column;
}


.site-main {
    flex: 1;

    width: 100%;

    min-height: calc(
        100vh - var(--sf-header-height)
    );
}


.page-container {
    width: min(
        calc(100% - 32px),
        var(--sf-content-width)
    );

    margin: 0 auto;

    padding-top: 30px;
    padding-bottom: 50px;
}


/* ============================================================
   4. HEADER
   ============================================================ */

.site-header {
    position: sticky;

    top: 0;

    z-index: 1000;

    width: 100%;

    min-height: var(--sf-header-height);

    background:
        var(--sf-header-background);

    border-bottom:
        1px solid var(--sf-border);

    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.22);
}


.header-container {
    width: min(
        calc(100% - 32px),
        var(--sf-content-width)
    );

    min-height: var(--sf-header-height);

    margin: 0 auto;

    display: flex;

    align-items: center;

    gap: 28px;
}


/* ============================================================
   5. LOGO
   ============================================================ */

.site-logo {
    display: inline-flex;

    align-items: center;

    gap: 11px;

    flex-shrink: 0;

    color: #ffffff;

    font-weight: 800;
}


.site-logo:hover {
    color: #ffffff;
}


.site-logo-icon {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background:
        rgba(59, 130, 246, 0.15);

    border:
        1px solid
        rgba(59, 130, 246, 0.30);

    font-size: 19px;
}


.site-logo-text {
    font-size: 21px;

    font-weight: 800;

    letter-spacing: -0.4px;
}


/* ============================================================
   6. HAUPTNAVIGATION
   ============================================================ */

.main-navigation {
    display: flex;

    align-items: center;

    gap: 4px;

    margin-left: 10px;
}


.navigation-item {
    position: relative;

    display: inline-flex;

    align-items: center;

    min-height: 42px;

    padding:
        8px 13px;

    border-radius:
        var(--sf-radius-small);

    color: #aebdd0;

    font-size: 14px;

    font-weight: 600;
}


.navigation-item:hover {
    background:
        rgba(255, 255, 255, 0.04);

    color: #ffffff;
}


.navigation-messages {
    gap: 7px;
}


.navigation-badge {
    min-width: 20px;
    height: 20px;

    padding:
        0 6px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background:
        var(--sf-danger);

    color: #ffffff;

    font-size: 11px;

    font-weight: 800;

    line-height: 1;
}


/* ============================================================
   7. USER-BEREICH HEADER
   ============================================================ */

.header-user {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-left: auto;
}


.user-link {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    min-height: 42px;

    padding:
        5px 9px;

    border-radius:
        var(--sf-radius-small);

    color: #ffffff;
}


.user-link:hover {
    background:
        rgba(255, 255, 255, 0.04);

    color: #ffffff;
}


.user-avatar {
    width: 32px;
    height: 32px;

    flex: 0 0 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #162943;

    border:
        1px solid #31547d;

    color: #dbeafe;

    font-size: 12px;

    font-weight: 800;
}


.user-name {
    font-size: 14px;

    font-weight: 600;
}


.header-action {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding:
        7px 11px;

    border:
        1px solid transparent;

    border-radius:
        var(--sf-radius-small);

    color: #aebdd0;

    font-size: 13px;

    font-weight: 600;
}


.header-action:hover {
    background:
        rgba(255, 255, 255, 0.04);

    border-color:
        var(--sf-border);

    color: #ffffff;
}


.logout-link:hover {
    color: #fca5a5;
}


.header-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding:
        7px 14px;

    border:
        1px solid var(--sf-primary);

    border-radius:
        var(--sf-radius-small);

    background:
        var(--sf-primary);

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;
}


.header-button:hover {
    background:
        var(--sf-primary-hover);

    border-color:
        var(--sf-primary-hover);

    color: #ffffff;
}


/* ============================================================
   8. FLASH-MELDUNGEN
   ============================================================ */

.flash-messages {
    margin-bottom: 22px;
}


.flash-message {
    padding:
        13px 16px;

    margin-bottom: 10px;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius);

    background:
        var(--sf-card-background);

    color: var(--sf-text);
}


.flash-message:last-child {
    margin-bottom: 0;
}


.flash-success {
    border-color:
        rgba(34, 197, 94, 0.45);

    background:
        rgba(34, 197, 94, 0.08);

    color: #bbf7d0;
}


.flash-error {
    border-color:
        rgba(239, 68, 68, 0.45);

    background:
        rgba(239, 68, 68, 0.08);

    color: #fecaca;
}


.flash-warning {
    border-color:
        rgba(234, 179, 8, 0.45);

    background:
        rgba(234, 179, 8, 0.08);

    color: #fef08a;
}


.flash-info {
    border-color:
        rgba(59, 130, 246, 0.45);

    background:
        rgba(59, 130, 246, 0.08);

    color: #bfdbfe;
}


/* ============================================================
   9. ALLGEMEINE CARDS
   ============================================================ */

.card {
    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


.card-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding:
        18px 22px;

    border-bottom:
        1px solid var(--sf-border);
}


.card-title {
    margin: 0;

    color: #ffffff;

    font-size: 18px;

    font-weight: 700;
}


.card-body {
    padding:
        22px;
}


.card-footer {
    padding:
        15px 22px;

    border-top:
        1px solid var(--sf-border);
}


/* ============================================================
   10. SEITENTITEL
   ============================================================ */

.page-header {
    margin-bottom: 25px;
}


.page-header h1 {
    margin:
        0 0 6px;

    color: #ffffff;

    font-size: 30px;

    line-height: 1.25;

    letter-spacing: -0.5px;
}


.page-header p {
    margin: 0;

    color: var(--sf-text-muted);

    font-size: 14px;
}


/* ============================================================
   11. BREADCRUMBS
   ============================================================ */

.breadcrumbs {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 20px;

    color: var(--sf-text-muted);

    font-size: 13px;
}


.breadcrumbs a {
    color: #8dbcf5;
}


.breadcrumbs a:hover {
    color: #ffffff;
}


.breadcrumbs span {
    color: #536b87;
}


/* ============================================================
   12. BUTTONS
   ============================================================ */

.button,
button.button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    min-height: 40px;

    padding:
        8px 15px;

    border:
        1px solid var(--sf-primary);

    border-radius:
        var(--sf-radius-small);

    background:
        var(--sf-primary);

    color: #ffffff;

    font-size: 14px;

    font-weight: 700;

    cursor: pointer;

    text-decoration: none;

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}


.button:hover,
button.button:hover {
    background:
        var(--sf-primary-hover);

    border-color:
        var(--sf-primary-hover);

    color: #ffffff;

    transform:
        translateY(-1px);
}


.button.secondary {
    background:
        transparent;

    border-color:
        var(--sf-border);

    color:
        var(--sf-text-soft);
}


.button.secondary:hover {
    background:
        var(--sf-card-background-hover);

    border-color:
        var(--sf-border-light);

    color: #ffffff;

    transform: none;
}


.button.danger {
    background:
        var(--sf-danger);

    border-color:
        var(--sf-danger);
}


.button.danger:hover {
    background: #dc2626;

    border-color: #dc2626;
}


/* ============================================================
   13. FORMULARE
   ============================================================ */

.form-card {
    padding: 25px;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


.form-card h2 {
    margin-top: 0;

    color: #ffffff;
}


.form-group {
    margin-bottom: 19px;
}


.form-group label {
    display: block;

    margin-bottom: 7px;

    color: #e2e8f0;

    font-size: 14px;

    font-weight: 700;
}


.form-group small {
    display: block;

    margin-top: 6px;

    color: var(--sf-text-muted);

    font-size: 12px;
}


input,
textarea,
select {
    width: 100%;

    padding:
        11px 13px;

    background:
        #0b1220;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-small);

    color:
        var(--sf-text);

    font-size:
        15px;

    outline: none;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}


input:focus,
textarea:focus,
select:focus {
    border-color:
        var(--sf-primary);

    box-shadow:
        0 0 0 3px
        rgba(59, 130, 246, 0.12);
}


input::placeholder,
textarea::placeholder {
    color: #64748b;
}


textarea {
    min-height: 130px;

    resize: vertical;
}


input[type="date"] {
    color-scheme: dark;
}


.form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        0 20px;
}


.form-actions {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 24px;
}


/* ============================================================
   14. TABELLEN
   ============================================================ */

.table-wrapper {
    width: 100%;

    overflow-x: auto;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius);

    background:
        var(--sf-card-background);
}


table {
    width: 100%;

    border-collapse: collapse;

    min-width: 650px;
}


th,
td {
    padding:
        13px 15px;

    text-align: left;

    border-bottom:
        1px solid var(--sf-border);

    vertical-align: middle;
}


th {
    background:
        #0b1220;

    color:
        var(--sf-text-muted);

    font-size:
        12px;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        0.3px;
}


td {
    color:
        #dbe4ee;

    font-size:
        14px;
}


tbody tr:hover td {
    background:
        rgba(255, 255, 255, 0.015);
}


tbody tr:last-child td {
    border-bottom: none;
}


/* ============================================================
   15. BADGES
   ============================================================ */

.badge {
    display: inline-flex;

    align-items: center;

    padding:
        4px 9px;

    border-radius:
        999px;

    background:
        rgba(59, 130, 246, 0.12);

    border:
        1px solid
        rgba(59, 130, 246, 0.25);

    color:
        #93c5fd;

    font-size:
        12px;

    font-weight:
        700;

    line-height:
        1.3;
}


.badge.success {
    background:
        rgba(34, 197, 94, 0.1);

    border-color:
        rgba(34, 197, 94, 0.25);

    color:
        #86efac;
}


.badge.warning {
    background:
        rgba(234, 179, 8, 0.1);

    border-color:
        rgba(234, 179, 8, 0.25);

    color:
        #fde047;
}


.badge.danger {
    background:
        rgba(239, 68, 68, 0.1);

    border-color:
        rgba(239, 68, 68, 0.25);

    color:
        #fca5a5;
}


.badge.secondary {
    background:
        rgba(148, 163, 184, 0.1);

    border-color:
        rgba(148, 163, 184, 0.25);

    color:
        #cbd5e1;
}


/* ============================================================
   16. PROFIL
   ============================================================ */

.profile-details {
    display: flex;

    flex-direction: column;

    width: 100%;
}


.profile-detail {
    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);

    gap: 20px;

    padding:
        15px 0;

    border-bottom:
        1px solid var(--sf-border);
}


.profile-detail:first-child {
    padding-top: 0;
}


.profile-detail:last-child {
    padding-bottom: 0;

    border-bottom: none;
}


.profile-detail-label {
    color:
        var(--sf-text-muted);

    font-size:
        14px;

    font-weight:
        700;
}


.profile-detail strong {
    color:
        #ffffff;
}


.profile-detail a {
    color:
        #60a5fa;

    overflow-wrap:
        anywhere;
}


.profile-bio {
    align-items:
        start;
}


.profile-bio-text {
    color:
        #d7e0eb;

    line-height:
        1.7;

    overflow-wrap:
        anywhere;
}


/* ============================================================
   17. THREAD / BEITRÄGE
   ============================================================ */

.posts {
    display: flex;

    flex-direction: column;

    gap: 18px;

    width: 100%;
}


.posts .post {
    display: grid;

    grid-template-columns:
        190px
        minmax(0, 1fr);

    width: 100%;

    min-width: 0;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    overflow:
        hidden;

    box-shadow:
        var(--sf-shadow);
}


/* ------------------------------------------------------------
   LINKER PROFILBEREICH
------------------------------------------------------------ */

.posts .post .post-author {
    width: 190px;

    min-width: 190px;

    padding:
        24px 15px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: flex-start;

    text-align: center;

    background:
        #0c1728;

    border-right:
        1px solid var(--sf-border);
}


/* ------------------------------------------------------------
   AVATAR
------------------------------------------------------------ */

.posts .post .post-avatar {
    width: 64px;
    height: 64px;

    min-width: 64px;
    min-height: 64px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 12px;

    border-radius: 50%;

    background:
        #142a45;

    border:
        1px solid #31577f;

    color:
        #ffffff;

    font-size:
        23px;

    font-weight:
        800;

    line-height:
        1;
}


/* ------------------------------------------------------------
   PROFILINFORMATIONEN

   WICHTIG:
   Dein aktueller thread.php verwendet:

   .post-author
   .post-avatar
   .post-author-info
   .post-username
   .post-role
------------------------------------------------------------ */

.posts .post .post-author-info {
    width: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 3px;
}


.posts .post .post-author-info strong {
    display: block;

    width: 100%;

    margin: 0;

    color:
        #ffffff;

    font-size:
        15px;

    font-weight:
        700;

    line-height:
        1.4;

    overflow-wrap:
        anywhere;
}


.posts .post .post-username {
    display: block;

    width: 100%;

    color:
        #7890ad;

    font-size:
        12px;

    line-height:
        1.4;

    overflow-wrap:
        anywhere;
}


.posts .post .post-role {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin-top: 4px;

    padding:
        3px 8px;

    border-radius:
        999px;

    background:
        rgba(59, 130, 246, 0.10);

    border:
        1px solid
        rgba(59, 130, 246, 0.20);

    color:
        #93c5fd;

    font-size:
        11px;

    font-weight:
        700;
}


/* ============================================================
   18. RECHTER BEITRAGSBEREICH
   ============================================================ */

.posts .post .post-main {
    min-width: 0;

    display: flex;

    flex-direction: column;

    padding:
        0 24px 24px;
}


/* ------------------------------------------------------------
   BEITRAG META
------------------------------------------------------------ */

.posts .post .post-meta {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 7px;

    min-height: 45px;

    margin:
        0 -24px 20px;

    padding:
        0 24px;

    background:
        rgba(255, 255, 255, 0.01);

    border-bottom:
        1px solid var(--sf-border);

    color:
        #7890ad;

    font-size:
        12px;
}


/* ------------------------------------------------------------
   BEITRAGSTEXT
------------------------------------------------------------ */

.posts .post .post-content {
    min-width: 0;

    color:
        #edf2f7;

    font-size:
        16px;

    line-height:
        1.75;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


.posts .post .post-content br {
    line-height:
        1.75;
}


/* ------------------------------------------------------------
   BEARBEITEN / LÖSCHEN
------------------------------------------------------------ */

.posts .post .post-actions {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top:
        24px;

    padding-top:
        14px;

    border-top:
        1px solid var(--sf-border);
}


.posts .post .post-actions a {
    color:
        #60a5fa;

    font-size:
        13px;
}


.posts .post .post-actions form {
    margin: 0;

    padding: 0;
}


.posts .post .link-danger {
    padding: 0;

    border: none;

    background: transparent;

    color:
        #ff6b6b;

    font-size:
        13px;

    cursor:
        pointer;
}


.posts .post .link-danger:hover {
    text-decoration:
        underline;
}


/* ============================================================
   19. ANTWORTFORMULAR
   ============================================================ */

.reply {
    width: 100%;

    margin-top:
        25px;

    padding:
        24px;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


.reply h2 {
    margin:
        0 0 18px;

    color:
        #ffffff;

    font-size:
        19px;
}


.reply textarea {
    display: block;

    width: 100%;

    min-height:
        170px;

    margin-bottom:
        15px;

    padding:
        14px;

    background:
        #0b1220;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius);

    color:
        #ffffff;

    font-size:
        15px;

    line-height:
        1.6;

    resize:
        vertical;
}


.reply textarea:focus {
    border-color:
        var(--sf-primary);

    outline:
        none;

    box-shadow:
        0 0 0 3px
        rgba(59, 130, 246, 0.12);
}


/* ============================================================
   20. SMILEYS
   ============================================================ */

.smiley-picker {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 6px;

    margin-bottom:
        10px;

    padding:
        10px;

    background:
        #0b1220;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius);
}


.smiley-label {
    margin-right:
        5px;

    color:
        var(--sf-text-muted);

    font-size:
        13px;

    font-weight:
        600;
}


.smiley-button {
    width:
        38px;

    height:
        38px;

    padding:
        0;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid transparent;

    border-radius:
        7px;

    background:
        transparent;

    color:
        #ffffff;

    font-size:
        21px;

    line-height:
        1;

    cursor:
        pointer;

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}


.smiley-button:hover {
    background:
        var(--sf-card-background-hover);

    border-color:
        var(--sf-border);

    transform:
        scale(1.08);
}


.smiley-button:active {
    transform:
        scale(0.95);
}


/* ============================================================
   21. EMPTY STATE
   ============================================================ */

.empty-state {
    padding:
        40px 25px;

    text-align:
        center;

    background:
        var(--sf-card-background);

    border:
        1px dashed var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    color:
        var(--sf-text-muted);
}


.empty-state h2 {
    margin-top:
        0;

    color:
        #ffffff;
}


/* ============================================================
   22. NOTICE
   ============================================================ */

.notice {
    padding:
        16px 18px;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius);

    color:
        var(--sf-text-muted);
}


.notice a {
    color:
        #60a5fa;
}


/* ============================================================
   23. FOOTER
   ============================================================ */

.site-footer {
    width: 100%;

    background:
        var(--sf-footer-background);

    border-top:
        1px solid var(--sf-border);

    color:
        var(--sf-text-muted);
}


.footer-container {
    width: min(
        calc(100% - 32px),
        var(--sf-content-width)
    );

    min-height:
        80px;

    margin:
        0 auto;

    padding:
        18px 0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        25px;
}


.footer-left {
    display:
        flex;

    align-items:
        center;

    gap:
        15px;
}


.footer-brand {
    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        700;
}


.footer-copy {
    color:
        var(--sf-text-muted);

    font-size:
        13px;
}


.footer-navigation {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        15px;
}


.footer-navigation a {
    color:
        var(--sf-text-muted);

    font-size:
        13px;
}


.footer-navigation a:hover {
    color:
        #ffffff;
}


.footer-right {
    color:
        #667c97;

    font-size:
        12px;

    text-align:
        right;
}


/* ============================================================
   24. HILFSKLASSEN
   ============================================================ */

.text-center {
    text-align:
        center;
}


.text-muted {
    color:
        var(--sf-text-muted);
}


.muted {
    color:
        var(--sf-text-muted);
}


.mt-1 {
    margin-top:
        8px;
}


.mt-2 {
    margin-top:
        16px;
}


.mt-3 {
    margin-top:
        24px;
}


.mb-1 {
    margin-bottom:
        8px;
}


.mb-2 {
    margin-bottom:
        16px;
}


.mb-3 {
    margin-bottom:
        24px;
}


/* ============================================================
   25. RESPONSIVE
   ============================================================ */

@media (max-width: 1050px) {

    .header-container {
        gap:
            15px;
    }


    .main-navigation {
        margin-left:
            0;
    }


    .user-name {
        display:
            none;
    }


    .posts .post {
        grid-template-columns:
            170px
            minmax(0, 1fr);
    }


    .posts .post .post-author {
        width:
            170px;

        min-width:
            170px;
    }

}


@media (max-width: 850px) {

    .header-container {
        min-height:
            auto;

        padding:
            12px 0;

        flex-wrap:
            wrap;
    }


    .site-logo {
        order:
            1;
    }


    .header-user {
        order:
            2;
    }


    .main-navigation {
        order:
            3;

        width:
            100%;

        justify-content:
            center;

        border-top:
            1px solid
            rgba(255,255,255,0.04);

        padding-top:
            8px;
    }


    .footer-container {
        flex-direction:
            column;

        align-items:
            center;

        text-align:
            center;
    }


    .footer-left {
        flex-direction:
            column;

        gap:
            3px;
    }


    .footer-right {
        text-align:
            center;
    }


    .posts .post {
        grid-template-columns:
            1fr;
    }


    .posts .post .post-author {
        width:
            100%;

        min-width:
            0;

        padding:
            15px 18px;

        flex-direction:
            row;

        align-items:
            center;

        text-align:
            left;

        border-right:
            none;

        border-bottom:
            1px solid var(--sf-border);
    }


    .posts .post .post-avatar {
        width:
            50px;

        height:
            50px;

        min-width:
            50px;

        min-height:
            50px;

        margin:
            0 12px 0 0;

        font-size:
            18px;
    }


    .posts .post .post-author-info {
        align-items:
            flex-start;

        width:
            auto;

        min-width:
            0;
    }


    .posts .post .post-author-info strong,
    .posts .post .post-username {
        width:
            auto;
    }


    .posts .post .post-role {
        margin-top:
            2px;
    }

}


@media (max-width: 700px) {

    .page-container {
        width:
            min(
                calc(100% - 20px),
                var(--sf-content-width)
            );

        padding-top:
            20px;

        padding-bottom:
            35px;
    }


    .header-container {
        width:
            min(
                calc(100% - 20px),
                var(--sf-content-width)
            );
    }


    .site-logo-text {
        font-size:
            19px;
    }


    .header-action {
        font-size:
            12px;

        padding:
            6px 8px;
    }


    .header-button {
        font-size:
            12px;

        padding:
            6px 10px;
    }


    .page-header h1 {
        font-size:
            25px;
    }


    .profile-detail {
        grid-template-columns:
            1fr;

        gap:
            5px;
    }


    .form-grid {
        grid-template-columns:
            1fr;
    }


    .form-card,
    .card,
    .reply {
        padding:
            18px;
    }


    .posts .post .post-main {
        padding:
            0 18px 18px;
    }


    .posts .post .post-meta {
        margin-left:
            -18px;

        margin-right:
            -18px;

        padding-left:
            18px;

        padding-right:
            18px;
    }


    .reply .button {
        width:
            100%;
    }

}


@media (max-width: 500px) {

    .header-container {
        gap:
            8px;
    }


    .site-logo-icon {
        width:
            34px;

        height:
            34px;

        font-size:
            17px;
    }


    .site-logo-text {
        font-size:
            18px;
    }


    .header-user {
        gap:
            4px;
    }


    .header-user .header-action:first-of-type {
        display:
            none;
    }


    .main-navigation {
        gap:
            2px;
    }


    .navigation-item {
        min-height:
            38px;

        padding:
            6px 9px;

        font-size:
            13px;
    }


    .breadcrumbs {
        font-size:
            12px;
    }


    .page-header h1 {
        font-size:
            23px;
    }


    .posts .post .post-author {
        padding:
            13px;
    }


    .posts .post .post-avatar {
        width:
            44px;

        height:
            44px;

        min-width:
            44px;

        min-height:
            44px;
    }


    .posts .post .post-author-info strong {
        font-size:
            14px;
    }


    .posts .post .post-content {
        font-size:
            15px;
    }


    .smiley-picker {
        gap:
            4px;

        padding:
            8px;
    }


    .smiley-button {
        width:
            34px;

        height:
            34px;

        font-size:
            19px;
    }

}
/* ============================================================
   HOMEPAGE
============================================================ */

.home-hero {
    background-image:
        linear-gradient(
            rgba(7, 15, 29, 0.55),
            rgba(7, 15, 29, 0.72)
        ),
        url("../images/header.jpg") !important;

    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}


.home-hero::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -100px;
    top: -150px;

    border-radius: 50%;

    background:
        rgba(59, 130, 246, 0.08);

    pointer-events: none;
}


.home-hero-content {
    position: relative;

    z-index: 1;

    max-width: 800px;
}


.home-hero-eyebrow {
    margin-bottom: 10px;

    color:
        #60a5fa;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;
}


.home-hero h1 {
    margin:
        0 0 12px;

    color:
        #ffffff;

    font-size:
        clamp(30px, 4vw, 46px);

    line-height:
        1.1;

    letter-spacing:
        -1px;
}


.home-hero h1 span {
    color:
        #60a5fa;
}


.home-hero p {
    max-width:
        700px;

    margin:
        0 0 25px;

    color:
        #a9bad0;

    font-size:
        16px;

    line-height:
        1.7;
}


.home-hero-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;
}


/* ============================================================
   FORUM LAYOUT
============================================================ */

.forum-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        330px;

    gap:
        25px;

    align-items:
        start;
}


.content-column {
    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    gap:
        25px;
}


/* ============================================================
   FORUM PANEL
============================================================ */

.forum-panel {
    width:
        100%;

    overflow:
        hidden;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


.forum-panel-header {
    min-height:
        70px;

    padding:
        15px 22px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    border-bottom:
        1px solid var(--sf-border);
}


.forum-panel-kicker {
    margin-bottom:
        2px;

    color:
        #6682a1;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1.2px;
}


.forum-panel-title {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        19px;

    font-weight:
        750;
}


.forum-panel-count,
.forum-panel-icon {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        32px;

    height:
        32px;

    padding:
        0 9px;

    border-radius:
        8px;

    background:
        rgba(59, 130, 246, 0.10);

    border:
        1px solid
        rgba(59, 130, 246, 0.20);

    color:
        #93c5fd;

    font-size:
        13px;

    font-weight:
        700;
}


/* ============================================================
   KATEGORIEN
============================================================ */

.category-list {
    display:
        flex;

    flex-direction:
        column;
}


.category-item {
    display:
        grid;

    grid-template-columns:
        58px
        minmax(0, 1fr)
        85px
        95px
        35px;

    align-items:
        center;

    gap:
        15px;

    min-height:
        92px;

    padding:
        15px 20px;

    border-bottom:
        1px solid var(--sf-border);

    color:
        inherit;
}


.category-item:last-child {
    border-bottom:
        none;
}


.category-item:hover {
    background:
        rgba(255, 255, 255, 0.025);

    color:
        inherit;
}


.category-icon {
    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        12px;

    background:
        #0c192a;

    border:
        1px solid var(--sf-border);

    font-size:
        23px;
}


.category-info {
    min-width:
        0;
}


.category-info h3 {
    margin:
        0 0 3px;

    color:
        #ffffff;

    font-size:
        15px;

    font-weight:
        700;
}


.category-info p {
    margin:
        0;

    color:
        var(--sf-text-muted);

    font-size:
        13px;

    line-height:
        1.45;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.category-stat {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        45px;

    border-left:
        1px solid var(--sf-border);
}


.category-stat strong {
    color:
        #ffffff;

    font-size:
        15px;
}


.category-stat span {
    color:
        var(--sf-text-muted);

    font-size:
        11px;
}


.category-arrow,
.thread-arrow {
    color:
        #5d7694;

    font-size:
        27px;

    line-height:
        1;

    text-align:
        center;
}


.category-item:hover .category-arrow,
.thread-item:hover .thread-arrow {
    color:
        #60a5fa;

    transform:
        translateX(2px);
}


/* ============================================================
   THEMENLISTE
============================================================ */

.thread-list {
    display:
        flex;

    flex-direction:
        column;
}


.thread-item {
    display:
        grid;

    grid-template-columns:
        46px
        minmax(0, 1fr)
        60px
        160px
        25px;

    align-items:
        center;

    gap:
        15px;

    min-height:
        78px;

    padding:
        13px 20px;

    border-bottom:
        1px solid var(--sf-border);

    color:
        inherit;
}


.thread-item:last-child {
    border-bottom:
        none;
}


.thread-item:hover {
    background:
        rgba(255, 255, 255, 0.025);

    color:
        inherit;
}


.thread-avatar,
.avatar-small {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        #142943;

    border:
        1px solid #31577f;

    color:
        #dbeafe;

    font-weight:
        800;
}


.thread-avatar {
    width:
        42px;

    height:
        42px;

    font-size:
        14px;
}


.thread-info {
    min-width:
        0;
}


.thread-info h3 {
    margin:
        0 0 3px;

    color:
        #ffffff;

    font-size:
        15px;

    font-weight:
        650;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.thread-meta {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;

    color:
        var(--sf-text-muted);

    font-size:
        12px;
}


.thread-stat {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        5px;

    color:
        #cbd5e1;

    font-size:
        13px;
}


.thread-stat-icon {
    font-size:
        13px;
}


.thread-last {
    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    min-width:
        0;
}


.avatar-small {
    width:
        31px;

    height:
        31px;

    min-width:
        31px;

    font-size:
        11px;
}


.thread-last div:last-child {
    min-width:
        0;
}


.thread-last strong {
    display:
        block;

    max-width:
        110px;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

    color:
        #dce5ef;

    font-size:
        12px;

    font-weight:
        600;
}


.thread-last span {
    display:
        block;

    color:
        #637b97;

    font-size:
        10px;

    white-space:
        nowrap;
}


/* ============================================================
   SIDEBAR
============================================================ */

.sidebar {
    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    gap:
        18px;

    position:
        sticky;

    top:
        97px;
}


.sidebar-card {
    padding:
        20px;

    background:
        var(--sf-card-background);

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


.sidebar-card-header {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    margin-bottom:
        18px;

    color:
        #7188a4;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1.2px;
}


.profile-sidebar {
    display:
        flex;

    align-items:
        center;

    gap:
        13px;

    margin-bottom:
        18px;
}


.profile-avatar {
    width:
        55px;

    height:
        55px;

    min-width:
        55px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        #142943;

    border:
        1px solid #31577f;

    color:
        #ffffff;

    font-size:
        19px;

    font-weight:
        800;
}


.profile-sidebar-info {
    min-width:
        0;
}


.profile-sidebar-info h3 {
    margin:
        0 0 5px;

    color:
        #ffffff;

    font-size:
        15px;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.role {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        3px 8px;

    border-radius:
        999px;

    background:
        rgba(59, 130, 246, 0.10);

    border:
        1px solid
        rgba(59, 130, 246, 0.20);

    color:
        #93c5fd;

    font-size:
        10px;

    font-weight:
        700;
}


.sidebar-profile-actions {
    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        8px;

    margin-bottom:
        18px;
}


.sidebar-profile-actions .button {
    width:
        100%;

    padding-left:
        8px;

    padding-right:
        8px;

    font-size:
        12px;
}


.sidebar-stats {
    display:
        flex;

    flex-direction:
        column;
}


.sidebar-stat {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        11px 0;

    border-bottom:
        1px solid var(--sf-border);
}


.sidebar-stat:first-child {
    padding-top:
        0;
}


.sidebar-stat:last-child {
    border-bottom:
        none;

    padding-bottom:
        0;
}


.sidebar-stat span {
    color:
        var(--sf-text-muted);

    font-size:
        12px;
}


.sidebar-stat strong {
    color:
        #ffffff;

    font-size:
        13px;

    text-align:
        right;
}


.sidebar-stat-user {
    max-width:
        150px;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.online-dot {
    color:
        var(--sf-success);

    font-size:
        14px;
}


.online-box {
    display:
        flex;

    flex-direction:
        column;

    gap:
        13px;
}


.online-status {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--sf-text-muted);

    font-size:
        12px;
}


.online-indicator {
    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        var(--sf-success);

    box-shadow:
        0 0 0 3px
        rgba(34, 197, 94, 0.10);
}


.online-user {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        9px;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-small);

    background:
        rgba(255, 255, 255, 0.015);

    color:
        #dbeafe;

    font-size:
        13px;

    font-weight:
        600;
}


.online-user:hover {
    background:
        var(--sf-card-background-hover);

    border-color:
        var(--sf-border-light);

    color:
        #ffffff;
}


.online-user-avatar {
    width:
        30px;

    height:
        30px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        #142943;

    border:
        1px solid #31577f;

    font-size:
        11px;

    font-weight:
        800;
}


.online-empty {
    padding:
        12px;

    border:
        1px dashed var(--sf-border);

    border-radius:
        var(--sf-radius-small);

    color:
        var(--sf-text-muted);

    font-size:
        12px;

    text-align:
        center;
}


/* ============================================================
   HOMEPAGE RESPONSIVE
============================================================ */

@media (max-width: 1100px) {

    .forum-layout {
        grid-template-columns:
            minmax(0, 1fr)
            280px;
    }


    .thread-item {
        grid-template-columns:
            46px
            minmax(0, 1fr)
            55px
            25px;
    }


    .thread-last {
        display:
            none;
    }

}


@media (max-width: 850px) {

    .forum-layout {
        grid-template-columns:
            1fr;
    }


    .sidebar {
        position:
            static;

        display:
            grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        align-items:
            start;
    }


    .sidebar-card:first-child {
        grid-column:
            1 / -1;
    }


    .category-item {
        grid-template-columns:
            50px
            minmax(0, 1fr)
            70px
            70px
            25px;
    }

}


@media (max-width: 650px) {

    .home-hero {
        padding:
            32px 25px;
    }


    .category-item {
        grid-template-columns:
            45px
            minmax(0, 1fr)
            30px;
    }


    .category-stat {
        display:
            none;
    }


    .thread-item {
        grid-template-columns:
            42px
            minmax(0, 1fr)
            25px;
    }


    .thread-stat {
        display:
            none;
    }


    .sidebar {
        grid-template-columns:
            1fr;
    }


    .sidebar-card:first-child {
        grid-column:
            auto;
    }

}


@media (max-width: 450px) {

    .home-hero {
        padding:
            26px 18px;
    }


    .home-hero h1 {
        font-size:
            29px;
    }


    .home-hero p {
        font-size:
            14px;
    }


    .home-hero-actions {
        flex-direction:
            column;
    }


    .home-hero-actions .button {
        width:
            100%;
    }


    .forum-panel-header {
        padding:
            14px 16px;
    }


    .category-item {
        gap:
            10px;

        padding:
            13px 14px;
    }


    .category-icon {
        width:
            40px;

        height:
            40px;

        font-size:
            19px;
    }


    .thread-item {
        gap:
            10px;

        padding:
            12px 14px;
    }


    .thread-info h3 {
        font-size:
            14px;
    }

}
/* =========================================================
   Beitrag bearbeiten
   ========================================================= */

.forum-edit-box {
    margin-top: 18px;
    padding: 18px;
    background: #0d1727;
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);
    box-shadow: var(--sf-shadow-small);
}

.forum-edit-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.forum-edit-header {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--sf-text);
    font-size: 15px;
    font-weight: 700;
}

.forum-edit-header::before {
    content: "✎";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: rgba(59, 130, 246, 0.14);
    color: var(--sf-primary);
    font-size: 16px;
}

.forum-edit-textarea {
    width: 100%;
    min-height: 180px;
    padding: 14px 16px;

    box-sizing: border-box;

    background: #091321;
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-small);

    color: var(--sf-text);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;

    resize: vertical;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.forum-edit-textarea::placeholder {
    color: var(--sf-text-muted);
}

.forum-edit-textarea:hover {
    border-color: var(--sf-border-light);
}

.forum-edit-textarea:focus {
    border-color: var(--sf-primary);

    background: #0b1728;

    box-shadow:
        0 0 0 3px rgba(59, 130, 246, 0.12);
}

.forum-edit-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.forum-edit-hint {
    color: var(--sf-text-muted);
    font-size: 13px;
}

.forum-edit-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
}

.forum-edit-actions .button {
    min-height: 40px;
}

/*
 * Spezieller Bearbeiten-Button
 * Falls dein thread.php bereits forum-edit-button verwendet.
 */

.forum-edit-button {
    appearance: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 36px;
    padding: 7px 12px;

    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-small);

    background: #16243a;
    color: var(--sf-text-soft);

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.15s ease;
}

.forum-edit-button::before {
    content: "✎";
    font-size: 13px;
}

.forum-edit-button:hover {
    background: var(--sf-primary);
    border-color: var(--sf-primary);
    color: #ffffff;
}

.forum-edit-button:active {
    transform: translateY(1px);
}

/*
 * Abbrechen-Button innerhalb des Bearbeiten-Formulars
 */

.forum-edit-actions .button.secondary {
    background: transparent;
    border: 1px solid var(--sf-border);
    color: var(--sf-text-soft);
}

.forum-edit-actions .button.secondary:hover {
    background: #16243a;
    border-color: var(--sf-border-light);
    color: var(--sf-text);
}

/*
 * Änderungen speichern
 */

.forum-edit-actions .button.primary {
    background: var(--sf-primary);
    border-color: var(--sf-primary);
    color: #ffffff;
}

.forum-edit-actions .button.primary:hover {
    background: var(--sf-primary-hover);
    border-color: var(--sf-primary-hover);
}

/*
 * Mobile Darstellung
 */

@media (max-width: 700px) {

    .forum-edit-box {
        padding: 14px;
        margin-top: 14px;
    }

    .forum-edit-textarea {
        min-height: 160px;
        padding: 12px 13px;
        font-size: 14px;
    }

    .forum-edit-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .forum-edit-hint {
        order: 2;
    }

    .forum-edit-actions {
        width: 100%;
        margin-left: 0;
        display: flex;
    }

    .forum-edit-actions .button {
        flex: 1;
    }
}
/* =========================================================
   Barrierefreiheit: Tastatur-Fokus
   ========================================================= */

/*
 * Sichtbarer Fokus für Tastaturbedienung.
 * :focus-visible verhindert den Fokusrahmen bei normalen
 * Mausklicks und zeigt ihn primär bei Tastaturnavigation.
 */

.forum-edit-button:focus-visible,
.forum-edit-textarea:focus-visible,
.forum-edit-actions .button:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 3px;

    box-shadow:
        0 0 0 4px rgba(59, 130, 246, 0.18);
}

/*
 * Falls die allgemeinen .button-Regeln des Layouts den Fokus
 * überschreiben, bleibt der Fokus hier trotzdem sichtbar.
 */

.forum-edit-actions .button:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 3px;
}

/*
 * Kein unsichtbarer Fokus durch globale CSS-Regeln.
 * Der sichtbare Fokus wird ausschließlich über :focus-visible
 * dargestellt.
 */

.forum-edit-button:focus:not(:focus-visible),
.forum-edit-textarea:focus:not(:focus-visible),
.forum-edit-actions .button:focus:not(:focus-visible) {
    outline: none;
}


/* =========================================================
   Barrierefreiheit: reduzierte Bewegung
   ========================================================= */

/*
 * Benutzer, die in ihrem Betriebssystem "Bewegung reduzieren"
 * aktiviert haben, erhalten keine unnötigen Animationen oder
 * Übergänge.
 *
 * Farben, Abstände, Größen und das eigentliche Design bleiben
 * unverändert.
 */

@media (prefers-reduced-motion: reduce) {

    .forum-edit-box,
    .forum-edit-form,
    .forum-edit-button,
    .forum-edit-textarea,
    .forum-edit-actions .button {
        transition: none;
    }

    .forum-edit-button:active {
        transform: none;
    }
}
/* =========================================================
   Kategorie – Beitragsliste / Thread-Liste
   ========================================================= */

.page-head {
    margin-bottom: 22px;
}

.page-head h1 {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;

    color: var(--sf-text);
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
}

.page-head p {
    margin: 12px 0 0;
    color: var(--sf-text-soft);
    font-size: 15px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   Allgemeine Card
   --------------------------------------------------------- */

.card {
    background: var(--sf-card-background);
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-large);
    box-shadow: var(--sf-shadow-small);
}


/* ---------------------------------------------------------
   Thread-Liste
   --------------------------------------------------------- */

.thread-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


/* ---------------------------------------------------------
   Einzelner Thread
   --------------------------------------------------------- */

.thread-row {
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 92px;
    box-sizing: border-box;

    padding: 16px 18px;

    background: var(--sf-card-background);
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius);

    color: var(--sf-text);
    text-decoration: none;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.15s ease,
        box-shadow 0.2s ease;
}

.thread-row:hover {
    background: var(--sf-card-background-hover);
    border-color: var(--sf-border-light);

    box-shadow: var(--sf-shadow-small);
}

.thread-row:active {
    transform: translateY(1px);
}


/* ---------------------------------------------------------
   Thread-Icon
   --------------------------------------------------------- */

.thread-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-right: 16px;

    border-radius: 10px;

    background: rgba(59, 130, 246, 0.12);
    color: var(--sf-primary);

    font-size: 20px;
}


/* ---------------------------------------------------------
   Thread-Inhalt
   --------------------------------------------------------- */

.thread-row .grow {
    flex: 1 1 auto;
    min-width: 0;
}

.thread-row .grow a {
    color: var(--sf-text);
    text-decoration: none;
}

.thread-row .grow a:hover {
    color: var(--sf-primary);
}

.thread-row .grow strong {
    display: block;

    margin-bottom: 7px;

    color: var(--sf-text);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;

    overflow-wrap: anywhere;
}

.thread-row .grow small {
    display: block;

    color: var(--sf-text-muted);
    font-size: 13px;
    line-height: 1.4;
}


/* ---------------------------------------------------------
   Thread-Statistiken
   --------------------------------------------------------- */

.thread-row .stats {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    gap: 18px;

    margin-left: 24px;
}

.thread-row .stats > div {
    display: flex;
    align-items: center;
    gap: 6px;

    color: var(--sf-text-muted);
    font-size: 13px;
    white-space: nowrap;
}

.thread-row .stats strong {
    color: var(--sf-text-soft);
    font-weight: 600;
}


/* ---------------------------------------------------------
   Pfeil
   --------------------------------------------------------- */

.thread-row .thread-arrow {
    flex: 0 0 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-left: 18px;

    color: var(--sf-text-muted);
    font-size: 22px;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.thread-row:hover .thread-arrow {
    color: var(--sf-primary);
    transform: translateX(3px);
}


/* ---------------------------------------------------------
   Pin / Spezialstatus
   --------------------------------------------------------- */

.thread-row.pinned {
    border-color: rgba(234, 179, 8, 0.35);
}

.thread-row.pinned .thread-icon {
    background: rgba(234, 179, 8, 0.12);
    color: var(--sf-warning);
}


/* ---------------------------------------------------------
   Kategorie-Header
   --------------------------------------------------------- */

.category-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border-radius: 12px;

    background: rgba(59, 130, 246, 0.12);

    font-size: 26px;
}

.page-head .category-icon {
    flex-shrink: 0;
}


/* ---------------------------------------------------------
   Leere Kategorie
   --------------------------------------------------------- */

.empty-state {
    padding: 45px 24px;

    text-align: center;

    background: var(--sf-card-background);
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-large);
}

.empty-state h3 {
    margin: 0 0 8px;

    color: var(--sf-text);
    font-size: 18px;
}

.empty-state p {
    margin: 0;

    color: var(--sf-text-muted);
}


/* ---------------------------------------------------------
   Tastatur-Fokus
   --------------------------------------------------------- */

.thread-row:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 3px;

    box-shadow:
        0 0 0 4px rgba(59, 130, 246, 0.16);
}


/* ---------------------------------------------------------
   Reduced Motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .thread-row,
    .thread-row .thread-arrow {
        transition: none;
    }

    .thread-row:active {
        transform: none;
    }

    .thread-row:hover .thread-arrow {
        transform: none;
    }
}


/* ---------------------------------------------------------
   Mobil
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .page-head h1 {
        font-size: 26px;
    }

    .thread-row {
        align-items: flex-start;
        min-height: 0;
        padding: 14px;
    }

    .thread-icon {
        flex: 0 0 38px;

        width: 38px;
        height: 38px;

        margin-right: 12px;

        font-size: 17px;
    }

    .thread-row .stats {
        display: none;
    }

    .thread-row .thread-arrow {
        flex: 0 0 22px;

        margin-left: 10px;

        font-size: 19px;
    }
}


@media (max-width: 520px) {

    .page-head h1 {
        font-size: 23px;
        gap: 9px;
    }

    .category-icon {
        width: 38px;
        height: 38px;
        font-size: 21px;
    }

    .thread-row {
        padding: 13px;
    }

    .thread-row .grow strong {
        font-size: 15px;
    }

    .thread-row .grow small {
        font-size: 12px;
    }
}
/* =========================================================
   THREAD – BEITRÄGE
   ========================================================= */

.forum-posts {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 24px;
}


/* ---------------------------------------------------------
   Einzelner Beitrag
   --------------------------------------------------------- */

.forum-post {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);

    width: 100%;
    box-sizing: border-box;

    background: var(--sf-card-background);
    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-large);

    overflow: hidden;
    box-shadow: var(--sf-shadow-small);
}


/* ---------------------------------------------------------
   Linke Benutzer-Spalte
   --------------------------------------------------------- */

.forum-post-user {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 24px 18px;

    background: #0d1727;
    border-right: 1px solid var(--sf-border);

    text-align: center;
}


/* Avatar */

.forum-post-avatar {
    width: 72px;
    height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 13px;

    border-radius: 50%;

    background: var(--sf-primary);
    color: #ffffff;

    font-size: 24px;
    font-weight: 800;

    text-decoration: none;

    border: 3px solid rgba(59, 130, 246, 0.20);

    box-shadow:
        0 5px 18px rgba(0, 0, 0, 0.18);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease;
}

.forum-post-avatar:hover {
    transform: translateY(-2px);
    border-color: rgba(59, 130, 246, 0.50);
}


/* Benutzerinformationen */

.forum-post-user-info {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 0;
    width: 100%;
}

.forum-post-username {
    max-width: 100%;

    color: var(--sf-text);
    font-size: 15px;
    font-weight: 700;

    text-decoration: none;

    overflow-wrap: anywhere;
}

.forum-post-username:hover {
    color: var(--sf-primary);
}

.forum-post-login {
    margin-top: 3px;

    color: var(--sf-text-muted);
    font-size: 12px;

    overflow-wrap: anywhere;
}

.forum-post-role {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 9px;
    padding: 4px 9px;

    border: 1px solid var(--sf-border);
    border-radius: 999px;

    background: rgba(59, 130, 246, 0.08);
    color: var(--sf-text-muted);

    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
}


/* ---------------------------------------------------------
   Rechte Beitrags-Spalte
   --------------------------------------------------------- */

.forum-post-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
    min-height: 220px;

    padding: 22px 24px;
}


/* ---------------------------------------------------------
   Beitragskopf
   --------------------------------------------------------- */

.forum-post-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--sf-border);

    color: var(--sf-text-muted);
    font-size: 12px;
    line-height: 1.4;
}

.forum-post-top span:first-child {
    color: var(--sf-text-soft);
    font-weight: 700;
}


/* ---------------------------------------------------------
   Startbeitrag / Kennzeichnung
   --------------------------------------------------------- */

.forum-post-start {
    display: inline-flex;
    align-items: center;

    margin-left: 5px;
    padding: 3px 8px;

    border-radius: 999px;

    background: rgba(59, 130, 246, 0.12);
    color: var(--sf-primary);

    font-size: 11px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Beitragstext
   --------------------------------------------------------- */

.forum-post-text {
    flex: 1 1 auto;

    padding: 22px 0;

    color: var(--sf-text);
    font-size: 15px;
    line-height: 1.75;

    overflow-wrap: anywhere;
    word-break: break-word;
}

.forum-post-text p {
    margin: 0 0 16px;
}

.forum-post-text p:last-child {
    margin-bottom: 0;
}


/* Links im Beitrag */

.forum-post-text a {
    color: var(--sf-primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.forum-post-text a:hover {
    color: var(--sf-primary-hover);
}


/* ---------------------------------------------------------
   Beitragsaktionen
   --------------------------------------------------------- */

.forum-post-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;

    padding-top: 14px;

    border-top: 1px solid var(--sf-border);
}


/* Bearbeiten-Link */

.forum-post-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;
    padding: 6px 11px;

    box-sizing: border-box;

    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-small);

    background: #16243a;
    color: var(--sf-text-soft);

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.forum-post-actions a::before {
    content: "✎";
    margin-right: 6px;
}

.forum-post-actions a:hover {
    background: var(--sf-primary);
    border-color: var(--sf-primary);
    color: #ffffff;
}


/* ---------------------------------------------------------
   Löschen
   --------------------------------------------------------- */

.forum-post-actions form {
    margin: 0;
}

.forum-delete-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;
    padding: 6px 11px;

    border: 1px solid rgba(239, 68, 68, 0.35);
    border-radius: var(--sf-radius-small);

    background: rgba(239, 68, 68, 0.08);
    color: #f87171;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.forum-delete-button::before {
    content: "🗑";
    margin-right: 6px;
}

.forum-delete-button:hover {
    background: var(--sf-danger);
    border-color: var(--sf-danger);
    color: #ffffff;
}


/* ---------------------------------------------------------
   Fokus für Tastaturbedienung
   --------------------------------------------------------- */

.forum-post-avatar:focus-visible,
.forum-post-actions a:focus-visible,
.forum-delete-button:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 3px;

    box-shadow:
        0 0 0 4px rgba(59, 130, 246, 0.16);
}


/* ---------------------------------------------------------
   Hover-Effekt des Avatars deaktivieren, wenn Bewegung
   reduziert werden soll
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .forum-post-avatar,
    .forum-post-actions a,
    .forum-delete-button {
        transition: none;
    }

    .forum-post-avatar:hover {
        transform: none;
    }
}


/* ---------------------------------------------------------
   Tablet
   --------------------------------------------------------- */

@media (max-width: 800px) {

    .forum-post {
        grid-template-columns: 145px minmax(0, 1fr);
    }

    .forum-post-user {
        padding: 20px 12px;
    }

    .forum-post-avatar {
        width: 60px;
        height: 60px;

        font-size: 20px;
    }

    .forum-post-content {
        padding: 18px;
    }

    .forum-post-text {
        font-size: 14px;
        line-height: 1.65;
    }
}


/* ---------------------------------------------------------
   Smartphone
   --------------------------------------------------------- */

@media (max-width: 600px) {

    .forum-posts {
        gap: 14px;
        margin-top: 18px;
    }

    .forum-post {
        display: block;
    }

    .forum-post-user {
        flex-direction: row;
        align-items: center;

        padding: 12px 14px;

        border-right: 0;
        border-bottom: 1px solid var(--sf-border);

        text-align: left;
    }

    .forum-post-avatar {
        flex: 0 0 46px;

        width: 46px;
        height: 46px;

        margin: 0 12px 0 0;

        font-size: 17px;
    }

    .forum-post-user-info {
        align-items: flex-start;
    }

    .forum-post-role {
        margin-top: 5px;
    }

    .forum-post-content {
        min-height: 0;
        padding: 16px;
    }

    .forum-post-top {
        padding-bottom: 11px;
    }

    .forum-post-text {
        padding: 17px 0;

        font-size: 14px;
        line-height: 1.65;
    }

    .forum-post-actions {
        justify-content: flex-start;
    }
}
/* =========================================================
   Forum Editor – Formatierungsleiste
   ========================================================= */

.forum-editor {
    width: 100%;
}


/* ---------------------------------------------------------
   Toolbar
   --------------------------------------------------------- */

.forum-editor-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;

    padding: 9px 10px;

    background: #0d1727;
    border: 1px solid var(--sf-border);
    border-bottom: 0;

    border-radius:
        var(--sf-radius)
        var(--sf-radius)
        0
        0;
}


/* ---------------------------------------------------------
   Editor-Buttons
   --------------------------------------------------------- */

.editor-button {
    min-width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 9px;

    border: 1px solid var(--sf-border);
    border-radius: 6px;

    background: #111c2e;
    color: var(--sf-text-soft);

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.editor-button:hover {
    background: var(--sf-card-background-hover);
    border-color: var(--sf-border-light);
    color: var(--sf-text);
}


/* ---------------------------------------------------------
   Spezielle Buttons
   --------------------------------------------------------- */

.editor-button-bold strong {
    font-weight: 800;
}

.editor-button-italic em {
    font-style: italic;
}

.editor-button-underline u {
    text-decoration: underline;
}

.editor-button-strike s {
    text-decoration: line-through;
}


/* ---------------------------------------------------------
   Trennlinie
   --------------------------------------------------------- */

.editor-separator {
    width: 1px;
    height: 24px;

    margin: 0 3px;

    background: var(--sf-border);
}


/* ---------------------------------------------------------
   Überschriften-Auswahl
   --------------------------------------------------------- */

.editor-heading-select {
    height: 34px;

    padding: 0 9px;

    border: 1px solid var(--sf-border);
    border-radius: 6px;

    background: #111c2e;
    color: var(--sf-text-soft);

    font-family: inherit;
    font-size: 13px;

    cursor: pointer;
}

.editor-heading-select:hover {
    border-color: var(--sf-border-light);
}

.editor-heading-select:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   Smiley-Auswahl
   --------------------------------------------------------- */

.editor-smiley-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;

    padding: 9px 10px;

    background: #0d1727;
    border: 1px solid var(--sf-border);
    border-top: 1px solid var(--sf-border);
}

.editor-smiley-panel[hidden] {
    display: none;
}

.editor-smiley-panel button {
    width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid transparent;
    border-radius: 6px;

    background: transparent;

    font-size: 20px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}

.editor-smiley-panel button:hover {
    background: var(--sf-card-background-hover);
    border-color: var(--sf-border);
}


/* ---------------------------------------------------------
   Textfeld
   --------------------------------------------------------- */

.forum-editor textarea {
    display: block;

    width: 100%;
    min-height: 260px;

    box-sizing: border-box;

    padding: 16px;

    resize: vertical;

    border: 1px solid var(--sf-border);

    border-radius:
        0
        0
        var(--sf-radius)
        var(--sf-radius);

    background: var(--sf-card-background);
    color: var(--sf-text);

    font-family: inherit;
    font-size: 15px;
    line-height: 1.7;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.forum-editor textarea::placeholder {
    color: var(--sf-text-muted);
}

.forum-editor textarea:focus {
    border-color: var(--sf-primary);

    box-shadow:
        0 0 0 3px rgba(59, 130, 246, 0.12);

    outline: none;
}

.forum-editor textarea:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   Editor-Footer
   --------------------------------------------------------- */

.editor-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    margin-top: 7px;

    color: var(--sf-text-muted);

    font-size: 12px;
}

.editor-character-count {
    white-space: nowrap;
}

.editor-help {
    text-align: right;
}


/* ---------------------------------------------------------
   Formular-Aktionen
   --------------------------------------------------------- */

.forum-editor-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;

    margin-top: 20px;
}


/* ---------------------------------------------------------
   Tastatur-Fokus
   --------------------------------------------------------- */

.editor-button:focus-visible,
.editor-smiley-panel button:focus-visible {
    outline: 2px solid var(--sf-primary);
    outline-offset: 2px;

    box-shadow:
        0 0 0 4px rgba(59, 130, 246, 0.15);
}


/* ---------------------------------------------------------
   Reduced Motion
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .editor-button,
    .editor-smiley-panel button,
    .forum-editor textarea {
        transition: none;
    }
}


/* ---------------------------------------------------------
   Smartphone
   --------------------------------------------------------- */

@media (max-width: 650px) {

    .forum-editor-toolbar {
        gap: 5px;
        padding: 8px;
    }

    .editor-button {
        min-width: 32px;
        height: 32px;

        padding: 0 7px;
    }

    .editor-heading-select {
        max-width: 150px;
        height: 32px;
    }

    .editor-separator {
        display: none;
    }

    .editor-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .editor-help {
        text-align: left;
    }

    .forum-editor textarea {
        min-height: 220px;
    }

    .forum-editor-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .forum-editor-actions .button {
        width: 100%;
    }
}
/* =========================================================
   BBCode – Darstellung in Beiträgen
   ========================================================= */

.forum-post-text .bbcode-heading {
    margin: 22px 0 12px;
    color: var(--sf-text);
    line-height: 1.3;
}

.forum-post-text .bbcode-heading:first-child {
    margin-top: 0;
}

.forum-post-text .bbcode-heading-1 {
    font-size: 25px;
    font-weight: 800;
}

.forum-post-text .bbcode-heading-2 {
    font-size: 21px;
    font-weight: 750;
}

.forum-post-text .bbcode-heading-3 {
    font-size: 18px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   Zitat
   --------------------------------------------------------- */

.forum-post-text .bbcode-quote {
    margin: 18px 0;
    padding: 14px 18px;

    border-left: 4px solid var(--sf-primary);
    border-radius: 0 var(--sf-radius-small) var(--sf-radius-small) 0;

    background: rgba(59, 130, 246, 0.08);
    color: var(--sf-text-soft);

    font-style: italic;
}

.forum-post-text .bbcode-quote::before {
    content: "Zitat";
    display: block;

    margin-bottom: 7px;

    color: var(--sf-primary);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}


/* ---------------------------------------------------------
   Listen
   --------------------------------------------------------- */

.forum-post-text .bbcode-list {
    margin: 15px 0;
    padding-left: 28px;
}

.forum-post-text .bbcode-list li {
    margin: 5px 0;
    padding-left: 4px;
}


/* ---------------------------------------------------------
   Inline-Code
   --------------------------------------------------------- */

.forum-post-text .bbcode-inline-code {
    display: inline-block;

    padding: 2px 6px;

    border: 1px solid var(--sf-border);
    border-radius: 5px;

    background: #091321;
    color: #dbeafe;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    font-size: .9em;
}


/* ---------------------------------------------------------
   Codeblock
   --------------------------------------------------------- */

.forum-post-text .bbcode-codeblock {
    margin: 18px 0;
    padding: 15px 17px;

    box-sizing: border-box;

    overflow-x: auto;

    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-small);

    background: #091321;

    color: #dbeafe;

    font-family:
        Consolas,
        Monaco,
        "Courier New",
        monospace;

    font-size: 13px;
    line-height: 1.6;

    white-space: pre;
}

.forum-post-text .bbcode-codeblock code {
    font-family: inherit;
}


/* ---------------------------------------------------------
   Trennlinie
   --------------------------------------------------------- */

.forum-post-text .bbcode-hr {
    margin: 22px 0;

    border: 0;
    border-top: 1px solid var(--sf-border);
}


/* ---------------------------------------------------------
   Links
   --------------------------------------------------------- */

.forum-post-text a {
    color: var(--sf-primary);
}

.forum-post-text a:hover {
    color: var(--sf-primary-hover);
}


/* ---------------------------------------------------------
   Reduzierte Bewegung
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .forum-post-text a {
        transition: none;
    }
}
/* =========================================================
   Bilder in Beiträgen
   ========================================================= */

/* =========================================================
   Bilder in Beiträgen
   ========================================================= */

.forum-post-text .bbcode-image {
    display: block;

    width: auto;
    max-width: 400px;

    height: auto;
    max-height: 400px;

    margin: 16px 0;

    border: 1px solid var(--sf-border);
    border-radius: var(--sf-radius-small);

    box-shadow: var(--sf-shadow-small);

    cursor: zoom-in;

    object-fit: contain;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.forum-post-text .bbcode-image:hover {
    border-color: var(--sf-border-light);
    box-shadow: var(--sf-shadow);
}

.forum-post-text .bbcode-image:hover {
    border-color: var(--sf-border-light);
    box-shadow: var(--sf-shadow);
}

.forum-post-text .bbcode-image:hover {
    border-color: var(--sf-border-light);
}
/* =========================================================
   HOMEPAGE HERO – BORKUM HINTERGRUNDBILD
   ========================================================= */

.hero {
    position: relative;

    margin-bottom: 25px;
    padding: 48px 50px;

    min-height: 280px;

    box-sizing: border-box;

    overflow: hidden;

    /*
     * HIER liegt dein Hintergrundbild:
     * assets/images/borkum.jpg
     */
    background:
        linear-gradient(
            rgba(7, 15, 29, 0.68),
            rgba(7, 15, 29, 0.78)
        ),
        url("..assets/images/header.jpg")
        center center
        / cover
        no-repeat;

    border:
        1px solid var(--sf-border);

    border-radius:
        var(--sf-radius-large);

    box-shadow:
        var(--sf-shadow);
}


/* ---------------------------------------------------------
   Inhalt über dem Bild
   --------------------------------------------------------- */

.hero-content {
    position: relative;

    z-index: 2;

    max-width: 850px;
}


/* ---------------------------------------------------------
   "WILLKOMMEN IM"
   --------------------------------------------------------- */

.hero-eyebrow {
    margin-bottom: 10px;

    color: #60a5fa;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;
}


/* ---------------------------------------------------------
   Überschrift
   --------------------------------------------------------- */

.hero h2 {
    margin:
        0 0 12px;

    color: #ffffff;

    font-size:
        clamp(30px, 4vw, 46px);

    line-height: 1.1;

    letter-spacing: -1px;
}


/* Borkum blau */

.hero .logo-blue {
    color: #60a5fa;
}


/* ---------------------------------------------------------
   Beschreibung
   --------------------------------------------------------- */

.hero p {
    max-width: 700px;

    margin:
        0 0 25px;

    color: #d7e2f0;

    font-size: 16px;

    line-height: 1.7;
}


/* ---------------------------------------------------------
   Button
   --------------------------------------------------------- */

.hero-buttons {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}


/* ---------------------------------------------------------
   Dekorativer Bereich rechts
   --------------------------------------------------------- */

.hero::after {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    right: -120px;
    top: -180px;

    border-radius: 50%;

    background:
        rgba(96, 165, 250, 0.12);

    pointer-events: none;

    z-index: 1;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .hero {
        padding:
            35px 25px;

        min-height: 260px;

        background-position:
            center center;
    }

    .hero h2 {
        font-size: 32px;
    }

    .hero p {
        font-size: 14px;
    }
}