/*
Theme Name: NeikoDDA
Template: neiko
Description: Neiko Digital Design Attitude - 2026
Version: 1.0
License: GNU General Public License v2 or later
*/

:root {
	scrollbar-color: var(--dda-500) transparent;

	--accent: var(--dda-500);

	/* COLOR HEADER NEIKO DDA */
	--header-color: var(--text-light);

	/* BACKGROUND HEADER SCROLLATO NEIKO DDA */
	--header-background-color-scrolled: var(--dda-500);

	/* SOVRASCRITTURA COLORI INPUT NEIKO DDA */
	--input-default: var(--mono-800);
	--input-hover: var(--mono-600);
	--input-focus: var(--mono-300);
}

#hero {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;

	&.menu-spacing {
		padding-top: calc(var(--header-height) + var(--30));
	}

	&.overlay {
		position: relative;
		&::after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.1);
			background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%);
			z-index: 0;
		}
	}

	#hero-visual-content {
		position: sticky;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		padding: clamp(0.625rem, 1.302vw, 1.563rem);
		overflow: hidden;
		z-index: -1;

		& img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
			border-radius: var(--radius-small);
		}

		& .video-wrapper {
			position: relative;
			overflow: hidden;
			border-radius: var(--radius-small);
			width: 100%;
			height: 100%;

			& video {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				display: block;
			}

			&::after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				background: var(--accent);
				mix-blend-mode: multiply;
			}
		}
	}

	.background-video-wrapper {
		position: fixed;
		top: 0;
		left: 0;
		overflow: hidden;
		width: 100%;
		height: 100%;

		&::after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: var(--accent);
			mix-blend-mode: multiply;
		}

		#background-hero-video,
		#background-hero-image {
			width: 100%;
			height: 100svh;
			object-fit: cover;
			object-position: center;
			z-index: 0;
			border-radius: 0;
		}
	}

	#text-hero {
		padding-top: calc(var(--header-height) + (var(--30) * 2));
		padding-bottom: var(--80);
		width: 100%;
		height: 100vh;
		margin-top: -100vh;
	}

	#showreel-video-container {
		position: relative;
		padding: 0 var(--external-padding);

		&.fullpage {
			padding: 0;
			width: 100%;
			height: 100svh;

			&::after {
				content: "";
				position: absolute;
				inset: 0;
				background: linear-gradient(var(--background-dark), transparent, var(--background-dark));
				opacity: 0.5;
			}
		}

		#showreel-video,
		#showreel-image {
			width: 100%;
			height: 100%;
			object-fit: cover;
			object-position: center;
			border-radius: var(--radius-x-small);
		}

		#content {
			position: absolute;
			bottom: 0;
			right: var(--external-padding);
			left: 50%;
			padding: 0 var(--external-padding) var(--80) calc(var(--40) / 2);

			@media (max-width: 991.98px) {
				position: relative;
				bottom: auto;
				right: auto;
				left: auto;
				padding: 0;
				margin-top: var(--80);
			}
		}
	}
}

/* ============================================
   FEATURES SECTION
   ============================================ */

