/* All additions are scoped; the existing theme supplies fonts and design tokens. */
.seokratie-landingpage {
	background: var(--white);
	color: var(--black);
	overflow-wrap: anywhere;
}

.seokratie-landingpage .seokratie-landingpage__section {
	margin-block: 0;
	padding-block: 80px;
}

.seokratie-landingpage .seokratie-landingpage__inner {
	min-width: 0;
}

.seokratie-landingpage .seokratie-landingpage__inner > p,
.seokratie-landingpage .seokratie-landingpage__inner > ul {
	max-width: 1100px;
}

.seokratie-landingpage .seokratie-landingpage__hero,
.seokratie-landingpage .seokratie-landingpage__muted,
.seokratie-landingpage .seokratie-landingpage__contact {
	background: var(--white2);
}

.seokratie-landingpage .seokratie-landingpage__subtitle {
	font-family: 'Seokratie-Regular', sans-serif;
	font-size: var(--font-size-31);
	line-height: 1.5;
}

.seokratie-landingpage ul,
.seokratie-landingpage ol {
	margin: 0 0 30px;
	padding-inline-start: 1.5em;
}

.seokratie-landingpage ul {
	list-style: disc;
}

.seokratie-landingpage li + li {
	margin-top: 10px;
}

.seokratie-landingpage a:not(.wp-block-button__link) {
	color: var(--darker-blue);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.seokratie-landingpage :is(a:not(.wp-block-button__link), summary):focus-visible {
	outline: 3px solid var(--darker-blue);
	outline-offset: 5px;
}

.seokratie-landingpage .wp-block-buttons {
	gap: 20px;
	margin-top: 30px;
}

.seokratie-landingpage .wp-block-columns.seokratie-landingpage__cards {
	gap: 30px;
	margin: 30px 0 0;
}

.seokratie-landingpage .seokratie-landingpage__card {
	height: 100%;
}

.seokratie-landingpage .seokratie-landingpage__card > :last-child {
	margin-bottom: 0;
}

.seokratie-landingpage .seokratie-landingpage__testimonial,
.seokratie-landingpage .seokratie-landingpage__testimonial > .wp-block-group__inner-container {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.seokratie-landingpage .seokratie-landingpage__testimonial {
	margin: 40px 0;
}

.seokratie-landingpage .seokratie-landingpage__testimonial > .wp-block-group__inner-container {
	width: 100%;
	min-width: 0;
}

.seokratie-landingpage .seokratie-landingpage__portrait {
	flex: 0 0 96px;
	width: 96px;
	height: 96px;
	margin: 0;
}

.seokratie-landingpage .seokratie-landingpage__portrait img {
	display: block;
	width: 96px;
	height: 96px;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover;
}

.seokratie-landingpage .seokratie-landingpage__testimonial .wp-block-quote {
	flex: 1;
	min-width: 0;
	margin: 0;
}

.seokratie-landingpage .wp-block-quote cite {
	display: block;
	font-family: 'Seokratie-Bold', sans-serif;
	font-size: 20px;
	font-style: normal;
}

.seokratie-landingpage .wp-block-table {
	max-width: 100%;
	margin: 30px 0 50px;
}

.seokratie-landingpage .wp-block-table table {
	display: table;
	margin: 0;
	table-layout: fixed;
	font-size: 20px;
	line-height: 1.6;
}

.seokratie-landingpage .wp-block-table :is(th, td) {
	padding: 20px;
	border: 1px solid var(--white2);
	vertical-align: top;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.seokratie-landingpage .wp-block-table th {
	background: var(--darker-blue);
	color: var(--white);
	font-family: 'Seokratie-Bold', sans-serif;
	text-align: left;
}

.seokratie-landingpage .wp-block-table tr:nth-child(even) td {
	background: var(--white2);
}

.seokratie-landingpage .wp-block-table :is(th, td):first-child {
	width: 24%;
}

.seokratie-landingpage .wp-block-details {
	margin: 20px 0 0;
	padding: 25px 30px;
	border-radius: 5px;
	background: var(--white);
}

.seokratie-landingpage .wp-block-details summary {
	display: list-item;
	cursor: pointer;
	font-family: 'Seokratie-Bold', sans-serif;
	font-size: 24px;
	line-height: 1.5;
}

.seokratie-landingpage .wp-block-details[open] summary {
	margin-bottom: 20px;
}

/* Classic group rendering adds neutral div wrappers. Flatten only their boxes
 * so the original flex items, pseudo-circles and absolute arrows keep the
 * geometry and .next-steps containing block defined in style.css (also mobile).
 * The editable blocks and their semantic elements remain in the DOM. */
.seokratie-landingpage :is(.next-steps, .step-row-1, .step-row-2, .step-1, .step-2, .step-3, .step-4, .step-5, .stepnumber) > .wp-block-group__inner-container {
	display: contents;
}

.seokratie-landingpage .stepnumber > .wp-block-group__inner-container {
	font: inherit;
}

.seokratie-landingpage .stepnumber p {
	font-size: inherit !important; /* Overrides the theme's mobile p !important. */
	font-family: inherit;
	line-height: inherit;
	margin: 0;
}

.seokratie-landingpage .next-steps .wp-block-image {
	margin-block-end: 0;
}

/* Existing mobile logo sections are deliberately cropped at 300px. The landing
 * page must show all logos; this is a content requirement, not a wrapper fix.
 * Grid, image sizes, gaps and breakpoints continue to come from style.css. */
.seokratie-landingpage .seokratie-ref-logos {
	max-height: none;
	overflow: visible;
}

.seokratie-landingpage [id] {
	scroll-margin-top: 120px;
}

@media (max-width: 820px) {
	.seokratie-landingpage .seokratie-landingpage__section {
		padding-block: 40px;
	}

	.seokratie-landingpage .wp-block-columns.seokratie-landingpage__cards {
		flex-direction: column;
	}

	.seokratie-landingpage .seokratie-landingpage__testimonial,
	.seokratie-landingpage .seokratie-landingpage__testimonial > .wp-block-group__inner-container {
		flex-direction: column;
	}

	.seokratie-landingpage .wp-block-details {
		padding: 20px;
	}

	.seokratie-landingpage .wp-block-table table {
		font-size: 16px;
	}

	.seokratie-landingpage .wp-block-table :is(th, td) {
		padding: 10px 6px;
	}

}
