/*
 * Gutenberg compatibility for the local ALEX-117–119 draft templates.
 * Copy into the active theme only through the accompanying reviewed patch.
 *
 * These selectors target native Cover/Gallery output only. Existing imported
 * static portfolio markup retains its current presentation.
 */

/* Native Cover uses a background layer and an inner container, unlike the
 * imported .portfolio-card > img structure. Keep the same crop, image fade,
 * gradient, and bottom-aligned card content. */
.portfolio-card-grid > .wp-block-cover.portfolio-card {
	aspect-ratio: 3 / 4 !important;
	min-height: 0;
	padding: 0;
}

.portfolio-card-grid--2col > .wp-block-cover.portfolio-card {
	aspect-ratio: 4 / 3 !important;
}

.portfolio-card-grid > .wp-block-cover.portfolio-card > .wp-block-cover__image-background,
.portfolio-card-grid > .wp-block-cover.portfolio-card > video.wp-block-cover__video-background {
	opacity: .65;
	transition: opacity .4s ease, transform 6s ease;
}

.portfolio-card-grid > .wp-block-cover.portfolio-card:hover > .wp-block-cover__image-background,
.portfolio-card-grid > .wp-block-cover.portfolio-card:hover > video.wp-block-cover__video-background {
	opacity: .78;
	transform: scale(1.04);
}

.portfolio-card-grid > .wp-block-cover.portfolio-card > .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	align-self: auto;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	z-index: 2;
}

.portfolio-card-grid > .wp-block-cover.portfolio-card .portfolio-card-body {
	position: relative;
	inset: auto;
	flex: 1;
}

.portfolio-card-grid > .wp-block-cover.portfolio-card .portfolio-card-title,
.portfolio-card-grid > .wp-block-cover.portfolio-card .portfolio-card-title a {
	color: var(--cream, #f6f6f6);
}

.portfolio-card-grid > .wp-block-cover.portfolio-card .portfolio-card-arrow .wp-block-button__link {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.portfolio-card-grid > .wp-block-cover.portfolio-card .portfolio-card-arrow .wp-block-button__link:focus-visible {
	outline: 2px solid var(--gold-bright, #d4b07a);
	outline-offset: 4px;
}

/* Gallery's native child figures start as flex items. The masonry initializer
 * operates on those direct children, so they must be ordinary grid items. */
figure.wp-block-gallery.has-nested-images.portfolio-cluster-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1px;
	column-gap: 8px;
	row-gap: 0;
	align-items: start;
}

figure.wp-block-gallery.has-nested-images.portfolio-cluster-grid > figure.wp-block-image {
	display: block;
	flex: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0;
}

figure.wp-block-gallery.has-nested-images.portfolio-cluster-grid > figure.wp-block-image > img {
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
}

@media (max-width: 767px) {
	figure.wp-block-gallery.has-nested-images.portfolio-cluster-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