.features-scroll-container {
    position: relative;

    /* ── VIDEO ── */
    .features-video-sticky {
        position: sticky;
        top: 0;
        height: 100vh;
        padding-top: calc(var(--header-height-scrolled) + var(--external-padding));
        padding-bottom: var(--external-padding);
        z-index: 1;

        #features-video-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: var(--border-radius, 12px);
            overflow: hidden;

            .feature-video {
                position: absolute;
                inset: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0;
                transition: opacity 0.6s ease;
                pointer-events: none;

                &.is-active {
                    opacity: 1;
                }
            }
        }

        /* Indicatore progressione */
        .features-progress {
            position: absolute;
            bottom: calc(var(--external-padding) + 12px);
            left: 50%;
            transform: translateX(-50%);
            align-items: baseline;
            gap: 6px;
            font-size: 0.8rem;
            letter-spacing: 0.05em;
            opacity: 0.6;

            .features-progress-current {
                font-size: 1.2rem;
                font-weight: 700;
                transition: opacity 0.3s ease;
            }
        }
    }

    /* ── DESKTOP: single sticky ── */
    .features-single-sticky {
        position: sticky;
        top: 0;
        height: 100vh;
        padding-top: calc(var(--header-height-scrolled) + var(--external-padding));
        padding-bottom: var(--external-padding);
        align-items: center;

        .features-single-wrapper {
            display: grid;
            width: 100%;

            /* Tutte le card occupano la stessa cella: si sovrappongono */
            .feature-single-item {
                grid-area: 1 / 1;
                opacity: 0;
                pointer-events: none;
                will-change: transform, opacity;

                /* Stato attivo */
                &.is-active {
                    opacity: 1;
                    pointer-events: auto;
                }

                .section-title {
                    display: block;
                    margin-bottom: var(--20);
                }

                h3 {
                    margin-bottom: var(--20);
                }

                .icon-wrapper {
                    margin-top: var(--40);
                }
            }
        }
    }

    /* ── MOBILE: accordion ── */
    .features-accordion {
        padding-block: var(--external-padding);
        display: flex;
        flex-direction: column;
        gap: var(--20);

        .feature-accordion-item {
            overflow: hidden;
        }

        .feature-accordion-trigger {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            width: 100%;
            background: none;
            border: none;
			padding: 0;
            cursor: pointer;
            text-align: left;
			color: var(--text-color);

            .feature-accordion-header {
                display: flex;
                align-items: center;
                gap: 16px;
            }

            /* Icona +/× */
            .accordion-icon {
                flex-shrink: 0;
                width: 28px;
                height: 28px;
                border-radius: 50%;
                border: 1.5px solid currentColor;
                position: relative;
                transition: transform 0.35s ease;
				display: none;

                &::before,
                &::after {
                    content: '';
                    position: absolute;
                    inset: 0;
                    margin: auto;
                    background: currentColor;
                    transition: transform 0.35s ease, opacity 0.35s ease;
                }
                &::before { width: 12px; height: 1.5px; }
                &::after  { width: 1.5px; height: 12px; }
            }

            &[aria-expanded="true"] .accordion-icon {
                &::after {
                    transform: scaleY(0);
                    opacity: 0;
                }
            }
        }

        /* Animazione apertura con grid-template-rows */
        .feature-accordion-content {
			display: grid;
			grid-template-rows: 0fr;
			transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);

			&.is-open {
				grid-template-rows: 1fr;
			}

			.feature-accordion-inner {
				overflow: hidden;
				padding: 0;
				transition: margin-top 0.4s cubic-bezier(0.4, 0, 0.2, 1);

				.feature-accordion-content.is-open & {
					margin-top: var(--40);
				}
			}
		}
    }
}

/* ── Desktop: altezza scroll container ── */
@media (min-width: 992px) {
    .features-scroll-container {
        /* sovrascritta da JS in base al numero di feature */
        min-height: 400vh;
    }
}

/* ── Mobile: video statico ── */
@media (max-width: 991px) {
    .features-scroll-container {
        .features-video-sticky {
            position: relative;
            top: auto;
            height: clamp(200px, 60vw, 380px);
            padding-top: 0;
            padding-bottom: var(--24, 24px);
        }
    }
}

