/* Blog-Erweiterung: nutzt die CSS-Variablen der Themes (MAAL, Lizzy). Wird nur auf Seiten mit Blog-Inhalten geladen. */
/* Blog */
.post-card { display: flex; flex-direction: column; gap: var(--space-4); height: 100%; }
.post-card__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius); }
.post-card__meta { font-size: .85rem; color: var(--color-muted); margin: 0 0 .35rem; }
.post-card__title { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; margin: 0 0 .4rem; }
.post-card__title a { color: inherit; text-decoration: none; }
.post-card__title a:hover { text-decoration: underline; }
.post-card__excerpt { color: var(--color-muted); margin: 0; }
.zb-postlist { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-5); }
.zb-postlist .post-card { flex-direction: row; border-bottom: 1px solid var(--line); padding-bottom: var(--space-5); }
.zb-postlist .post-card__media { flex: 0 0 30%; }
.blog-layout { display: grid; gap: var(--space-7); padding-bottom: var(--space-9); }
@media (min-width: 960px) { .blog-layout { grid-template-columns: 1fr 17rem; } }
.aside-title { font-family: var(--font-body); font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; color: var(--color-muted); margin: 0 0 .8rem; }
.aside-list { list-style: none; padding: 0; margin: 0 0 var(--space-6); }
.aside-list li { display: flex; justify-content: space-between; padding: .45rem 0; border-bottom: 1px solid var(--line); }
.aside-list span { color: var(--color-muted); font-size: .85rem; }
.aside-list a[aria-current], .post__terms a[aria-current] { font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
/* Block „Blog“ */
.zb-blog { display: grid; gap: var(--space-7); }
@media (min-width: 960px) { .zb-blog--aside { grid-template-columns: minmax(0, 1fr) 17rem; } }
.zb-blog__filter { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin: 0 0 var(--space-5); }
.zb-blog__reset { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; }
.zb-blog__rss { margin-top: var(--space-5); }
.zb-blog .zb-more, .blog-layout__aside .zb-more { display: inline-flex; align-items: center; gap: .4rem; }
.chip { display: inline-block; font-size: .82rem; font-weight: 600; padding: .3rem .65rem; border-radius: 999px; background: color-mix(in srgb, var(--color-primary) 10%, transparent); color: var(--color-primary); text-decoration: none; margin: 0 .3rem .4rem 0; }
.chip--quiet { background: var(--color-soft); color: var(--color-muted); }
.post__meta { color: var(--color-muted); font-size: .95rem; margin-bottom: .8rem; }
.post__terms { margin: var(--space-4) 0 0; }
.post__image { margin-top: 0; margin-bottom: var(--space-7); }
.post__image img { border-radius: var(--radius); width: 100%; }
.post__body { padding-bottom: var(--space-6); font-size: 1.1rem; }
.post__footer { padding: var(--space-5) 0 var(--space-9); border-top: 1px solid var(--line); }
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: var(--space-7); }
.pagination__info { color: var(--color-muted); font-size: .9rem; }
.blog-layout--single { grid-template-columns: minmax(0, 1fr) !important; max-width: 52rem; }
.page-intro { color: var(--color-muted); font-size: 1.1rem; max-width: 46rem; margin: .6rem 0 0; }

/* Karte: Autor, Tagebuch */
.post-card__author { display: flex; align-items: center; gap: .5rem; margin: .7rem 0 0; font-size: .9rem; }
.post-card__author img, .post-card__avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.post-card--diary { flex-direction: row; gap: var(--space-5); align-items: flex-start; }
.post-card__day { margin: 0 0 .3rem; color: var(--color-muted); font-size: .95rem; }
.post-card__day time { display: flex; align-items: baseline; gap: .5rem; }
.post-card__dnum { font-family: var(--font-heading); font-size: 2.6rem; line-height: 1; font-weight: 700; color: var(--color-primary); }
.blog-diary > li { border-bottom: 1px solid var(--line); padding-bottom: var(--space-5); }
.blog-diary .post-card { flex-direction: column; border: 0; padding: 0; }
.blog-diary__archive { margin-top: var(--space-7); }
.blog-diary__archive summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }

/* Beitrag */
.post__day { font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 2rem); color: var(--color-primary); margin: 0 0 .6rem; }
.post__meta a { color: inherit; }
.post__image figcaption { margin-top: .6rem; color: var(--color-muted); font-size: .9rem; }
.post__credit { opacity: .85; }
.post__nav { display: grid; gap: var(--space-4); grid-template-columns: 1fr; margin: var(--space-6) 0; }
@media (min-width: 640px) { .post__nav { grid-template-columns: 1fr 1fr; } }
.post__nav a { display: flex; flex-direction: column; gap: .25rem; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: inherit; min-height: 44px; }
.post__nav a:hover strong { text-decoration: underline; }
.post__nav span { display: inline-flex; align-items: center; gap: .3rem; color: var(--color-muted); font-size: .85rem; }
.post__nav-next { text-align: right; grid-column: -2; }
.post__nav-next span { justify-content: flex-end; }
.post__related { padding-bottom: var(--space-9); }
.post__related-title { font-size: 1.4rem; margin: 0 0 var(--space-5); }

/* Serie */
.blog-series { border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-4) var(--space-5); margin: 0 0 var(--space-6); background: var(--color-soft); }
.blog-series__head { margin: 0 0 .5rem; font-weight: 600; }
.blog-series__label { text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; color: var(--color-muted); margin-right: .3rem; }
.blog-series__list { margin: 0; padding-left: 1.4rem; }
.blog-series__list li { padding: .15rem 0; }
.blog-series__list [aria-current] { font-weight: 700; }

/* Autor */
.blog-author { display: flex; gap: var(--space-4); align-items: flex-start; padding: var(--space-5) 0; border-top: 1px solid var(--line); margin-top: var(--space-5); }
.blog-author__photo img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.blog-author__name { font-weight: 700; margin: 0 0 .25rem; }
.blog-author__role { font-weight: 400; color: var(--color-muted); }
.blog-author__bio, .blog-author__web { margin: 0 0 .3rem; color: var(--color-muted); }

/* Teilen, Newsletter */
.blog-share { margin: var(--space-5) 0; }
.blog-share__title { font-weight: 600; margin: 0 0 .5rem; }
.blog-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.blog-share__btn { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .4rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .9rem; text-decoration: none; cursor: pointer; }
.blog-share__btn:hover { border-color: currentColor; }
.blog-newsletter { margin: var(--space-6) 0; padding: var(--space-5); border-radius: var(--radius); background: var(--color-soft); }
.blog-newsletter p { margin: 0 0 .7rem; }
.blog-newsletter p:last-child { margin-bottom: 0; }

/* Geschützt */
.blog-locked { padding-bottom: var(--space-9); }
.blog-locked__form label { display: block; font-weight: 600; margin-bottom: .4rem; }
.blog-locked__row { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.blog-locked__row input { flex: 1 1 14rem; min-height: 44px; }
.blog-locked__error { color: #b42318; font-weight: 600; }
