/* Listing: column and gap controls belong to the block, not to a global page rule. */
.wp-block-supercrear-projects .sc-project-grid {
	display: grid;
	grid-template-columns: repeat(var(--sc-columns-desktop, 2), minmax(0, 1fr));
	gap: var(--sc-gap, 32px);
}
.wp-block-supercrear-projects .sc-project-card:nth-child(n) { grid-column: auto; }
.wp-block-supercrear-projects .sc-project-card:nth-child(n) .sc-project-card__media { aspect-ratio: 4 / 3; }
.wp-block-supercrear-projects .sc-project-listing--carousel .sc-project-grid {
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--sc-columns-desktop, 2) - 1) * var(--sc-gap, 32px)) / var(--sc-columns-desktop, 2));
	grid-template-columns: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
	padding-bottom: 12px;
}
.wp-block-supercrear-projects .sc-project-listing--carousel .sc-project-card { scroll-snap-align: start; }
.wp-block-supercrear-projects .sc-project-card[hidden] { display: none; }
.sc-filters .sc-filter-link {
	display: inline-flex; align-items: center; min-height: 48px; padding: 10px 20px;
	border: 1px solid currentColor; border-radius: 999px; color: var(--ast-global-color-2);
	font-size: 16px; text-decoration: none;
}
.sc-filters .sc-filter-link[aria-current="page"] { background: var(--ast-global-color-2); color: var(--ast-global-color-5); }
.sc-filter-link:focus-visible, .sc-project-pagination a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.sc-project-pagination { margin-top: 40px; }
.sc-project-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sc-project-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid currentColor; border-radius: 999px; }
.sc-project-pagination .current { background: var(--ast-global-color-2); color: var(--ast-global-color-5); }

/* ACF components: only structure and media treatment live here. */
.wp-block-supercrear-project-hero { padding-block: 1.5rem 1rem; }
.wp-block-supercrear-project-hero h1 { margin-block: 0 24px; }
.wp-block-supercrear-project-hero .sc-lede { max-width: 65ch; }
.wp-block-supercrear-project-hero .sc-project-cover { width: 100%; max-height: 720px; object-fit: cover; border-radius: var(--sc-radius-media, 1.5rem); }
.wp-block-supercrear-project-facts.sc-project-facts { grid-template-columns: repeat(var(--sc-facts-desktop, 5), minmax(0, 1fr)); }
.wp-block-supercrear-project-facts dd a,
.wp-block-supercrear-project-facts dd a:is(:hover, :focus-visible) { color: inherit; text-decoration: none; }
.wp-block-supercrear-project-gallery .sc-project-gallery {
	display: grid;
	grid-template-columns: repeat(var(--sc-gallery-desktop, 2), minmax(0, 1fr));
	gap: var(--sc-gallery-gap, 32px);
}
.wp-block-supercrear-project-gallery .sc-project-gallery figure { margin: 0; }
.wp-block-supercrear-project-gallery .sc-project-gallery img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--sc-radius-media, 1.5rem); }
@media (max-width: 1024px) {
	.wp-block-supercrear-projects .sc-project-grid { grid-template-columns: repeat(var(--sc-columns-tablet, 2), minmax(0, 1fr)); }
	.wp-block-supercrear-projects .sc-project-listing--carousel .sc-project-grid {
		grid-template-columns: none;
		grid-auto-columns: calc((100% - (var(--sc-columns-tablet, 2) - 1) * var(--sc-gap, 32px)) / var(--sc-columns-tablet, 2));
	}
}
@media (max-width: 767px) {
	.wp-block-supercrear-projects .sc-project-grid { grid-template-columns: repeat(var(--sc-columns-mobile, 1), minmax(0, 1fr)); }
	.wp-block-supercrear-projects .sc-project-listing--carousel .sc-project-grid {
		grid-template-columns: none;
		grid-auto-columns: calc((100% - (var(--sc-columns-mobile, 1) - 1) * var(--sc-gap, 32px)) / var(--sc-columns-mobile, 1));
	}
	.wp-block-supercrear-project-facts.sc-project-facts { grid-template-columns: repeat(var(--sc-facts-mobile, 2), minmax(0, 1fr)); }
	.wp-block-supercrear-project-gallery .sc-project-gallery { grid-template-columns: repeat(var(--sc-gallery-mobile, 1), minmax(0, 1fr)); }
}