/* Single progetto: schede editoriali a scorrimento orizzontale */
.project-horizontal-cards {
	position: relative;

	.project-horizontal-cards__viewport {
		position: relative;
		overflow: hidden;
		min-height: 100svh;
	}

	.project-horizontal-cards__track {
		display: flex;
		align-items: center;
		gap: var(--40);
		width: max-content;
		min-height: 100svh;
		padding: calc(var(--header-height-scrolled) + var(--external-padding)) var(--external-padding) var(--external-padding);
	}

	.project-horizontal-cards__card {
		position: relative;
		isolation: isolate;
		flex: 0 0 clamp(20rem, 33.333vw, 40rem);
		height: min(calc(100svh - var(--header-height-scrolled) - (var(--external-padding) * 2)), 57.5rem);
		overflow: hidden;
		color: var(--text-light);

		&.no-height {
			height: unset;
			aspect-ratio: 2 / 1;
		}
	}

	.project-horizontal-cards__media {
		position: absolute;
		inset: 0;
		z-index: -2;

		&::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient(180deg, rgba(0, 0, 0, 0.48), rgba(0, 0, 0, 0.06) 45%, rgba(0, 0, 0, 0.7));
			z-index: 1;
		}
	}

	.project-horizontal-cards__image,
	.project-horizontal-cards__video {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.project-horizontal-cards__content {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 100%;
		height: 100%;
		gap: var(--40);
	}

	.project-horizontal-cards__text {
		max-width: 32rem;

		p:last-child {
			margin-bottom: 0;
		}
	}

}

@media (min-width: 992px) {
	.project-horizontal-cards .project-horizontal-cards__viewport {
		position: sticky;
		top: 0;
	}

	.project-horizontal-cards[data-scroll-mode="in_ingresso"] .project-horizontal-cards__track {
		padding-left: 50vw;
	}
}

@media (max-width: 991.98px) {
	.project-horizontal-cards {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;

		.project-horizontal-cards__viewport {
			max-width: 100%;
			overflow-x: auto;
			overflow-y: hidden;
			scrollbar-width: none;
			scroll-snap-type: x mandatory;
			scroll-padding-inline: var(--external-padding);
			-webkit-overflow-scrolling: touch;
			min-height: unset;
		}

		.project-horizontal-cards__track {
			min-height: 0;
			padding: 0 var(--external-padding);
		}

		.project-horizontal-cards__card {
			/* flex-basis: calc(100vw - (var(--external-padding) * 2)); */
			height: min(125vw, 43.75rem);
			scroll-snap-align: start;
		}
	}
}

/* Single progetto: immagini sovrapposte con parallasse */
.project-overlapping-images {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--40);
	align-items: center;

	.project-overlapping-images__main,
	.project-overlapping-images__overlay {
		grid-row: 1;
	}

	.project-overlapping-images__main-image,
	.project-overlapping-images__overlay-image {
		display: block;
		width: 100%;
		height: auto;
	}

	.project-overlapping-images__overlay {
		position: relative;
		z-index: 1;
		align-self: center;
		box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.3);
		will-change: transform;
	}

	&.is-effect-glow .project-overlapping-images__overlay {
		box-shadow: 0 0 0.45rem color-mix(in srgb, var(--mono-100) 42%, transparent), 0 0 3rem color-mix(in srgb, var(--mono-100) 12%, transparent);
	}

	&.is-effect-none .project-overlapping-images__overlay {
		box-shadow: none;
	}

	&.is-align-left {
		.project-overlapping-images__main {
			grid-column: 1 / span 11;
		}

		.project-overlapping-images__overlay {
			grid-column: 11 / span 2;
			left: calc(var(--40) / -2);
		}
	}

	&.is-align-right {
		.project-overlapping-images__main {
			grid-column: 2 / span 11;
		}

		.project-overlapping-images__overlay {
			grid-column: 1 / span 2;
			left: calc(var(--40) / 2);
		}
	}

	&.is-composition-10-4 {
		&.is-align-left {
			.project-overlapping-images__main {
				grid-column: 1 / span 10;
			}

			.project-overlapping-images__overlay {
				grid-column: 9 / span 4;
				left: calc(var(--40) / -2);
			}
		}

		&.is-align-right {
			.project-overlapping-images__main {
				grid-column: 3 / span 10;
			}

			.project-overlapping-images__overlay {
				grid-column: 1 / span 4;
				left: calc(var(--40) / 2);
			}
		}
	}

	&.is-composition-9-6 {
		&.is-align-left {
			.project-overlapping-images__main {
				grid-column: 1 / span 9;
			}

			.project-overlapping-images__overlay {
				grid-column: 6 / span 6;
				left: calc(var(--40) / -2);
			}
		}

		&.is-align-right {
			.project-overlapping-images__main {
				grid-column: 4 / span 9;
			}

			.project-overlapping-images__overlay {
				grid-column: 1 / span 6;
				left: calc(var(--40) / 2);
			}
		}
	}
}

