﻿

/* Keep iPad Pro in the same compact archive presentation as phones and iPad
 * mini: category controls wrap, then the catalogue intro follows one column. */
@media (min-width: 48rem) and (max-width: 74.99rem) {
	:is(body.tax-product_cat, body.post-type-archive-product) #page .kiddee-archive-hero-actions {
		top: calc(100% + 14px) ;
		left: 16px ;
		width: calc(100% - 32px) ;
		gap: 8px ;
		padding: 0 ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .kiddee-product-category-filter--hero {
		display: flex ;
		flex-wrap: wrap ;
		align-items: flex-start ;
		justify-content: flex-start ;
		width: 100% ;
		max-width: 100% ;
		gap: 8px ;
		padding: 2px 0 8px ;
		overflow: visible ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .kiddee-product-category-filter--hero .kiddee-product-category-filter__item {
		flex: 0 0 auto ;
		min-height: 40px ;
		padding: 9px 15px ;
		white-space: nowrap ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro),
		:where(.kiddee-catalogue-intro)
	) {
		display: grid ;
		grid-template-columns: minmax(0, 1fr) ;
		grid-template-rows: auto auto auto auto ;
		align-content: start ;
		align-items: start ;
		width: min(620px, calc(100% - 32px)) ;
		max-width: 620px ;
		min-height: 0 ;
		margin: 18px auto 8px ;
		padding: 34px 24px 30px ;
		color: var(--kv2-airbnb-ink) ;
		background: radial-gradient(circle at 50% 45%, var(--kv2-airbnb-surface-soft) 0%, var(--kv2-airbnb-canvas) 38%, rgba(255, 255, 255, 0) 70%) ;
		border: 0 ;
		border-radius: 28px ;
		box-shadow: none ;
		text-align: center ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-heading:first-child,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading:first-child
	) {
		grid-column: 1 ;
		grid-row: 1 ;
		align-self: start ;
		justify-self: center ;
		width: 100% ;
		margin: 0 ;
		padding: 0 ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-heading:nth-child(2),
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading:nth-child(2)
	) {
		grid-column: 1 ;
		grid-row: 2 ;
		align-self: start ;
		justify-self: center ;
		width: 100% ;
		margin: 12px 0 0 ;
		padding: 0 ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-image,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-image
	) {
		grid-column: 1 ;
		grid-row: 3 ;
		align-self: start ;
		display: flex ;
		width: 100% ;
		max-width: none ;
		margin: 22px 0 0 ;
		padding: 7px ;
		background: color-mix(in srgb, var(--kv2-color-surface) 96%, transparent) ;
		border: 1px solid color-mix(in srgb, var(--kv2-color-surface) 80%, transparent) ;
		border-radius: 18px ;
		box-shadow: 0 12px 28px color-mix(in srgb, var(--kv2-color-primary-dark) 16%, transparent) ;
		transform: none ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-image img,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-image img
	) {
		display: block ;
		width: 100% ;
		height: auto ;
		max-width: 100% ;
		max-height: none ;
		object-fit: contain ;
		border-radius: 12px ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-button,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-button
	) {
		grid-column: 1 ;
		grid-row: 4 ;
		align-self: start ;
		justify-self: center ;
		margin: 22px 0 0 ;
		padding: 0 ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-heading .elementor-heading-title,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading .elementor-heading-title
	) {
		color: var(--kv2-airbnb-ink) ;
		-webkit-text-fill-color: var(--kv2-airbnb-ink) ;
		text-align: center ;
		text-shadow: none ;
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-heading:first-child .elementor-heading-title,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title
	) {
		font-size: var(--kv2-type-title-md-size);
		line-height: var(--kv2-type-title-md-line);
	}

	:is(body.tax-product_cat, body.post-type-archive-product) #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-heading:nth-child(2) .elementor-heading-title,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading:nth-child(2) .elementor-heading-title
	) {
		font-size: var(--kv2-type-title-md-size);
		line-height: var(--kv2-type-title-md-line);
	}
}

/* One spacing contract for every homepage content section. Keep the stored
 * Elementor content and each section's inner layout intact; only the outer
 * frame is normalized here. */
