﻿

	/* Desktop archive catalogue contract: retain the desktop overlay, but give
	 * every category the same wrapper position and the same four-widget grid.
	 * This is intentionally scoped to archive/category pages only. */
	@media (min-width: 75rem) {
		body.tax-product_cat #page .elementor :is(
			:where(.e-con:has(> .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con-inner > .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
		),
		body.post-type-archive-product #page .elementor :is(
			:where(.e-con:has(> .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)),
			:where(.e-con:has(> .e-con-inner > .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
		) {
			position: relative ;
			z-index: 4 ;
			display: flex ;
			align-self: flex-end ;
			width: min(520px, 46vw) ;
			max-width: 520px ;
			min-height: 0 ;
			margin: calc(-31.25vw + 20px) 32px 0 auto ;
			padding: 0 ;
			background: transparent ;
			border: 0 ;
			border-radius: 0 ;
			box-shadow: none ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro),
			:where(.kiddee-catalogue-intro)
		),
		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: center ;
			align-items: center ;
			column-gap: 0 ;
			row-gap: 0 ;
			width: 100% ;
			max-width: none ;
			min-height: 0 ;
			margin: 0 ;
			padding: 0 ;
			color: var(--kv2-color-surface) ;
			background: transparent ;
			border: 0 ;
			border-radius: 0 ;
			box-shadow: none ;
			transform: none ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro),
			:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
		) > .e-con-inner,
		body.post-type-archive-product #page .elementor :is(
			:where(.kiddee-catalogue-intro),
			:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
		) > .e-con-inner {
			display: contents ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro) > .elementor-widget-heading:first-child,
			:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-heading:first-child
		),
		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
		) {
			position: relative ;
			z-index: 1 ;
			grid-column: 1 ;
			grid-row: 2 ;
			justify-self: center ;
			width: min(100%, 360px) ;
			margin: 0 ;
			padding: 15px 14px 0 ;
		}

		body.tax-product_cat #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)
		),
		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)
		) {
			position: relative ;
			z-index: 1 ;
			grid-column: 1 ;
			grid-row: 3 ;
			justify-self: center ;
			width: min(100%, 360px) ;
			margin: 8px 0 0 ;
			padding: 0 14px ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro) > .elementor-widget-button,
			:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-button
		),
		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
		) {
			position: relative ;
			z-index: 1 ;
			grid-column: 1 ;
			grid-row: 4 ;
			justify-self: center ;
			margin: 13px 0 0 ;
			padding: 0 14px ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro) > .elementor-widget-image,
			:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-image
		),
		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
		) {
			position: relative ;
			z-index: 2 ;
			grid-column: 1 ;
			grid-row: 1 ;
			align-self: center ;
			display: flex ;
			width: 100% ;
			max-width: none ;
			margin: 0 ;
			padding: 3px ;
			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: 12px ;
			box-shadow: 0 12px 28px color-mix(in srgb, var(--kv2-color-primary-dark) 16%, transparent) ;
			transform: none ;
		}

		/* Some archive documents place the overlay inside a centred 1140px
		 * section. Move only the actual catalogue wrapper by the section gutter.
		 * The final :has() keeps the containing product section out of this rule,
		 * so the product heading/grid stays centred on desktop. */
		body.tax-product_cat #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner > :where(.e-con:has(
			> .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image
		)),
		body.post-type-archive-product #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner > :where(.e-con:has(
			> .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image
		)),
		body.tax-product_cat #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner > :where(.e-con:has(
			> .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image
		)),
		body.post-type-archive-product #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner > :where(.e-con:has(
			> .e-con > .e-con-inner > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image
		)) {
			transform: translate(calc(50vw - 577.5px), 0) ;
		}

		/* The centred templates do not all give the catalogue's containing
		 * .e-con-inner the same default padding. Remove that template variance
		 * at the shared boundary so the catalogue starts at the same Hero offset
		 * in every category. */
		body.tax-product_cat #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner,
		body.post-type-archive-product #page .elementor :where(.kiddee-catalogue-intro-region) > .e-con-inner {
			padding: 0 ;
		}

		body.tax-product_cat #page .elementor :is(
			:where(.kiddee-catalogue-intro) > .elementor-widget-image img,
			:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-image img
		),
		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-height: none ;
			object-fit: contain ;
			border-radius: 9px ;
		}
	}

/* The shared tablet grid is declared after the compact archive rules in some
 * optimized bundles. Re-apply the mobile-width single-column contract here
 * so iPad Pro cannot restore the two-column decoration. */
@media (min-width: 48rem) and (max-width: 74.99rem) {
	body.tax-product_cat #page .elementor :is(
		:where(.kiddee-catalogue-intro),
		:where(.kiddee-catalogue-intro),
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
	),
	body.post-type-archive-product #page .elementor :is(
		:where(.kiddee-catalogue-intro),
		:where(.kiddee-catalogue-intro),
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image))
	) {
		display: grid ;
		grid-template-columns: minmax(0, 1fr) ;
		grid-template-rows: auto auto auto auto ;
		align-content: start ;
		align-items: start ;
		column-gap: 0 ;
		row-gap: 0 ;
		width: min(620px, calc(100% - 32px)) ;
		max-width: 620px ;
		min-height: 0 ;
		margin: 18px auto 8px ;
	}

	body.tax-product_cat #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,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-heading:first-child .elementor-heading-title
	),
	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,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-heading:first-child .elementor-heading-title
	) {
		color: var(--kv2-airbnb-ink) ;
		-webkit-text-fill-color: var(--kv2-airbnb-ink) ;
		font-size: var(--kv2-type-button-size);
		line-height: var(--kv2-type-button-line);
		text-align: center ;
		text-shadow: none ;
	}

	body.tax-product_cat #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,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-heading:nth-child(2) .elementor-heading-title
	),
	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,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-heading:nth-child(2) .elementor-heading-title
	) {
		color: var(--kv2-airbnb-ink) ;
		-webkit-text-fill-color: var(--kv2-airbnb-ink) ;
		font-size: var(--kv2-type-button-size);
		line-height: var(--kv2-type-button-line);
		text-align: center ;
		text-shadow: none ;
	}

	body.tax-product_cat #page .elementor :is(
		:where(.kiddee-catalogue-intro) > .elementor-widget-button,
		:where(.kiddee-catalogue-intro) > .e-con-inner > .elementor-widget-button,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-button
	),
	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,
		:where(.e-con:has(> .e-con-inner > .e-con > .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button + .elementor-widget-image)) > .e-con-inner > .e-con > .elementor-widget-button
	) {
		justify-self: center ;
		margin: 22px 0 0 ;
	}
}

html,
body,
#page,
.site-main,
.site-main--builder,
.site-main--commerce {
	background-color: var(--kv2-airbnb-canvas) ;
}