@media (max-width: 991.98px) {
	.project-overlapping-images {
		display: block;
		padding-bottom: var(--project-overlay-reserve, 8rem);

		.project-overlapping-images__main {
			width: 100%;
		}

		.project-overlapping-images__overlay {
			position: absolute;
			bottom: var(--project-overlay-reserve, 8rem);
			left: auto;
			right: auto;
			width: 32%;
			transform: translateY(50%);
			will-change: auto;
		}

		&.is-composition-10-4 .project-overlapping-images__overlay {
			width: 48%;
		}

		&.is-align-left .project-overlapping-images__overlay {
			right: 0;
		}

		&.is-align-right .project-overlapping-images__overlay {
			left: 0;
		}
	}
}

/* Single progetto: galleria 3D a scorrimento */
.project-3d-gallery {
	position: relative;

	.project-3d-gallery__viewport {
		position: sticky;
		top: 0;
		height: 100svh;
		overflow: hidden;
	}

	.project-3d-gallery__scene {
		position: relative;
		width: 100%;
		height: 100%;
		perspective: 120rem;
		perspective-origin: 50% 50%;
		transform-style: preserve-3d;
		column-gap: var(--40);
	}

	.project-3d-gallery__card {
		position: absolute;
		top: 50%;
		left: 50%;
		width: clamp(16rem, 29vw, 36rem);
		margin: 0;
		transform-style: preserve-3d;
		backface-visibility: hidden;
	}

	.project-3d-gallery__media,
	.project-3d-gallery__mobile-media {
		overflow: hidden;
		border-radius: var(--radius-small);
		box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.28);
	}

	.project-3d-gallery__image,
	.project-3d-gallery__mobile-image {
		display: block;
		width: 100%;
		height: auto;
	}

	&[data-gallery-ratio="1-1"],
	&[data-gallery-ratio="3-4"],
	&[data-gallery-ratio="6-9"] {
		.project-3d-gallery__media,
		.project-3d-gallery__mobile-media {
			aspect-ratio: 1 / 1;
		}

		.project-3d-gallery__image,
		.project-3d-gallery__mobile-image {
			height: 100%;
			object-fit: cover;
		}
	}

	&[data-gallery-ratio="3-4"] {
		.project-3d-gallery__media,
		.project-3d-gallery__mobile-media {
			aspect-ratio: 3 / 4;
		}
	}

	&[data-gallery-ratio="6-9"] {
		.project-3d-gallery__media,
		.project-3d-gallery__mobile-media {
			aspect-ratio: 2 / 3;
		}
	}

	.project-3d-gallery__swiper {
		display: none;
	}
}

@media (max-width: 991.98px) {
	.project-3d-gallery {
		.project-3d-gallery__viewport {
			display: none;
		}

		.project-3d-gallery__swiper {
			display: block;
			overflow: hidden;
			padding: 0 var(--external-padding);
			margin-bottom: var(--100);
		}

		.swiper-slide {
			width: min(78vw, 28rem);
		}
	}
}

/* Single progetto: immagine con dati */
.is-bleed-image-ending {
	padding-bottom: 0 !important;
}

