/**
 * Portable visual contract: seo-genie-article/v1.
 *
 * Values mirror SEO Genie's ContentEditor preview. The portable selectors are
 * scoped to the marked body and .seo-genie-article, so the active WordPress
 * template, header, footer and surrounding widgets remain theme-native. Rules
 * for the optional Exact template shell are separately mode-gated below.
 */

/*
 * Scoped preflight.
 *
 * WordPress themes and Elementor Single templates often ship descendant rules
 * such as `.entry-content p` or `.elementor-widget-container table td`. The
 * body mode attribute deliberately adds enough specificity to neutralize those
 * rules, while every declaration still stops at the portable article root.
 */
body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article {
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	color: #111 !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.75 !important;
	text-align: left !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article,
body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article * {
	box-sizing: border-box !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article * {
	max-width: 100% !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"]
	.seo-genie-article :where(h1, h2, h3, h4, h5, h6, p, ul, ol, menu, li, dl, dt, dd, figure, figcaption, blockquote, pre, table, thead, tbody, tfoot, tr, th, td, hr) {
	margin: 0 !important;
	padding: 0 !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article > * + * {
	margin-top: 16px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(h1, h2, h3, h4, h5, h6) {
	color: #050607 !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	line-height: 1.25 !important;
	text-align: left !important;
	text-transform: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article h1 {
	font-size: 32px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article h2 {
	margin-top: 27.2px !important;
	font-size: 23.2px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article h3 {
	margin-top: 21.6px !important;
	font-size: 17.6px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(h4, h5, h6) {
	font-size: 15px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(p, li) {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	color: rgba(5, 6, 7, 0.72) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.75 !important;
	text-align: left !important;
	text-transform: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(strong, b) {
	font-weight: 700 !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(em, i) {
	font-style: italic !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(ul, ol) {
	padding-left: 20px !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.75 !important;
	list-style-position: outside !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article ul {
	list-style: disc !important;
	list-style-position: outside !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article ol {
	list-style: decimal !important;
	list-style-position: outside !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article a {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	color: #050607 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: 650 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article :where(img, video, svg) {
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	filter: none !important;
	outline: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__figure {
	overflow: hidden !important;
	border: 1px solid rgba(5, 6, 7, 0.1) !important;
	border-radius: 8px !important;
	background: #f8f8f6 !important;
	box-shadow: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__figure .seo-genie-article__image {
	display: block !important;
	width: 100% !important;
	max-height: 560px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	background: #ecece7 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__figure .seo-genie-article__caption {
	border-top: 1px solid rgba(5, 6, 7, 0.08) !important;
	padding: 12px 14.4px !important;
	color: rgba(5, 6, 7, 0.58) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 14.08px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.55 !important;
	text-transform: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article code {
	white-space: pre-wrap !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	border: 1px solid rgba(5, 6, 7, 0.1) !important;
	border-radius: 6px !important;
	background: #f8f8f6 !important;
	padding: 1.92px 5.6px !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
	font-size: 0.9em !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.75 !important;
	text-transform: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article pre {
	overflow-x: auto !important;
	border: 1px solid rgba(5, 6, 7, 0.1) !important;
	border-radius: 8px !important;
	background: #050607 !important;
	padding: 16px !important;
	color: #fff !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article pre code {
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	color: inherit !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article blockquote {
	border-left: 4px solid #050607 !important;
	background: #f8f8f6 !important;
	padding: 13.6px 16px !important;
	color: rgba(5, 6, 7, 0.68) !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article blockquote p {
	color: inherit !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article hr {
	height: 0 !important;
	border: 0 solid currentColor !important;
	border-top-width: 1px !important;
	color: inherit !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table-wrap {
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	margin: 0 !important;
	border: 1px solid rgba(5, 6, 7, 0.1) !important;
	border-radius: 8px !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table {
	width: 100% !important;
	min-width: 640px !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111 !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 14.72px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.75 !important;
	text-transform: none !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"]
	.seo-genie-article .seo-genie-article__table :where(thead, tbody, tfoot, tr) {
	border: 0 !important;
	background: transparent !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table th,
body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table td {
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid rgba(5, 6, 7, 0.08) !important;
	border-left: 0 !important;
	background: transparent !important;
	padding: 12px 13.6px !important;
	color: #111 !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: inherit !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: 1.75 !important;
	text-align: left !important;
	text-transform: none !important;
	vertical-align: top !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table th {
	background: #f8f8f6 !important;
	color: rgba(5, 6, 7, 0.68) !important;
	font-size: 12.48px !important;
	font-weight: 750 !important;
	text-transform: uppercase !important;
}

body.seo-genie-renderer-active[class*="seo-genie-renderer-mode-"] .seo-genie-article .seo-genie-article__table tr:last-child td {
	border-bottom: 0 !important;
}

/**
 * Optional exact-template shell. These declarations intentionally sit outside
 * the portable root: the published body contains the sole .seo-genie-article.
 */
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-main,
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .content-sidebar-wrap,
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .content {
	float: none !important;
	width: min(100%, 1240px) !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-main,
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .content {
	padding-right: clamp(20px, 4vw, 56px) !important;
	padding-left: clamp(20px, 4vw, 56px) !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .content-sidebar-wrap > .sidebar,
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .site-content > .sidebar,
body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .sidebar-primary {
	display: none !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-exact-article {
	width: 100% !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 6px !important;
	background: #fff !important;
	padding: 16px !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-title {
	margin: 0 0 12px !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-title__heading {
	margin: 0 !important;
	color: #000 !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-meta {
	margin: 0 0 16px !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 6px !important;
	background: #f8f8f6 !important;
	padding: 12px !important;
	color: rgba(0, 0, 0, 0.62) !important;
	font-size: 14px !important;
	line-height: 24px !important;
}

body.seo-genie-renderer-active.seo-genie-renderer-mode-exact .seo-genie-renderer-content > .seo-genie-article {
	margin: 0 !important;
}