body.home #page .kiddee-document-home > :is(
	.elementor-element.kiddee-bind-573ecc81,
	.elementor-element.kiddee-bind-4e870ad2,
	.elementor-element.kiddee-bind-2e65f44,
	.elementor-element.kiddee-bind-bdbd4eb,
	.elementor-element.kiddee-bind-e65e09a,
	.elementor-element.kiddee-bind-c94a9ee,
	.kiddee-home-seo,
	.elementor-element.kiddee-bind-364a8ad
) {
	margin-block: 0 ;
	padding-block: clamp(40px, 5vw, 64px) ;
}

/* Keep the homepage map as its own edge-to-edge section instead of applying
 * the shared content-section vertical inset to it. */
body.home #page .kiddee-document-home > .elementor-element.kiddee-bind-364a8ad {
	padding: 0 ;
	background: var(--kv2-airbnb-canvas) ;
}

/* Secondary-page presentation contract. Keep this scoped to the six stored
 * Elementor page documents so archive, product, quote and theme cover markup
 * retain their existing owners. The contract normalizes only the visual
 * rhythm and typography; it does not change the document structure. */
:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] > .e-con.elementor-element:not(.kiddee-bind-d3b9bf1):not(.kiddee-bind-25eb4338):not(.kiddee-bind-143347e):where(:not(.kiddee-bind-ced1c47):not(.kiddee-bind-e51d98a)) {
	margin-block: 0 ;
	padding-block: clamp(40px, 5vw, 64px) ;
	padding-block-start: clamp(40px, 5vw, 64px) ;
	padding-block-end: clamp(40px, 5vw, 64px) ;
	padding-top: clamp(40px, 5vw, 64px) ;
	padding-bottom: clamp(40px, 5vw, 64px) ;
}
/* The cover bridge has a higher-specificity zero-top rule. Replace it only
 * for these audited page roots so the first content frame follows the same
 * top/bottom contract as the homepage. */
:is(body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) :where(#page > #primary).site-main--builder > .elementor[data-elementor-type="wp-page"] > .e-con.elementor-element:first-child {
	padding-block-start: clamp(40px, 5vw, 64px) ;
	padding-top: clamp(40px, 5vw, 64px) ;
}

/* Primary section titles use the homepage scale and centered rhythm. */
:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-f06c9f8,
	.kiddee-bind-77145211,
	.kiddee-bind-0bce020,
	.kiddee-bind-2ca07da,
	.kiddee-bind-6eb8be8,
	.kiddee-bind-2d2710e5,
	.kiddee-bind-248b84d,
	.kiddee-bind-d9936c4,
	.kiddee-bind-a51ff7e,
	.kiddee-bind-48dbd75
) .elementor-heading-title {
	margin: 0 ;
	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.02em ;
	text-align: center ;
	text-wrap: balance;
}

/* Card and secondary headings stay subordinate to the primary title.
 * Services owns its redesigned pink editorial cards in services.css. */
:is(body.kiddee-page-promotions, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-2333002,
	.kiddee-bind-a38fb5f,
	.kiddee-bind-2b5ed84,
	.kiddee-bind-a7b13fa,
	.kiddee-bind-08ef313,
	.kiddee-bind-5529e10
) .elementor-heading-title {
	margin: 0 ;
	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.01em ;
	text-align: center ;
}

:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-e8db48e,
	.kiddee-bind-27d094d,
	.kiddee-bind-6be15b81,
	.kiddee-bind-179a748,
	.kiddee-bind-d72b558
) .elementor-heading-title {
	margin: 0 ;
	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.01em ;
	text-align: center ;
}

/* Lead copy follows the homepage subtitle measure and spacing. */
:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-511be904,
	.kiddee-bind-651a662,
	.kiddee-bind-da05d3e,
	.kiddee-bind-9d19632,
	.kiddee-bind-be18311,
	.kiddee-bind-fad9617,
	.kiddee-bind-4992630
) {
	width: min(100%, 860px) ;
	max-width: 860px ;
	margin: var(--kv2-section-heading-gap) auto 0 ;
	padding: 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 ;
}

:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-511be904,
	.kiddee-bind-651a662,
	.kiddee-bind-da05d3e,
	.kiddee-bind-9d19632,
	.kiddee-bind-be18311,
	.kiddee-bind-fad9617,
	.kiddee-bind-4992630
) :is(p, .elementor-heading-title) {
	margin: 0 ;
	color: var(--kv2-airbnb-ink) ;
	font-family: var(--font-body) ;
	font-size: var(--kv2-type-title-md-size);
	font-weight: var(--kv2-type-title-md-weight);
	line-height: var(--kv2-type-title-md-line);
	text-align: center ;
}

/* Elementor stores different parent gaps on the audited secondary documents.
 * Remove only the measured title/copy container gaps so the shared 14px
 * desktop (12px mobile) copy margin is the visible spacing. Other card and
 * gallery containers keep their own spacing owners. */
:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-3e59a6d,
	.kiddee-bind-2373627,
	.kiddee-bind-54e3834c,
	.kiddee-bind-88aae0e,
	:has(> .kiddee-bind-2ca07da):has(> .kiddee-bind-9d19632)
) {
	row-gap: 0 ;
}

:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.kiddee-bind-a51ff7e,
	.kiddee-bind-48dbd75
) {
	margin-bottom: 0 ;
}

/* All page-level Elementor CTAs use the homepage black pill treatment. */
:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.elementor-widget-button .elementor-button,
	.elementor-widget-form .elementor-button,
	.srfm-submit-button
) {
	min-height: 44px ;
	border: 1px solid var(--kv2-airbnb-ink) ;
	border-radius: 999px ;
	padding: 10px 20px ;
	color: var(--kv2-airbnb-canvas) ;
	background: var(--kv2-airbnb-ink) ;
	box-shadow: 0 8px 18px rgba(34, 34, 34, 0.12) ;
	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);
}

:where(html:not([data-kiddee-input="touch"])) :is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
	.elementor-widget-button .elementor-button:hover,
	.elementor-widget-button .elementor-button:focus-visible,
	.elementor-widget-form .elementor-button:hover,
	.elementor-widget-form .elementor-button:focus-visible,
	.srfm-submit-button:hover,
	.srfm-submit-button:focus-visible
){
	border-color: var(--kv2-airbnb-ink) ;
	color: var(--kv2-airbnb-canvas) ;
	background: var(--kv2-airbnb-ink) ;
}

@media (max-width: 47.99rem) {
	:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] > .e-con.elementor-element:not(.kiddee-bind-d3b9bf1):not(.kiddee-bind-25eb4338):not(.kiddee-bind-143347e):where(:not(.kiddee-bind-ced1c47):not(.kiddee-bind-e51d98a)) {
		padding-block: 40px ;
		padding-block-start: 40px ;
		padding-block-end: 40px ;
		padding-top: 40px ;
		padding-bottom: 40px ;
	}

	:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
		.kiddee-bind-f06c9f8,
		.kiddee-bind-77145211,
		.kiddee-bind-0bce020,
		.kiddee-bind-2ca07da,
		.kiddee-bind-6eb8be8,
		.kiddee-bind-2d2710e5,
		.kiddee-bind-248b84d,
		.kiddee-bind-d9936c4,
		.kiddee-bind-a51ff7e,
		.kiddee-bind-48dbd75
	) .elementor-heading-title {
		font-size: var(--kv2-type-title-md-size);
	}

	:is(body.kiddee-page-promotions, body.kiddee-page-services, body.kiddee-page-about, body.kiddee-page-contact, body.kiddee-page-installation-works, body.kiddee-page-design-3d) #page .elementor[data-elementor-type="wp-page"] :is(
		.kiddee-bind-511be904,
		.kiddee-bind-651a662,
		.kiddee-bind-da05d3e,
		.kiddee-bind-9d19632,
		.kiddee-bind-be18311,
		.kiddee-bind-fad9617,
		.kiddee-bind-4992630
	) {
		margin-top: var(--kv2-section-heading-gap) ;
		font-size: var(--kv2-type-body-md-size);
	}
}
html body.kiddee-page-contact #page .elementor[data-elementor-type="wp-page"] > .kiddee-bind-d3b9bf1 { --padding-bottom: 0 ; padding-block-end: 0 ; padding-bottom: 0 ; }