.project-image-data {
	position: relative;
	color: inherit;

	.project-image-data__media {
		position: relative;
		overflow: hidden;
		border-radius: var(--radius-small);
	}

	.project-image-data__image,
	.project-image-data__video {
		display: block;
		width: 100%;
		height: auto;
	}

	.project-image-data__metrics {
		display: flex;
		justify-content: center;
		gap: var(--40);
		margin: 0;
	}

	.project-image-data__metric {
		flex: 0 1 calc((100% - (var(--40) * 4)) / 5);
		text-align: center;

		dt {
			line-height: 1;
		}

		dd {
			display: inline-block;
			margin-top: var(--10);
			padding: var(--10) var(--15);
			border-radius: var(--40);
			font-family: var(--font-mono);
			text-transform: uppercase;
			font-size: 0.75rem;
			border: 1px solid currentcolor;
		}
	}

	&.is-data-inside {
		.project-image-data__media::after {
			content: "";
			position: absolute;
			inset: 35% 0 0;
			background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.62));
			pointer-events: none;
		}

		.project-image-data__metrics {
			position: absolute;
			z-index: 1;
			bottom: var(--160);
			left: var(--200);
			right: var(--200);
			color: var(--text-light);
		}
	}

	&.is-data-below .project-image-data__metrics {
		margin-top: var(--160);
	}

	&.is-bleed .project-image-data__media {
		border-radius: 0;
	}
}

@media (max-width: 991.98px) {
	.is-bleed-image-ending {
		/* Su mobile i dati passano sotto l'immagine, quindi serve di nuovo
		 * lo spazio editoriale conclusivo della sezione. */
		padding-bottom: var(--160) !important;
	}

	.project-image-data {
		.project-image-data__metrics {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: var(--40) var(--20);
		}

		.project-image-data__metrics .project-image-data__metric {
			flex: initial;
		}

		&.is-data-inside {
			.project-image-data__media::after {
				display: none;
			}

			.project-image-data__metrics {
				position: static;
				margin: var(--40) 0 0;
				color: inherit;
			}
		}

		&.is-bleed .project-image-data__metrics {
			margin-left: var(--external-padding);
			margin-right: var(--external-padding);
		}
	}
}

@media (max-width: 575.98px) {
	.project-image-data .project-image-data__metrics {
		grid-template-columns: 1fr;
	}
}

/* Single progetto: collage immagini */
.project-image-collage {
	position: relative;

	&.has-top-overlay {
		padding-top: clamp(4rem, 8vw, 11rem);
	}

	&.has-bottom-overlay {
		padding-bottom: clamp(4rem, 8vw, 11rem);
	}

	.project-image-collage__main {
		position: relative;
		z-index: 1;
		width: 83.333%;
		margin: 0 auto;
	}

	.project-image-collage__main-image,
	.project-image-collage__image {
		display: block;
		width: 100%;
		height: auto;
	}

	.project-image-collage__main-image {
		border-radius: var(--radius-small);
	}

	.project-image-collage__item {
		position: absolute;
		z-index: 2;
		overflow: hidden;
		width: clamp(13rem, 27vw, 30rem);
		border-radius: var(--radius-small);
		box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.3);
		will-change: transform, opacity;

		&.is-size-piccola {
			width: clamp(9rem, 18vw, 20rem);
		}

		&.is-size-grande {
			width: clamp(18rem, 35vw, 39rem);
		}

		&.is-effect-glow {
			box-shadow: 0 0 0.45rem color-mix(in srgb, var(--mono-100) 42%, transparent), 0 0 3rem color-mix(in srgb, var(--mono-100) 12%, transparent);
		}

		&.is-effect-none {
			box-shadow: none;
		}

		&.is-slot-left-top {
			left: 0;
			top: 0;
		}

		&.is-slot-left-center {
			left: 0;
			top: 50%;
			transform: translateY(-50%);
		}

		&.is-slot-left-bottom {
			left: 0;
			bottom: 0;
		}

		&.is-slot-right-top {
			right: 0;
			top: 0;
		}

		&.is-slot-right-center {
			right: 0;
			top: 50%;
			transform: translateY(-50%);
		}

		&.is-slot-right-bottom {
			right: 0;
			bottom: 0;
		}
	}
}

