/* A shared visual hierarchy for every installation gallery section. */
body.kiddee-page-installation-works #page :is(
	.kiddee-bind-729e08b6,
	.kiddee-bind-c1b884f,
	.kiddee-bind-06ebec3
) {
	--gap: clamp(28px, 3vw, 44px);
	--margin-top: 0;
	--margin-right: 0;
	--margin-bottom: 0;
	--margin-left: 0;
	--padding-top: clamp(40px, 4vw, 56px);
	--padding-right: 0;
	--padding-bottom: clamp(40px, 4vw, 56px);
	--padding-left: 0;
	margin: 0;
	/* Use the responsive rhythm above for the actual Elementor flex gap too. */
	gap: var(--gap) ;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-29d1b0e0,
	.kiddee-bind-eeb7252,
	.kiddee-bind-dc6948c
) {
	--content-width: 860px;
	--gap: 12px;
	width: min(100% - (2 * var(--kv2-gutter)), 860px);
	max-width: 860px;
	margin-inline: auto;
	text-align: center;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-4a04bc34,
	.kiddee-bind-b89c575,
	.kiddee-bind-7b498ba
) {
	--align-self: center;
	width: fit-content;
	align-self: center;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-6be15b81,
	.kiddee-bind-179a748,
	.kiddee-bind-d72b558
) {
	margin: 14px 0 0 ;
	text-align: center;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-6be15b81,
	.kiddee-bind-179a748,
	.kiddee-bind-d72b558
) .elementor-heading-title {
	margin: 0;
	color: var(--kv2-airbnb-ink);
	font-family: var(--font-heading);
	font-size: var(--kv2-type-title-md-size);
	font-weight: var(--kv2-type-title-md-weight);
	line-height: var(--kv2-type-title-md-line);
	letter-spacing: 0;
	text-wrap: balance;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-29d1b0e0,
	.kiddee-bind-eeb7252,
	.kiddee-bind-dc6948c
) > .e-con-inner::after {
	display: block;
	width: 56px;
	height: 4px;
	margin: 6px auto 0;
	border-radius: 999px;
	background: var(--kv2-color-accent-yellow);
	content: "";
}

/* Installation galleries: three equal thumbnails per desktop row. */
body.kiddee-page-installation-works #page :is(
	.kiddee-bind-26fd6e98,
	.kiddee-bind-a36d137,
	.kiddee-bind-0b6e811
) {
	--display: grid;
	--width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container-wide));
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 28px);
	width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container-wide));
	max-width: var(--kv2-container-wide);
	margin-inline: auto;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-26fd6e98,
	.kiddee-bind-a36d137,
	.kiddee-bind-0b6e811
) > .elementor-widget-image {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.kiddee-page-installation-works #page :is(
	.kiddee-bind-26fd6e98,
	.kiddee-bind-a36d137,
	.kiddee-bind-0b6e811
) .elementor-widget-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border: 0;
	border-radius: var(--kv2-radius-lg);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--kv2-color-primary-dark) 10%, transparent);
	cursor: zoom-in;
	object-fit: cover;
	transition: box-shadow var(--kv2-transition), transform var(--kv2-transition);
}

/* Do not let a touch device keep the mouse-style image hover state after a tap. */
@media (hover: hover) and (pointer: fine) {
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img:hover,
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img:focus-visible {
		box-shadow: 0 16px 36px color-mix(in srgb, var(--kv2-color-primary-dark) 18%, transparent);
		transform: translateY(-3px);
	}
}

@media (hover: none), (pointer: coarse) {
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img:hover,
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img:focus,
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img:focus-visible {
		box-shadow: 0 8px 24px color-mix(in srgb, var(--kv2-color-primary-dark) 10%, transparent);
		transform: none;
		outline: none;
	}
}

@media (min-width: 48rem) and (max-width: 74.99rem) {
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) {
		display: flex ;
		flex-wrap: wrap ;
		justify-content: center ;
		gap: clamp(14px, 2vw, 28px) ;
	}

	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) > .elementor-widget-image {
		flex: 0 0 calc((100% - clamp(14px, 2vw, 28px)) / 2) ;
		width: calc((100% - clamp(14px, 2vw, 28px)) / 2) ;
		max-width: calc((100% - clamp(14px, 2vw, 28px)) / 2) ;
	}
}


@media (max-width: 47.99rem) {
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-729e08b6,
		.kiddee-bind-c1b884f,
		.kiddee-bind-06ebec3
	) {
		--gap: 24px;
		--padding-top: 36px;
		--padding-bottom: 36px;
	}

	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-29d1b0e0,
		.kiddee-bind-eeb7252,
		.kiddee-bind-dc6948c
	) {
		--gap: 10px;
	}

	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-6be15b81,
		.kiddee-bind-179a748,
		.kiddee-bind-d72b558
	) .elementor-heading-title {
		font-size: var(--kv2-type-title-md-size);
		line-height: var(--kv2-type-title-md-line);
	}

	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) {
		grid-template-columns: minmax(0, 1fr);
	}

	.kiddee-installation-cover::after {
		background: color-mix(in srgb, var(--kv2-color-text) 54%, transparent);
	}

	.kiddee-installation-cover__content {
		align-items: flex-start;
		padding-inline: var(--kv2-gutter);
		text-align: left;
	}

	.kiddee-installation-cover__eyebrow {
		margin-bottom: var(--kv2-space-3);
	}

	.kiddee-installation-cover__title {
		font-size: var(--kv2-type-display-xl-size);
	}

}

@media (prefers-reduced-motion: reduce) {
	body.kiddee-page-installation-works #page :is(
		.kiddee-bind-26fd6e98,
		.kiddee-bind-a36d137,
		.kiddee-bind-0b6e811
	) .elementor-widget-image img {
		transition: none;
	}
}

body.kiddee-page-installation-works #page .kiddee-bind-32485e67 > .e-con-inner {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 28px);
	width: min(100% - (2 * var(--kv2-gutter)), 1180px);
	max-width: 1180px;
	margin-inline: auto;
	padding: 0 ;
}
