/* =========================================================================
   Gemeingut Boden – Publikations-Detailseite (Single)
   Baut auf den Grid-Komponenten aus frontend.css auf (Pills, CTA-Link).
   Marken-Elemente (Pills, "Beitrag ansehen") kommen 1:1 aus dem Grid –
   hier nur Detail-Layout und die grösseren Standard-Schriftgrössen.
   CSS-Variablen (--gbpub-*) werden in frontend.css auch für .gbpub-single
   bereitgestellt.
   ========================================================================= */

.gbpub-single {
    max-width: 1300px;
    margin: 0 auto;
    padding: 100px 30px 100px 30px;
    color: var(--gbpub-text);
}
.gbpub-single *, .gbpub-single *::before, .gbpub-single *::after { box-sizing: border-box; }

/* Textspalte für gute Lesbarkeit begrenzen (analog Theme-Content). */
.gbpub-single-body { max-width: 720px; }

/* Obere Zeile: Meta links, Zurück-Link rechts. */
.gbpub-single-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px 30px;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.gbpub-single-meta {
    font-size: 18px;
    color: var(--gbpub-muted);
    letter-spacing: .02em;
}
.gbpub-single .gbpub-sep { color: var(--gbpub-text); margin: 0 8px; }
.gbpub-single-meta .gbpub-intern { margin-left: 12px; }

/* Interner Kommentar – nur für angemeldete Vereinsmitglieder gerendert. */
.gbpub-single-intern {
    border-left: 4px solid var(--gbpub-accent);
    background: var(--gbpub-panel-bg);
    padding: 24px 30px;
    max-width: 620px;
    margin-top: 40px;
}
.gbpub-single-intern h4 { margin-top: 0 !important; }
.gbpub-single-intern p:last-child { margin-bottom: 0; }

/* Zurück-Links. */
.gbpub-single-back {
    font-size: 18px;
    font-weight: 700;
    color: var(--gbpub-accent-black);
    text-decoration: none;
    white-space: nowrap;
}
.gbpub-single-back:hover { text-decoration: underline; }
.gbpub-single-bottom { margin-top: 50px; text-align: right; }

/* Titel + Autorenzeile eng gruppieren. */
.gbpub-single-title { margin-bottom: 40px !important; }
.gbpub-single-authors {
    font-size: 20px;
    color: var(--gbpub-text);
    margin-bottom: 40px;
}

/* Zusammenfassung nutzt die Standard-Theme-Typografie (grösser als im Grid). */
.gbpub-single-abstract p:last-child { margin-bottom: 0; }

/* CTA – exakt der Grid-Link, nur grösser. */
.gbpub-single-cta { margin: 24px 0 80px; }
.gbpub-single .gbpub-pdf-link { font-size: 22px; }
.gbpub-single .gbpub-pdf-link .gbpub-ic { width: 20px; height: 20px; }
.gbpub-single .gbpub-pdf-link:hover { text-decoration: none; }
.gbpub-single .gbpub-pdf-link:hover:before {
    animation-duration: 0.65s;
    animation-name: butonslide; /* aus dem Theme (style.css) */
    animation-iteration-count: 1;
    animation-timing-function: cubic-bezier(0.93, 0.01, 0, 0.98);
}

/* Pills – Farben/Form aus dem Grid, nur grösser und als Filter-Links. */
.gbpub-single .gbpub-card-cats { gap: 8px; margin: 0 0 10px; }
.gbpub-single .gbpub-card-cats .gbpub-chip {
    font-size: 18px;
    padding: 5px 16px;
    border-radius: 18px;
}
.gbpub-single .gbpub-card-cats a.gbpub-chip {
    text-decoration: none;
    color: var(--gbpub-chip-text);
    transition: filter .15s ease;
}
.gbpub-single .gbpub-card-cats a.gbpub-chip:hover { filter: brightness(0.95); text-decoration: none; }

/* Publikationsdetails-Box. */
.gbpub-single-details {
    background: var(--gbpub-panel-bg);
    padding: 40px;
    max-width: 620px;
    margin-top: 80px;
}
.gbpub-single-details h2 { margin-top: 0 !important; margin-bottom: 24px !important; }
.gbpub-single-details dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 30px;
    row-gap: 16px;
    margin: 0;
    font-size: 18px;
}
.gbpub-single-details dt { font-weight: 700; }
.gbpub-single-details dd { margin: 0; }

@media (max-width: 768px) {
    .gbpub-single { padding: 24px 16px 56px; }
    .gbpub-single-top { flex-direction: column-reverse; gap: 12px; margin-bottom: 28px; }
    .gbpub-single-authors { font-size: 18px; margin-bottom: 28px; }
    .gbpub-single .gbpub-pdf-link { font-size: 20px; }
    .gbpub-single-details { padding: 28px; }
    .gbpub-single-details dl { grid-template-columns: 1fr; row-gap: 4px; }
    .gbpub-single-details dt { margin-top: 12px; }
    .gbpub-single-bottom { text-align: left; }
}
