/* Publisher Blog — Studnia Kaszuby (Bootstrap #007bff / #0d6efd) */

:root {
  --accent: #0d6efd;
  --accent-hover: #0b5ed7;
  --navy: #0a3d7a;
  --text: #212529;
  --muted: #495057;
  --muted-2: #6c757d;
  --bg: #ffffff;
  --surface-2: #f8f9fa;
  --border: #dee2e6;
  --link: #0d6efd;
  --link-hover: #0a58ca;
  --radius: 14px;
  --radius-sm: 10px;
  --max: 1140px;
  --shadow-sm: 0 6px 18px rgba(13, 110, 253, 0.08);
  --shadow: 0 10px 30px rgba(13, 110, 253, 0.12);
}

publisher-blog {
  display: block;
}

.blog-page__main {
  min-height: 50vh;
}

.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, 1140px), calc(100% - 40px));
  margin-inline: auto;
}

.publisher-blog__head h2 {
  color: var(--navy, #0a3d7a);
  text-align: center;
  font-weight: 700;
}

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

/* Karty — bez podkreśleń, hover = obwódka accent */
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, #dee2e6);
  border-radius: var(--radius, 14px);
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

publisher-blog a.publisher-blog__card:hover,
publisher-blog a.publisher-blog__card:focus-visible {
  border-color: var(--accent, #0d6efd);
  box-shadow: 0 0 0 1px var(--accent, #0d6efd), var(--shadow-sm);
  transform: translateY(-2px);
  text-decoration: none !important;
}

.publisher-blog__card h3 {
  color: var(--navy, #0a3d7a);
}

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

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

.publisher-blog__meta {
  color: var(--muted-2, #6c757d);
}

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: var(--radius-sm, 10px);
  border: 1px solid var(--border, #dee2e6);
  background: var(--bg, #fff);
  color: var(--text, #212529);
  font-weight: 650;
  text-decoration: none;
}

.publisher-blog__btn--primary {
  background: var(--accent, #0d6efd);
  border-color: var(--accent, #0d6efd);
  color: #fff;
}

.publisher-blog__btn--primary:hover {
  background: var(--accent-hover, #0b5ed7);
  border-color: var(--accent-hover, #0b5ed7);
  box-shadow: 0 16px 26px rgba(13, 110, 253, 0.25);
  filter: none;
}

.publisher-blog__btn--back {
  background: rgba(13, 110, 253, 0.08);
  color: var(--navy, #0a3d7a);
  border-color: rgba(13, 110, 253, 0.18);
}

.publisher-blog__btn--back:hover {
  background: rgba(13, 110, 253, 0.12);
  border-color: rgba(13, 110, 253, 0.24);
  box-shadow: var(--shadow-sm);
}

.publisher-blog__article {
  background: var(--bg, #fff);
  border: 1px solid var(--border, #dee2e6);
  border-radius: var(--radius, 14px);
  box-shadow: var(--shadow);
}

.publisher-blog__article h1 {
  color: var(--navy, #0a3d7a);
}

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

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

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

.publisher-blog__error {
  color: #b91c1c;
}

/* Wyjątki od globalnych linków Bootstrap */
.publisher-blog__card,
.publisher-blog__btn {
  text-decoration: none;
}

.publisher-blog__card:hover,
.publisher-blog__btn:hover,
.publisher-blog__card:focus-visible,
.publisher-blog__btn:focus-visible {
  text-decoration: none;
}

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