/* Shared cover language: consistent with the 3D design cover reference. */
:is(
	.kiddee-home-cover,
	.kiddee-about-cover,
	.kiddee-services-cover,
	.kiddee-installation-cover,
	.kiddee-promotions-cover,
	.kiddee-contact-cover
) {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 6.25;
	background: var(--kv2-airbnb-ink);
	isolation: isolate;
}

:is(
	.kiddee-home-cover,
	.kiddee-about-cover,
	.kiddee-services-cover,
	.kiddee-installation-cover,
	.kiddee-promotions-cover,
	.kiddee-contact-cover
)::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(90deg, rgba(34, 34, 34, 0.78) 0%, rgba(34, 34, 34, 0.56) 25%, rgba(34, 34, 34, 0.26) 45%, rgba(34, 34, 34, 0.08) 78%),
		linear-gradient(180deg, rgba(34, 34, 34, 0.08) 0%, rgba(34, 34, 34, 0.05) 56%, rgba(34, 34, 34, 0.30) 100%);
	content: "";
	pointer-events: none;
}

:is(
	.kiddee-home-cover__image,
	.kiddee-about-cover__image,
	.kiddee-services-cover__image,
	.kiddee-installation-cover__image,
	.kiddee-promotions-cover__image,
	.kiddee-contact-cover__image
) {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center center;
}

:is(
	.kiddee-home-cover__content,
	.kiddee-about-cover__content,
	.kiddee-services-cover__content,
	.kiddee-installation-cover__content,
	.kiddee-promotions-cover__content,
	.kiddee-contact-cover__content
) {
	position: absolute;
	z-index: 3;
	inset: 0;
	display: flex;
	width: min(100% - (2 * var(--kv2-gutter)), var(--kv2-container-wide));
	height: 100%;
	margin-inline: auto;
	padding: clamp(32px, 5vw, 72px) 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	color: var(--kv2-color-surface);
	text-align: left;
}

:is(
	.kiddee-home-cover__eyebrow,
	.kiddee-about-cover__eyebrow,
	.kiddee-services-cover__eyebrow,
	.kiddee-installation-cover__eyebrow,
	.kiddee-promotions-cover__eyebrow,
	.kiddee-contact-cover__eyebrow
) {
	margin: 0 0 14px;
	color: var(--kv2-color-surface) ;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.33;
}

:is(
	.kiddee-home-cover__title,
	.kiddee-about-cover__title,
	.kiddee-services-cover__title,
	.kiddee-installation-cover__title,
	.kiddee-promotions-cover__title,
	.kiddee-contact-cover__title
) {
	max-width: 820px;
	margin: 0;
	color: var(--kv2-color-surface) ;
	font-family: var(--font-heading) ;
	font-size: var(--kv2-type-display-xl-size);
	font-weight: var(--kv2-type-display-xl-weight);
	line-height: var(--kv2-type-display-xl-line);
	letter-spacing: 0 ;
	text-shadow: 0 4px 20px rgba(34, 34, 34, 0.36);
	text-wrap: balance;
}

:is(
	.kiddee-home-cover__title,
	.kiddee-about-cover__title,
	.kiddee-services-cover__title,
	.kiddee-installation-cover__title,
	.kiddee-promotions-cover__title,
	.kiddee-contact-cover__title
) :is(
	span + span,
	.kiddee-about-cover__title-line:not(.kiddee-about-cover__title-line--lead)
) {
	color: var(--kv2-kiddee-cover-yellow) ;
}

:is(
	.kiddee-home-cover__summary,
	.kiddee-about-cover__summary,
	.kiddee-services-cover__summary,
	.kiddee-installation-cover__summary,
	.kiddee-promotions-cover__summary,
	.kiddee-contact-cover__summary
) {
	max-width: 570px;
	margin: 20px 0 0;
	color: rgba(255, 255, 255, 0.94) ;
	font-family: var(--font-body) ;
	font-size: var(--kv2-type-body-md-size);
	font-weight: var(--kv2-type-body-md-weight);
	line-height: var(--kv2-type-body-md-line);
	text-shadow: 0 2px 12px rgba(34, 34, 34, 0.3);
}

