/* ═══════════════════════════════════════════════
   Bloki LK – style frontendu
   Działają wewnątrz .bfs-content i .entry-content
   ═══════════════════════════════════════════════ */
.entry-content, .bfs-content {
  --lk-accent: #BD2133;
  --lk-soft: #faf9f7;
  --lk-border: #f0ece8;
  --lk-muted: #888;
}

/* ── Obraz z podpisem ────────────────────────── */
.lk-fig { margin: 28px 0; }
.lk-fig img {
  width: 100%; height: auto; display: block;
  border-radius: 10px;
}
.lk-fig figcaption {
  font-size: 13px; color: var(--lk-muted);
  text-align: center; margin-top: 10px; line-height: 1.5;
}

/* ── Kolumny ─────────────────────────────────── */
.lk-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 28px 0;
  align-items: start;
}
.lk-cols .lk-col > *:first-child { margin-top: 0; }
.lk-cols .lk-col > *:last-child  { margin-bottom: 0; }

/* ── Wideo ───────────────────────────────────── */
.lk-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  margin: 28px 0;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
}
.lk-video iframe,
.lk-video video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
}

/* ── Przycisk ────────────────────────────────── */
.lk-btn-wrap { margin: 28px 0; text-align: center; }
.lk-inline-btn {
  display: inline-block;
  background: var(--lk-accent);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 8px;
  transition: opacity .2s, transform .2s;
}
.lk-inline-btn:hover {
  opacity: .9;
  transform: translateY(-2px);
  color: #fff !important;
}

/* ── Separator ───────────────────────────────── */
.lk-sep {
  border: none;
  height: 1px;
  background: var(--lk-border);
  margin: 40px 0;
}

/* ── Karuzela ────────────────────────────────── */
.lk-carousel {
  position: relative;
  margin: 32px 0;
  border-radius: 10px;
}
.lk-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  border-radius: 10px;
  gap: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.lk-track::-webkit-scrollbar { display: none; }

.lk-slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
}
.lk-slide img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

/* Strzałki */
.lk-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px; height: 42px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.92);
  color: #1a1a1a;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 3px 14px rgba(0,0,0,.2);
  transition: background .2s, transform .2s, opacity .2s;
  z-index: 2;
  padding: 0 0 3px;
}
.lk-nav:hover { background: var(--lk-accent); color: #fff; }
.lk-prev { left: 14px; }
.lk-next { right: 14px; }
.lk-nav[disabled] { opacity: .35; cursor: default; }
.lk-nav[disabled]:hover { background: rgba(255,255,255,.92); color: #1a1a1a; }

/* Kropki */
.lk-dots {
  display: flex; justify-content: center; gap: 7px;
  margin-top: 14px;
}
.lk-dot {
  width: 8px; height: 8px; border-radius: 50%;
  border: none; padding: 0; cursor: pointer;
  background: #d6d0cb;
  transition: background .2s, width .2s;
}
.lk-dot.is-active {
  background: var(--lk-accent);
  width: 22px; border-radius: 10px;
}

.lk-carousel-cap {
  font-size: 13px; color: var(--lk-muted);
  text-align: center; margin: 10px 0 0; line-height: 1.5;
}

/* ── Cytat z autorem ─────────────────────────── */
.entry-content blockquote cite,
.bfs-content blockquote cite {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  color: var(--lk-accent);
}
.entry-content blockquote cite::before,
.bfs-content blockquote cite::before { content: "— "; }

/* ── Responsywność ───────────────────────────── */
@media (max-width: 768px) {
  .lk-cols { grid-template-columns: 1fr; gap: 20px; }
  .lk-nav  { width: 34px; height: 34px; font-size: 21px; }
  .lk-prev { left: 8px; }
  .lk-next { right: 8px; }
  .lk-inline-btn { padding: 12px 24px; font-size: 12px; }
  .lk-video, .lk-carousel, .lk-fig { margin: 22px 0; }
}
