/* Publisher Blog — Studnie Warszawa (Gotowa Studnia) */

:root {
  --accent: #667eea;
  --accent-hover: #764ba2;
  --navy: #1e3c72;
  --text: #333;
  --muted: #4a5568;
  --muted-2: #64748b;
  --bg: #fff;
  --border: #e9ecef;
  --surface-2: #f4f7fb;
  --link: #2a5298;
  --link-hover: #1e3c72;
  --max: 1200px;
  --radius: 15px;
  --radius-sm: 10px;
  --shadow-sm: 0 4px 15px rgba(30, 60, 114, 0.08);
  --shadow: 0 8px 25px rgba(30, 60, 114, 0.12);
}

publisher-blog {
  display: block;
}

/* Sticky footer na stronie bloga */
body.blog-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.blog-page__main {
  flex: 1 0 auto;
  min-height: 50vh;
  padding-bottom: 2rem;
}

.blog-page .publisher-blog__section {
  padding-top: 48px;
}

.publisher-blog__section {
  padding: 32px 0 56px;
  background: transparent;
  border: 0;
}

.publisher-blog__section.section--subtle {
  background: transparent;
}

.publisher-blog__container {
  width: min(var(--max, 1200px), calc(100% - 40px));
  margin-inline: auto;
}

.publisher-blog__head h2 {
  color: var(--navy, #1e3c72);
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.publisher-blog__head p,
.publisher-blog__card p,
.publisher-blog__loading,
.publisher-blog__empty {
  color: var(--muted, #4a5568);
}

/* Karty — bez podkreśleń, hover = obwódka w kolorze strony */
publisher-blog a.publisher-blog__card,
publisher-blog a.publisher-blog__card h3,
publisher-blog a.publisher-blog__card p,
publisher-blog a.publisher-blog__card .publisher-blog__meta {
  text-decoration: none !important;
}

.publisher-blog__card {
  background: var(--bg, #fff);
  border: 1px solid var(--border, #e9ecef);
  border-radius: var(--radius, 15px);
  box-shadow: var(--shadow-sm, 0 4px 15px rgba(30, 60, 114, 0.08));
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  overflow: hidden;
}

publisher-blog a.publisher-blog__card:hover,
publisher-blog a.publisher-blog__card:focus-visible {
  border-color: var(--accent, #667eea);
  box-shadow: 0 0 0 1px var(--accent, #667eea), var(--shadow-sm, 0 4px 15px rgba(30, 60, 114, 0.08));
  transform: translateY(-4px);
  text-decoration: none !important;
}

.publisher-blog__card h3 {
  color: var(--navy, #1e3c72);
  font-weight: 600;
}

.publisher-blog__thumb-wrap {
  background: var(--surface-2, #f4f7fb);
}

.publisher-blog__thumb-wrap--empty {
  color: var(--muted-2, #64748b);
}

.publisher-blog__meta {
  color: var(--muted-2, #64748b);
  font-size: 0.9rem;
}

publisher-blog a.publisher-blog__btn,
publisher-blog a.publisher-blog__btn:hover,
publisher-blog a.publisher-blog__btn:focus-visible {
  text-decoration: none !important;
}

.publisher-blog__btn {
  border-radius: 50px;
  border: 2px solid var(--border, #e9ecef);
  background: var(--bg, #fff);
  color: var(--text, #333);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.publisher-blog__btn--primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #fff;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.publisher-blog__btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.45);
  filter: none;
}

.publisher-blog__btn--back {
  background: rgba(30, 60, 114, 0.06);
  color: var(--navy, #1e3c72);
  border-color: rgba(30, 60, 114, 0.15);
}

.publisher-blog__btn--back:hover {
  background: rgba(30, 60, 114, 0.1);
  border-color: rgba(30, 60, 114, 0.2);
  box-shadow: var(--shadow-sm, 0 4px 15px rgba(30, 60, 114, 0.08));
}

.publisher-blog__article {
  background: var(--bg, #fff);
  border: 1px solid var(--border, #e9ecef);
  border-radius: var(--radius, 15px);
  box-shadow: var(--shadow, 0 8px 25px rgba(30, 60, 114, 0.12));
  padding: 0.5rem;
}

.publisher-blog__article h1 {
  color: var(--navy, #1e3c72);
  font-weight: 700;
  line-height: 1.3;
}

.publisher-blog__article th,
.publisher-blog__article td {
  border-color: var(--border, #e9ecef);
}

.publisher-blog__content a {
  color: var(--link, #2a5298);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.publisher-blog__content a:hover {
  color: var(--link-hover, #1e3c72);
}

.publisher-blog__error {
  color: #b91c1c;
}

/* Podgląd na stronie głównej — sekcja w stylu reszty strony */
.index-blog-preview publisher-blog .publisher-blog__section {
  padding: 4rem 0;
  background: #f8f9fa;
}

.index-blog-preview publisher-blog .publisher-blog__head h2 {
  text-align: center;
  font-size: 2.5rem;
  color: #2c3e50;
  margin-bottom: 1rem;
}

@media (max-width: 900px) {
  .publisher-blog__grid {
    grid-template-columns: 1fr;
  }

  .publisher-blog__head h2,
  .index-blog-preview publisher-blog .publisher-blog__head h2 {
    font-size: 2rem;
  }
}
