/* =========================================================
   GOLDEN DAYS POSTBIT
   komplett neu: div-basiert, RPG-freundlich, hell, modern
   Großes Bild = Avatar, kleines Icon = Profilfeld
   ========================================================= */

.gdpost,
.gdpost *,
.gduser,
.gduser * {
    box-sizing: border-box;
    border-radius: 0;
}

.gdpost {
    --gd-dark: var(--rpg-dark, #1c2b31);
    --gd-dark-2: var(--rpg-dark-2, #142025);
    --gd-paper: var(--rpg-paper, #f7f6f2);
    --gd-paper-2: var(--rpg-paper-2, #ece8df);
    --gd-brick: var(--rpg-brick, #732C26);
    --gd-gold: var(--rpg-gold, #D5AA43);

    --gd-text: rgba(28,43,49,.78);
    --gd-muted: rgba(28,43,49,.48);
    --gd-line: rgba(28,43,49,.14);
    --gd-line-soft: rgba(28,43,49,.08);

    position: relative;
    width: 100%;
    margin: 0 0 24px 0;

    display: grid;
    grid-template-columns: 285px minmax(0, 1fr);

    border: 1px solid var(--gd-line);
    background:
        linear-gradient(90deg, rgba(255,255,255,.42), rgba(236,232,223,.28)),
        rgba(247,246,242,.62);

    box-shadow: 0 14px 28px rgba(28,43,49,.07);

    color: var(--gd-text);
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}

.gdpost::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(90deg, rgba(28,43,49,.022) 1px, transparent 1px),
        linear-gradient(180deg, rgba(28,43,49,.016) 1px, transparent 1px);
    background-size: 42px 42px;

    opacity: .45;
    pointer-events: none;
}

/* =========================================================
   LINKER USERBEREICH
   ========================================================= */

.gdpost-author {
    position: relative;
    z-index: 1;

    padding: 17px;

    border-right: 1px solid var(--gd-line);
    background:
        linear-gradient(180deg, rgba(28,43,49,.045), rgba(255,255,255,.14));
}

.gduser {
    display: grid;
    gap: 14px;
}

/* =========================================================
   BILDBOX
   ========================================================= */

.gduser-imagebox {
    position: relative;

    min-height: 330px;
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(28,43,49,.13);
    background:
        linear-gradient(180deg, rgba(255,255,255,.23), rgba(255,255,255,.08)),
        rgba(247,246,242,.36);

    box-shadow:
        9px 9px 0 rgba(28,43,49,.04);

    overflow: hidden;
}

/* dunkler Block links, aber nicht zu breit */

.gduser-imagebox::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;

    width: 38%;
    background:
        linear-gradient(180deg, var(--gd-dark), var(--gd-dark-2));

    z-index: 1;
}

/* feiner Rahmen wie Teamkarte */

.gduser-imagebox::after {
    content: "";
    position: absolute;
    inset: 22px;

    border: 1px solid rgba(213,170,67,.34);
    border-right-color: rgba(28,43,49,.12);
    border-bottom-color: rgba(28,43,49,.12);

    z-index: 3;
    pointer-events: none;
}

/* großes Bild = Avatar */

.gduser-avatar {
    position: relative;
    z-index: 4;

    width: 185px;
    height: 255px;

    padding: 7px;

    border: 1px solid rgba(247,246,242,.76);
    outline: 1px solid rgba(28,43,49,.22);
    outline-offset: 5px;

    background: rgba(255,255,255,.35);

    box-shadow:
        13px 13px 0 rgba(28,43,49,.18),
        -7px -7px 0 rgba(247,246,242,.36),
        0 22px 34px rgba(28,43,49,.18);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        filter .25s ease;
}

.gduser-avatar img,
.gduser-avatar-img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    border-radius: 0;
    filter: saturate(.96) contrast(1.04);
}

/* kleines Icon aus Profilfeld */

.gduser-icon {
    position: absolute;
    z-index: 6;

    top: 17px;
    left: 17px;

    width: 58px;
    height: 58px;

    padding: 5px;

    border: 3px solid var(--gd-paper);
    background: rgba(255,255,255,.92);

    box-shadow: 0 12px 22px rgba(28,43,49,.16);
}

.gduser-icon img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}

/* wenn kein Iconbild hinterlegt ist */

.gduser-icon img[src=""] {
    display: none;
}

.gduser-icon:has(img[src=""]) {
    display: none;
}

/* Online unten auf Bild */

.gduser-online {
    position: absolute;
    z-index: 7;

    left: 29px;
    bottom: 22px;
}

/* Hover */

.gdpost:hover .gduser-avatar {
    transform: translate(-4px, -4px);

    box-shadow:
        17px 17px 0 rgba(28,43,49,.20),
        -7px -7px 0 rgba(247,246,242,.44),
        0 28px 40px rgba(28,43,49,.22);
}

/* =========================================================
   ONLINE STATUS
   ========================================================= */

.gdstatus {
    min-height: 25px;
    padding: 6px 10px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    border: 1px solid rgba(213,170,67,.35);
    background: rgba(247,246,242,.90);

    color: rgba(28,43,49,.62);
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .15em;
    text-transform: uppercase;

    box-shadow: 5px 5px 0 rgba(28,43,49,.06);
}

.gdstatus::before {
    content: "";
    width: 7px;
    height: 7px;
    display: block;
    background: rgba(28,43,49,.28);
}

.gdstatus-online::before {
    background: var(--gd-dark);
}

.gdstatus-offline::before {
    background: rgba(28,43,49,.25);
}

.gdstatus-away::before {
    background: var(--gd-gold);
}

/* =========================================================
   NAME / TITEL
   ========================================================= */

.gduser-namebox {
    position: relative;
    padding: 0 0 0 14px;

    border-left: 2px solid rgba(28,43,49,.18);
}

.gduser-namebox span {
    display: block;
    margin: 0 0 6px 0;

    color: rgba(28,43,49,.46);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gduser-namebox strong,
.gduser-namebox strong a,
.gduser-namebox a {
    color: var(--gd-dark);
    font-size: 21px;
    font-weight: 500;
    line-height: 1.16;
    letter-spacing: .04em;
    text-decoration: none;
}

.gduser-namebox a:hover {
    color: var(--gd-brick);
}

.gduser-namebox em {
    display: block;
    margin-top: 6px;

    color: rgba(28,43,49,.50);
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* =========================================================
   INFOS
   ========================================================= */

.gduser-facts {
    display: grid;
    gap: 7px;
}

.gduser-fact {
    position: relative;

    padding: 9px 10px 9px 12px;

    border-left: 2px solid rgba(28,43,49,.18);
    background: rgba(255,255,255,.18);
}

.gduser-fact span,
.gduser-stats span {
    display: block;
    margin: 0 0 4px 0;

    color: rgba(28,43,49,.45);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.gduser-fact strong,
.gduser-stats strong {
    color: var(--gd-dark);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}

/* Stats als dünne Datenleiste, kein komisches Rechteck */

.gduser-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;

    border-top: 1px solid rgba(28,43,49,.10);
    border-bottom: 1px solid rgba(28,43,49,.10);
}

.gduser-stats > div {
    padding: 9px 10px;
    border-left: 1px solid rgba(28,43,49,.08);
}

.gduser-stats > div:first-child {
    border-left: 0;
}

/* Gruppe */

.gduser-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gduser-group img {
    max-width: 100%;
    height: auto;
}

/* =========================================================
   RECHTER BEITRAG
   ========================================================= */

.gdpost-main {
    position: relative;
    z-index: 1;

    min-width: 0;

    display: grid;
    grid-template-rows: auto minmax(360px, auto) auto auto;

    background:
        linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
}

.gdpost-head {
    min-height: 58px;
    padding: 14px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    border-bottom: 1px solid var(--gd-line-soft);
    background:
        linear-gradient(90deg, rgba(28,43,49,.045), rgba(255,255,255,.16));
}

.gdpost-date span {
    display: block;
    margin: 0 0 4px 0;

    color: rgba(28,43,49,.45);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.gdpost-date strong {
    display: block;

    color: var(--gd-dark);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}

.gdpost-url {
    min-height: 30px;
    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(28,43,49,.14);
    background: rgba(255,255,255,.22);

    color: var(--gd-dark);
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .12em;
    text-decoration: none;
}

.gdpost-url:hover {
    background: var(--gd-dark);
    color: var(--gd-paper);
}

/* Beitragstext */

.gdpost-content {
    min-height: 390px;
    padding: 28px 30px;

    color: rgba(28,43,49,.78);
    font-size: 13px;
    line-height: 1.9;
}

.gdpost-content p {
    margin: 0 0 1em 0;
}

.gdpost-content a {
    color: var(--gd-dark);
    text-decoration: none;
    border-bottom: 1px solid rgba(28,43,49,.16);
}

.gdpost-content a:hover {
    color: var(--gd-brick);
    border-bottom-color: rgba(115,44,38,.34);
}

.gdpost-content img {
    max-width: 100%;
    height: auto;
}

/* Signatur */

.gdpost-signature {
    margin: 0 30px 22px 30px;
    padding: 14px 16px;

    border: 1px solid rgba(28,43,49,.10);
    border-left: 2px solid rgba(28,43,49,.18);

    background:
        linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.08)),
        rgba(247,246,242,.30);
}

.gdpost-signature span {
    display: block;
    margin: 0 0 8px 0;

    color: rgba(28,43,49,.44);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gdpost-signature div {
    color: rgba(28,43,49,.62);
    font-size: 11px;
    line-height: 1.65;
}

.gdpost-signature img {
    max-width: 100%;
    height: auto;
}

/* Footer */

.gdpost-footer {
    padding: 13px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    border-top: 1px solid var(--gd-line-soft);
    background: rgba(255,255,255,.16);
}

.gdpost-contact,
.gdpost-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gdpost-btn {
    min-height: 30px;
    padding: 0 11px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border: 1px solid rgba(28,43,49,.16);
    background: rgba(255,255,255,.20);

    color: var(--gd-dark) !important;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .13em;
    text-transform: uppercase;
    text-decoration: none !important;

    transition:
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.gdpost-btn:hover {
    border-color: rgba(28,43,49,.34);
    background: var(--gd-dark);
    color: var(--gd-paper) !important;
    transform: translateY(-1px);
}

.gdpost-btn-dark {
    background: var(--gd-dark);
    border-color: var(--gd-dark);
    color: var(--gd-paper) !important;
}

.gdpost-btn-dark:hover {
    background: var(--gd-brick);
    border-color: var(--gd-brick);
    color: #fff !important;
}

/* kleine Button-Icons */

.gdpost-btn[href*="private"]::before {
    content: "✉";
}

.gdpost-btn[href*="emailuser"]::before {
    content: "✉";
}

.gdpost-btn[href*="search"]::before {
    content: "⌕";
}

.gdpost-btn[href*="editpost"]::before {
    content: "✎";
}

.gdpost-btn[href*="report"]::before {
    content: "!";
}

.gdpost-btn[href*="newreply"]::before {
    content: "❞";
}

/* Inlinecheck */

.gdpost-inlinecheck {
    position: absolute;
    left: 18px;
    bottom: 12px;
    z-index: 5;

    width: 18px;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================================================
   MYBB-RESTE ENTFERNEN
   ========================================================= */

.gdpost .post_author,
.gdpost .post_content,
.gdpost .post_body,
.gdpost .post_controls,
.gdpost .author_statistics,
.gdpost .postbit_profile,
.gdpost .profile_fields {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.gdpost .star_rating,
.gdpost .userstar,
.gdpost img[src*="star"],
.gduser img[src*="star"] {
    display: none !important;
}

/* =========================================================
   SHOWTHREAD HEADER / ANTWORTEN OBEN
   ========================================================= */

/* Headerbereich vom Thema leichter machen */
.showthread-header,
.thread-header,
.tborder:has(.gdpost) ~ .tborder {
    border-radius: 0 !important;
}

/* schwarze Standard-Antwortbuttons abmildern */
a[href*="newreply.php"].button,
input[value="Antworten"],
button[value="Antworten"] {
    min-height: 31px !important;
    padding: 0 13px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(28,43,49,.18) !important;
    background: rgba(255,255,255,.24) !important;

    color: var(--rpg-dark, #1c2b31) !important;
    font-size: 9px !important;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none !important;
}

a[href*="newreply.php"].button:hover,
input[value="Antworten"]:hover,
button[value="Antworten"]:hover {
    background: var(--rpg-dark, #1c2b31) !important;
    color: var(--rpg-paper, #f7f6f2) !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media screen and (max-width: 1000px) {
    .gdpost {
        grid-template-columns: 1fr;
    }

    .gdpost-author {
        border-right: 0;
        border-bottom: 1px solid var(--gd-line);
    }

    .gduser-imagebox {
        min-height: 300px;
    }

    .gduser-avatar {
        width: 200px;
        height: 245px;
    }

    .gdpost-head,
    .gdpost-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .gdpost-content {
        min-height: 0;
        padding: 22px;
    }

    .gdpost-signature {
        margin: 0 22px 22px 22px;
    }
}

@media screen and (max-width: 560px) {
    .gdpost-author {
        padding: 14px;
    }

    .gduser-imagebox {
        min-height: 270px;
    }

    .gduser-avatar {
        width: 170px;
        height: 225px;
    }

    .gduser-stats {
        grid-template-columns: 1fr;
    }

    .gduser-stats > div {
        border-left: 0;
        border-top: 1px solid rgba(28,43,49,.08);
    }

    .gduser-stats > div:first-child {
        border-top: 0;
    }
}