:is(
	.kiddee-home-cover__link,
	.kiddee-about-cover__link,
	.kiddee-services-cover__link,
	.kiddee-installation-cover__link,
	.kiddee-promotions-cover__link,
	.kiddee-contact-cover__link
) {
	display: inline-flex ;
	min-height: 44px;
	align-items: center;
	margin-top: 22px;
	border: 1px solid var(--kv2-color-accent-yellow) ;
	border-radius: 999px ;
	padding: 10px 20px ;
	color: var(--kv2-airbnb-ink) ;
	background: var(--kv2-color-accent-yellow) ;
	box-shadow: 0 8px 18px rgba(34, 34, 34, 0.2) ;
	font-family: var(--font-body) ;
	font-size: var(--kv2-type-button-size);
	font-weight: var(--kv2-type-button-weight);
	line-height: var(--kv2-type-button-line);
	text-decoration: none;
	transition: transform var(--kv2-transition), background-color var(--kv2-transition), box-shadow var(--kv2-transition);
}

:where(html:not([data-kiddee-input="touch"])) :is(
	.kiddee-home-cover__link,
	.kiddee-about-cover__link,
	.kiddee-services-cover__link,
	.kiddee-installation-cover__link,
	.kiddee-promotions-cover__link,
	.kiddee-contact-cover__link
):hover,
:is(
	.kiddee-home-cover__link,
	.kiddee-about-cover__link,
	.kiddee-services-cover__link,
	.kiddee-installation-cover__link,
	.kiddee-promotions-cover__link,
	.kiddee-contact-cover__link
):focus-visible{
	color: var(--kv2-color-primary-dark) ;
	background: var(--kv2-color-surface) ;
	box-shadow: 0 12px 26px rgba(34, 34, 34, 0.26) ;
	transform: translateY(-2px);
}

/* Keep the homepage social links available on every theme-owned cover. */
.kiddee-cover__socials {
	margin-top: 26px;
}

.kiddee-cover__socials ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kiddee-cover__socials a {
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	color: var(--kv2-airbnb-ink);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 6px 16px rgba(34, 34, 34, 0.16);
	transition: transform var(--kv2-transition), background-color var(--kv2-transition), color var(--kv2-transition);
}

:where(html:not([data-kiddee-input="touch"])) .kiddee-cover__socials a:hover,
.kiddee-cover__socials a:focus-visible{
	color: var(--kv2-airbnb-ink);
	background: var(--kv2-airbnb-canvas);
	transform: translateY(-2px);
}

.kiddee-cover__socials svg {
	width: 17px;
	height: 17px;
	fill: currentColor;
}

@media (max-width: 63.99rem) {
	:is(
		.kiddee-home-cover,
		.kiddee-about-cover,
		.kiddee-services-cover,
		.kiddee-installation-cover,
		.kiddee-promotions-cover,
		.kiddee-contact-cover
	) {
		aspect-ratio: 16 / 7;
	}
}

