.lumeon-seo-ai-generated .site-content {
	background: #f8f8f8;
}

.lumeon-seo-article {
	--lumeon-red: #cc0000;
	--lumeon-red-dark: #a90000;
	--lumeon-ink: #1c1c1c;
	--lumeon-muted: #626262;
	--lumeon-border: #e4e4e4;
	--lumeon-soft: #f5f5f5;
	--lumeon-panel: #ffffff;
	box-sizing: border-box;
	width: min(100%, 980px);
	margin: 0 auto;
	padding: clamp(28px, 5vw, 64px) clamp(18px, 5vw, 56px);
	color: var(--lumeon-ink);
	background: var(--lumeon-panel);
	border-top: 5px solid var(--lumeon-red);
	box-shadow: 0 18px 55px rgba(0, 0, 0, 0.06);
}

.lumeon-seo-article *,
.lumeon-seo-article *::before,
.lumeon-seo-article *::after {
	box-sizing: border-box;
}

.lumeon-seo-article > h1 {
	display: none;
}

.lumeon-seo-article > *:first-child {
	margin-top: 0;
}

.lumeon-seo-article > *:last-child {
	margin-bottom: 0;
}

.lumeon-seo-article p {
	max-width: 76ch;
	margin: 0 0 1.25rem;
	color: var(--lumeon-ink);
	font-size: clamp(1rem, 0.96rem + 0.18vw, 1.08rem);
	line-height: 1.78;
}

.lumeon-seo-article > p:first-of-type {
	max-width: 82ch;
	margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
	font-size: clamp(1.06rem, 1rem + 0.28vw, 1.2rem);
	line-height: 1.72;
}

.lumeon-seo-article h2 {
	margin: clamp(2.2rem, 5vw, 3.6rem) 0 1rem;
	padding-left: 0.85rem;
	border-left: 4px solid var(--lumeon-red);
	color: var(--lumeon-ink);
	font-size: clamp(1.45rem, 1.16rem + 1vw, 2.15rem);
	line-height: 1.22;
	letter-spacing: 0;
}

.lumeon-seo-article h3 {
	margin: 1.5rem 0 0.55rem;
	color: var(--lumeon-ink);
	font-size: clamp(1.12rem, 1.03rem + 0.32vw, 1.35rem);
	line-height: 1.3;
	letter-spacing: 0;
}

.lumeon-seo-article a {
	color: var(--lumeon-red);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.lumeon-seo-article a:hover,
.lumeon-seo-article a:focus {
	color: var(--lumeon-red-dark);
}

.lumeon-seo-article :where(ul, ol) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 1.1rem 0 1.7rem;
	padding: 0;
	list-style: none;
}

.lumeon-seo-article :where(ul, ol) > li {
	position: relative;
	min-width: 0;
	margin: 0;
	padding: 1rem 1.05rem 1rem 2.6rem;
	color: var(--lumeon-ink);
	background: var(--lumeon-soft);
	border: 1px solid var(--lumeon-border);
	border-radius: 8px;
	line-height: 1.55;
}

.lumeon-seo-article ul > li::before {
	content: "";
	position: absolute;
	left: 1.05rem;
	top: 1.45rem;
	width: 0.55rem;
	height: 0.55rem;
	background: var(--lumeon-red);
	border-radius: 50%;
}

.lumeon-seo-article ol {
	counter-reset: lumeon-step;
}

.lumeon-seo-article ol > li {
	counter-increment: lumeon-step;
}

.lumeon-seo-article ol > li::before {
	content: counter(lumeon-step);
	position: absolute;
	left: 0.85rem;
	top: 0.9rem;
	display: grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	color: #ffffff;
	background: var(--lumeon-red);
	border-radius: 50%;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

.lumeon-seo-article p > a:only-child[href*="/kontakt"],
.lumeon-seo-article p > a:only-child[href*="/kontakty"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 0.25rem;
	padding: 0.8rem 1.25rem;
	color: #ffffff;
	background: var(--lumeon-red);
	border-radius: 6px;
	text-decoration: none;
	box-shadow: 0 10px 22px rgba(204, 0, 0, 0.2);
}

.lumeon-seo-article p > a:only-child[href*="/kontakt"]:hover,
.lumeon-seo-article p > a:only-child[href*="/kontakty"]:hover,
.lumeon-seo-article p > a:only-child[href*="/kontakt"]:focus,
.lumeon-seo-article p > a:only-child[href*="/kontakty"]:focus {
	color: #ffffff;
	background: var(--lumeon-red-dark);
}

.lumeon-seo-article img,
.lumeon-seo-article figure,
.lumeon-seo-article iframe {
	max-width: 100%;
	height: auto;
}

.lumeon-seo-article table {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 1.5rem 0;
	overflow-x: auto;
	border-collapse: collapse;
	-webkit-overflow-scrolling: touch;
}

.lumeon-seo-article :where(th, td) {
	padding: 0.8rem;
	border: 1px solid var(--lumeon-border);
	text-align: left;
	vertical-align: top;
}

.lumeon-seo-article th {
	background: var(--lumeon-soft);
	font-weight: 700;
}

.lumeon-seo-article .lumeon-faq {
	margin-top: clamp(2.4rem, 6vw, 4.2rem);
	padding: clamp(1.3rem, 4vw, 2.2rem);
	background: #111111;
	color: #ffffff;
	border-radius: 8px;
}

.lumeon-seo-article .lumeon-faq h2 {
	margin-top: 0;
	color: #ffffff;
	border-left-color: var(--lumeon-red);
}

.lumeon-seo-article .lumeon-faq h3 {
	margin: 1.2rem 0 0.45rem;
	padding-top: 1rem;
	color: #ffffff;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.lumeon-seo-article .lumeon-faq h3:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.lumeon-seo-article .lumeon-faq p {
	max-width: none;
	margin-bottom: 0.9rem;
	color: rgba(255, 255, 255, 0.86);
}

@media (max-width: 921px) {
	.lumeon-seo-article {
		width: min(100% - 24px, 900px);
		padding: 30px 22px;
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
	}
}

@media (max-width: 680px) {
	.lumeon-seo-ai-generated .site-content {
		background: #ffffff;
	}

	.lumeon-seo-article {
		width: 100%;
		padding: 24px 18px 30px;
		border-top-width: 4px;
		box-shadow: none;
	}

	.lumeon-seo-article p {
		max-width: none;
		font-size: 1rem;
		line-height: 1.68;
	}

	.lumeon-seo-article h2 {
		margin-top: 2rem;
		padding-left: 0.7rem;
		font-size: 1.45rem;
	}

	.lumeon-seo-article h3 {
		font-size: 1.12rem;
	}

	.lumeon-seo-article :where(ul, ol) {
		grid-template-columns: 1fr;
		gap: 0.7rem;
	}

	.lumeon-seo-article :where(ul, ol) > li {
		padding: 0.9rem 0.95rem 0.9rem 2.45rem;
	}

	.lumeon-seo-article .lumeon-faq {
		margin-left: -6px;
		margin-right: -6px;
		padding: 1.2rem;
		border-radius: 6px;
	}

	.lumeon-seo-article p > a:only-child[href*="/kontakt"],
	.lumeon-seo-article p > a:only-child[href*="/kontakty"] {
		width: 100%;
	}
}
