:root {
	--lelypas-wc-navy: #121f38;
	--lelypas-wc-teal: #046784;
	--lelypas-wc-yellow: #f5ba0f;
	--lelypas-wc-soft: #f4f8f9;
	--lelypas-wc-border: #d6e3e7;
}

/* Vastgestelde globale klikdoelen. Headernavigatie en footer blijven buiten scope. */
.elementor-element-78fcaa51 .elementor-button,
.lp-filter,
.woocommerce .return-to-shop .button,
.woocommerce .lelypas-empty-cart-secondary .button,
.error404 .search-submit,
.search .search-submit,
.lelypas-system-button {
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-family: Rubik, Arial, sans-serif !important;
}

.elementor-element-78fcaa51 .elementor-button {
	color: var(--lelypas-wc-navy) !important;
}

.elementor-element-78fcaa51 .elementor-button:focus-visible,
.lp-filter:focus-visible,
.woocommerce .button:focus-visible,
.search-submit:focus-visible,
.lelypas-system-button:focus-visible,
.single-post a:focus-visible {
	outline: 3px solid var(--lelypas-wc-yellow) !important;
	outline-offset: 3px !important;
}

/* Rustige, herkenbare systeemtemplates. */
body.page-id-5859 main#content,
body.page-id-5878 main#content,
body.page-id-5881 main#content,
body.page-id-127 main#content,
body.search main#content,
body.error404 main#content,
body.tag main#content {
	box-sizing: border-box;
	width: min(calc(100% - 32px), 860px);
	margin: 36px auto 64px;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--lelypas-wc-border);
	border-radius: 22px;
	background: #fff;
	color: var(--lelypas-wc-navy);
	font-family: Rubik, Arial, sans-serif !important;
	box-shadow: 0 14px 40px rgba(18, 31, 56, .08);
}

body.page-id-5859 main#content .page-header,
body.page-id-5878 main#content .page-header,
body.page-id-5881 main#content .page-header,
body.page-id-127 main#content .page-header {
	display: block !important;
	margin: 0 0 28px;
}

body.page-id-5859 main#content h1.entry-title,
body.page-id-5878 main#content h1.entry-title,
body.page-id-5881 main#content h1.entry-title,
body.page-id-127 main#content h1.entry-title {
	display: block !important;
	visibility: visible !important;
	margin: 0;
	color: var(--lelypas-wc-navy);
	font: 700 clamp(2rem, 5vw, 3.25rem)/1.1 Rubik, Arial, sans-serif !important;
}

body.page-id-5859 main#content .page-content,
body.page-id-5878 main#content .page-content,
body.page-id-5881 main#content .page-content,
body.page-id-127 main#content .page-content {
	max-width: 760px;
	font-family: Rubik, Arial, sans-serif !important;
	font-size: 1rem;
	line-height: 1.75;
}

body.page-id-5859 main#content .page-content *,
body.page-id-5878 main#content .page-content *,
body.page-id-5881 main#content .page-content *,
body.page-id-127 main#content .page-content *,
body.page-id-127 main#content .woocommerce * {
	font-family: Rubik, Arial, sans-serif;
}

body.page-id-5859 main#content h2,
body.page-id-5878 main#content h2,
body.page-id-5881 main#content h2,
body.page-id-127 main#content h2 {
	color: var(--lelypas-wc-teal);
	font-size: clamp(1.45rem, 4vw, 2rem);
	line-height: 1.2;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.woocommerce .return-to-shop,
.lelypas-empty-cart-secondary {
	display: inline-block;
	margin: 12px 10px 0 0;
}

.woocommerce .return-to-shop .button,
.lelypas-system-button--primary {
	border: 2px solid var(--lelypas-wc-yellow) !important;
	border-radius: 999px !important;
	background: var(--lelypas-wc-yellow) !important;
	color: var(--lelypas-wc-navy) !important;
	font-weight: 700 !important;
	padding: 10px 22px !important;
}

.woocommerce .lelypas-empty-cart-secondary .button,
.lelypas-system-button--secondary {
	border: 2px solid var(--lelypas-wc-teal) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--lelypas-wc-teal) !important;
	font-weight: 700 !important;
	padding: 10px 22px !important;
}

.lelypas-system-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.error404 .search-form,
.search .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.error404 .search-field,
.search .search-field {
	min-height: 44px;
	border: 1px solid var(--lelypas-wc-border);
	border-radius: 10px;
	font-family: Rubik, Arial, sans-serif;
}

.error404 .search-submit,
.search .search-submit {
	border: 0;
	border-radius: 10px;
	background: var(--lelypas-wc-teal);
	color: #fff;
	font-weight: 700;
	padding: 10px 18px;
}

body.search article,
body.tag article {
	margin: 20px 0;
	padding: 22px;
	border: 1px solid var(--lelypas-wc-border);
	border-radius: 16px;
	background: var(--lelypas-wc-soft);
}

