/* Blog: Übersicht und Artikel. Eine Gestaltung für alle Artikel. */
/* Wie die übrigen Seiten: Inhalt bündig mit dem Logo. */
.blog-page{max-width:1600px;margin:auto;padding:60px 4% 90px}
.blog-page a:focus-visible,.blog-page button:focus-visible,.blog-page input:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.blog-meta{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#4d6159}
.blog-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.blog-tags a,.blog-filter-tags button{display:inline-block;padding:4px 11px;border:1px solid #c3cfc9;border-radius:20px;background:#fff;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;color:var(--ink)}
.blog-tags a:hover,.blog-filter-tags button:hover{border-color:var(--pink);background:#fff6fb}
.blog-filter-tags button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.blog-draft,.blog-draft-tag{background:#fff1f8;color:#8c003c}
.blog-draft{padding:14px 20px;border-left:4px solid var(--pink);font-size:16px;line-height:1.5;margin:0 0 30px}
.blog-draft-tag{padding:2px 7px;border-radius:4px;margin-right:4px}

/* Übersicht */
.blog-hero{margin-bottom:34px}
.blog-hero h1{font:700 clamp(42px,5vw,72px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:16px 0 0}
/* Links die Suche, rechts die Kacheln. */
.blog-layout{max-width:1400px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start}
.blog-side{position:sticky;top:calc(var(--header-h,var(--header)) + 24px);display:grid;gap:26px}
.blog-results>.blog-grid{scroll-margin-top:calc(var(--header-h,var(--header)) + 24px)}
.blog-substack{margin:0;padding-top:20px;border-top:1px solid #dce4dd;font-size:15px;font-weight:600}
.blog-substack a{text-decoration-color:var(--pink);text-underline-offset:6px}
.blog-filter{display:grid;gap:18px}
.blog-filter[hidden]{display:none}
.blog-search{display:grid;gap:6px;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.blog-search input{width:100%;padding:12px 14px;border:1px solid #9fb2a9;border-radius:8px;font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:var(--ink)}
.blog-filter-tags{display:flex;flex-wrap:wrap;gap:8px}
.blog-count{margin:0;font-size:15px;color:#4d6159}
.blog-count:empty{display:none}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.blog-card{position:relative;display:flex;flex-direction:column;border:1px solid #d3dcd7;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.blog-card:hover{border-color:var(--pink);box-shadow:0 8px 24px #092f2614}
.blog-card-image{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;background:#eef2f0}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.blog-card h2{font:700 clamp(21px,1.7vw,25px)/1.2 Georgia,serif;letter-spacing:-.3px;color:#111;margin:0 0 8px}
.blog-card h2 a{text-decoration:none}
/* Die ganze Kachel führt zum Artikel; Tags bleiben eigene Links darüber. */
.blog-card h2 a:after{content:'';position:absolute;inset:0}
.blog-card .blog-tags{position:relative;margin-top:auto;padding-top:12px}
.blog-card-subtitle{margin:0 0 8px;font-size:16px;font-weight:500;line-height:1.4}
.blog-card-excerpt{margin:0;font-size:15px;line-height:1.55;color:#33463f;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.blog-empty{grid-column:1/-1;font-size:19px}
.blog-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:50px}
.blog-pages a,.blog-pages button{min-width:44px;padding:9px 14px;border:1px solid #c3cfc9;border-radius:8px;background:#fff;font-size:16px;font-weight:600;text-align:center;text-decoration:none;color:var(--ink)}
.blog-pages a:hover,.blog-pages button:hover{border-color:var(--pink)}
.blog-pages [aria-current=page]{border-color:var(--ink);background:var(--ink);color:#fff}

/* Artikel */
/* Artikel mittig in Lesebreite. */
.blog-article{max-width:calc(860px + 8%)}
.blog-back{margin:0 0 34px;font-size:16px;font-weight:600}
.blog-back a,.blog-article-foot a{text-decoration-color:var(--pink);text-underline-offset:6px}
.blog-article-head{margin-bottom:36px}
.blog-article-head h1{font:700 clamp(38px,5vw,64px)/1.08 Georgia,serif;letter-spacing:-.03em;color:#111;margin:0 0 18px;overflow-wrap:break-word}
.blog-subtitle{margin:0 0 22px;font-size:clamp(20px,2vw,24px);line-height:1.45;font-weight:500}
.blog-prose{font-size:19px;line-height:1.7}
.blog-prose>:first-child{margin-top:0}
.blog-prose p,.blog-prose ul,.blog-prose ol{margin:0 0 22px}
.blog-prose li{margin:6px 0}
.blog-prose h2{font:700 clamp(28px,3vw,36px)/1.2 Georgia,serif;letter-spacing:-.5px;color:#111;margin:50px 0 16px}
.blog-prose h3{font-size:23px;line-height:1.35;margin:38px 0 12px}
.blog-prose h4,.blog-prose h5,.blog-prose h6{font-size:19px;margin:30px 0 10px}
.blog-prose a{text-decoration-color:var(--pink);text-underline-offset:4px}
.blog-prose img{display:block;max-width:100%;height:auto;margin:30px auto;border-radius:8px}
.blog-prose blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:4px solid var(--pink);font-size:21px;font-style:italic}
.blog-prose blockquote p:last-child{margin-bottom:0}
.blog-prose code{padding:2px 6px;border-radius:4px;background:#eef2f0;font-family:Menlo,Consolas,monospace;font-size:.85em}
.blog-prose pre{overflow-x:auto;padding:18px 20px;border-radius:8px;background:#eef2f0;font-size:15px;line-height:1.5;margin:0 0 22px}
.blog-prose pre code{padding:0;background:none;font-size:inherit}
.blog-prose table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:17px;display:block;overflow-x:auto}
.blog-prose th,.blog-prose td{padding:10px 12px;border-bottom:1px solid #d3dcd7;text-align:left;vertical-align:top}
.blog-prose th{border-bottom:2px solid var(--ink)}
.blog-prose hr{border:0;border-top:1px solid #d3dcd7;margin:44px 0}
.blog-article-foot{margin-top:56px;padding-top:24px;border-top:1px solid #d3dcd7;font-size:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px}
.blog-article-foot p{margin:0}

/* LinkedIn-Posts: kleiner Notizzettel auf der Übersicht, kompakte Leseansicht mit Weg zur Diskussion. */
.blog-post-tag{padding:2px 7px;border-radius:4px;background:var(--ink);color:#fff;margin-right:4px}
.blog-card-post{align-self:start;border:0;border-radius:2px;background:#f6f4ee;filter:drop-shadow(2px 4px 3px #092f261f);transform:rotate(-.6deg);overflow:visible}
.blog-grid>.blog-card-post:nth-child(even){transform:rotate(.6deg)}
.blog-card-post:hover{border-color:transparent;box-shadow:none;filter:drop-shadow(3px 7px 6px #092f2633)}
.blog-card-post .blog-card-body{padding:22px 24px 24px}
.blog-card-post .blog-card-excerpt{-webkit-line-clamp:6}
/* Bild eines Posts neben dem Text statt darüber; auf schmalen Karten als flacher Streifen oben. */
.blog-card-post{container-type:inline-size}
.blog-post-inner{display:grid}
.blog-card-post-bild .blog-post-inner{grid-template-columns:minmax(0,36%) minmax(0,1fr)}
.blog-card-post-bild .blog-card-image{height:100%;min-height:180px;aspect-ratio:auto;object-fit:cover}
.blog-card-post-bild .blog-card-body{padding-left:20px}
.blog-card-post :is(h2,.blog-card-excerpt){hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.blog-post-tag,.blog-draft-tag{white-space:nowrap}
@container (max-width:420px){
  .blog-card-post-bild .blog-post-inner{grid-template-columns:1fr}
  .blog-card-post-bild .blog-card-image{height:auto;min-height:0;aspect-ratio:3/1}
  .blog-card-post-bild .blog-card-body{padding-left:24px}
}
.blog-post{max-width:calc(680px + 8%)}
.blog-linkedin{margin-top:48px;padding:24px 26px;border-radius:10px;background:#f6f4ee;font-size:17px;line-height:1.55}
.blog-linkedin p{margin:0 0 16px}
.blog-linkedin-button{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:8px;background:var(--pink);color:#092219;font-weight:600;text-decoration:none}
.blog-linkedin-button:hover{background:#f00083}

@media(max-width:960px){
  .blog-layout{grid-template-columns:1fr;gap:30px}
  .blog-side{position:static}
}
@media(max-width:760px){
  .blog-page{padding:40px 24px 70px}
  .blog-grid{grid-template-columns:1fr;gap:22px}
  .blog-prose{font-size:18px}
}
.blog-page [hidden]{display:none!important}
.blog-prose a[target=_blank]:not(.blog-image-link):after{content:" ↗"}
.blog-image-link{display:block;cursor:zoom-in}
/* Bildvorschau im Artikel. */
.bildvorschau{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:56px 24px 24px;border:0;background:transparent;overflow:auto}
.bildvorschau::backdrop{background:#071f19f7}
.bildvorschau figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100%;margin:0;cursor:zoom-out}
.bildvorschau img{display:block;max-width:min(1600px,100%);max-height:calc(100dvh - 120px);width:auto;height:auto;border-radius:6px;background:#fff;box-shadow:0 20px 60px #0008;cursor:default}
.bildvorschau figcaption{max-width:900px;color:#fff;font-size:15px;line-height:1.5;text-align:center}
.bildvorschau-zu{position:fixed;top:12px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #0006}
.bildvorschau-zu:hover{background:var(--pink)}
.bildvorschau-zu:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
/* Table of contents of long articles (blogToc in scripts/blog.mjs). */
.blog-toc{margin:0 0 44px;padding:22px 26px 20px;border-left:4px solid var(--lime);background:#f6f8f7;border-radius:0 8px 8px 0}
.blog-toc-title{margin:0 0 10px;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.blog-toc ol{margin:0;padding-left:22px;font-size:17px;line-height:1.5}
.blog-toc li{margin:5px 0}
.blog-toc a{text-decoration-color:var(--pink);text-underline-offset:4px}
