/* Lista wpisów */
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-columns)}
.post-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--rule);color:var(--fg);text-decoration:none;transition:border-color .2s}
.post-card:hover{border-color:var(--accent)}
.post-cat{font-size:var(--text-sm);font-weight:700;color:var(--accent-text)}
.post-title{font-family:Poppins,sans-serif;font-weight:700;font-size:1.15rem;line-height:1.25}
.post-desc{color:var(--fg-2)}
.post-meta{margin-top:auto;font-size:var(--text-sm);color:var(--fg-2)}
/* Wpis: dwie połowy, po lewej panel, po prawej jasna kolumna */
.post-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#f6f7f9;color:#1b2433}
.post-visual{position:sticky;top:0;height:100vh;background:#081426;display:grid;place-items:center;overflow:hidden}
.dots{position:relative;width:470px;height:440px;max-width:90%;background-image:radial-gradient(circle,#a9b3c4 5px,transparent 5.6px);background-size:47px 44px;background-position:0 0}
.dots::after{content:"";position:absolute;left:17.5px;top:16.5px;width:12px;height:11px;border-radius:50%;background:#286aef;box-shadow:0 0 22px 6px rgba(40,106,239,.7);animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 30px 10px rgba(40,106,239,.9)}}
@media (prefers-reduced-motion:reduce){.dots::after{animation:none}}
.post-col{padding:calc(var(--header-offset,112px) + 24px) clamp(24px,5vw,80px) clamp(64px,8vw,120px);max-width:calc(680px + 2 * clamp(24px,5vw,80px));min-width:0}
.post-kicker{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-lg);font-size:var(--text-sm);color:#5b6679}
.pill{display:inline-block;padding:8px 16px;border-radius:999px;background:#dbe6fb;color:#12306e;font-weight:700}
.post-head h1{font-family:Poppins,sans-serif;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.08;margin:0 0 var(--space-md);color:#1b2433}
.post-lead{font-size:1.2rem;line-height:1.5;color:#5b6679;margin:0}
.post-author{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:var(--space-md);align-items:start;margin:var(--space-xl) 0;padding:var(--space-lg) 0;border-block:1px solid #dfe3ea}
.post-author img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.post-author p{margin:0}
.post-author-name{font-weight:700}
.post-author-bio{font-size:var(--text-sm);color:#5b6679}
.share{display:flex;gap:8px}
.share-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #cfd5df;background:transparent;color:#1b2433;cursor:pointer;padding:0}
.share-btn:hover{border-color:#286aef;color:#286aef}
.share-btn.done{background:#286aef;border-color:#286aef;color:#fff}
.share-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.share-btn[hidden]{display:none}
.post-body{max-width:none}
.post-body h2{font-family:Poppins,sans-serif;font-size:1.55rem;line-height:1.2;margin:var(--space-2xl) 0 var(--space-md);color:#1b2433}
.post-body h3{font-size:1.2rem;margin:var(--space-xl) 0 var(--space-sm)}
.post-body p,.post-body li{color:#3d475a;font-size:1.06rem;line-height:1.7}
.post-body ul,.post-body ol{margin:0 0 var(--space-md);padding-left:1.4em}
.post-body li{margin-bottom:var(--space-xs)}
.post-body strong{color:#1b2433}
.post-body a{color:#286aef}
.post-body blockquote{margin:0 0 var(--space-md);padding:var(--space-md) var(--space-lg);border-left:3px solid #286aef;background:#eaeff7;border-radius:0 var(--radius) var(--radius) 0}
.post-body blockquote p{margin:0}
.post-body .code{margin:0 0 var(--space-md)}
.post-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin:var(--space-2xl) 0 var(--space-xl);padding-top:var(--space-lg);border-top:1px solid #dfe3ea}
.post-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;color:#5b6679;font-size:var(--text-sm)}
.post-tags li{padding:6px 12px;border-radius:999px;background:#e8ebf1}
.post-cta{padding:var(--space-xl);border-radius:var(--radius-l);background:#081426;color:#e8eefb}
.post-cta h2{margin:0 0 var(--space-sm);font-size:1.4rem;color:#fff}
.post-cta p{color:#b9c4d9;margin:0 0 var(--space-lg)}
.post-cta .actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg)}
.post-cta .text-link{color:#fff}
.post-more{margin-top:var(--space-2xl)}
.post-more h2{font-family:Poppins,sans-serif;font-size:1.4rem;margin:0 0 var(--space-lg)}
.post-more .post-grid{grid-template-columns:minmax(0,1fr)}
@media (max-width:900px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-split{grid-template-columns:minmax(0,1fr)}
  .post-visual{position:static;height:210px;padding-top:72px;align-items:center}
  .dots{width:calc(100% - 48px);height:132px;overflow:hidden}
  .post-col{padding-top:var(--space-xl);max-width:none}
  .post-author{grid-template-columns:56px minmax(0,1fr)}
  .post-author .share{grid-column:1/-1}
}
@media (max-width:600px){.post-grid{grid-template-columns:minmax(0,1fr)}}
.post-cta .button.primary{background:#286aef;border-color:#286aef;color:#fff}
.post-cta .button.primary:hover{background:#83bbff;border-color:#83bbff;color:#081426}
.post-visual.has-photo{display:block}
.post-visual.has-photo picture,.post-visual.has-photo img{display:block;width:100%;height:100%}
.post-visual.has-photo img{object-fit:cover}
@media (max-width:900px){.post-visual.has-photo{height:min(70vw,360px);padding-top:0}}
.post-card[hidden]{display:none}
.more-wrap{display:flex;justify-content:center;margin-top:var(--space-xl)}

/* Lista /blog/ jak u Sadowskiego: płaskie teksty w dwóch kolumnach z cienkimi liniami */
.blog-head{padding-bottom:var(--space-xl);border-bottom:1px solid #dfe3ea}
.blog-head h1{font-family:Poppins,sans-serif;font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 var(--space-md);color:#1b2433}
.blog-head .post-tags{margin-bottom:var(--space-md)}
.blog-bio{margin:0;color:#3d475a;line-height:1.65;font-size:1.02rem}
.blog-bio a{color:#286aef}
.post-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.post-list .post-card{background:none;border:0;border-radius:0;padding:var(--space-xl) var(--space-lg);border-bottom:1px solid #dfe3ea;gap:var(--space-xs)}
.post-list .post-card:nth-child(odd){padding-left:0;border-right:1px solid #dfe3ea}
.post-list .post-card:nth-child(even){padding-right:0}
.post-list .post-card:hover .post-title{color:#286aef}
.post-list .post-cat{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6b7588;font-weight:600}
.post-list .post-title{font-size:1.25rem;color:#1b2433;transition:color .2s}
.post-list .post-desc{color:#6b7588;font-size:.95rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-list .post-meta{margin-top:var(--space-xs);color:#6b7588}
.blog-index .post-col{max-width:calc(900px + 2 * clamp(24px,5vw,80px))}
@media (max-width:700px){.post-list{grid-template-columns:minmax(0,1fr)}.post-list .post-card:nth-child(odd){border-right:0}.post-list .post-card:nth-child(n){padding-left:0;padding-right:0}}