body.search article h2,
body.tag article h2,
body.search article h2 a,
body.tag article h2 a {
	color: var(--lelypas-wc-navy);
	font-family: Rubik, Arial, sans-serif;
}

/* Eén gedeeld nieuwsartikelpatroon; historische inhoud zelf blijft intact. */
body.single-post [data-elementor-type="single-post"][data-elementor-id="4795"] {
	color: var(--lelypas-wc-navy);
	font-family: Rubik, Arial, sans-serif;
}

body.single-post [data-elementor-type="single-post"] [data-id="32a55e9f"] {
	background-color: var(--lelypas-wc-navy) !important;
	background-image: linear-gradient(135deg, var(--lelypas-wc-navy) 0%, var(--lelypas-wc-teal) 100%) !important;
}

body.single-post [data-elementor-type="single-post"] [data-id="f1c5065"] > .elementor-widget-container {
	border-radius: 22px !important;
	background: var(--lelypas-wc-teal) !important;
	box-shadow: 0 5px 0 var(--lelypas-wc-yellow) !important;
}

body.single-post .lelypas-article-meta {
	margin: 12px 0 0;
	color: #fff;
	font: 500 .95rem/1.5 Rubik, Arial, sans-serif;
}

body.single-post .lelypas-article-meta a {
	color: var(--lelypas-wc-yellow);
}

body.single-post [data-elementor-type="single-post"] [data-id="4872737e"] > .e-con-inner {
	display: flex !important;
	flex-direction: column;
	gap: 30px;
	width: min(calc(100% - 32px), 860px);
	max-width: 860px !important;
	margin-inline: auto;
}

body.single-post [data-elementor-type="single-post"] [data-id="2967857c"],
body.single-post [data-elementor-type="single-post"] [data-id="4bfd903"] {
	width: min(100%, 760px) !important;
	max-width: 760px !important;
	margin-inline: auto;
}

body.single-post [data-elementor-type="wp-post"] {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
	font-family: Rubik, Arial, sans-serif !important;
}

body.single-post [data-elementor-type="wp-post"] .elementor-widget-theme-post-title,
body.single-post [data-elementor-type="wp-post"] .elementor-widget-theme-post-featured-image,
body.single-post [data-elementor-type="wp-post"] .lelypas-legacy-backlink {
	display: none !important;
}

body.single-post [data-elementor-type="wp-post"] .elementor-container {
	display: block !important;
	max-width: 760px !important;
}

body.single-post [data-elementor-type="wp-post"] .elementor-column {
	width: 100% !important;
}

body.single-post [data-elementor-type="wp-post"] p,
body.single-post [data-elementor-type="wp-post"] li {
	color: var(--lelypas-wc-navy) !important;
	font: 400 1rem/1.75 Rubik, Arial, sans-serif !important;
}

body.single-post [data-elementor-type="single-post"] [data-id="4bfd903"] img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 3;
	border-radius: 18px;
	object-fit: cover;
}

body.single-post [data-elementor-type="single-post"] [data-id="7d6bb153"] .elementor-button {
	min-height: 44px;
	border-radius: 999px;
	background: var(--lelypas-wc-yellow);
	color: var(--lelypas-wc-navy);
	font-family: Rubik, Arial, sans-serif;
	font-weight: 700;
}

.single-product .lelypas-product-other-options {
	margin: 18px 0 0;
	font: 500 1rem/1.5 Rubik, Arial, sans-serif;
}

.single-product .lelypas-product-other-options a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--lelypas-wc-teal);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.single-product .lelypas-product-other-options a:hover,
.single-product .lelypas-product-other-options a:focus-visible {
	color: var(--lelypas-wc-navy);
}

@media (max-width: 600px) {
	body.page-id-5859 main#content,
	body.page-id-5878 main#content,
	body.page-id-5881 main#content,
	body.page-id-127 main#content,
	body.search main#content,
	body.error404 main#content,
	body.tag main#content {
		width: calc(100% - 20px);
		margin-top: 18px;
		padding: 22px 18px;
		border-radius: 16px;
	}

	body.page-id-5859 main#content h2,
	body.page-id-5859 main#content h2 * {
		max-width: 100%;
		overflow-wrap: anywhere !important;
		word-break: normal;
		hyphens: auto;
	}

	body.page-id-5859 main#content table {
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed;
		border-collapse: collapse;
	}

	body.page-id-5859 main#content th,
	body.page-id-5859 main#content td {
		min-width: 0 !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.lelypas-system-actions,
	.error404 .search-form,
	.search .search-form {
		flex-direction: column;
	}

	.lelypas-system-button,
	.error404 .search-submit,
	.search .search-submit {
		width: 100%;
	}
}
