/* One thumbnail format for both legacy and current WordPress galleries. */
.mesco-site main .wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}
.mesco-site main .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	display: block;
	width: 100%;
	max-width: none;
	min-height: 0;
	margin: 0;
	border: 0;
	border-radius: 6px;
	background: none;
	aspect-ratio: auto;
	overflow: hidden;
}
.mesco-site main .wp-block-gallery.has-nested-images figure.wp-block-image > a,
.mesco-site main .wp-block-gallery.has-nested-images .mesco-gallery-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: #eaf4ff;
	cursor: zoom-in;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.mesco-site main .wp-block-gallery.has-nested-images figure.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.mesco-site main .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static;
	box-sizing: border-box;
	width: 100%;
	max-height: none;
	padding: 10px 0 0;
	margin: 0;
	background: none;
	color: #536579;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
}
.mesco-gallery-trigger:focus-visible, .mesco-lightbox button:focus-visible {
	outline: 3px solid #1976d2;
	outline-offset: 3px;
}
body.mesco-lightbox-open { overflow: hidden; }
.mesco-lightbox {
	box-sizing: border-box;
	width: min(1100px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100dvh - 32px);
	padding: 16px;
	border: 0;
	border-radius: 10px;
	background: #071b35;
	color: #fff;
}
.mesco-lightbox::backdrop { background: rgb(0 0 0 / 85%); }
.mesco-lightbox__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.mesco-lightbox button { min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid #b7d1eb; border-radius: 5px; background: #fff; color: #12346b; font: inherit; cursor: pointer; }
.mesco-lightbox__image { display: block; width: 100%; height: min(65dvh, 760px); object-fit: contain; }
.mesco-lightbox__caption { margin: 12px 0; color: #fff; font-size: 15px; line-height: 1.5; }
.mesco-lightbox__navigation { display: flex; justify-content: space-between; gap: 12px; }
@media (max-width: 1000px) {
	.mesco-site main .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.project-detail-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
}
@media (max-width: 767px) {
	.project-detail-layout { grid-template-columns: minmax(0, 1fr); }
	.mesco-site main .wp-block-gallery.has-nested-images { gap: 12px; }
	.mesco-lightbox { padding: 12px; }
	.mesco-lightbox__image { height: 58dvh; }
}
@media (max-width: 360px) {
	.mesco-site main .wp-block-gallery.has-nested-images { grid-template-columns: minmax(0, 1fr); }
}
