/* Genesis Child Theme - Kadence Blocks Compatibility
 *
 * Theme role on the frontend:
 * - Full-bleed shell for Kadence builder pages (so rows can go edge-to-edge)
 * - CSS variables for 1200px content width (set in PHP)
 * - Stop Genesis list / button / paragraph rules from fighting Kadence
 *
 * Do NOT force max-width or padding on .kt-row-column-wrap / .kb-theme-content-width.
 * Kadence Blocks already outputs those via its own CSS + inheritMaxWidth.
 *
 * @package GenesisChild
 * @since 1.0.5
 */


/* ## Overflow safety (no 100vw hacks)
--------------------------------------------- */

html,
body {
	overflow-x: clip;
}

.site-container {
	overflow-x: clip;
	width: 100%;
	max-width: 100%;
}


/* ## Builder page shell
 * Outer shell is full-bleed so backgrounds can go edge-to-edge.
 * Kadence row “theme width” / custom max-width controls the inner column.
--------------------------------------------- */

/* Match block editor: no theme chrome around Kadence sections */
body.kadence-builder-page .site-inner,
body.kadence-blocks-active.full-width-content .site-inner {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

body.kadence-builder-page .content-sidebar-wrap,
body.kadence-builder-page .content,
body.kadence-blocks-active.full-width-content .content-sidebar-wrap,
body.kadence-blocks-active.full-width-content .content {
	float: none;
	margin: 0;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

body.kadence-builder-page .sidebar,
body.kadence-builder-page .sidebar-primary {
	display: none;
}

body.kadence-builder-page .entry,
body.kadence-builder-page.home .entry,
body.kadence-builder-page.front-page .entry {
	background: transparent;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

body.kadence-builder-page .entry-content {
	margin: 0;
	/* Avoid clipping card shadows / absolute accents */
	overflow: visible;
	padding: 0;
	width: 100%;
}

/* Editor-like canvas: white page background behind full-bleed rows */
body.kadence-builder-page {
	background-color: #fff;
}

body.kadence-builder-page .site-container,
body.kadence-builder-page .content-sidebar-wrap,
body.kadence-builder-page .content {
	background-color: transparent;
}


/* ## Let Kadence own typography / spacing inside its blocks
 * Theme h1–h6 / p / a rules must not fight Design Library rem tokens.
--------------------------------------------- */

.entry-content .wp-block-kadence-advancedheading,
.entry-content .wp-block-kadence-advancedheading h1,
.entry-content .wp-block-kadence-advancedheading h2,
.entry-content .wp-block-kadence-advancedheading h3,
.entry-content .wp-block-kadence-advancedheading h4,
.entry-content .wp-block-kadence-advancedheading h5,
.entry-content .wp-block-kadence-advancedheading h6,
.entry-content [class*="wp-block-kadence-"] > h1,
.entry-content [class*="wp-block-kadence-"] > h2,
.entry-content [class*="wp-block-kadence-"] > h3,
.entry-content [class*="wp-block-kadence-"] > h4,
.entry-content [class*="wp-block-kadence-"] > h5,
.entry-content [class*="wp-block-kadence-"] > h6 {
	font-family: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	margin: 0;
}

.entry-content .wp-block-kadence-rowlayout p,
.entry-content .kb-row-layout-wrap p,
.entry-content .wp-block-kadence-column p,
.entry-content .kt-inside-inner-col p {
	margin-bottom: 0;
	margin-top: 0;
}

.entry-content .wp-block-kadence-rowlayout a,
.entry-content .kb-row-layout-wrap a {
	color: inherit;
	text-decoration: none;
}

.entry-content .wp-block-kadence-rowlayout a:hover,
.entry-content .wp-block-kadence-rowlayout a:focus,
.entry-content .kb-row-layout-wrap a:hover,
.entry-content .kb-row-layout-wrap a:focus {
	color: inherit;
}


/* ## Let Kadence own row / column sizing
 * Outer alignfull rows span the viewport like the editor canvas.
--------------------------------------------- */

.entry-content > .wp-block-kadence-rowlayout,
.entry-content > .kb-row-layout-wrap,
.entry-content > .wp-block-kadence-rowlayout.alignfull,
.entry-content > .kb-row-layout-wrap.alignfull {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
	width: 100%;
}

.wp-block-kadence-rowlayout,
.kb-row-layout-wrap,
.kt-row-layout-inner,
.kt-row-column-wrap {
	box-sizing: border-box;
}

/* Theme content-width class: width only via CSS var — no extra padding */
.wp-block-kadence-rowlayout > .kb-theme-content-width,
.kb-row-layout-wrap > .kb-theme-content-width {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--kb-global-content-width, var(--global-content-width, var(--genesis-child-content-width, 1200px)));
	width: 100%;
}


/* ## Columns: prevent flex overflow without forcing widths
--------------------------------------------- */

.wp-block-kadence-column,
.kt-inside-inner-col,
.kt-row-column-wrap > .wp-block-kadence-column {
	box-sizing: border-box;
	min-width: 0;
}

.wp-block-kadence-column img,
.kt-inside-inner-col img,
.wp-block-kadence-rowlayout img,
.kb-row-layout-wrap img {
	height: auto;
	max-width: 100%;
}


/* ## Stop Genesis list / link / paragraph fights
--------------------------------------------- */

.entry-content [class*="wp-block-kadence-"] ul,
.entry-content [class*="wp-block-kadence-"] ol,
.entry-content .wp-block-kadence-rowlayout ul,
.entry-content .wp-block-kadence-rowlayout ol,
.entry-content .kb-row-layout-wrap ul,
.entry-content .kb-row-layout-wrap ol {
	margin: 0;
	padding-left: 0;
}

.entry-content [class*="wp-block-kadence-"] li,
.entry-content .wp-block-kadence-rowlayout li,
.entry-content .kb-row-layout-wrap li,
.entry-content [class*="wp-block-kadence-"] ul > li,
.entry-content [class*="wp-block-kadence-"] ol > li {
	list-style: none;
	list-style-type: none;
	margin-bottom: 0;
}

/* Icon lists / info boxes: Kadence owns spacing; Genesis 28px p gap fights cards */
.entry-content .wp-block-kadence-iconlist p,
.entry-content .wp-block-kadence-infobox p,
.entry-content .kt-blocks-info-box-textcontent p {
	margin-bottom: 0;
}

.entry-content [class*="wp-block-kadence-"] a {
	text-decoration: none;
}


/* ## Buttons: theme .button / .wp-block-button__link also sit on Kadence spans —
 * style.css + gutenberg-blocks.css exclude .kb-button; keep a safety net here.
--------------------------------------------- */

.entry-content .kb-button.button,
.entry-content .kt-button.button,
.entry-content .kb-button.wp-block-button__link,
.entry-content .wp-block-kadence-advancedbtn .kb-button {
	/* Do not inherit Genesis button chrome; Kadence CSS owns colors/padding */
	box-sizing: border-box;
	max-width: 100%;
	text-decoration: none;
}


/* ## Forms / Pro blocks stay inside their column
--------------------------------------------- */

.wp-block-kadence-form,
.wp-block-kadence-advancedform,
.wp-block-kadence-query,
.wp-block-kadence-slider,
.wp-block-kadence-infobox,
.wp-block-kadence-countup,
.wp-block-kadence-iconlist,
.wp-block-kadence-icon {
	box-sizing: border-box;
	max-width: 100%;
}

.kb-form input,
.kb-form textarea,
.kb-form select,
.wp-block-kadence-advancedform input,
.wp-block-kadence-advancedform textarea,
.wp-block-kadence-advancedform select {
	box-sizing: border-box;
	max-width: 100%;
}


/* ## Responsive — don't re-box Kadence rows
--------------------------------------------- */

@media only screen and (max-width: 1023px) {

	body.kadence-builder-page .site-inner,
	body.kadence-blocks-active.full-width-content .site-inner {
		max-width: 100%;
		padding: 0;
	}

	body.kadence-builder-page .entry {
		margin-bottom: 0;
		padding: 0;
	}

	.kt-row-column-wrap,
	.wp-block-kadence-rowlayout,
	.kb-row-layout-wrap,
	.kt-row-layout-inner {
		max-width: 100%;
	}

}

@media only screen and (max-width: 781px) {

	body.kadence-builder-page .site-inner,
	body.kadence-blocks-active.full-width-content .site-inner {
		padding: 0;
	}

	body.kadence-builder-page .entry,
	body.kadence-builder-page .entry-content {
		margin: 0;
		padding: 0;
	}

	.wp-block-kadence-advancedheading,
	.wp-block-kadence-advancedheading h1,
	.wp-block-kadence-advancedheading h2 {
		word-wrap: break-word;
	}

	.kb-form,
	.wp-block-kadence-advancedform,
	.wp-block-kadence-form {
		width: 100%;
	}

	.kb-form input,
	.kb-form textarea,
	.kb-form select,
	.kb-button,
	.kt-button,
	.wp-block-kadence-advancedform input,
	.wp-block-kadence-advancedform textarea,
	.wp-block-kadence-advancedform .kb-advanced-form-submit {
		max-width: 100%;
	}

}
