p {
	margin: 0 0 1rem 0;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.75rem 0;
	/* line-height: 1.25; */
}

h1 {
	font-size: clamp(1.3rem, 2vw, 2rem);
}

.image-block {
  display: flex;
  justify-content: center;
  margin: 0.75rem 0;
}

.image-block picture {
  max-width: 600px; /* optional */
  width: 100%;
}


.post-description {
  font-size: 1.25rem;
  color: var(--muted);
  line-height: 1;
	padding-top: 6px;
}

iframe {
	border: none;
	width: 100%;
	height: 315px;
}

/* Root container */
.gallery {
  margin: 0.75rem 0;
}

/* Reset default list styles */
.gallery__grid {
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

/* Responsive column layout */
@media (min-width: 48em) {
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 75em) {
  .gallery__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Individual item */
.gallery__item {
  display: flex;
  flex-direction: column;
}

/* Clickable image wrapper */
.gallery__link {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background-color: #f3f4f6;
	aspect-ratio: 4 / 3;
}

/* Ensure the picture wrapper fills the link tile */
.gallery__link picture {
  display: block;
  width: 100%;
  height: 100%;
}

/* Ensure images fill container */
.gallery__link img {
  display: block;         /* <— re-enable */
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 200ms ease, opacity 200ms ease;
}

/* Subtle hover interaction */
.gallery__link:hover img,
.gallery__link:focus-visible img {
  transform: scale(1.03);
}

/* Accessibility focus */
.gallery__link:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 2px;
}

/* Caption styling */
.gallery__caption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #4b5563;
}

/* --- HARD override: image-block must not behave like a centered flexbox inside gallery tiles --- */
.gallery__link .image-block {
  display: block;     /* cancel flex */
  width: 100%;
  height: 100%;       /* critical: maintain height chain */
  margin: 0;          /* remove vertical shrink */
}

/* Ensure picture fills the tile */
.gallery__link .image-block picture {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;    /* cancel the 600px cap */
}

/* Ensure img covers */
.gallery__link .image-block img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


/* Container for navigation buttons */
.page-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2rem 0;
}

/* Base button styling */
.nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px; /* fully rounded */
    background-color: #000000;
    color: #ffffff;
    text-decoration: none;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: background-color 0.25s ease, transform 0.1s ease;
}

/* Hover state */
.nav-button:hover {
    /* background-color: #ff7a00; orange */
		background-color: var(--selected-link);
    color: #ffffff;
		text-decoration: none;
}

/* Active (click) feedback */
.nav-button:active {
    transform: scale(0.97);
}

/* Optional: arrow spacing */
.nav-button .arrow {
    margin: 0 0.5rem;
}