@media (max-width: 991.98px) {
	.project-image-collage {
		overflow: hidden;

		&.has-top-overlay {
			padding-top: var(--80);
		}

		&.has-bottom-overlay {
			padding-bottom: var(--80);
		}

		.project-image-collage__main {
			width: 82%;
		}

		.project-image-collage__item,
		.project-image-collage__item.is-size-piccola,
		.project-image-collage__item.is-size-grande {
			position: absolute;
			width: clamp(7.5rem, 34vw, 12rem);
			margin: 0;
		}

		.project-image-collage__item.is-size-piccola {
			width: clamp(6rem, 25vw, 9rem);
		}

		.project-image-collage__item.is-size-grande {
			width: clamp(9rem, 43vw, 15rem);
		}

		.project-image-collage__item.is-slot-left-top,
		.project-image-collage__item.is-slot-left-center,
		.project-image-collage__item.is-slot-left-bottom {
			left: -12%;
		}

		.project-image-collage__item.is-slot-right-top,
		.project-image-collage__item.is-slot-right-center,
		.project-image-collage__item.is-slot-right-bottom {
			right: -12%;
		}
	}
}

/* Single progetto: layout standard */
.project-standard {
	padding-bottom: var(--160);

	.project-standard__hero {
		position: relative;
		width: 100%;
		overflow: hidden;

		&::after {
			content: "";
			position: absolute;
			inset: 0;
			z-index: 1;
			pointer-events: none;
			background: linear-gradient(to bottom, var(--background-dark) 0%, transparent 38%);
			opacity: 0.5;
		}
	}

	.project-standard__hero-media {
		position: relative;
		z-index: 0;
		display: block;
		width: 100%;
		height: auto;
	}

	.project-standard__hero.is-size-viewport {
		height: 100svh;

		.project-standard__hero-media {
			height: 100%;
			object-fit: cover;
			object-position: center;
		}
	}

	.project-standard__heading {
		margin-top: var(--160);
	}

	.project-standard__data {
		margin-top: var(--160);
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
		align-items: start;
	}

	.project-standard__data-item {
		display: inline-flex;
		flex-direction: row;
		padding: var(--10) var(--15);
		gap: var(--10);
		font-family: var(--font-mono);
		color: currentcolor;
		border: 1px solid currentcolor;
		text-transform: uppercase;
		border-radius: var(--100);
		
		dt,
		dd {
			font-weight: 400;
		}
	}

	.project-standard__data-item + .project-standard__data-item {
		margin-top: var(--10);
	}

	.project-standard__gallery-wrapper {
		margin-top: var(--160);
		max-width: 100%;
		overflow: clip;
	}

	.project-standard__gallery {
		--project-masonry-row-height: 1px;
		display: grid;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		grid-template-columns: 1fr;
		gap: var(--40);
	}

	.project-standard__gallery-item {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-width: 0;
		overflow: hidden;
		align-self: start;
	}

	.project-standard__gallery-item img,
	.project-standard__gallery-item video,
	.project-standard__gallery-item iframe {
		display: block;
		width: 100%;
		height: auto;
		border: 0;
	}

	.project-standard__gallery-item.is-embed {
		position: relative;
		aspect-ratio: var(--project-embed-ratio, 1.7777778);
	}

	.project-standard__embed {
		position: absolute;
		inset: 0;
		overflow: hidden;

		> * {
			position: absolute !important;
			inset: 0;
			width: 100% !important;
			height: 100% !important;
			max-width: none !important;
			padding: 0 !important;
			margin: 0 !important;
		}
	}

	.project-standard__embed iframe {
		display: block;
		width: 100% !important;
		height: 100% !important;
		border: 0;
	}
}

@media (min-width: 768px) {
	.project-standard {
		.project-standard__gallery {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			column-gap: var(--40);
			row-gap: var(--40);

			&.is-masonry-ready {
				grid-auto-rows: var(--project-masonry-row-height);
				grid-auto-flow: dense;
				row-gap: 0;

				.project-standard__gallery-item img,
				.project-standard__gallery-item video,
				.project-standard__gallery-item iframe {
					height: 100%;
					object-fit: cover;
				}
			}
		}

		.project-standard__gallery-item.is-full {
			grid-column: 1 / -1;
		}
	}
}

.project-standard__gallery-wrapper.is-bleed .container-fluid {
	padding-right: 0;
	padding-left: 0;
}
