/* Layout spacing */
#page {
	--cetv-page-side-padding: 52px;
	--cetv-block-spacing: 20px;
	--cetv-cev-block-inline-padding: 52px;
	--wp--style--block-gap: var(--cetv-block-spacing);
}

#page > :not(.cetv-header):not(.site-footer):not(.cetv-banner-garantie):not(.cetv-floating-contact):not(.cev-footer-shipping-bubble) {
	padding-left: var(--cetv-page-side-padding);
	padding-right: var(--cetv-page-side-padding);
}

@media screen and (max-width: 1200px) and (min-width: 64.0625em) {
	#page {
		--cetv-page-side-padding: 40px;
		--cetv-cev-block-inline-padding: 40px;
	}
}

@media screen and (max-width: 64em) {
	#page {
		--cetv-page-side-padding: 16px;
		--cetv-block-spacing: 18px;
		--cetv-cev-block-inline-padding: 16px;
	}

	html,
	body {
		overflow-x: clip;
	}

	/* A clipped ancestor makes the sticky header unreliable in some engines. */
	#page {
		overflow-x: visible;
	}

	#page > :not(.cetv-header):not(.site-footer):not(.cetv-banner-garantie):not(.cetv-floating-contact):not(.cev-footer-shipping-bubble) {
		padding-left: var(--cetv-page-side-padding);
		padding-right: var(--cetv-page-side-padding);
	}

	#page > .site-footer.cetv-footer {
		padding-left: 0;
		padding-right: 0;
	}

	#page .entry-content {
		padding-bottom: calc(136px + env(safe-area-inset-bottom));
	}

	/* Mobile alignment baseline:
	 * keep "none" and "wide" on the same real content width
	 * so all text starts on the same horizontal axis.
	 */
	#page .entry-content > [class*="wp-block-cetv-"]:not(.alignfull),
	#page .entry-content > .wp-block[class*="wp-block-cetv-"]:not(.alignfull) {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#page .entry-content > [class*="wp-block-cetv-"].alignfull,
	#page .entry-content > .wp-block[class*="wp-block-cetv-"].alignfull {
		width: calc(100% + (var(--cetv-page-side-padding) * 2)) !important;
		max-width: calc(100% + (var(--cetv-page-side-padding) * 2)) !important;
		margin-left: calc(var(--cetv-page-side-padding) * -1) !important;
		margin-right: calc(var(--cetv-page-side-padding) * -1) !important;
	}
}

/* Gutenberg alignments (CETV blocks): none == wide, full == full width */
#page .entry-content > [class*="wp-block-cetv-"]:not(.alignfull),
#page .entry-content > .wp-block[class*="wp-block-cetv-"]:not(.alignfull) {
	width: calc(100% + var(--cetv-page-side-padding)) !important;
	max-width: calc(100% + var(--cetv-page-side-padding)) !important;
	margin-left: calc(var(--cetv-page-side-padding) * -0.5) !important;
	margin-right: calc(var(--cetv-page-side-padding) * -0.5) !important;
}

#page .entry-content > [class*="wp-block-cetv-"].alignfull,
#page .entry-content > .wp-block[class*="wp-block-cetv-"].alignfull {
	width: calc(100% + (var(--cetv-page-side-padding) * 2)) !important;
	max-width: calc(100% + (var(--cetv-page-side-padding) * 2)) !important;
	margin-left: calc(var(--cetv-page-side-padding) * -1) !important;
	margin-right: calc(var(--cetv-page-side-padding) * -1) !important;
}

/* Unified horizontal rhythm for CETV blocks.
 * Hero and Two Columns keep their own dedicated padding system.
 */
#page .entry-content > [class*="wp-block-cetv-"]:not(.wp-block-cetv-hero):not(.wp-block-cetv-two-columns):not(.wp-block-cetv-home-half-cards):not(.wp-block-cetv-product-cards),
#page .entry-content > .wp-block[class*="wp-block-cetv-"]:not(.wp-block-cetv-hero):not(.wp-block-cetv-two-columns):not(.wp-block-cetv-home-half-cards):not(.wp-block-cetv-product-cards) {
	box-sizing: border-box;
	padding-left: var(--cetv-cev-block-inline-padding) !important;
	padding-right: var(--cetv-cev-block-inline-padding) !important;
}

/* Gutenberg vertical rhythm */
#page .entry-content .is-layout-flow > * + *,
#page .entry-content .is-layout-constrained > * + * {
	margin-block-start: var(--cetv-block-spacing);
}

/* CETV block headings: make heading level (h1/h2/h3...) visually meaningful */
#page .entry-content [class*="wp-block-cetv-"] :is(h1, h2, h3, h4, h5, h6)[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] :is(h1, h2, h3, h4, h5, h6)[class*="__title"] {
	text-wrap: balance;
}

#page .entry-content [class*="wp-block-cetv-"] h1[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h1[class*="__title"] {
	font-size: clamp(2.3rem, 4.8vw, 3.35rem) !important;
	line-height: 1.03 !important;
}

#page .entry-content [class*="wp-block-cetv-"] h2[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h2[class*="__title"] {
	font-size: clamp(2rem, 4.1vw, 3rem) !important;
	line-height: 1.08 !important;
}

#page .entry-content [class*="wp-block-cetv-"] h3[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h3[class*="__title"] {
	font-size: clamp(1.7rem, 3.3vw, 2.5rem) !important;
	line-height: 1.12 !important;
}

#page .entry-content [class*="wp-block-cetv-"] h4[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h4[class*="__title"] {
	font-size: clamp(1.45rem, 2.6vw, 2.1rem) !important;
	line-height: 1.18 !important;
}

#page .entry-content [class*="wp-block-cetv-"] h5[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h5[class*="__title"] {
	font-size: clamp(1.22rem, 2.1vw, 1.75rem) !important;
	line-height: 1.22 !important;
}

#page .entry-content [class*="wp-block-cetv-"] h6[class*="__title"],
.editor-styles-wrapper [class*="wp-block-cetv-"] h6[class*="__title"] {
	font-size: clamp(1.05rem, 1.8vw, 1.45rem) !important;
	line-height: 1.28 !important;
}

/* Fallback for classic templates where blocks are direct children */
#page .entry-content > [class*="wp-block-"] + [class*="wp-block-"] {
	margin-top: var(--cetv-block-spacing) !important;
}


@media ( max-width: 900px ) {
	.cetv-hide-mobile {
		display: none !important;
	}

	.wp-block-spacer.cetv-spacer-mobile-height {
		height: var(--cetv-spacer-mobile-height) !important;
	}
}
