.gallery-post-card { min-width: 0; }
.gallery-post-card__link { color: inherit; text-decoration: none; }
.gallery-post-card figure { height: 100%; }
.gallery-image-placeholder { display: grid; width: 100%; height: 210px; place-items: center; background: #fff6e7; color: var(--saffron); font-size: 42px; }
.gallery-page-hero { padding: 72px 0 62px; background: linear-gradient(135deg, #fff9ec, #fffdf8 60%, #f7ead5); text-align: center; border-bottom: 1px solid #efdbc1; }
.gallery-page-hero h1 { margin-bottom: 12px; font-size: 48px; line-height: 1.15; }
.gallery-page-hero > .shell > p:last-child { max-width: 650px; margin: 0 auto; color: var(--muted); }
.gallery-back-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--saffron); font-weight: 700; text-decoration: none; }
.gallery-note { max-width: 700px; margin: 18px auto 0; color: #514840; font-family: "Playfair Display", Georgia, serif; font-size: 17px; line-height: 1.7; }
.gallery-note p:last-child { margin-bottom: 0; }
.gallery-note--content { margin: 0 auto 38px; text-align: center; }
.gallery-archive-hero { background: linear-gradient(135deg, #4b0b08, #250403); }
.gallery-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.gallery-detail-grid a { display: block; overflow: hidden; border: 1px solid #ead6bd; border-radius: 6px; background: #fff; box-shadow: 0 5px 16px rgba(69,39,0,.08); }
.gallery-detail-grid img { display: block; width: 100%; height: 280px; object-fit: cover; transition: transform .35s ease; }
.gallery-detail-grid a:hover img { transform: scale(1.035); }
.gallery-pagination { margin-top: 42px; text-align: center; }
.gallery-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.gallery-pagination .page-numbers { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--saffron); border-radius: 5px; color: var(--saffron); text-decoration: none; }
.gallery-pagination .current, .gallery-pagination a:hover { background: var(--saffron); color: #fff; }
.gallery-empty-message { text-align: center; color: var(--muted); }
@media (max-width: 820px) {
	.gallery-page-hero h1 { font-size: 40px; }
	.gallery-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
	.gallery-page-hero { padding: 50px 0 44px; }
	.gallery-page-hero h1 { font-size: 34px; }
	.gallery-detail-grid { grid-template-columns: 1fr; gap: 16px; }
	.gallery-detail-grid img { height: 240px; }
}
