.rp-photos-block { margin-bottom: 2em; }

/* Visually hidden but still available to screen readers */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rp-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
}
.rp-filter-field { display: flex; flex-direction: column; }
.rp-filter-label { font-size: 0.85em; font-weight: 600; margin-bottom: 0.3em; }
.rp-filter-select {
	padding: 0.5em 0.75em;
	border: 1px solid #ccc;
	border-radius: 6px;
	min-width: 150px;
	font-size: 0.95em;
}
.rp-filter-select:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
}

.rp-photo-grid-wrap { position: relative; min-height: 4em; }
.rp-photo-grid-wrap.rp-loading { opacity: 0.5; }

.rp-photo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5em;
}
.rp-photo-link {
	display: block;
	border-radius: 6px;
}
.rp-photo-link:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 2px;
}
.rp-photo img { width: 100%; height: auto; border-radius: 6px; display: block; }
.rp-photo figcaption { margin-top: 0.5em; }
.rp-photo-title { display: block; font-weight: 600; }
.rp-photo-meta { display: block; font-size: 0.85em; color: #595959; margin-top: 0.15em; }
.rp-no-results { font-style: italic; }
.rp-error { color: #a00; font-weight: 600; }

.rp-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	margin-top: 2em;
}
.rp-page-btn {
	padding: 0.5em 1.1em;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	font-size: 0.95em;
}
.rp-page-btn:hover:not(:disabled) { background: #f5f5f5; }
.rp-page-btn:disabled { opacity: 0.4; cursor: default; }
.rp-page-btn:focus-visible {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
}
.rp-page-status { font-size: 0.9em; color: #595959; }

@media (prefers-reduced-motion: no-preference) {
	.rp-photo-grid-wrap { transition: opacity 0.15s ease; }
}
