/* ──────────────────────────────────────────────
 * Infinite Scroll — loader, button, end message
 * ────────────────────────────────────────────── */

/* Wrapper for load-more controls */
.bc-load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4, 1rem);
  padding: var(--space-8, 2rem) 0;
}

/* ── Loader — three bouncing dots ── */
.bc-load-more__spinner {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bc-load-more__spinner::before,
.bc-load-more__spinner::after,
.bc-load-more__spinner span {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gold-300, #fcd34d);
  animation: bc-bounce 1.4s ease-in-out infinite both;
}
.bc-load-more__spinner::before {
  animation-delay: -0.32s;
}
.bc-load-more__spinner span {
  animation-delay: -0.16s;
}

@keyframes bc-bounce {
  0%, 80%, 100% {
    transform: scale(0.4);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Loading text under dots */
.bc-load-more__spinner-label {
  font-family: var(--font-mono, monospace);
  font-size: var(--text-xs, 0.75rem);
  color: var(--text-tertiary, rgba(255 255 255 / 0.4));
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 0.5rem;
}

/* ── Load More button ── */
.bc-load-more__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  font-family: var(--font-sans, inherit);
  font-size: var(--text-sm, 0.875rem);
  font-weight: 600;
  letter-spacing: var(--tracking-wide, 0.025em);
  color: var(--navy-950, #0a0e1a);
  background: var(--gold-300, #fcd34d);
  border: none;
  border-radius: var(--radius-pill, 9999px);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

.bc-load-more__btn:hover {
  background: var(--gold-200, #fde68a);
  transform: translateY(-1px);
}

.bc-load-more__btn:active {
  transform: translateY(0);
}

.bc-load-more__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

/* ── End-of-feed message ── */
.bc-load-more__end {
  font-family: var(--font-mono, monospace);
  font-size: var(--text-sm, 0.875rem);
  color: var(--text-tertiary, rgba(255 255 255 / 0.4));
  letter-spacing: var(--tracking-wide, 0.025em);
  text-align: center;
  padding: var(--space-4, 1rem) 0;
}

/* ── Keep reading feed (single post) ── */
.bc-single-feed {
  border-top: 1px solid var(--border-subtle, rgba(255 255 255 / 0.08));
  padding-top: var(--space-8, 2rem);
}
.bc-single-feed__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--fw-extrabold, 800);
  letter-spacing: var(--tracking-tight, -0.02em);
  text-align: center;
  margin-bottom: var(--space-8, 2rem);
  color: var(--text-primary);
}
.bc-single-feed__layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}
.bc-single-feed__sidebar {
  position: relative;
}
.bc-single-feed__sidebar-inner {
  position: sticky;
  top: calc(var(--header-height, 64px) + 1rem);
}

@media (max-width: 900px) {
  .bc-single-feed__layout {
    grid-template-columns: 1fr;
  }
  .bc-single-feed__sidebar {
    display: none;
  }
}

/* ── Blog feed + sidebar layout (index.php / archive.php) ── */
.bc-blog-feed-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}
.bc-blog-feed-layout__sidebar {
  position: relative;
}
.bc-blog-feed-layout__sidebar-inner {
  position: sticky;
  top: calc(var(--header-height, 64px) + 1rem);
}

@media (max-width: 900px) {
  .bc-blog-feed-layout {
    grid-template-columns: 1fr;
  }
  .bc-blog-feed-layout__sidebar {
    display: none;
  }
}

/* ── Sentinel (invisible trigger) ── */
.bc-load-more__sentinel {
  width: 100%;
  height: 1px;
  pointer-events: none;
}
