/* blog.css — przeniesione z inline <style> (blog_css() w blog.php). Ladowane w <head> przez strona.php, bo <style> nie jest dozwolone w <body> (W3C). */
/* ══ BLOG MODULE — prefiks bl- ══════════════════════════════════════════ */
.bl-s  { padding:3rem 0;background:#faf9f7;box-sizing:border-box }
.bl-w  { max-width:1160px;margin:0 auto;padding:0 1.4rem;box-sizing:border-box }

/* ── Intro ── */
.bl-intro      { margin-bottom:2rem }
.bl-intro-chip { display:inline-block;font-size:.72rem;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:#e8440f;margin-bottom:.5rem }
.bl-intro-h2   { font-size:1.85rem;font-weight:800;color:#0d0d0d;margin:0 0 .5rem;line-height:1.25 }
.bl-intro-p    { font-size:.95rem;color:#6b7280;max-width:600px;margin:0 }

/* ── Zakładki ── */
.bl-tabs { display:flex;flex-wrap:wrap;gap:.3rem;
  border-bottom:2px solid #e5e2d9;margin-bottom:1.75rem;padding-bottom:0 }
.bl-tab  { display:inline-flex;align-items:center;gap:.3rem;padding:.48rem 1.05rem;
  font-size:.85rem;font-weight:600;color:#6b7280;text-decoration:none;
  border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;
  border-radius:6px 6px 0 0;transition:color .18s,background .18s,border-color .18s }
.bl-tab:hover      { color:#0d0d0d;background:#f0ede5 }
.bl-tab--active    { color:#e8440f;border-bottom-color:#e8440f;background:#fff8f5 }

/* ── Siatka kart ── (4 kolumny na szerokim ekranie, responsywnie 4→3→2→1) */
.bl-grid  { display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem }
@media (max-width:1080px){ .bl-grid { grid-template-columns:repeat(3,1fr) } }
@media (max-width:820px) { .bl-grid { grid-template-columns:repeat(2,1fr) } }
.bl-empty { color:#9ca3af;text-align:center;padding:2.5rem 0;grid-column:1/-1 }

.bl-card {
  display:flex;flex-direction:column;
  background:#fff;border:1.5px solid #e5e2d9;border-radius:15px;
  padding:1.3rem 1.35rem 1.05rem;text-decoration:none;color:inherit;
  transition:border-color .22s,box-shadow .22s,transform .22s;
  box-sizing:border-box;
}
.bl-card:hover { border-color:#e8440f;box-shadow:0 8px 30px rgba(232,68,15,.12);transform:translateY(-3px) }
.bl-card-top   { display:flex;align-items:center;justify-content:space-between;
  gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap }
.bl-card-kat   { font-size:.71rem;font-weight:700;color:#e8440f;
  background:#fff1ec;border:1px solid #fbc8b4;padding:.18rem .6rem;border-radius:100px }
.bl-card-time  { font-size:.71rem;color:#9ca3af }
.bl-card-h3    { font-size:1.03rem;font-weight:700;line-height:1.4;color:#0d0d0d;margin:0 0 .5rem }
.bl-card-ex    { font-size:.84rem;color:#4b5563;line-height:1.6;margin:0;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden }
.bl-card-bot   { display:flex;align-items:center;justify-content:space-between;
  margin-top:.9rem;padding-top:.75rem;border-top:1px solid #f0ede5 }
.bl-card-tag   { font-size:.7rem;color:#9ca3af;background:#f4f2ec;padding:.12rem .5rem;border-radius:100px }
.bl-card-go    { font-size:.8rem;font-weight:700;color:#e8440f;transition:letter-spacing .2s }
.bl-card:hover .bl-card-go { letter-spacing:.04em }

/* ══ WIDOK ARTYKUŁU ══════════════════════════════════════════════════════
   KRYTYCZNE: box-sizing + display + overflow żeby grid nie pękał
════════════════════════════════════════════════════════════════════════ */
.bl-reader-wrap {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important;
  gap: 2rem !important;
  align-items: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* SIDEBAR — lewa kolumna, STAŁA szerokość */
.bl-sidebar {
  width: 260px !important;
  min-width: 240px !important;
  max-width: 260px !important;
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
  align-self: flex-start !important;
  background: #fff;
  border: 1.5px solid #e5e2d9;
  border-radius: 14px;
  overflow: visible;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  box-sizing: border-box !important;
}
.bl-sb-head {
  padding:.85rem 1rem;
  background:linear-gradient(135deg,#fff1ec 0%,#fff8f5 100%);
  border-bottom:1px solid #fbc8b4;
}
.bl-sb-back  { font-size:.9rem;font-weight:800;color:#e8440f;text-decoration:none;
  display:inline-flex;align-items:center;gap:.3rem;transition:opacity .2s }
.bl-sb-back:hover { opacity:.75 }
.bl-sb-label { display:block;font-size:.63rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:#9ca3af;margin-top:.2rem }
.bl-sb-nav   { display:flex;flex-direction:column;padding:.4rem 0 }
.bl-sb-more  { padding:.5rem .8rem .8rem;display:flex;flex-direction:column;gap:.3rem }

.bl-slink {
  display:flex;align-items:flex-start;gap:.55rem;
  padding:.6rem 1rem;text-decoration:none;color:#374151;
  border-left:3px solid transparent;
  transition:background .15s,border-color .15s,color .15s;
}
.bl-slink:hover      { background:#f9f8f5;border-left-color:#e5e2d9;color:#0d0d0d }
.bl-slink--cur       { background:#fff8f5;border-left-color:#e8440f;color:#e8440f }
.bl-slink-ico        { font-size:.62rem;margin-top:.3rem;flex-shrink:0;opacity:.6 }
.bl-slink--cur .bl-slink-ico { opacity:1 }
.bl-slink-body       { display:flex;flex-direction:column;gap:.08rem;min-width:0 }
.bl-slink-t          { font-size:.81rem;font-weight:600;line-height:1.35;
  white-space:normal;overflow-wrap:break-word }
.bl-slink-m          { font-size:.67rem;color:#9ca3af;white-space:normal;overflow-wrap:break-word }
.bl-slink--cur .bl-slink-m { color:#f4a97a }

.bl-more-btn { display:inline-flex;align-items:center;gap:.3rem;
  font-size:.76rem;font-weight:700;color:#e8440f;cursor:pointer;
  background:#fff1ec;border:1px solid #fbc8b4;border-radius:6px;
  padding:.3rem .7rem;transition:background .2s;font-family:inherit }
.bl-more-btn:hover { background:#fde8df }
.bl-less-btn { display:inline-flex;align-items:center;gap:.3rem;
  font-size:.75rem;color:#9ca3af;cursor:pointer;
  background:#f4f2ec;border:1px solid #e5e2d9;border-radius:6px;
  padding:.28rem .65rem;transition:background .2s;font-family:inherit }
.bl-less-btn:hover { background:#e5e2d9 }

/* ARTYKUŁ — prawa kolumna */
.bl-article {
  -webkit-box-flex: 1 !important;
  -ms-flex: 1 !important;
  flex: 1 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.bl-art-meta  { display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem;flex-wrap:wrap }
.bl-badge     { padding:.22rem .75rem;border-radius:100px;font-size:.74rem;font-weight:700;
  background:#fff1ec;color:#e8440f;border:1px solid #fbc8b4 }
.bl-art-time  { font-size:.79rem;color:#9ca3af }
.bl-art-h1    { font-size:1.75rem;font-weight:800;line-height:1.28;color:#0d0d0d;margin:0 0 .5rem }
.bl-art-temat { font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#9ca3af;margin:.2rem 0 .5rem }
.bl-art-lead  { font-size:1rem;color:#4b5563;font-style:italic;line-height:1.65;
  border-left:3px solid #e8440f;padding:.6rem 1rem;margin:0 0 1.5rem;
  background:#fff8f5;border-radius:0 8px 8px 0 }
.bl-art-body  { font-size:.97rem;line-height:1.8;color:#1f2937;
  white-space:pre-wrap;overflow-wrap:break-word }
.bl-art-body p,.bl-art-body h2,.bl-art-body h3,
.bl-art-body ul,.bl-art-body ol,.bl-art-body blockquote { white-space:normal }
.bl-art-body h2 { font-size:1.22rem;font-weight:700;margin:2rem 0 .6rem;
  color:#0d0d0d;padding-bottom:.35rem;border-bottom:2px solid #f0ede5 }
.bl-art-body h3 { font-size:1.03rem;font-weight:700;margin:1.4rem 0 .4rem;color:#0d0d0d }
.bl-art-body a  { color:#e8440f;text-decoration:underline }
.bl-art-body strong { font-weight:700 }
.bl-art-body ul,.bl-art-body ol { padding-left:1.5rem;margin:.5rem 0 }
.bl-art-body li { margin-bottom:.35rem }
.bl-art-body blockquote { border-left:3px solid #e8440f;padding:.6rem 1rem;
  margin:1.2rem 0;background:#fff8f5;border-radius:0 10px 10px 0;color:#4b5563;font-style:italic }
.bl-art-foot  { margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e5e2d9 }
.bl-foot-btn  { display:inline-flex;align-items:center;gap:.4rem;
  padding:.52rem 1.2rem;background:#fff;border:1.5px solid #e5e2d9;
  border-radius:9px;font-size:.86rem;font-weight:600;color:#374151;
  text-decoration:none;transition:all .2s }
.bl-foot-btn:hover { border-color:#e8440f;color:#e8440f;background:#fff8f5 }

/* ── Animacje ── */
@keyframes blUp {
  from { opacity:0;transform:translateY(18px) }
  to   { opacity:1;transform:translateY(0) }
}
@keyframes blIn {
  from { opacity:0;transform:translateY(10px) }
  to   { opacity:1;transform:translateY(0) }
}
.bl-anim-up { animation:blUp .5s cubic-bezier(.22,1,.36,1) both }
.bl-article  { animation:blIn .4s cubic-bezier(.22,1,.36,1) both }
.bl-sidebar  { animation:blIn .35s cubic-bezier(.22,1,.36,1) both }

/* ── Mobile: lista artykułów pozioma (zamiast sidebara) ── */
.bl-mobile-links { display:none }

/* ── RESPONSYWNOŚĆ ── */
@media (max-width:860px) {
  /* Na mobile: chowamy sidebar, pokazujemy poziomą listę */
  .bl-sidebar       { display:none !important }
  .bl-mobile-links  {
    display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0 .75rem;
    margin-bottom:1.25rem;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .bl-mobile-links::-webkit-scrollbar { display:none }
  .bl-mlink {
    display:inline-block;white-space:nowrap;font-size:.77rem;font-weight:600;
    padding:.35rem .85rem;border-radius:100px;border:1.5px solid #e5e2d9;
    background:#fff;color:#374151;text-decoration:none;flex-shrink:0;
    transition:border-color .18s,color .18s;
  }
  .bl-mlink:hover       { border-color:#e8440f;color:#e8440f }
  .bl-mlink--cur        { background:#e8440f;border-color:#e8440f;color:#fff }
  .bl-mlink--more       { background:#f4f2ec;color:#6b7280;border-color:#e5e2d9 }
  /* Artykuł na całą szerokość */
  .bl-reader-wrap {
    flex-direction:column !important;
    gap:0 !important;
  }
  .bl-article    { flex:none !important;width:100% !important }
  .bl-art-h1     { font-size:1.4rem }
}
@media (max-width:560px) {
  .bl-grid       { grid-template-columns:1fr }
  .bl-art-h1     { font-size:1.2rem }
  .bl-intro-h2   { font-size:1.45rem }
}

/* ── CTA na końcu artykułu: „Zobacz, jak rozwiązuje to LekcjeRazem" ── */
.bl-art-cta {
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:2.5rem;padding:1.15rem 1.4rem;text-decoration:none;
  background:linear-gradient(135deg,#fff1ec 0%,#fff8f5 100%);
  border:1.5px solid #fbc8b4;border-radius:14px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.bl-art-cta:hover { border-color:#e8440f;box-shadow:0 10px 30px rgba(232,68,15,.14);transform:translateY(-2px) }
.bl-art-cta-body  { display:flex;flex-direction:column;gap:.15rem;min-width:0 }
.bl-art-cta-lbl   { font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#e8440f }
.bl-art-cta-t     { font-size:1.05rem;font-weight:800;color:#0d0d0d;line-height:1.3 }
.bl-art-cta-sub   { font-size:.86rem;color:#6b7280 }
.bl-art-cta-arr   { flex-shrink:0;font-size:1.3rem;font-weight:800;color:#e8440f;transition:transform .2s }
.bl-art-cta:hover .bl-art-cta-arr { transform:translateX(4px) }
@media (max-width:560px) {
  .bl-art-cta     { flex-direction:column;align-items:flex-start;gap:.6rem }
  .bl-art-cta-arr { align-self:flex-end;margin-top:-1.5rem }
}
