@charset "UTF-8";
body {
  margin-top: 30px; /* match your navbar height */
}

/* Uniform photo grid thumbnails */
.photo-card-thumb {
  display: block;
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--bs-secondary-bg, #e9ecef);
}

.photo-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.photo-card-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Container to hide overflow */
.marquee {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
  padding: 10px 0;
  font-size: 16px;
}

/* Inner content that scrolls */
.marquee-content {
  display: inline-block;
  padding-left: 100%; /* Start off-screen */
  animation: marquee 85s linear infinite;
}

/* Duplicate text for seamless loop */
.marquee-content span {
  padding-right: 2rem; /* Gap between repeats */
}

.marquee-content:hover {
  animation-play-state: paused; /* Stops movement on hover */
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* Journal post quotes */
.journal-entry blockquote,
.journal-entry .blockquote,
blockquote.blockquote,
blockquote {
  margin: 15px 30px 15px 20px;
  padding: 0.75rem 1rem;
  border-left: 4px solid #ced4da;
  background: #f8f9fa;
  color: inherit;
  font-size: 1rem; /* undo Bootstrap’s 1.25rem if you want */
}

.journal-entry blockquote p:last-child,
.journal-entry .blockquote > :last-child {
  margin-bottom: 0;
}
