/*
Theme Name: GeneratePress NBH Child
Theme URI: https://www.nbh-miesbach.de/
Description: Child Theme für Nachbarschaftshilfe Miesbach e.V. auf Basis von GeneratePress. Enthält NBH-Logo, eigene Footer-Anpassung und einfache Inhalts-Templates.
Author: VIEDEV / Nachbarschaftshilfe Miesbach e.V.
Template: generatepress
Version: 1.3.5
Text Domain: generatepress-nbh-child
*/

/* Theme-Logo aus dem Child-Theme, falls in WordPress kein eigenes Logo gesetzt ist. */
.nbhm-theme-logo {
    margin: 0 18px 0 0;
}

.nbhm-theme-logo img {
    display: block;
    max-width: 155px;
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .nbhm-theme-logo img {
        max-width: 140px;
    }
}

/* Schlanke Templates mit sichtbarem H1-Titel. */
.nbhm-template-wrap {
    max-width: 960px;
    margin: 0 auto;
}

.nbhm-entry-title {
    font-weight: 700;
    margin-bottom: 1rem;
}

.nbhm-entry-content {
    margin-top: 1rem;
}

.nbhm-footer-separator {
    opacity: 0.6;
    padding: 0 0.35em;
}

/* Header kompakt halten, damit das Menü nicht nach unten rutscht. */
.inside-header {
    gap: 18px;
}

.site-branding {
    min-width: 0;
}

.main-title {
    line-height: 1.15;
}

@media (max-width: 900px) {
    .nbhm-theme-logo {
        margin-right: 10px;
    }
}
.nbhm-blog-header {
    margin-bottom: 1.5rem;
}

.nbhm-blog-card {
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.nbhm-blog-card-title {
    margin-bottom: 0.5rem;
}

.nbhm-blog-card-title a {
    text-decoration: none;
}


.nbhm-theme-logo {
    flex: 0 0 auto;
}

/* Menü einzeilig halten. */
.main-navigation .main-nav > ul {
    flex-wrap: nowrap;
}

.main-navigation .main-nav ul li a {
    white-space: nowrap;
}

/* Erzwungener Titel für Aktuelles/Beitragsseite, auch wenn globale CSS-Regeln Page-Titel ausblenden. */
.nbhm-force-blog-title-wrap {
    max-width: 960px;
    margin: 0 auto 1.5rem;
}

.nbhm-force-blog-title,
.nbhm-blog-index .nbhm-force-blog-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-weight: 700 !important;
    margin: 0 0 1rem !important;
}

/* Beitragsliste / Aktuelles: eigene Klassen, damit globale .entry-title-Regeln nicht stören. */
.nbhm-post-card {
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.nbhm-post-card:first-of-type {
    padding-top: 0;
}

.nbhm-post-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 0.45rem !important;
    font-weight: 700 !important;
    line-height: 1.25;
}

.nbhm-post-title a {
    text-decoration: none;
}

.nbhm-post-meta,
.nbhm-post-type,
.nbhm-post-cats {
    font-size: 0.92rem;
    opacity: 0.78;
}

.nbhm-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin-bottom: 0.75rem;
}

.nbhm-post-meta-item:not(:last-child)::after {
    content: "·";
    margin-left: 0.5rem;
    opacity: 0.65;
}

.nbhm-post-cats {
    margin-bottom: 0.35rem;
}

.nbhm-post-summary {
    margin-top: 0.5rem;
}

.nbhm-post-readmore {
    display: inline-block;
    margin-top: 0.5rem;
    font-weight: 700;
}

/* Kleine optische Glättung für die Aktuelles-Liste. */
.nbhm-blog-index {
    padding-top: 1rem;
}

.nbhm-post-cats a {
    font-size: 0.86rem;
}

.nbhm-post-title {
    font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.nbhm-post-summary p:last-child {
    margin-bottom: 0;
}

/* Linkfarben auf der Beitragsseite werden zusätzlich über den Customizer als Inline-CSS gesetzt. */
.nbhm-blog-index a {
    transition: color 0.15s ease-in-out;
}

/* Einzelbeitrag-/Seitentemplate: Titel sicher anzeigen, auch wenn globale Regeln .entry-title ausblenden. */
.nbhm-template-title,
.nbhm-force-post-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-weight: 700 !important;
    margin: 0 0 1.25rem !important;
    line-height: 1.2;
}

/* Template mit H1-Titel: GeneratePress-Contentbreite verwenden, nicht künstlich verengen. */
.nbhm-single-template-wrap {
    max-width: none;
    width: 100%;
}

/* Einzelbeitrag-Optionen. */
.nbhm-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin: -0.4rem 0 1.4rem;
    font-size: 0.94rem;
    opacity: 0.82;
}

.nbhm-single-meta-item:not(:last-child)::after {
    content: "·";
    margin-left: 0.5rem;
    opacity: 0.65;
}

.nbhm-single-back {
    margin-top: 2rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
}

.nbhm-single-back-link {
    font-weight: 700;
    text-decoration: none;
}

.nbhm-single-back-link:hover {
    text-decoration: underline;
}

/* Einzelbeitrag-Links: nicht in GeneratePress-Blau zurückfallen. */
.single-post .nbhm-single-post a,
.single-post .nbhm-single-meta a,
.single-post .entry-content a {
    transition: color 0.15s ease-in-out;
}

/* Beitragsseite: Titelbild und Volltextdarstellung. */
.nbhm-post-thumbnail {
    display: block;
    margin: 0 0 1rem;
    overflow: hidden;
}

.nbhm-post-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 360px;
    object-fit: cover;
}

.nbhm-post-full-content {
    margin-top: 0.75rem;
}

.nbhm-post-full-content > *:last-child {
    margin-bottom: 0;
}
