/* ==========================================================================
   Project Materials Gallery (neilkelly/project-materials-gallery)
   Full-width band image + "View all photos" trigger, shown below the Materials
   section. Clone of nk-project-solution-gallery without the 2-up row.
   Token-driven.
   Wrapper: .wp-block-neilkelly-project-materials-gallery.nk-project-materials-gallery
   ========================================================================== */
.wp-block-neilkelly-project-materials-gallery.nk-project-materials-gallery {
	/* Content-width cap, centered, min gutter, white bg (matches sibling sections). */
	padding: var(--wp--preset--spacing--24) max( var(--wp--preset--spacing--gutter), calc( ( 100% - var(--wp--custom--layout--content-width) ) / 2 ) );
	background: var(--wp--preset--color--brand-white);
	font-family: var(--wp--preset--font-family--inter);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

/* Full-width band image. */
.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__band {
	width: 100%;
}
.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__band-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1296 / 557;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg);
}

/* View-all-photos trigger (opens the gallery lightbox). +24px above via margin,
   which adds to the section's 24px flex gap. */
.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	margin: var(--wp--preset--spacing--6) 0 0 0;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--font-weight--semibold);
	line-height: var(--wp--custom--line-height--none);
	color: var(--wp--preset--color--brand-red);
}

.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-red);
	outline-offset: 2px;
}

.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__arrow {
	display: block;
	transition: transform 200ms ease;
}

.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall:hover .nk-project-materials-gallery__arrow,
.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall:focus-visible .nk-project-materials-gallery__arrow {
	transform: translateX(var(--wp--preset--spacing--1));
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__arrow {
		transition: none;
	}
	.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall:hover .nk-project-materials-gallery__arrow,
	.wp-block-neilkelly-project-materials-gallery .nk-project-materials-gallery__viewall:focus-visible .nk-project-materials-gallery__arrow {
		transform: none;
	}
}

/* --- Responsive --- */
@media (max-width: 1023px) {
	.wp-block-neilkelly-project-materials-gallery.nk-project-materials-gallery {
		padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--12);
	}
}

@media (max-width: 767px) {
	.wp-block-neilkelly-project-materials-gallery.nk-project-materials-gallery {
		padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--6);
	}
}

/* No block-gap seam between full-bleed sections. */
.wp-block-neilkelly-project-materials-gallery { margin-block: 0; }

/* Last section in <main> (Related + CTA Close both smart-hid): pull the footer up
   24px to close the seam above it — see the same rule in project-materials. */
.wp-block-neilkelly-project-materials-gallery:last-child {
	margin-bottom: calc(-1 * var(--wp--preset--spacing--6));
}