@media (max-width: 47.99rem) {
	:is(
		.kiddee-home-cover,
		.kiddee-about-cover,
		.kiddee-services-cover,
		.kiddee-installation-cover,
		.kiddee-promotions-cover,
		.kiddee-contact-cover
	) {

	}

	:is(
		.kiddee-home-cover,
		.kiddee-about-cover,
		.kiddee-services-cover,
		.kiddee-installation-cover,
		.kiddee-promotions-cover,
		.kiddee-contact-cover
	)::after {
		background: linear-gradient(180deg, rgba(34, 34, 34, 0.10) 0%, rgba(34, 34, 34, 0.28) 42%, rgba(34, 34, 34, 0.82) 100%);
	}

	:is(
		.kiddee-home-cover__content,
		.kiddee-about-cover__content,
		.kiddee-services-cover__content,
		.kiddee-installation-cover__content,
		.kiddee-promotions-cover__content,
		.kiddee-contact-cover__content
	) {

		padding: 32px var(--kv2-gutter);
		justify-content: flex-end;
	}

	:is(
		.kiddee-home-cover__title,
		.kiddee-about-cover__title,
		.kiddee-services-cover__title,
		.kiddee-installation-cover__title,
		.kiddee-promotions-cover__title,
		.kiddee-contact-cover__title
	) {
		font-size: var(--kv2-type-display-xl-size);
	}

	:is(
		.kiddee-home-cover__summary,
		.kiddee-about-cover__summary,
		.kiddee-services-cover__summary,
		.kiddee-installation-cover__summary,
		.kiddee-promotions-cover__summary,
		.kiddee-contact-cover__summary
	) {
		margin-top: 14px;
		font-size: var(--kv2-type-body-sm-size);
	}

	.kiddee-cover__socials {
		margin-top: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(
		.kiddee-home-cover__link,
		.kiddee-about-cover__link,
		.kiddee-services-cover__link,
		.kiddee-installation-cover__link,
		.kiddee-promotions-cover__link,
		.kiddee-contact-cover__link
	) {
		transition: none;
	}
}

/* Shared intro contract for theme-owned content blocks. Elementor sections
 * use the same rhythm in the final responsive layer; these selectors bring
 * the three theme-owned intros into that contract without touching widgets
 * or stored document data. */
:is(.kiddee-services-intro, .kiddee-installation-stats-intro) {
	box-sizing: border-box;
	margin-block: 0;
	padding-block: clamp(40px, 5vw, 64px);
}

.kiddee-services-intro {
	padding-inline: var(--kv2-gutter);
}

.kiddee-services-intro h2 {
	max-width: 920px;
	margin: 0 auto;
	color: var(--kv2-airbnb-ink);
	font-family: var(--font-heading);
	font-size: var(--kv2-type-display-md-size);
	font-weight: var(--kv2-type-display-md-weight);
	line-height: var(--kv2-type-display-md-line);
	letter-spacing: -0.02em;
	text-align: center;
	text-wrap: balance;
}

.kiddee-installation-stats-intro {
	background: var(--kv2-color-background);
	text-align: center;
}

.kiddee-installation-stats-intro p {
	max-width: 860px;
	margin: 0 auto;
	color: var(--kv2-airbnb-body);
	font-family: var(--font-body);
	font-size: var(--kv2-type-display-sm-size);
	font-weight: var(--kv2-type-display-sm-weight);
	line-height: var(--kv2-type-display-sm-line);
}

/* The homepage SEO block is a content section, so its heading and lead copy
 * follow the same title-to-copy rhythm as the Elementor sections above. */
body.home #page .kiddee-home-seo {
	box-sizing: border-box;
	padding-block: clamp(40px, 5vw, 64px);
}

body.home #page .kiddee-home-seo h2 {
	margin: 0 auto;
	font-family: var(--font-heading);
	font-size: var(--kv2-type-display-md-size);
	font-weight: var(--kv2-type-display-md-weight);
	line-height: var(--kv2-type-display-md-line);
	letter-spacing: -0.02em;
}

body.home #page .kiddee-home-seo__lead,
body.home #page .kiddee-home-seo__closing {
	max-width: 860px;
	margin: var(--kv2-section-heading-gap) auto 0;
	color: var(--kv2-airbnb-ink) ;
	font-family: var(--font-body);
	font-size: var(--kv2-type-display-sm-size);
	font-weight: var(--kv2-type-display-sm-weight);
	line-height: var(--kv2-type-display-sm-line);
	text-align: center;
}

@media (max-width: 47.99rem) {
	.kiddee-services-intro h2,
	body.home #page .kiddee-home-seo h2 {
		font-size: var(--kv2-type-display-md-size);
	}

	.kiddee-installation-stats-intro {
		padding-block: 40px;
	}

	body.home #page .kiddee-home-seo__lead,
	body.home #page .kiddee-home-seo__closing {
		margin-top: var(--kv2-section-heading-gap);
		font-size: var(--kv2-type-body-md-size);
	}
}
