/* Progressive controls and native dialog enhancement. */
.pasto-before-after { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 20px; }
.pasto-before-after figure { margin: 0; }
.pasto-before-after figcaption { text-align: center; padding: 8px; }
.video-media { aspect-ratio: 16 / 9; margin: 0 0 30px; background: #111; }
.video-media iframe { display: block; width: 100%; height: 100%; border: 0; }
[data-pasto-lightbox] { display: block; }
[data-pasto-lightbox]:focus-visible { outline: 3px solid #b78425; outline-offset: 4px; }
.portfolio-load-more[hidden] { display: none; }
.portfolio-load-more {
	display: block;
	min-height: 44px;
	margin: 28px auto 0;
	padding: 10px 22px;
	border: 1px solid #b78425;
	border-radius: 2px;
	background: #e5ae47;
	color: #222;
	font: inherit;
	font-weight: 700;
}
.portfolio-load-more:hover { background: #f0c56d; }
.pasto-lightbox {
	width: min(96vw, 1400px);
	max-width: none;
	max-height: 96vh;
	padding: 12px;
	border: 1px solid #777;
	background: #fff;
	color: #222;
}
.pasto-lightbox::backdrop { background: rgb(0 0 0 / 85%); }
.pasto-lightbox-image {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(96vw - 24px);
	max-height: calc(90vh - 76px);
	margin: 0 auto;
	object-fit: contain;
}
.pasto-lightbox-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 12px;
}
.pasto-lightbox-controls button {
	min-width: 44px;
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid #777;
	background: #fff;
	color: #222;
	font: inherit;
}
.pasto-lightbox-controls button:hover { background: #f4e5c4; }
.pasto-lightbox-counter { min-width: 70px; text-align: center; }
@media (max-width: 480px) {
	.pasto-lightbox { padding: 8px; }
	.pasto-lightbox-controls { gap: 5px; }
	.pasto-lightbox-controls button { padding: 6px 9px; }
}
