/* ==========================================================================
   Synthese Modern 2 – zachte huisstijl
   Kleuren, lettertypes en basistypografie staan in theme.json.
   ========================================================================== */

:root {
	--syn-plum: var(--wp--preset--color--plum);
	--syn-plum-soft: var(--wp--preset--color--plum-soft);
	--syn-violet: var(--wp--preset--color--violet);
	--syn-teal: var(--wp--preset--color--teal);
	--syn-blue: var(--wp--preset--color--blue);
	--syn-teal-dark: var(--wp--preset--color--teal-dark);
	--syn-mist: var(--wp--preset--color--mist);
	--syn-lav: var(--wp--preset--color--lilac);
	--syn-aqua: var(--wp--preset--color--aqua);
	--syn-sky: var(--wp--preset--color--sky);
	--syn-muted: var(--wp--preset--color--muted);
	--syn-line: #e9e3f3;
	--syn-radius: 28px;
	--syn-radius-lg: 40px;
	--syn-shadow: 0 22px 50px -26px rgba(58, 26, 79, .32);
	--syn-header-h: 88px;
	--syn-grad: linear-gradient(135deg, #3fbfd0 0%, #4a8fe0 50%, #7d5cc6 100%);
	--syn-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--syn-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a48b5' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--syn-swoosh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 22' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop offset='0' stop-color='%233fbfd0'/%3E%3Cstop offset='1' stop-color='%237d5cc6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M4 16 C 80 4, 200 2, 296 12' fill='none' stroke='url(%23g)' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
	--syn-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 70 C 300 130, 520 10, 820 50 S 1260 110, 1440 40 L1440 120 L0 120Z' fill='%23fbfafd'/%3E%3C/svg%3E");
	--syn-wave-lilac: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 50 C 360 0, 720 90, 1080 40 S 1440 30, 1440 30 L1440 80 L0 80Z' fill='%23f3effa'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * + * { margin-block-start: 0; }
img { height: auto; }
:focus-visible { outline: 3px solid var(--syn-teal); outline-offset: 3px; border-radius: 8px; }
h1 strong, h2 strong, h3 strong { font-weight: 500; }
:lang(ar), :lang(fa), :lang(ur), :lang(hi), [dir="rtl"] body { font-family: var(--wp--preset--font-family--system); }
.syn-muted, .syn-muted p { color: var(--syn-muted); }

/* ==========================================================================
   Header
   ========================================================================== */
.syn-site-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .syn-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .syn-site-header { top: 46px; } }

.syn-header-main { position: relative; transition: box-shadow .3s; }
.syn-header-main::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .3s;
	background: rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: saturate(1.5) blur(16px); backdrop-filter: saturate(1.5) blur(16px);
}
.is-scrolled .syn-header-main::before { opacity: 1; }
.is-scrolled .syn-header-main { box-shadow: 0 10px 30px -24px rgba(58, 26, 79, .5); }
.syn-header-row { min-height: var(--syn-header-h); gap: 20px; }
.syn-header-main > .alignwide { max-width: 1560px !important; }
.syn-header-main .wp-block-site-logo { flex: none; }
.syn-header-main .wp-block-site-logo img { max-height: 46px; width: auto; max-width: 190px; }
.syn-header-actions { gap: 14px !important; }
.syn-header-main .wp-block-button__link { white-space: nowrap; }
.syn-header-actions .country-selector { margin: 0 !important; }

.syn-header-main .wp-block-navigation__container { gap: 2px; flex-wrap: nowrap; }
.syn-header-main .wp-block-navigation-item__content { padding: 10px 13px; border-radius: 999px; color: var(--syn-plum); white-space: nowrap; transition: background .2s; }
.syn-header-main .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { background: rgba(255, 255, 255, .8); }
.syn-header-main .current-menu-item > .wp-block-navigation-item__content,
.syn-header-main .wp-block-navigation-item__content[aria-current="page"] { background: rgba(255, 255, 255, .9); }
.syn-header-main .wp-block-navigation .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: 22px; box-shadow: var(--syn-shadow); background: #fff !important;
}
.syn-header-main .wp-block-navigation .has-child:is(:hover, :focus-within) > .wp-block-navigation__submenu-container,
.syn-header-main .wp-block-navigation .has-child > .wp-block-navigation__submenu-container[aria-hidden="false"] { min-width: 260px !important; padding: 10px; }
html, body { overflow-x: clip; }
.syn-header-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-weight: 500; border-radius: 14px; padding: 10px 14px; }
.syn-header-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--syn-lav); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 28px; background: var(--syn-mist) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 6px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; color: var(--syn-plum); }
.syn-header-main .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .85); justify-content: center; align-items: center; color: var(--syn-plum); }

@media (max-width: 1420px) {
	.syn-header-main .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.syn-header-main .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.syn-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.syn-header-main .wp-block-navigation { order: 3; }
	.syn-header-actions { margin-left: auto; }
}
@media (max-width: 1800px) { .syn-header-phone { display: none; } }
@media (max-width: 520px) { .syn-header-cta { display: none; } .syn-header-main .wp-block-site-logo img { max-height: 38px; } }

/* Hero en paginakop schuiven onder de (transparante) header */
.syn-hero, .syn-page-hero { margin-top: calc(-1 * var(--syn-header-h)) !important; }

/* ==========================================================================
   Knoppen
   ========================================================================== */
.wp-block-button__link { transition: transform .25s, background-color .25s, box-shadow .25s, color .25s; }
.wp-block-button:not([class*="is-style-syn-"]) .wp-block-button__link,
.wp-block-button.is-style-syn-arrow .wp-block-button__link { box-shadow: 0 14px 30px -14px rgba(58, 26, 79, .7); }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-syn-arrow .wp-block-button__link,
.syn-cta .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button.is-style-syn-arrow .wp-block-button__link::after,
.syn-cta .wp-block-button__link::after {
	content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: var(--syn-arrow) center / contain no-repeat; mask: var(--syn-arrow) center / contain no-repeat;
}
.wp-block-button.is-style-syn-glass .wp-block-button__link { background: rgba(255, 255, 255, .78); color: var(--syn-plum); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.wp-block-button.is-style-syn-glass .wp-block-button__link:hover { background: #fff; color: var(--syn-plum); }
.wp-block-button.is-style-syn-outline .wp-block-button__link { background: #fff; color: var(--syn-plum); box-shadow: inset 0 0 0 1.5px var(--syn-line); }
.wp-block-button.is-style-syn-outline .wp-block-button__link:hover { background: var(--syn-lav); color: var(--syn-plum); }
.wp-block-button.is-style-syn-white .wp-block-button__link { background: #fff; color: var(--syn-plum); }
.wp-block-button.is-style-syn-white .wp-block-button__link:hover { background: var(--syn-aqua); color: var(--syn-plum); }
.wp-block-button.is-style-syn-teal .wp-block-button__link { background: var(--syn-teal-dark); color: #fff; }
.wp-block-button.is-style-syn-teal .wp-block-button__link:hover { background: #155e75; }
.wp-block-button.is-style-syn-text .wp-block-button__link { background: none; color: var(--syn-plum); padding-left: 6px; padding-right: 6px; box-shadow: none; }
.wp-block-button.is-style-syn-text .wp-block-button__link:hover { transform: none; color: var(--syn-violet); }

/* ==========================================================================
   Tekststijlen
   ========================================================================== */
.is-style-syn-eyebrow { font-family: var(--wp--preset--font-family--outfit); font-size: .95rem !important; font-weight: 500; color: var(--syn-violet); letter-spacing: .03em; margin-bottom: .6rem !important; }
.is-style-syn-eyebrow + h1, .is-style-syn-eyebrow + h2 { margin-top: 0 !important; }
.syn-tag { display: table; margin-inline: auto !important; padding: 8px 16px 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .72); color: var(--syn-plum-soft); font-size: .85rem !important; font-weight: 600; }
.syn-tag::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--syn-grad); margin-right: 9px; vertical-align: 1px; }
.is-style-syn-quote { font-family: var(--wp--preset--font-family--outfit); font-size: clamp(1.3rem, 2vw, 1.65rem) !important; line-height: 1.4; color: var(--syn-plum); }
.is-style-syn-link a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--syn-plum); text-decoration: none; border-bottom: 2px solid var(--syn-teal); padding-bottom: 2px; }
.is-style-syn-link a::after { content: "→"; transition: transform .2s; }
.is-style-syn-link a:hover::after { transform: translateX(4px); }
.syn-lead { color: var(--wp--preset--color--ink); font-size: 1.2rem !important; line-height: 1.65; }

/* ==========================================================================
   Secties
   ========================================================================== */
.syn-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.syn-sheet { border-radius: var(--syn-radius-lg) var(--syn-radius-lg) 0 0; }
.syn-head { gap: 40px; margin-bottom: 46px !important; }

/* ---------- Opening (homepage) ---------- */
.syn-hero {
	position: relative; overflow: hidden; background: #f6f3fb;
	padding-top: calc(var(--syn-header-h) + clamp(60px, 9vw, 110px)) !important;
	padding-bottom: clamp(150px, 16vw, 200px) !important;
}
.syn-hero::before {
	content: ""; position: absolute; inset: -10% -10% 10%; pointer-events: none; filter: blur(70px); opacity: .85;
	background:
		radial-gradient(38% 45% at 12% 35%, #bfe9ef 0%, transparent 70%),
		radial-gradient(36% 48% at 88% 20%, #d9cff3 0%, transparent 70%),
		radial-gradient(34% 40% at 52% 72%, #cfe0fb 0%, transparent 70%);
}
.syn-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 120px; background: var(--syn-wave) bottom / 100% 100% no-repeat; pointer-events: none; }
.syn-hero > * { position: relative; z-index: 1; }
.syn-hero h1 { font-weight: 400; margin-block: 22px !important; }
.syn-hero h1 strong, .syn-page-hero h1 strong {
	white-space: nowrap; padding-bottom: .12em;
	background: var(--syn-swoosh) left bottom / 100% .32em no-repeat;
}
.syn-hero-lead { color: var(--syn-muted); font-size: 1.18rem !important; max-width: 640px; margin-inline: auto !important; margin-bottom: 30px !important; }
/* Slogan: 'eigen taal en cultuur' staat altijd op één regel met één doorlopende streep.
   Twee vaste regels: de langste ('Begrepen worden, in uw') is ~10,6× zo breed als de
   lettergrootte, dus de lettergrootte is nooit groter dan (schermbreedte − zijmarges) / 11,2. */
.syn-hero h1 { font-size: min(var(--wp--preset--font-size--xx-large), calc((100vw - 60px) / 11.2)) !important; }
.syn-hero h1 strong { display: block; width: max-content; margin-inline: auto; white-space: nowrap; }

/* Snelkeuze klachten */
.syn-quick {
	position: relative; z-index: 3; margin-top: -96px !important; background: #fff; border-radius: var(--syn-radius-lg);
	box-shadow: var(--syn-shadow); padding: 28px clamp(18px, 3vw, 34px) !important;
}
.syn-quick-label { font-family: var(--wp--preset--font-family--outfit); color: var(--syn-muted); margin-bottom: 14px !important; }
.is-style-syn-chips { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.is-style-syn-chips li { margin: 0 !important; display: inline-block; padding: 11px 18px; border-radius: 999px; background: var(--syn-lav); color: var(--syn-plum); font-weight: 600; font-size: .98rem; }
.is-style-syn-chips li:nth-child(3n+2) { background: var(--syn-aqua); }
.is-style-syn-chips li:nth-child(3n) { background: var(--syn-sky); }
.is-style-syn-chips li:has(a) { padding: 0; background: none; }
.is-style-syn-chips a { display: inline-block; padding: 11px 18px; border-radius: 999px; background: var(--syn-lav); color: var(--syn-plum); text-decoration: none; transition: background .2s, color .2s; }
.is-style-syn-chips li:nth-child(3n+2) a { background: var(--syn-aqua); }
.is-style-syn-chips li:nth-child(3n) a { background: var(--syn-sky); }
.is-style-syn-chips a:hover { background: var(--syn-plum); color: #fff; }

/* ---------- Waarom Synthese ---------- */
.syn-waarom { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.syn-tiles { margin-top: 36px !important; gap: 18px !important; }
.syn-tile { border-radius: var(--syn-radius); padding: 30px 26px !important; background: var(--syn-lav); }
.syn-tile:nth-child(2) { background: var(--syn-aqua); }
.syn-tile:nth-child(3) { background: var(--syn-sky); }
.syn-tile:nth-child(4) { background: #f7eefa; }
.syn-tile h3 { font-size: 1.2rem; margin: 0; }
.wp-block-image.syn-round-icon { width: 54px; height: 54px; border-radius: 50%; background: #fff; display: grid; place-items: center; margin: 0 0 22px !important; }
.wp-block-image.syn-round-icon img { width: 24px !important; height: 24px !important; }

/* ---------- Missie ---------- */
.syn-split { gap: clamp(32px, 6vw, 72px) !important; }
.wp-block-image.is-style-syn-blob {
	aspect-ratio: 1 / 1; overflow: hidden; margin: 0;
	border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%;
	background: linear-gradient(145deg, #e7f6f9, #efe9fa);
}
.wp-block-image.is-style-syn-blob img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.syn-soft-card { background: var(--syn-aqua); border-radius: var(--syn-radius); padding: 26px 28px !important; margin-top: 30px !important; }
.syn-soft-card h3 { margin-top: 0; font-size: 1.15rem; }
.syn-soft-card > * + * { margin-top: 10px !important; }

/* ---------- Klachtenoverzicht ---------- */
.syn-klachten { gap: 18px !important; }
.is-style-syn-spec {
	position: relative; display: flex; flex-direction: column; border-radius: var(--syn-radius); padding: 28px !important;
	background: var(--syn-mist); transition: background .3s, transform .3s;
}
.has-lilac-background-color .is-style-syn-spec { background: #fff; }
.is-style-syn-spec:hover { background: var(--syn-lav); transform: translateY(-4px); }
.is-style-syn-spec > * { margin-block: 0 !important; }
.is-style-syn-spec > * + * { margin-block-start: 12px !important; }
.is-style-syn-spec h3 { font-size: 1.3rem; }
.is-style-syn-spec p:not(.is-style-syn-link) { color: var(--syn-muted); font-size: .96rem; flex: 1; }
.is-style-syn-spec .is-style-syn-link { margin-top: auto !important; padding-top: 12px; }
.is-style-syn-spec .is-style-syn-link a { border-bottom: 0; }
.is-style-syn-spec .is-style-syn-link a::before { content: ""; position: absolute; inset: 0; }
.wp-block-image.syn-dot { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; margin: 0 0 14px !important; background: linear-gradient(135deg, #3fbfd0, #4a8fe0); }
.wp-block-image.syn-dot img { width: 22px !important; height: 22px !important; }
.syn-klachten > :nth-child(4n+2) .syn-dot { background: linear-gradient(135deg, #4a8fe0, #7d5cc6); }
.syn-klachten > :nth-child(4n+3) .syn-dot { background: linear-gradient(135deg, #7d5cc6, #b58ad8); }
.syn-klachten > :nth-child(4n+4) .syn-dot { background: linear-gradient(135deg, #6fd0c5, #3fbfd0); }

/* ---------- Route ---------- */
.syn-route { background: linear-gradient(180deg, #fff 0%, var(--syn-mist) 100%); }
.syn-steps { position: relative; margin-top: 50px !important; max-width: 900px; margin-inline: auto !important; }
.syn-steps::before { content: ""; position: absolute; left: 17%; right: 17%; top: 40px; height: 2px; background: repeating-linear-gradient(90deg, #c9bfe0 0 10px, transparent 10px 20px); }
.syn-step { position: relative; text-align: center; }
.wp-block-image.syn-step-icon { width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 18px !important; display: grid; place-items: center; background: #fff; box-shadow: var(--syn-shadow); }
.wp-block-image.syn-step-icon img { width: 30px !important; height: 30px !important; }
.syn-step-last .syn-step-icon { background: #fff; box-shadow: 0 0 0 3px #efe9fa, var(--syn-shadow); }
.wp-block-image.syn-step-zwaan img { width: auto !important; height: 36px !important; }
.syn-step h3 { font-size: 1.2rem; margin: 0; }
.syn-route-text { max-width: 720px; margin: 46px auto 26px !important; font-size: 1.12rem; color: var(--syn-muted); }
.syn-route-text strong { color: var(--syn-plum); }
@media (max-width: 600px) { .syn-steps::before { display: none; } }

/* ---------- Talen ---------- */
.syn-langs { position: relative; overflow: hidden; border-radius: var(--syn-radius-lg); padding: clamp(56px, 7vw, 84px) clamp(22px, 5vw, 60px) !important; }
.syn-langs > *:not(.syn-greet) { position: relative; z-index: 1; }
.syn-greet { position: absolute; inset: 0; pointer-events: none; }
.syn-greet span { position: absolute; font-family: var(--wp--preset--font-family--outfit); font-weight: 500; color: var(--syn-plum); opacity: .07; white-space: nowrap; line-height: 1; }
.syn-greet span:lang(ar), .syn-greet span:lang(fa), .syn-greet span:lang(ur), .syn-greet span:lang(hi) { font-family: var(--wp--preset--font-family--system); }
.syn-langs-words { font-family: var(--wp--preset--font-family--outfit); font-weight: 400; color: var(--syn-plum); font-size: clamp(1.6rem, 3.3vw, 2.7rem) !important; line-height: 1.5; margin-block: 12px 18px !important; }
.syn-langs-words strong { font-weight: 500; }
@media (max-width: 900px) { .syn-greet span { font-size: 38px !important; } }
.syn-home-talen { margin-top: var(--wp--preset--spacing--40) !important; }

/* ---------- Oproep ---------- */
.syn-cta { position: relative; overflow: hidden; border-radius: var(--syn-radius-lg); padding: clamp(40px, 5vw, 58px) clamp(26px, 5vw, 64px) !important; gap: 26px !important; }
.syn-cta::after { content: ""; position: absolute; width: 440px; height: 440px; border-radius: 50%; right: -90px; top: -170px; background: radial-gradient(circle, rgba(63, 191, 208, .5), transparent 65%); pointer-events: none; }
.syn-cta > * { position: relative; z-index: 1; }
.syn-cta h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 0 0 6px; }
.syn-cta p { color: #dccfe9; font-size: 1.12rem; margin: 0; }
.syn-cta p a { color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; }
.syn-home-cta { margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: var(--wp--preset--spacing--60) !important; }
.syn-page-cta { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--70); }

/* ==========================================================================
   Paginakop (alle gewone pagina's)
   ========================================================================== */
.syn-page-hero {
	position: relative; overflow: hidden; background: #f6f3fb;
	padding-top: calc(var(--syn-header-h) + clamp(40px, 6vw, 70px)) !important;
	padding-bottom: clamp(90px, 10vw, 130px) !important;
}
.syn-page-hero::before {
	content: ""; position: absolute; inset: -20% -10% 0; pointer-events: none; filter: blur(70px); opacity: .8;
	background:
		radial-gradient(40% 60% at 8% 40%, #bfe9ef 0%, transparent 70%),
		radial-gradient(40% 70% at 92% 20%, #d9cff3 0%, transparent 70%);
}
.syn-page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 90px; background: var(--syn-wave) bottom / 100% 100% no-repeat; pointer-events: none; }
.syn-page-hero > * { position: relative; z-index: 1; }
.syn-page-hero .wp-block-post-title { margin: 0; font-size: clamp(2.3rem, 5vw, 3.8rem); font-weight: 400; }
.syn-page-sub { margin: 0 0 10px !important; }

/* ==========================================================================
   Inhoudspagina's (omgezette WPBakery-inhoud)
   ========================================================================== */
.syn-page-content { padding-top: var(--wp--preset--spacing--40) !important; }
.syn-page-content > * + * { margin-block-start: 1.15rem; }
.syn-page-content h2 { margin-top: 2.6rem; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.syn-page-content h3 { margin-top: 1.9rem; }
.syn-page-content .syn-section h2:first-child,
.syn-page-content .is-style-syn-card h2:first-child,
.syn-page-content .is-style-syn-card h3:first-child,
.syn-page-content .is-style-syn-spec h3 { margin-top: 0; }
.syn-page-content p, .syn-page-content li { font-size: 1.06rem; }
.syn-page-content ul.wp-block-list:not(.is-style-syn-chips), .syn-page-content ol.wp-block-list { padding-left: 1.3em; }
.syn-page-content ul.wp-block-list li::marker { color: var(--syn-teal); }
.syn-page-content ol.wp-block-list li::marker { color: var(--syn-violet); font-weight: 700; }
.syn-page-content li + li { margin-top: .4em; }
.syn-page-content a:not(.wp-block-button__link) { text-underline-offset: 3px; text-decoration-thickness: 1px; }
.syn-page-content .is-style-syn-link a, .syn-page-content .is-style-syn-spec a { text-decoration: none; }
.syn-page-content .wp-block-image img { border-radius: var(--syn-radius); }
.syn-page-content > .wp-block-columns { gap: 40px; }
.syn-page-content .wp-block-columns { margin-top: 1.5rem; }
.syn-page-content > .alignfull.syn-section { margin-top: var(--wp--preset--spacing--60); }
.syn-page-content > .alignfull.syn-section:first-child { margin-top: 0; }
.syn-page-content > .alignfull.syn-section:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--70)); }
.syn-page-content .syn-lead { font-family: var(--wp--preset--font-family--outfit); font-weight: 400; font-size: clamp(1.25rem, 2vw, 1.5rem) !important; color: var(--syn-plum); line-height: 1.45; }
.syn-page-content .syn-lead strong { font-weight: 400; }

/* Kaarten in inhoud */
.is-style-syn-card, .is-style-syn-card-plum { border-radius: var(--syn-radius); padding: 30px !important; }
.is-style-syn-card { background: var(--syn-lav); }
.is-style-syn-card-plum { background: var(--syn-plum); color: #fff; }
.is-style-syn-card-plum :where(h1, h2, h3, h4, p, a) { color: #fff; }
.is-style-syn-card > *, .is-style-syn-card-plum > * { margin-block: 0; }
.is-style-syn-card > * + *, .is-style-syn-card-plum > * + * { margin-block-start: 12px; }
.syn-card-lg { padding: clamp(26px, 4vw, 42px) !important; height: 100%; background: #fff; box-shadow: var(--syn-shadow); }
.syn-aside { background: var(--syn-aqua); }
.syn-aside h2, .syn-aside h3, .syn-aside h4 { font-size: 1.2rem !important; margin-top: 0 !important; }
.syn-aside li { font-size: .98rem !important; }
.syn-step-card { background: #fff; box-shadow: var(--syn-shadow); }
.syn-step-number {
	width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; margin: 0 !important;
	background: var(--syn-grad); color: #fff !important; font-weight: 700; font-size: 1.05rem !important;
}
.syn-step-card h3 { margin-top: 16px !important; font-size: 1.15rem; }
.syn-step-card p:not(.syn-step-number) { font-size: .98rem !important; color: var(--syn-muted); }
.wp-block-group.is-layout-grid > .is-style-syn-spec, .wp-block-group.is-layout-grid > .is-style-syn-card { height: 100%; }

/* Iconen in kaarten (omgezette overzichtspagina's) */
.wp-block-image.is-style-syn-icon, .wp-block-image.is-style-syn-icon-teal, .wp-block-image.is-style-syn-icon-dark {
	width: 50px; height: 50px; border-radius: 50%; margin: 0 0 8px !important; display: grid; place-items: center; background: #fff;
}
.wp-block-image.is-style-syn-icon-dark { background: rgba(255, 255, 255, .14); }
.wp-block-image.is-style-syn-icon img, .wp-block-image.is-style-syn-icon-teal img, .wp-block-image.is-style-syn-icon-dark img { width: 24px !important; height: 24px !important; }
.syn-icon-sm.wp-block-image { width: 44px; height: 44px; }
.syn-icon-lg.wp-block-image { width: 64px; height: 64px; margin-inline: auto !important; }
.wp-block-image.is-style-syn-rounded img { border-radius: var(--syn-radius); }

/* Melding */
.syn-note { background: var(--syn-sky); border-radius: 22px; padding: 22px 26px !important; }
.syn-note > * { margin: 0 !important; }
.syn-note > * + * { margin-top: 8px !important; }
.syn-panel { background: var(--syn-lav); border-radius: var(--syn-radius-lg); padding: clamp(24px, 4vw, 44px) !important; }

/* Uitklapblokken */
.wp-block-details { background: #fff; border-radius: 20px; padding: 0; margin-block: 10px !important; overflow: hidden; box-shadow: 0 1px 0 var(--syn-line), 0 12px 30px -28px rgba(58, 26, 79, .5); transition: box-shadow .25s; }
.wp-block-details[open] { box-shadow: var(--syn-shadow); }
.wp-block-details summary { list-style: none; cursor: pointer; padding: 19px 60px 19px 24px; position: relative; font-family: var(--wp--preset--font-family--outfit); font-weight: 500; color: var(--syn-plum); font-size: 1.1rem; line-height: 1.4; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: var(--syn-lav) var(--syn-plus) center / 13px no-repeat; transition: transform .25s; }
.wp-block-details[open] > summary::after { transform: rotate(45deg); }
.wp-block-details summary:hover { background: var(--syn-mist); }
.wp-block-details > :not(summary) { padding-inline: 24px; }
.wp-block-details > :last-child { padding-bottom: 22px; }
.syn-accordion { margin-top: 1rem; }

/* Tabellen */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: separate; border-spacing: 0; width: 100%; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 1px 0 var(--syn-line); }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--syn-line); padding: 13px 18px; text-align: left; vertical-align: top; }
.wp-block-table tr:last-child td { border-bottom: 0; }
.wp-block-table table:not(:has(thead)) tr:first-child td { background: var(--syn-lav); color: var(--syn-plum); font-weight: 700; }
.wp-block-table thead th { background: var(--syn-lav); color: var(--syn-plum); font-family: var(--wp--preset--font-family--outfit); font-weight: 500; border-bottom: 0; }

/* Scores (cliëntervaringen) */
.syn-scores { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.syn-scores li { margin: 0 !important; background: var(--syn-lav); border-radius: 18px; padding: 16px 20px; font-weight: 600; color: var(--syn-plum); }

.syn-page-content iframe { width: 100%; min-height: 360px; border: 0; border-radius: var(--syn-radius); }

/* ==========================================================================
   Footer
   ========================================================================== */
.syn-footer { position: relative; margin-top: 80px; padding-top: 70px !important; color: var(--syn-muted); font-size: .98rem; }
.syn-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -79px; height: 80px; background: var(--syn-wave-lilac) bottom / 100% 100% no-repeat; pointer-events: none; }
.syn-footer :where(p, li) { color: var(--syn-muted); }
.syn-footer h4, .syn-footer .wp-block-heading { font-family: var(--wp--preset--font-family--outfit); color: var(--syn-plum); font-size: 1.05rem; font-weight: 500; margin-bottom: 14px; }
.syn-footer a { color: var(--syn-muted); text-decoration: none; }
.syn-footer a:hover { color: var(--syn-plum); }
.syn-footer ul { list-style: none; padding: 0; display: grid; gap: 9px; }
.syn-footer .syn-footer-logo img { max-height: 54px; width: auto; }
.syn-footer .syn-keurmerk img { background: #fff; border-radius: 18px; padding: 10px; max-width: 120px; }
.syn-footer-crisis { margin-top: 50px !important; }
.syn-footer-bottom { font-size: .88rem; border-top: 1px solid #e3dbef; }

/* Crisisinformatie */
.syn-crisis-card { background: #fff4ee; border-radius: var(--syn-radius); padding: 22px 26px !important; gap: 16px !important; }
.syn-crisis-icon { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; margin: 0 !important; background: #ffe6db; color: #a3401a !important; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; }
.syn-crisis-title { font-size: 1.05rem !important; margin: 0 0 4px !important; color: #8a3413 !important; font-weight: 500; }
.syn-crisis-body p { color: #5c4a42 !important; font-size: .96rem; margin: 0; }
.syn-crisis-body a { color: #8a3413 !important; font-weight: 700; text-decoration: underline !important; }
.syn-page-content .syn-crisis-card { margin-top: 1.5rem; background: #fff4ee; }

/* ==========================================================================
   Mobiele actiebalk
   ========================================================================== */
.syn-mobile-bar { display: none !important; }
@media (max-width: 781px) {
	.syn-mobile-bar {
		display: flex !important; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 90;
		background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
		border-radius: 999px; padding: 6px !important; box-shadow: 0 16px 36px -14px rgba(58, 26, 79, .4);
		padding-bottom: max(6px, env(safe-area-inset-bottom)) !important;
	}
	.syn-mobile-bar .wp-block-button { flex: 1; }
	.syn-mobile-bar .wp-block-button__link { width: 100%; justify-content: center; padding: 12px 10px !important; }
	body { padding-bottom: 84px; }
	.syn-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
}

/* ==========================================================================
   Editor: vaste/overlappende elementen gewoon tonen
   ========================================================================== */
.editor-styles-wrapper .syn-mobile-bar { display: flex !important; position: static; }
.editor-styles-wrapper .syn-hero, .editor-styles-wrapper .syn-page-hero { margin-top: 0 !important; }
.editor-styles-wrapper .syn-quick { margin-top: 20px !important; }
.editor-styles-wrapper .is-style-syn-spec:hover { transform: none; }

/* ==========================================================================
   Rustige verschijn-animatie (alleen als JS actief is)
   ========================================================================== */
.syn-js .syn-reveal { opacity: 1; transform: none; }
.syn-js .syn-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
	.syn-js .syn-reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   Onze werkwijze: tijdlijn (stappen worden automatisch genummerd)
   ========================================================================== */
.syn-timeline { counter-reset: stap; position: relative; margin-top: var(--wp--preset--spacing--50) !important; padding-left: 64px; }
.syn-timeline::before { content: ""; position: absolute; left: 21px; top: 10px; bottom: 10px; width: 2px; background: repeating-linear-gradient(180deg, #c9bfe0 0 8px, transparent 8px 16px); }
.syn-timeline > h2, .syn-timeline > h3 { counter-increment: stap; position: relative; margin-top: 2.4rem !important; font-size: clamp(1.35rem, 2.2vw, 1.7rem); }
.syn-timeline > h2:first-child, .syn-timeline > h3:first-child { margin-top: 0 !important; }
.syn-timeline > h2::before, .syn-timeline > h3::before {
	content: counter(stap); position: absolute; left: -64px; top: -4px; width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center; background: #fff; color: var(--syn-plum); font-size: 1rem; font-weight: 600;
	box-shadow: 0 0 0 4px var(--syn-mist), var(--syn-shadow);
}
.syn-timeline > h2:last-of-type::before, .syn-timeline > h3:last-of-type::before { background: var(--syn-plum); color: #fff; }

/* Exclusies (gedeeld onderdeel) */
.syn-exclusie .wp-block-details { background: #fff; border: 1.5px solid #ddd0ef; box-shadow: 0 18px 40px -30px rgba(58, 26, 79, .35); }
.syn-exclusie .wp-block-details summary:hover { background: #ebe4f6; }
.syn-page-content > .wp-block-template-part { margin-top: 1.5rem; }

/* Wachttijden-tabel */
.syn-wachttijden { margin-top: 1.8rem !important; margin-bottom: 0 !important; }
.syn-wachttijden table { table-layout: auto; box-shadow: 0 22px 50px -34px rgba(58, 26, 79, .35); }
.syn-wachttijden th, .syn-wachttijden td { padding: 16px 22px; vertical-align: middle; }
.syn-wachttijden th { font-size: 1rem; }
.syn-wachttijden td:first-child { font-weight: 600; color: var(--syn-plum); }
.syn-wachttijden tbody tr:hover td { background: var(--syn-mist); }
.syn-wachttijden td { color: var(--syn-muted); }
mark.syn-badge { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--syn-aqua); color: var(--syn-teal-dark); font-weight: 600; font-size: .92rem; white-space: nowrap; }
mark.syn-badge-stop { background: #efe8f8; color: var(--syn-plum); }
.syn-table-note { font-size: .92rem !important; margin-top: 12px !important; }
.syn-table-note::before { content: "↻ "; color: var(--syn-violet); }
@media (max-width: 600px) { .syn-wachttijden th, .syn-wachttijden td { padding: 12px 12px; font-size: .92rem; } }

/* ==========================================================================
   Wachtlijstbemiddeling: A–Z en kaarten per verzekeraar
   ========================================================================== */
.syn-az { justify-content: center; margin-top: 1rem !important; gap: 8px; }
.syn-az a { padding: 8px 14px; font-size: .9rem; }
.syn-verzekeraar {
	background: #fff; border-radius: var(--syn-radius); padding: 24px 26px !important; height: 100%;
	display: flex; flex-direction: column; scroll-margin-top: calc(var(--syn-header-h) + 24px);
	transition: box-shadow .3s, transform .3s;
}
.syn-verzekeraar > * { margin: 0 !important; }
.syn-verzekeraar > * + * { margin-top: 10px !important; }
.syn-verzekeraar h3 { font-size: 1.2rem; }
.syn-verzekeraar p { font-size: .96rem !important; color: var(--syn-muted); }
.syn-groep { font-family: var(--wp--preset--font-family--outfit); font-size: .82rem !important; font-weight: 500; letter-spacing: .04em; color: var(--syn-violet) !important; }
.syn-verzekeraar a[href^="tel:"] {
	display: inline-flex; align-items: center; gap: 6px; margin: 2px 0; padding: 6px 13px; border-radius: 999px;
	background: var(--syn-aqua); color: var(--syn-teal-dark); font-weight: 700; text-decoration: none !important; white-space: nowrap;
}
.syn-verzekeraar a[href^="tel:"]::before { content: "☎"; font-size: .9em; }
.syn-verzekeraar a[href^="tel:"]:hover { background: var(--syn-plum); color: #fff; }
.syn-verzekeraar:target { box-shadow: 0 0 0 3px var(--syn-teal), var(--syn-shadow); transform: translateY(-2px); }

/* ==========================================================================
   Brede pagina's met leesbare tekstbreedte
   De pagina is 1180px breed (gelijk aan de titel); lopende tekst blijft
   links uitgelijnd op maximaal ~80 tekens per regel.
   ========================================================================== */
.syn-page-content.is-layout-constrained > :where(p, h2, h3, h4, ul, ol, .wp-block-details, .syn-accordion, .syn-note, .wp-block-table, .wp-block-template-part:not(.alignwide):not(.alignfull), .syn-card-lg, .syn-timeline, .wp-block-buttons, .wp-block-image),
.syn-page-content .syn-section.is-layout-constrained > :where(p, h2, h3, h4, ul, ol, .wp-block-details, .syn-accordion, .syn-note, .wp-block-table, .wp-block-template-part:not(.alignwide):not(.alignfull), .wp-block-buttons) {
	max-width: 820px !important; margin-left: auto !important; margin-right: auto !important;
}
.syn-page-content.is-layout-constrained > .syn-lead { max-width: 900px !important; }
.syn-page-content .wp-block-table.syn-wachttijden { max-width: 900px !important; }

/* Contact */
.syn-contact-tile { background: var(--syn-lav); border-radius: var(--syn-radius); padding: 26px !important; height: 100%; }
.syn-contact-tile:nth-child(2) { background: var(--syn-aqua); }
.syn-contact-tile:nth-child(3) { background: var(--syn-sky); }
.syn-contact-tile:nth-child(4) { background: #f7eefa; }
.syn-contact-tile > * { margin: 0 !important; }
.syn-contact-tile > * + * { margin-top: 10px !important; }
.syn-contact-tile h3 { font-size: 1.05rem; margin-top: 16px !important; }
.syn-contact-tile p { color: var(--wp--preset--color--ink); font-size: 1.02rem !important; }
.syn-contact-tile a { font-weight: 600; }
.syn-contact-cols { margin-top: var(--wp--preset--spacing--60) !important; gap: clamp(28px, 5vw, 64px) !important; }
.syn-contact-cols h2 { margin-top: 0 !important; }
.syn-map { border-radius: var(--syn-radius); overflow: hidden; background: var(--syn-lav); min-height: 300px; box-shadow: var(--syn-shadow); }
.syn-map iframe, .syn-map .wpb_map_wraper { display: block; width: 100% !important; min-height: 320px; border: 0; border-radius: 0 !important; margin: 0 !important; }
.syn-location-card { background: #fff; border-radius: var(--syn-radius); padding: 26px 28px !important; margin-top: 18px !important; box-shadow: var(--syn-shadow); }
.syn-location-card > * { margin: 0 !important; }
.syn-location-card > * + * { margin-top: 8px !important; }
.syn-location-card h2, .syn-location-card h3 { font-size: 1.3rem !important; }
.syn-location-card h3 + h4, .syn-location-card h2 + h3, .syn-location-card h4 { font-size: 1rem !important; color: var(--syn-muted); font-weight: 500; }
.syn-contact-overig { margin-top: var(--wp--preset--spacing--50) !important; font-size: .9rem !important; }
/* Contact: volgorde vragen + crisis → gegevens + kaart */
.syn-page-content > .wp-block-template-part .syn-crisis-card { margin-top: 1.25rem; }
.syn-contact-cols { margin-top: var(--wp--preset--spacing--50) !important; align-items: stretch !important; }
.syn-contact-cols > .wp-block-column { display: flex; flex-direction: column; }
.syn-contact-overig-tile { margin-top: 18px !important; background: #fff !important; box-shadow: var(--syn-shadow); }
.syn-contact-cols .syn-map { flex: 1; min-height: 360px; }
.syn-contact-cols .syn-map .wpb_map_wraper, .syn-contact-cols .syn-map iframe { height: 100% !important; min-height: 360px; }
/* Contact: bovenste blok over de volle breedte, gelijk met gegevens en kaart */
.syn-contact-top > h2 { margin-top: 0 !important; }
.syn-contact-top > * + * { margin-top: 1rem; }
.syn-contact-top .syn-crisis-card { margin-top: 1.25rem; }

/* ==========================================================================
   Centrale uitlijning
   ========================================================================== */
/* Paginatitel en ondertitel in het midden */
.syn-page-hero .wp-block-post-title, .syn-page-hero .syn-page-sub { text-align: center; }
.syn-page-hero .syn-page-sub { display: block; }

/* Koppen en korte intro's direct boven een raster of gedeeld onderdeel: gecentreerd */
.syn-page-content :is(h2, h3):has(+ .is-layout-grid),
.syn-page-content :is(h2, h3):has(+ p + .is-layout-grid),
.syn-page-content p:has(+ .is-layout-grid),
.syn-section > :is(h2, h3):has(+ .wp-block-template-part),
.syn-section > :is(h2, h3):has(+ .is-layout-grid),
.syn-section > :is(h2, h3):has(+ p + .is-layout-grid),
.syn-section > p:has(+ .is-layout-grid) { text-align: center; }

/* Kolommen en kaarten binnen de inhoud netjes centreren */
.syn-page-content .wp-block-columns { justify-content: center; }
.syn-page-content > .wp-block-buttons, .syn-section > .wp-block-buttons { justify-content: center; }
/* Klikbare kaarten: wit met zachte schaduw; op een witte achtergrond juist zacht grijs-lila */
.is-style-syn-spec { background: #fff; box-shadow: 0 18px 40px -30px rgba(58, 26, 79, .35); }
.syn-sheet .is-style-syn-spec, .has-white-background-color .is-style-syn-spec { background: var(--syn-mist); box-shadow: none; }
.is-style-syn-spec:hover { background: var(--syn-lav); }
/* Klachtpagina's: intro en kolommen even breed en gecentreerd */
.syn-page-content.syn-klacht-content.is-layout-constrained > :is(.syn-lead, .wp-block-columns) { max-width: 1060px !important; margin-left: auto !important; margin-right: auto !important; }

/* ==========================================================================
   Overzicht en gebruiksgemak (desktop, tablet, telefoon)
   ========================================================================== */
/* Pagina's met een zijkolom: tekst even breed als de kolommen, zodat alles recht boven elkaar staat */
.syn-page-content.is-layout-constrained:has(> .wp-block-columns) > :where(p, h2, h3, h4, ul, ol, .wp-block-details, .syn-accordion, .syn-note, .wp-block-buttons, .wp-block-columns) {
	max-width: 1060px !important; margin-left: auto !important; margin-right: auto !important;
}

/* Links in paarse blokken (o.a. documentpagina's) altijd goed leesbaar */
.syn-cta a:not(.wp-block-button__link) { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
.syn-cta :is(h1, h2, h3, h4) a { font-weight: 500; }

/* Extern formulier (verwijzers) */
.syn-page-content iframe.syn-formulier { min-height: 2600px; border-radius: var(--syn-radius); background: #fff; box-shadow: var(--syn-shadow); }

/* Tablet */
@media (max-width: 1024px) {
	.syn-page-content > .wp-block-columns { gap: 28px; }
	.syn-contact-cols { flex-wrap: wrap !important; }
	.syn-contact-cols > .wp-block-column { flex-basis: 100% !important; }
}

/* Telefoon */
@media (max-width: 781px) {
	.syn-page-hero { padding-top: calc(var(--syn-header-h) + 26px) !important; padding-bottom: 70px !important; }
	.syn-page-hero .wp-block-post-title { font-size: clamp(2rem, 9vw, 2.6rem); }
	.syn-page-hero::after { height: 50px; }
	.syn-page-content { padding-top: 10px !important; }
	.syn-page-content .syn-lead { font-size: 1.2rem !important; }
	/* Klachtpagina: eerst 'Wat merkt u?', dan de uitleg */
	.syn-page-content .wp-block-column:has(> .syn-aside) { order: -1; }
	/* Brede tabellen horizontaal scrollbaar in plaats van samengeperst */
	.wp-block-table:not(.syn-wachttijden) table { min-width: 560px; }
	.wp-block-table { -webkit-overflow-scrolling: touch; }
	.syn-wachttijden th, .syn-wachttijden td { padding: 12px 10px; }
	mark.syn-badge { padding: 4px 9px; font-size: .85rem; }
	/* Formulier op telefoon langer */
	.syn-page-content iframe.syn-formulier { min-height: 3400px; }
	/* Kaarten compacter */
	.is-style-syn-spec, .syn-verzekeraar, .syn-contact-tile { padding: 20px !important; }
	.wp-block-details summary { padding: 16px 52px 16px 18px; font-size: 1.02rem; }
	.wp-block-details > :not(summary) { padding-inline: 18px; }
	.syn-timeline { padding-left: 52px; }
	.syn-timeline > h2::before, .syn-timeline > h3::before { left: -52px; width: 38px; height: 38px; }
	.syn-timeline::before { left: 18px; }
	.syn-cta { text-align: left; }
}

/* ==========================================================================
   PDF-lezer ([synthese_pdf])
   ========================================================================== */
.syn-page-content.is-layout-constrained > .wp-block-shortcode:has(.syn-pdf),
.syn-page-content.is-layout-constrained > :has(> .syn-pdf) { max-width: 1060px !important; margin-left: auto !important; margin-right: auto !important; }
.syn-pdf { border-radius: var(--syn-radius); overflow: hidden; background: #fff; box-shadow: var(--syn-shadow); }
.syn-pdf-bar { display: flex; align-items: center; gap: 16px; padding: 18px 22px; background: var(--syn-lav); flex-wrap: wrap; }
.syn-pdf-icon { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: #fff; color: var(--syn-plum); }
.syn-pdf-icon svg { width: 24px; height: 24px; }
.syn-pdf-title { display: flex; flex-direction: column; line-height: 1.3; flex: 1; min-width: 160px; }
.syn-pdf-title strong { font-family: var(--wp--preset--font-family--outfit); font-weight: 500; font-size: 1.15rem; color: var(--syn-plum); }
.syn-pdf-title small { color: var(--syn-muted); font-size: .88rem; }
.syn-pdf-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.syn-pdf-btn { display: inline-flex; align-items: center; padding: 11px 20px; border-radius: 999px; font-weight: 600; font-size: .95rem; text-decoration: none !important; transition: background .2s, transform .2s; }
.syn-pdf-open { background: var(--syn-plum); color: #fff !important; }
.syn-pdf-open:hover { background: var(--syn-plum-soft); transform: translateY(-1px); }
.syn-pdf-download { background: #fff; color: var(--syn-plum) !important; }
.syn-pdf-download:hover { background: var(--syn-aqua); }
.syn-pdf-frame { display: block; width: 100%; height: min(85vh, 1100px); min-height: 560px; border: 0; background: #f4f2f7; }
@media (max-width: 781px) {
	/* Telefoon: geen ingebouwde lezer (werkt daar slecht), wel grote knoppen die de PDF-lezer van de telefoon openen */
	.syn-pdf-frame { display: none; }
	.syn-pdf-bar { padding: 22px; }
	.syn-pdf-actions { width: 100%; }
	.syn-pdf-btn { flex: 1; justify-content: center; padding: 14px 16px; }
}

/* Certificaten */
.syn-cert { background: #fff; border-radius: var(--syn-radius); padding: 22px !important; box-shadow: var(--syn-shadow); text-align: center; height: 100%; }
.syn-cert .wp-block-image { margin: 0 0 14px !important; background: var(--syn-mist); border-radius: 18px; padding: 14px; }
.syn-cert .wp-block-image img { border-radius: 10px !important; max-height: 520px; width: auto; margin-inline: auto; cursor: zoom-in; }
.syn-cert h3 { font-size: 1.1rem; margin: 0 !important; }
/* PDF.js-lezer: pagina's in een scrollbaar venster */
.syn-pdf-pages {
	height: min(80vh, 1000px); overflow: auto; background: #eeebf3; padding: 18px;
	display: flex; flex-direction: column; align-items: center; gap: 16px; scroll-behavior: smooth;
}
.syn-pdf-page { width: 100%; display: flex; justify-content: center; }
.syn-pdf-page canvas { display: block; background: #fff; border-radius: 6px; box-shadow: 0 10px 30px -18px rgba(58, 26, 79, .45); max-width: none; }
.syn-pdf-status { margin: auto; color: var(--syn-muted); }
.syn-pdf.is-loaded .syn-pdf-status { display: none; }
.syn-pdf-error { display: none; margin: 0; padding: 18px 22px; background: var(--syn-lav); color: var(--wp--preset--color--ink); }
.syn-pdf.is-error .syn-pdf-error { display: block; }
.syn-pdf.is-error .syn-pdf-pages, .syn-pdf.is-error .syn-pdf-zoom { display: none; }
.syn-pdf-count { margin-left: 4px; }
.syn-pdf-count:not(:empty)::before { content: "· "; }
.syn-pdf-zoom { display: inline-flex; gap: 6px; }
.syn-pdf-zoom button {
	width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; background: #fff; color: var(--syn-plum);
	font-size: 1.3rem; font-weight: 600; line-height: 1; transition: background .2s;
}
.syn-pdf-zoom button:hover { background: var(--syn-aqua); }
@media (max-width: 781px) {
	.syn-pdf-pages { height: 72vh; padding: 10px; }
	.syn-pdf-zoom { order: 3; }
}
/* Header: verbergregels sterker dan de standaard knopweergave van WordPress */
@media (max-width: 1500px) { .syn-header-main .wp-block-buttons > .wp-block-button.syn-header-phone { display: none; } }
@media (max-width: 781px) { .syn-header-main .wp-block-buttons > .wp-block-button.syn-header-cta { display: none; } }
.syn-pdf-btn { white-space: nowrap; }
/* Telefoon: compacte overzichten, minder scrollen */
@media (max-width: 600px) {
	.syn-tiles { gap: 10px !important; }
	.syn-tile { display: flex; align-items: center; gap: 14px; padding: 16px 18px !important; }
	.syn-tile .wp-block-image.syn-round-icon { margin: 0 !important; width: 44px; height: 44px; flex: none; }
	.syn-tile h3 { font-size: 1.02rem; }

	.syn-klachten { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
	.syn-klachten .is-style-syn-spec { padding: 16px !important; }
	.syn-klachten .is-style-syn-spec h3 { font-size: 1.02rem; }
	.syn-klachten .is-style-syn-spec p:not(.is-style-syn-link) { display: none; }
	.syn-klachten .is-style-syn-spec .is-style-syn-link { padding-top: 4px; }
	.syn-klachten .is-style-syn-spec .is-style-syn-link a { font-size: .88rem; }
	.syn-klachten .wp-block-image.syn-dot { width: 38px; height: 38px; margin-bottom: 8px !important; }

	.syn-contact-tile { padding: 16px !important; }
	.syn-verzekeraar { padding: 18px !important; }
	.syn-hero-lead { font-size: 1.05rem !important; }
	.syn-quick { margin-top: -80px !important; }
}
@media (max-width: 781px) {
	.wp-block-image.is-style-syn-blob { max-width: 300px; margin-inline: auto !important; }
	.syn-split { gap: 24px !important; }
}
@media (max-width: 600px) {
	.syn-steps { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; margin-top: 30px !important; }
	.syn-steps::before { display: block; left: 16%; right: 16%; top: 30px; }
	.wp-block-image.syn-step-icon { width: 60px; height: 60px; margin-bottom: 10px !important; }
	.wp-block-image.syn-step-icon img { width: 24px !important; height: 24px !important; }
	.wp-block-image.syn-step-zwaan img { width: auto !important; height: 28px !important; }
	.syn-step h3 { font-size: .95rem; }
	.syn-route-text { font-size: 1rem; margin-top: 28px !important; }
}
/* 'Waarom Synthese': label en kop altijd gecentreerd boven de tegels */
.syn-waarom > .wp-block-group > :is(.is-style-syn-eyebrow, h2), .syn-waarom > :is(.is-style-syn-eyebrow, h2) { text-align: center; }

/* ==========================================================================
   Onze behandelmethodes
   ========================================================================== */
.syn-methode-note { margin-top: 1.5rem !important; }
.syn-methode-nav { margin-top: 1.8rem !important; margin-bottom: 1rem !important; }
.syn-page-content.is-layout-constrained > .syn-methode-nav { max-width: 1060px !important; }
.syn-methode-kop { gap: 16px !important; align-items: center !important; margin-bottom: 26px !important; scroll-margin-top: calc(var(--syn-header-h) + 24px); }
.syn-methode-kop .wp-block-image { margin: 0 !important; background: #fff !important; box-shadow: var(--syn-shadow); }
.syn-methode-kop h2 { margin: 0 !important; text-align: left !important; }
.syn-page-content .syn-section > .syn-methode-kop { max-width: 1060px; margin-left: auto !important; margin-right: auto !important; }
.syn-page-content .syn-section > .is-layout-grid:has(> .syn-methode) { max-width: 1060px; margin-left: auto !important; margin-right: auto !important; gap: 18px !important; }
.syn-methode {
	background: #fff; border-radius: var(--syn-radius); padding: 28px 30px !important; height: 100%;
	box-shadow: 0 18px 40px -30px rgba(58, 26, 79, .35); border-top: 4px solid transparent;
	background-image: linear-gradient(#fff, #fff), var(--syn-grad); background-origin: border-box; background-clip: padding-box, border-box;
}
.syn-methode > * { margin-block: 0 !important; }
.syn-methode > * + * { margin-block-start: 12px !important; }
.syn-methode h3 { font-size: 1.25rem; }
.syn-methode p { font-size: 1rem !important; color: var(--syn-muted); }
.syn-methode .syn-methode-sub { font-size: 1.02rem !important; color: var(--syn-plum); margin-top: 20px !important; }
.syn-methode ul { padding-left: 0 !important; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.syn-methode ul li { margin: 0 !important; background: var(--syn-mist); border-radius: 14px; padding: 12px 16px; font-size: .96rem !important; }
.syn-methode ul li::marker { content: none; }
.syn-methode-breed, .syn-methode:only-child { grid-column: 1 / -1; }
@media (max-width: 781px) {
	.syn-methode { padding: 22px !important; }
	.syn-methode-kop h2 { font-size: 1.5rem !important; }
	.syn-methode-nav { justify-content: flex-start; }
}

/* Therapiekaarten als linkdoel vanaf de klachtpagina's */
.syn-methode[id] { scroll-margin-top: 120px; }
.syn-methode:target { box-shadow: 0 0 0 3px var(--wp--preset--color--teal), 0 18px 40px -24px rgba(58, 26, 79, .35); }
.syn-methode:has(+ .syn-methode-breed) { grid-column: 1 / -1; }
.syn-behandel-aside { margin-top: 1.25rem; }
.syn-behandel-aside h3 { margin-top: 0; }
.syn-behandel-links { list-style: none; padding: 0; margin: 0; }
.syn-behandel-links li { margin: 0; border-top: 1px solid rgba(58, 26, 79, .1); }
.syn-behandel-links li:first-child { border-top: 0; }
.syn-behandel-links a { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .6rem 0; color: var(--wp--preset--color--plum); font-weight: 600; text-decoration: none; }
.syn-behandel-links a::after { content: "→"; color: var(--wp--preset--color--teal-dark); transition: transform .2s; }
.syn-behandel-links a:hover::after, .syn-behandel-links a:focus-visible::after { transform: translateX(4px); }
.syn-behandel-links a:hover { color: var(--wp--preset--color--violet); }

/* ------------------------------------------------------------------
 * Eén paginabreedte voor álle pagina's: tekst, kaarten, tabellen,
 * PDF-lezer en secties lijnen links en rechts op dezelfde lijn uit.
 * Volle-breedte achtergronden (alignfull) blijven volle breedte.
 * ------------------------------------------------------------------ */
:root { --syn-pagina: 1060px; }
.syn-page-content.is-layout-constrained > :not(.alignfull),
.syn-page-content .syn-section.is-layout-constrained > :not(.alignfull) {
	max-width: var(--syn-pagina) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ------------------------------------------------------------------ Voor verwijzers */
.syn-aanhef { font-family: var(--wp--preset--font-family--outfit); color: var(--wp--preset--color--teal-dark); font-weight: 600; margin-bottom: .4rem !important; }
.syn-page-content .syn-aanhef + .syn-lead { margin-top: 0 !important; margin-bottom: 1.75rem !important; }
.syn-verwijs-kaart .wp-block-buttons { margin-top: 1.5rem; gap: .75rem; }
.syn-feit { padding: 1.4rem 1.5rem !important; }
.syn-feit + .syn-feit { margin-top: 1rem !important; }
.syn-feit .wp-block-image { margin: 0 0 .6rem !important; }
.syn-feit h3 { font-size: 1.15rem !important; margin: 0 0 .35rem !important; }
.syn-feit p { margin: 0 !important; font-size: .98rem; line-height: 1.6; }
.syn-center { text-align: center; }
.syn-criteria h3 { margin-top: .5rem !important; }
.syn-criteria-lijst { list-style: none; padding-left: 0 !important; margin-top: 1rem !important; }
.syn-criteria-lijst li { position: relative; padding: .55rem 0 .55rem 2.1rem; border-top: 1px solid rgba(58, 26, 79, .08); line-height: 1.5; }
.syn-criteria-lijst li:first-child { border-top: 0; }
.syn-criteria-lijst li::before { position: absolute; left: 0; top: .5rem; width: 1.45rem; height: 1.45rem; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 700; }
.syn-criteria-in .syn-criteria-lijst li::before { content: "✓"; background: var(--syn-aqua, #e3f6f8); color: var(--wp--preset--color--teal-dark); }
.syn-criteria-ex .syn-criteria-lijst li::before { content: "✕"; background: #f3ecf7; color: var(--wp--preset--color--plum); }
.syn-card-lg.syn-verwijs-kaart { height: auto; }
.syn-verwijs-kaart h2 { font-size: clamp(1.45rem, 2.2vw, 1.8rem) !important; }
.is-style-syn-card.syn-criteria { background: #fff; box-shadow: var(--syn-shadow); padding: clamp(24px, 3vw, 36px) !important; }
.syn-criteria .syn-criteria-lijst > li { list-style: none; }
.syn-criteria .syn-criteria-lijst > li::before { display: flex; align-items: center; justify-content: center; line-height: 1; }
.syn-overleg { margin-top: 1.25rem !important; flex-wrap: nowrap !important; align-items: flex-start !important; gap: 1.1rem !important; }
.syn-overleg > .wp-block-image { flex: 0 0 auto; margin: 0 !important; }
.syn-overleg > .wp-block-group > * { margin: 0 !important; }
.syn-overleg > .wp-block-group > * + * { margin-top: .35rem !important; }
.syn-overleg h3 { font-size: 1.2rem !important; }
.syn-overleg a { font-weight: 700; text-decoration-color: rgba(255, 255, 255, .5); white-space: nowrap; }

/* ------------------------------------------------------------------ Onze werkwijze */
/* Stappenoverzicht: 2 × 2 kaarten, nummer links van de tekst */
.syn-step-card.syn-step-h { display: grid; grid-template-columns: 44px 1fr; column-gap: 20px; align-content: start; padding: 28px 30px !important; }
.syn-step-card.syn-step-h > .syn-step-number { grid-row: 1 / span 2; margin: 0 !important; }
.syn-step-card.syn-step-h > h3 { margin: 6px 0 0 !important; }
.syn-step-card.syn-step-h > p:not(.syn-step-number) { grid-column: 2; margin-top: 8px !important; }
.syn-page-content p.syn-center { color: var(--syn-muted); margin-bottom: 1.75rem !important; }

/* Tijdlijn: elke stap een kaart, verbonden door een stippellijn */
.syn-timeline-v2 { position: relative; max-width: 860px !important; margin-top: 2rem !important; }
.syn-tl-item:not(.syn-tl-laatste)::before { content: ""; position: absolute; left: 21px; top: 36px; bottom: -32px; width: 2px; background: repeating-linear-gradient(180deg, #c9bfe0 0 8px, transparent 8px 16px); }
.syn-tl-item { position: relative; display: grid; grid-template-columns: 44px 1fr; column-gap: 22px; align-items: start; }
.syn-tl-item + .syn-tl-item { margin-top: 18px !important; }
.syn-page-content p.syn-tl-nummer { position: relative; z-index: 1; width: 44px; height: 44px; margin: 14px 0 0 !important; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--syn-plum); font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 1.05rem !important; box-shadow: 0 0 0 4px var(--wp--preset--color--lilac), var(--syn-shadow); }
.syn-tl-laatste p.syn-tl-nummer { background: var(--syn-plum); color: #fff; }
.syn-tl-tekst { background: #fff; border-radius: var(--syn-radius); padding: 22px 28px !important; box-shadow: var(--syn-shadow); }
.syn-tl-tekst > * { margin: 0 !important; }
.syn-tl-tekst > * + * { margin-top: 8px !important; }
.syn-tl-tekst h3 { font-size: 1.2rem !important; }
.syn-tl-tekst p { color: var(--syn-muted); line-height: 1.7; }
@media (max-width: 781px) {
	.syn-step-card.syn-step-h { grid-template-columns: 38px 1fr; column-gap: 14px; padding: 22px !important; }
	.syn-tl-item:not(.syn-tl-laatste)::before { left: 17px; }
	.syn-tl-item { grid-template-columns: 36px 1fr; column-gap: 12px; }
	.syn-page-content p.syn-tl-nummer { width: 36px; height: 36px; font-size: .95rem !important; }
	.syn-tl-tekst { padding: 18px 18px !important; }
}
@media (max-width: 600px) {
	.syn-tl-item { display: block; }
	.syn-tl-item:not(.syn-tl-laatste)::before { display: none; }
	.syn-page-content p.syn-tl-nummer { position: relative; z-index: 2; margin: 0 0 -18px 18px !important; }
	.syn-tl-item > .syn-tl-tekst { margin-top: 0 !important; padding: 28px 20px 20px !important; }
	.syn-tl-item + .syn-tl-item { margin-top: 26px !important; }
}

/* ------------------------------------------------------------------
 * Opsommingen: overal duidelijk ingesprongen ten opzichte van de tekst.
 * Lijsten met een eigen vormgeving (chips, criteria, links…) blijven zoals ze zijn.
 * ------------------------------------------------------------------ */
:where(.syn-page-content, .wp-block-post-content) :is(ul, ol).wp-block-list:not([class*="syn-"]):not([class*="is-style-syn"]) {
	padding-left: 2.6em !important;
	margin-left: 0 !important;
}
:where(.syn-page-content, .wp-block-post-content) :is(ul, ol).wp-block-list:not([class*="syn-"]):not([class*="is-style-syn"]) > li {
	padding-left: .35em;
	margin-block: .35em;
}
:where(.syn-page-content, .wp-block-post-content) ul.wp-block-list:not([class*="syn-"]):not([class*="is-style-syn"]) > li::marker { color: var(--syn-teal); font-size: 1.15em; }

/* Vergoeding: oudere jaren samen in één ingeklapt blok */
.syn-page-content .wp-block-details.syn-oudere-jaren { margin-top: 1.5rem !important; background: transparent; box-shadow: none; border: 1.5px dashed #d6cbe8; }
.wp-block-details.syn-oudere-jaren > summary { color: var(--syn-muted); font-size: 1rem; }
.wp-block-details.syn-oudere-jaren[open] > summary { color: var(--syn-plum); }
.syn-oudere-jaren .syn-accordion .wp-block-details { box-shadow: none; border: 1px solid var(--syn-line); }
.syn-oudere-jaren .syn-accordion .wp-block-details summary { font-size: 1rem; }

/* ------------------------------------------------------------------ No-show beleid */
.syn-page-content p.syn-lead.syn-center { color: var(--syn-plum); max-width: 820px !important; margin-inline: auto !important; }
.syn-ns-feit { background: #fff; box-shadow: var(--syn-shadow); text-align: center; padding: 26px 22px !important; }
.syn-page-content p.syn-ns-getal { font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: clamp(1.8rem, 3vw, 2.3rem) !important; line-height: 1.1; margin: 0 0 6px !important; background: var(--syn-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.syn-ns-feit p:not(.syn-ns-getal) { margin: 0 !important; color: var(--syn-muted); font-size: .98rem; }
.syn-ns-afmeld { margin-top: 1.75rem !important; margin-bottom: 1.75rem !important; flex-wrap: nowrap !important; align-items: center !important; gap: 20px !important; padding: 28px 32px !important; }
.syn-ns-afmeld > .wp-block-image { flex: 0 0 auto; margin: 0 !important; align-self: flex-start; }
.syn-ns-afmeld-tekst { flex: 1 1 auto; }
.syn-ns-afmeld-tekst > * { margin: 0 !important; }
.syn-ns-afmeld-tekst > * + * { margin-top: 6px !important; }
.syn-ns-afmeld-tekst p { opacity: .92; }
.syn-ns-afmeld .wp-block-buttons { flex: 0 0 auto; margin: 0 !important; }
.syn-ns-afmeld .wp-block-button__link { background: #fff !important; color: var(--syn-plum) !important; white-space: nowrap; }
.syn-ns-kaart { background: #fff; box-shadow: var(--syn-shadow); }
.syn-ns-kaart h3 { margin-top: 14px !important; font-size: 1.2rem !important; }
.syn-ns-kaart p, .syn-ns-kaart li { color: var(--syn-muted); }
.syn-page-content .syn-section .wp-block-group.is-layout-grid + .wp-block-group.is-layout-grid { margin-top: 20px !important; }
.syn-ns-belangrijk { display: flex; flex-direction: column; justify-content: center; }
.syn-ns-belangrijk h3 { font-size: 1.3rem !important; }
@media (max-width: 781px) {
	.syn-ns-afmeld { flex-wrap: wrap !important; padding: 24px !important; }
	.syn-ns-afmeld .wp-block-buttons { width: 100%; }
}

/* ------------------------------------------------------------------ Seizoensmelding (pop-up) */
dialog.syn-melding { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 30px; background: #fff; color: var(--wp--preset--color--ink); box-shadow: 0 40px 90px -30px rgba(58, 26, 79, .55); overflow: auto; }
dialog.syn-melding::backdrop { background: rgba(43, 22, 61, .55); }
dialog.syn-melding[open] { animation: syn-melding-in .32s cubic-bezier(.2, .8, .2, 1); }
dialog.syn-melding[open]::backdrop { animation: syn-melding-fade .32s ease; }
dialog.syn-melding.is-sluiten { animation: syn-melding-uit .18s ease forwards; }
@keyframes syn-melding-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes syn-melding-uit { to { opacity: 0; transform: translateY(10px) scale(.98); } }
@keyframes syn-melding-fade { from { opacity: 0; } }
.syn-melding-kop { position: relative; height: 168px; padding-top: 18px; display: grid; place-items: center; background: linear-gradient(135deg, #eaf7f9 0%, #edf3fd 45%, #f3effa 100%); overflow: hidden; }
.syn-melding-kop::before, .syn-melding-kop::after { content: ""; position: absolute; border-radius: 50%; filter: none; opacity: .55; }
.syn-melding-kop::before { width: 220px; height: 220px; left: -60px; top: -110px; background: radial-gradient(circle, rgba(63, 191, 208, .45), transparent 70%); }
.syn-melding-kop::after { width: 240px; height: 240px; right: -70px; bottom: -150px; background: radial-gradient(circle, rgba(125, 92, 198, .4), transparent 70%); }
.syn-melding-kop img { position: relative; z-index: 1; width: auto; height: 138px; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(58, 26, 79, .18)); }
.syn-melding-sluit { position: absolute; z-index: 2; top: 14px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .85); color: var(--syn-plum); display: grid; place-items: center; cursor: pointer; }
.syn-melding-sluit svg { width: 18px; height: 18px; }
.syn-melding-sluit:hover { background: #fff; }
.syn-melding-inhoud { padding: 26px 34px 32px; text-align: center; }
.syn-melding-inhoud h2 { margin: 0 0 10px; font-family: var(--wp--preset--font-family--outfit); font-weight: 500; font-size: clamp(1.5rem, 4vw, 1.85rem); color: var(--syn-plum); line-height: 1.2; }
.syn-melding-tekst { color: var(--syn-muted); font-size: 1.02rem; line-height: 1.65; }
.syn-melding-tekst p { margin: 0 0 .7em; }
.syn-melding-tekst a { color: var(--wp--preset--color--teal-dark); font-weight: 600; }
.syn-melding-knoppen { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }
.syn-melding-knop, .syn-melding-ok { font: 600 .98rem/1 var(--wp--preset--font-family--figtree); padding: 14px 24px; border-radius: 999px; cursor: pointer; text-decoration: none; }
.syn-melding-knop { background: var(--syn-plum); color: #fff !important; box-shadow: 0 14px 28px -14px rgba(58, 26, 79, .7); }
.syn-melding-ok { background: var(--syn-lav); color: var(--syn-plum); border: 0; }
.syn-melding-knop:hover { background: #4c2766; }
.syn-melding-ok:hover { background: #e9e1f6; }
.syn-melding :focus-visible { outline: 3px solid var(--syn-teal); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { dialog.syn-melding[open], dialog.syn-melding[open]::backdrop, dialog.syn-melding.is-sluiten { animation: none; } }
.syn-melding-tekst p:last-child { margin-bottom: 0; }
.syn-melding-spoed { display: grid; gap: 10px; margin-top: 20px; text-align: left; }
.syn-melding-nummer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-radius: 18px; background: var(--syn-aqua); color: var(--wp--preset--color--ink) !important; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease; }
.syn-melding-nummer:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -16px rgba(14, 116, 144, .6); }
.syn-melding-label { font-size: .93rem; line-height: 1.45; color: var(--syn-muted); }
.syn-melding-nummer strong { flex: none; display: inline-flex; align-items: center; gap: 8px; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 1.12rem; color: var(--wp--preset--color--teal-dark); white-space: nowrap; }
.syn-melding-nummer strong svg { width: 17px; height: 17px; }
.syn-melding-nummer.is-nood { background: var(--syn-lav); }
.syn-melding-nummer.is-nood strong { font-size: 1.45rem; color: var(--syn-plum); }
@media (max-width: 480px) {
	.syn-melding-inhoud { padding: 22px 20px 26px; }
	.syn-melding-nummer { flex-direction: column; align-items: flex-start; gap: 6px; }
	.syn-melding-kop { height: 140px; }
	.syn-melding-kop img { height: 112px; }
}

/* ------------------------------------------------------------------ Huisregels */
.syn-page-content .wp-block-group.is-layout-grid:has(> .syn-regel) { margin-top: 2rem !important; }
.syn-regel { background: #fff; box-shadow: var(--syn-shadow); padding: 28px 30px !important; }
.syn-regel-kop { justify-content: space-between !important; align-items: center !important; }
.syn-regel-kop .wp-block-image { margin: 0 !important; }
.syn-page-content p.syn-regel-nr { margin: 0 !important; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 1.6rem !important; line-height: 1; background: var(--syn-grad); -webkit-background-clip: text; background-clip: text; color: transparent !important; opacity: .55; }
.syn-regel h3 { margin-top: 16px !important; font-size: 1.2rem !important; }
.syn-page-content ul.syn-regel-lijst { list-style: none; padding-left: 0 !important; margin-top: 10px !important; }
.syn-regel-lijst li { position: relative; padding: 7px 0 7px 26px; color: var(--syn-muted); font-size: .98rem; line-height: 1.6; border-top: 1px solid rgba(58, 26, 79, .07); }
.syn-regel-lijst li:first-child { border-top: 0; }
.syn-regel-lijst li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 8px; height: 8px; border-radius: 50%; background: var(--syn-teal); }
.syn-regel-slot { padding: clamp(28px, 4vw, 44px) !important; }
.syn-regel-slot h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; }
.syn-regel-slot p { opacity: .92; line-height: 1.75; }
.syn-page-content p.syn-regel-meer { margin-top: 2rem !important; }
.syn-page-content p.syn-regel-meer a { color: var(--wp--preset--color--teal-dark); font-weight: 600; }
/* Iconen op witte kaarten: gekleurde cirkel in plaats van wit-op-wit */
:is(.syn-regel, .syn-ns-kaart, .syn-criteria, .syn-verwijs-kaart, .syn-vac-rij) .wp-block-image.is-style-syn-icon { background: var(--syn-lav) !important; }
:is(.syn-regel, .syn-ns-kaart, .syn-criteria, .syn-verwijs-kaart, .syn-vac-rij) .wp-block-image.is-style-syn-icon-teal { background: var(--syn-aqua) !important; }
.syn-melding-nummer.is-113 { background: var(--syn-sky); }
.syn-melding-nummer.is-113 strong { font-size: 1.3rem; color: #2f6fc0; }
/* Iconen op de witte linkkaarten in lila secties */
.syn-section.has-lilac-background-color .is-style-syn-spec .wp-block-image.is-style-syn-icon { background: var(--syn-lav) !important; }
.syn-section.has-lilac-background-color .is-style-syn-spec .wp-block-image.is-style-syn-icon-teal { background: var(--syn-aqua) !important; }

/* ------------------------------------------------------------------ Cliënt ervaringen */
.syn-page-content p.syn-ce-datum { margin-bottom: .4rem !important; }
/* Rapportcijfer in een ring die zich vult tot het percentage */
.syn-ce-kaart { position: relative; overflow: hidden; text-align: center; padding: clamp(30px, 4vw, 46px) !important; background: radial-gradient(circle at 0% 0%, rgba(63, 191, 208, .16), transparent 45%), radial-gradient(circle at 100% 100%, rgba(125, 92, 198, .16), transparent 45%), #fff; box-shadow: var(--syn-shadow); }
.syn-page-content p.syn-ce-cijfer { position: relative; width: 190px; height: 190px; margin: 0 auto !important; display: grid; place-items: center; border-radius: 50%; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 4rem !important; line-height: 1; letter-spacing: -.03em; color: var(--syn-plum) !important; background: #fff; box-shadow: inset 0 0 0 1px rgba(58, 26, 79, .04), 0 20px 40px -28px rgba(58, 26, 79, .5); }
.syn-page-content p.syn-ce-cijfer::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, #3fbfd0 0%, #4a8fe0 calc(var(--pct, 86%) * .5), #7d5cc6 var(--pct, 86%), #ece6f6 var(--pct, 86%) 100%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 12px)); mask: radial-gradient(farthest-side, transparent calc(100% - 13px), #000 calc(100% - 12px)); }
.syn-page-content p.syn-ce-label { margin: 18px 0 0 !important; font-family: var(--wp--preset--font-family--outfit); font-size: 1.3rem !important; color: var(--syn-plum); font-weight: 500; }
.syn-page-content p.syn-ce-bron { margin: 6px 0 0 !important; font-size: .9rem !important; color: var(--syn-muted); }
.syn-page-content .wp-block-column:has(> .syn-ce-kaart) { display: flex; align-items: center; }
.syn-page-content .wp-block-column > .syn-ce-kaart { width: 100%; }

/* Scores: één resultatenpaneel, per onderwerp een rij met balk */
.syn-page-content ul.syn-scores { list-style: none; margin-top: 2rem !important; padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 56px) !important; background: #fff; border-radius: 30px; box-shadow: var(--syn-shadow); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(32px, 5vw, 72px); row-gap: 28px; }
.syn-page-content .syn-scores li { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 16px; row-gap: 10px; }
.syn-scores li::marker { content: none; }
.syn-score-label { grid-column: 1; grid-row: 1; font-weight: 600; color: var(--wp--preset--color--ink); line-height: 1.4; }
.syn-score-pct { grid-column: 2; grid-row: 1; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; font-size: 1.35rem; line-height: 1; color: var(--syn-plum); font-variant-numeric: tabular-nums; }
.syn-score-balk { grid-column: 1 / -1; grid-row: 2; position: relative; height: 10px; border-radius: 99px; background: #efeaf7; overflow: hidden; }
.syn-score-balk::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--pct, 0%); border-radius: inherit; background: linear-gradient(90deg, #3fbfd0, #4a8fe0 55%, #7d5cc6); }
@media (max-width: 781px) {
	.syn-page-content ul.syn-scores { grid-template-columns: 1fr; row-gap: 22px; }
}

.syn-ce-zorgkaart { margin-top: 2.5rem !important; border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, var(--syn-grad) border-box; box-shadow: var(--syn-shadow); flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px 40px !important; padding: clamp(26px, 4vw, 40px) !important; }
.syn-ce-zorgkaart > .wp-block-image { margin: 0 !important; flex: 0 1 260px; }
.syn-ce-zorgkaart > .wp-block-image img { width: 100%; height: auto; }
.syn-ce-zk-tekst { flex: 1 1 320px; }
.syn-ce-zk-tekst > * { margin: 0 !important; }
.syn-ce-zk-tekst .wp-block-buttons { margin-top: 14px !important; }
.syn-ce-zorgkaart > .wp-block-image.syn-ce-logo { overflow: visible; aspect-ratio: auto !important; }
.syn-ce-zorgkaart > .wp-block-image.syn-ce-logo img { width: 260px !important; max-width: 100% !important; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; border-radius: 0 !important; }

/* ------------------------------------------------------------------ Verwijzen zonder ZorgDomein */
.syn-page-content h2.syn-vz-kop { margin-top: .3rem !important; font-size: clamp(1.7rem, 3vw, 2.3rem) !important; }
.syn-vz-overleg { padding: 30px !important; }
.syn-vz-overleg h3 { margin-top: 14px !important; font-size: 1.25rem !important; }
.syn-vz-overleg a { font-weight: 700; white-space: nowrap; }
.syn-page-content .wp-block-column:has(> .syn-vz-overleg) { display: flex; align-items: center; }
.syn-vz-venster { margin-top: 2.5rem !important; background: #fff; border-radius: 30px; box-shadow: var(--syn-shadow); overflow: hidden; }
.syn-vz-balk { padding: 20px 28px !important; gap: 16px !important; align-items: center !important; flex-wrap: wrap !important; background: linear-gradient(90deg, #eaf7f9, #edf3fd 50%, #f3effa); border-bottom: 1px solid var(--syn-line); }
.syn-vz-balk > .wp-block-image { margin: 0 !important; background: #fff !important; }
.syn-vz-titels { flex: 1 1 260px; }
.syn-vz-titels > * { margin: 0 !important; }
.syn-page-content p.syn-vz-titel { font-family: var(--wp--preset--font-family--outfit); font-size: 1.15rem !important; color: var(--syn-plum); }
.syn-page-content p.syn-vz-sub { font-size: .9rem !important; color: var(--syn-muted); }
.syn-vz-balk .wp-block-buttons { margin: 0 !important; }
.syn-vz-frame { position: relative; min-height: 600px; background: #fff; }
.syn-vz-frame .syn-vz-laden { position: absolute; top: 40px; left: 0; right: 0; text-align: center; color: var(--syn-muted); margin: 0; }
.syn-vz-frame iframe.syn-formulier { position: relative; z-index: 1; display: block; width: 100% !important; max-width: none !important; border: 0; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent; }
/* Hoogte van het ePOS-formulier (gemeten met de Synthese-opmaak in ePOS, plus marge) */
.syn-vz-frame iframe.syn-formulier { height: 4300px !important; }
@media (max-width: 1000px) { .syn-vz-frame iframe.syn-formulier { height: 4600px !important; } }
@media (max-width: 640px) { .syn-vz-frame iframe.syn-formulier { height: 6900px !important; } }

/* Contact: één locatiekaart (kaart + adres + route) naast de contacttegels */
.syn-contact-cols > .wp-block-column:last-child { display: flex; }
.syn-location-card.syn-locatie { display: flex; flex-direction: column; width: 100%; margin-top: 0 !important; padding: 0 !important; overflow: hidden; }
.syn-locatie > .syn-map { position: relative; flex: 1 1 auto; min-height: 300px; margin: 0 !important; border-radius: 0; box-shadow: none; }
.syn-locatie > .syn-map iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; min-height: 0; }
.syn-locatie > .syn-locatie-tekst { margin: 0 !important; padding: 24px 28px 26px; }
.syn-locatie-tekst > * { margin: 0 !important; }
.syn-locatie-tekst > * + * { margin-top: 8px !important; }
.syn-locatie h3.syn-locatie-naam { font-size: 1.3rem !important; color: var(--syn-plum); }
.syn-page-content p.syn-locatie-adres { color: var(--wp--preset--color--ink); line-height: 1.6; }
@media (max-width: 781px) { .syn-locatie > .syn-map { min-height: 260px; } }


/* ------------------------------------------------------------------ Vacatures: rustige vacaturelijst */
.syn-vac-lijst { display: grid; gap: 14px; margin-top: 2rem !important; }
.syn-vac-rij { background: #fff; border-radius: 24px; box-shadow: 0 18px 44px -30px rgba(58, 26, 79, .45); overflow: hidden; transition: box-shadow .2s ease; }
.syn-vac-rij:hover { box-shadow: 0 24px 50px -28px rgba(58, 26, 79, .5); }
.syn-vac-rij > * { margin: 0 !important; }
.syn-vac-kop { align-items: center !important; gap: 20px !important; padding: 22px 26px !important; flex-wrap: nowrap !important; }
.syn-vac-kop > .wp-block-image { flex: none; margin: 0 !important; }
.syn-vac-naam { flex: 1 1 auto; min-width: 0; }
.syn-vac-naam > * { margin: 0 !important; }
.syn-page-content p.syn-vac-label { margin: 0 0 4px !important; font-size: .82rem !important; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--syn-violet); }
.syn-vac-rij h3.syn-vac-titel { font-size: 1.3rem !important; color: var(--syn-plum); line-height: 1.3; }
.syn-vac-kop > .wp-block-buttons { flex: none; margin: 0 !important; }
.syn-vac-kop .wp-block-button__link { white-space: nowrap; }
/* Uitklapbare functieomschrijving */
.syn-page-content .wp-block-details.syn-vac-meer { margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; border: 0 !important; border-top: 1px solid var(--syn-line) !important; background: #fcfbfe !important; }
.wp-block-details.syn-vac-meer > summary { padding: 14px 26px 14px 94px !important; font-size: .95rem !important; font-weight: 600; color: var(--syn-plum-soft, #5b3a78); }
.wp-block-details.syn-vac-meer[open] > summary { color: var(--syn-plum); }
.wp-block-details.syn-vac-meer > :not(summary) { padding-left: 94px !important; padding-right: 26px !important; max-width: none !important; }
.wp-block-details.syn-vac-meer > :last-child { padding-bottom: 24px !important; }
.syn-vac-meer h4 { margin-top: 10px !important; font-size: .82rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--syn-violet); font-family: var(--wp--preset--font-family--outfit); }
.syn-vac-meer p { color: var(--syn-muted); line-height: 1.75; max-width: 780px; }
.syn-page-content p.syn-vac-tussenkop { margin-top: 2.5rem !important; margin-bottom: -1rem !important; }

/* Open sollicitatie */
.syn-open-banner { position: relative; overflow: hidden; padding: clamp(30px, 5vw, 52px) !important; }
.syn-open-banner::after { content: ""; position: absolute; right: -120px; top: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(63, 191, 208, .35), transparent 65%); pointer-events: none; }
.syn-open-banner > * { position: relative; z-index: 1; margin: 0 !important; max-width: 760px; }
.syn-open-banner > * + * { margin-top: 12px !important; }
.syn-open-banner .is-style-syn-eyebrow { color: #a6e3ec !important; }
.syn-open-banner h2 { font-size: clamp(1.7rem, 3.2vw, 2.3rem) !important; }
.syn-open-banner p { line-height: 1.75; opacity: .93; }
.syn-open-banner .wp-block-buttons { margin-top: 24px !important; }
.syn-open-slot { max-width: 760px !important; margin: 2rem auto 0 !important; padding: clamp(24px, 4vw, 40px) !important; border-radius: 24px; background: #fff; box-shadow: var(--syn-shadow); text-align: left; }
.syn-open-slot p { color: var(--syn-plum); line-height: 1.75; }
.syn-open-slot p:last-child { font-weight: 600; }
@media (max-width: 781px) {
	.syn-vac-kop { flex-wrap: wrap !important; padding: 20px !important; gap: 14px !important; }
	.syn-vac-kop > .wp-block-buttons { width: 100%; }
	.wp-block-details.syn-vac-meer > summary { padding-left: 20px !important; }
	.wp-block-details.syn-vac-meer > :not(summary) { padding-left: 20px !important; padding-right: 20px !important; }
}
.syn-page-content .syn-section.is-layout-constrained > .syn-open-slot { max-width: 760px !important; }

/* ------------------------------------------------------------------ Missie en visie */
.syn-mv-kaart { position: relative; overflow: hidden; background: #fff; box-shadow: var(--syn-shadow); padding: clamp(28px, 4vw, 42px) !important; }
.syn-mv-kaart::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; }
.syn-mv-missie::before { background: linear-gradient(90deg, #3fbfd0, #4a8fe0); }
.syn-mv-visie::before { background: linear-gradient(90deg, #4a8fe0, #7d5cc6); }
.syn-mv-kop { align-items: center !important; gap: 16px !important; }
.syn-mv-kop .wp-block-image { margin: 0 !important; }
.syn-mv-kaart h2.syn-mv-titel { margin: 0 !important; font-size: clamp(1.8rem, 3vw, 2.3rem) !important; color: var(--syn-plum); }
.syn-mv-kaart > p { margin-top: 18px !important; color: var(--wp--preset--color--ink); line-height: 1.8; }
:is(.syn-mv-kaart) .wp-block-image.is-style-syn-icon { background: var(--syn-lav) !important; }
:is(.syn-mv-kaart) .wp-block-image.is-style-syn-icon-teal { background: var(--syn-aqua) !important; }
.syn-page-content .wp-block-column:has(> .is-style-syn-blob) { display: flex; align-items: center; justify-content: center; }
.syn-mv-feiten { margin-top: 18px !important; }
.syn-page-content ul.syn-mv-feiten { justify-content: flex-start !important; margin-left: 0 !important; }
.syn-mv-feiten li { background: #fff !important; color: var(--syn-plum) !important; box-shadow: 0 10px 24px -18px rgba(58, 26, 79, .5); }
/* Missie en visie onder elkaar: kop links, tekst rechts */
.syn-mv-stapel { display: grid; gap: 20px; }
.syn-mv-stapel > * { margin: 0 !important; }
.syn-mv-stapel .syn-mv-kaart { display: grid; grid-template-columns: 230px minmax(0, 1fr); column-gap: 40px; align-items: start; }
.syn-mv-stapel .syn-mv-kaart > p { margin-top: 0 !important; font-size: 1.05rem; }
.syn-mv-stapel .syn-mv-kop { flex-direction: column; align-items: flex-start !important; gap: 14px !important; }
@media (max-width: 781px) {
	.syn-mv-stapel .syn-mv-kaart { grid-template-columns: 1fr; row-gap: 16px; }
	.syn-mv-stapel .syn-mv-kop { flex-direction: row; align-items: center !important; }
}

/* ------------------------------------------------------------------ Samenwerking */
.syn-page-content .wp-block-group.is-layout-grid:has(> .syn-partner) { margin-top: 2rem !important; gap: 16px !important; }
.syn-partner { background: #fff; border-radius: 22px; padding: 24px 22px !important; box-shadow: 0 18px 40px -30px rgba(58, 26, 79, .45); transition: transform .2s ease, box-shadow .2s ease; }
.syn-partner:hover { transform: translateY(-2px); box-shadow: 0 24px 46px -28px rgba(58, 26, 79, .5); }
.syn-partner > * { margin: 0 !important; }
.syn-partner h3 { margin-top: 14px !important; font-size: 1.08rem !important; color: var(--syn-plum); line-height: 1.3; }
.syn-partner p { margin-top: 6px !important; font-size: .93rem !important; line-height: 1.6; color: var(--syn-muted); }
.syn-partner .wp-block-image.is-style-syn-icon { background: var(--syn-lav) !important; }
.syn-partner .wp-block-image.is-style-syn-icon-teal { background: var(--syn-aqua) !important; }
.syn-sw-cta { margin-top: 2.5rem !important; padding: 28px 32px !important; border-radius: 26px; justify-content: space-between !important; align-items: center !important; gap: 20px 32px !important; flex-wrap: wrap !important; border: 1.5px solid transparent; background: linear-gradient(#fff, #fff) padding-box, var(--syn-grad) border-box; box-shadow: var(--syn-shadow); }
.syn-sw-cta-tekst > * { margin: 0 !important; }
.syn-sw-cta-tekst h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem) !important; color: var(--syn-plum); }
.syn-sw-cta-tekst p { margin-top: 6px !important; color: var(--syn-muted); }
.syn-sw-cta .wp-block-buttons { margin: 0 !important; }
@media (max-width: 1000px) { .syn-page-content .wp-block-group.is-layout-grid:has(> .syn-partner) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ------------------------------------------------------------------ Mobiel menu: rustige uitklaplijst */
.syn-header-main .wp-block-navigation__responsive-container.is-menu-open { padding: 18px 22px 40px !important; }
.syn-header-main .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 34px !important; gap: 0 !important; }
.syn-header-main .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.syn-header-main .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid rgba(58, 26, 79, .1); }
/* Hoofditems: links uitgelijnd, grote tikvlakken, pijltje */
.syn-header-main .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; align-items: center; width: 100%;
	padding: 17px 6px !important; text-align: left;
	font-family: var(--wp--preset--font-family--outfit); font-size: 1.22rem !important; font-weight: 500; color: var(--syn-plum) !important;
}
.syn-header-main .is-menu-open .has-child > .wp-block-navigation-item__content::after {
	content: ""; flex: none; width: 9px; height: 9px; margin: -5px 6px 0 14px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); transition: transform .2s ease, margin .2s ease;
}
.syn-header-main .is-menu-open .has-child.syn-open > .wp-block-navigation-item__content::after { transform: rotate(-135deg); margin-top: 5px; }
.syn-header-main .is-menu-open .has-child.syn-open > .wp-block-navigation-item__content { color: var(--syn-violet) !important; }
.syn-header-main .is-menu-open .wp-block-navigation__submenu-icon,
.syn-header-main .is-menu-open .wp-block-navigation-submenu__toggle { display: none !important; }
/* Subitems: dicht, tot je de groep opent; geen losse blokken */
.syn-header-main .wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-container {
	display: none !important; position: static !important; width: 100% !important; min-width: 0 !important; height: auto !important;
	margin: 0 !important; padding: 0 0 14px !important; border: 0 !important; border-radius: 0 !important;
	background: transparent !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important;
}
.syn-header-main .wp-block-navigation__responsive-container.is-menu-open .has-child.syn-open > .wp-block-navigation__submenu-container { display: flex !important; flex-direction: column; gap: 2px !important; }
.syn-header-main .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.syn-header-main .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block; width: 100%; padding: 11px 16px !important; border-radius: 12px; text-align: left;
	font-size: 1.05rem !important; font-weight: 400 !important; color: var(--wp--preset--color--ink) !important;
}
.syn-header-main .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:is(:hover, :focus-visible) { background: var(--syn-lav); }
.syn-header-main .is-menu-open .current-menu-item > .wp-block-navigation-item__content { font-weight: 600 !important; color: var(--syn-plum) !important; background: var(--syn-lav); }
/* Eerste subitem dat hetzelfde heet als de groep: tonen als "Overzicht" */
.syn-header-main .is-menu-open .syn-overzicht > .wp-block-navigation-item__content { font-size: 0 !important; }
.syn-header-main .is-menu-open .syn-overzicht > .wp-block-navigation-item__content::before { content: "Overzicht"; font-size: 1.05rem; }
/* Subitems iets inspringen onder de groep (sterker dan de standaardregels van WordPress) */
.syn-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 11px 16px 11px 40px !important; margin: 0 !important; box-sizing: border-box; max-width: 100%;
}
.syn-header-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child.syn-open > .wp-block-navigation__submenu-container { padding: 0 0 14px 0 !important; }
.syn-header-main .is-menu-open .syn-huidig > .wp-block-navigation-item__content { font-weight: 600 !important; color: var(--syn-plum) !important; background: var(--syn-lav); }

/* ------------------------------------------------------------------ Oproep onderaan (gedeeld onderdeel) */
.syn-cta .syn-cta-groet { position: absolute !important; inset: 0; z-index: 0 !important; margin: 0 !important; pointer-events: none; overflow: hidden; }
.syn-cta .syn-cta-groet span { position: absolute; font-family: var(--wp--preset--font-family--outfit); font-weight: 600; line-height: 1; color: rgba(255, 255, 255, .07) !important; white-space: nowrap; }
.syn-cta .syn-cta-text { max-width: 660px; }
.syn-cta p.syn-cta-eyebrow { margin: 0 0 10px !important; font-family: var(--wp--preset--font-family--outfit); font-size: .95rem !important; font-weight: 500; letter-spacing: .03em; color: #a6e3ec !important; }
.syn-cta h2 { line-height: 1.15; margin-bottom: 12px !important; }
.syn-cta p:not(.syn-cta-eyebrow) { line-height: 1.65; }
.syn-cta .syn-cta-knoppen { gap: 12px !important; flex-wrap: wrap; }
/* Belknop: doorzichtig met telefoon-icoon, zonder pijltje */
.syn-cta .syn-cta-bel .wp-block-button__link { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); }
.syn-cta .syn-cta-bel .wp-block-button__link:hover { background: rgba(255, 255, 255, .18); color: #fff; }
.syn-cta .syn-cta-bel .wp-block-button__link::after { content: none; }
.syn-cta .syn-cta-bel .wp-block-button__link::before {
	content: ""; width: 17px; height: 17px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 781px) {
	.syn-cta .syn-cta-groet span:nth-child(n+4) { display: none; }
	.syn-cta .syn-cta-knoppen { width: 100%; }
	.syn-cta .syn-cta-knoppen .wp-block-button { flex: 1 1 100%; }
	.syn-cta .syn-cta-knoppen .wp-block-button__link { width: 100%; justify-content: center; }
}
.syn-cta .syn-cta-groet span { opacity: 1 !important; color: rgba(255, 255, 255, .09) !important; }
.syn-cta.syn-cta { flex-direction: column; align-items: flex-start !important; justify-content: center !important; }
.syn-cta .syn-cta-knoppen { margin-top: 8px !important; }
.syn-cta .syn-cta-groet { border-radius: inherit; }
@media (max-width: 1000px) { .syn-cta .syn-cta-groet { display: none; } }
/* Oproep onderaan even breed als de pagina-inhoud (1060px), zodat alle randen gelijk lopen */
.syn-cta.syn-cta { width: 100%; max-width: var(--syn-pagina, 1060px) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
/* Op de homepage is de hoofdbreedte 1180px (welkomstbalk, talen): daar even breed */
.syn-home-cta .syn-cta.syn-cta { max-width: 1180px !important; }

/* Praktische informatie dicht bij de eerste stap. */
.syn-practical-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; margin-top: 20px !important; }
.syn-practical-links a { color: var(--syn-plum); text-underline-offset: 4px; }
.syn-practical-links a { font-size: .95rem; font-weight: 600; }
.syn-registration-steps { padding-inline-start: 24px; }
.syn-registration-steps li { padding-inline-start: 6px; margin-block: 16px; }
.syn-registration-steps strong { display: block; color: var(--syn-plum); }
.syn-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1050px) { .syn-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) {
 .syn-header-main .wp-block-site-logo img { max-width: 150px; }
 .syn-header-row { gap: 10px; }
 .syn-header-actions { margin-left: auto; gap: 8px !important; }
 .syn-practical-links { gap: 12px; }
 .syn-tiles { grid-template-columns: 1fr !important; }
}

/* Leesbare partnerkaarten en toelichtingen op kleine schermen. */
@media (max-width: 600px) {
 .syn-page-content .wp-block-group.is-layout-grid:has(> .syn-partner) { grid-template-columns: 1fr !important; }
 .syn-tile:has(> p) { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 6px 14px; }
 .syn-tile:has(> p) .syn-round-icon { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
 .syn-tile:has(> p) h3 { grid-column: 2; margin: 0 !important; }
 .syn-tile:has(> p) p { grid-column: 2; margin: 0 !important; }
}

/* Taalkeuze onder de links in het mobiele menu. */
.syn-menu-language { display: none; }
@media (max-width: 1420px) {
 .syn-header-actions .country-selector.weglot-dropdown { display: none !important; }
 .syn-header-main .is-menu-open .syn-menu-language {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px; order: 4;
  width: 100%; margin-top: 22px; padding-top: 18px;
 }
 .syn-menu-language-label { margin: 0 !important; color: var(--syn-plum); font-weight: 600; }
 .syn-header-main .syn-menu-language .country-selector.weglot-dropdown { display: block !important; margin: 0 !important; }
 .syn-header-main .syn-menu-language .country-selector.weglot-dropdown ul {
  position: static !important; inset: auto !important; margin-top: 8px !important;
 }
}

/* Leesbare inhoud op tablets en telefoons, voor alle paginatypen. */
@media (max-width: 1024px) {
 main .wp-block-columns { flex-direction: column; flex-wrap: wrap !important; }
 main .wp-block-columns > .wp-block-column { flex-basis: 100% !important; min-width: 0; width: 100%; }
 main .wp-block-group.is-layout-grid:not(.syn-steps),
 main .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
 main .wp-block-group.is-layout-grid,
 main .wp-block-group.is-layout-grid:not(.syn-steps),
 main .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
 main .wp-block-group, main .wp-block-column, main .wp-block-buttons, main .wp-block-button { min-width: 0; }
 main :is(p, li, h1, h2, h3, h4, a) { overflow-wrap: anywhere; }
 main .wp-block-button__link { max-width: 100%; box-sizing: border-box; white-space: normal; text-align: center; }
 main .syn-klachten .is-style-syn-spec p:not(.is-style-syn-link) { display: block; font-size: 1rem !important; line-height: 1.65; }
 main .syn-klachten .is-style-syn-spec h3 { font-size: 1.2rem; }
 main .syn-klachten .is-style-syn-spec .is-style-syn-link a { font-size: 1rem; }
 main .syn-methode ul { grid-template-columns: minmax(0, 1fr); }
 .syn-page-content .syn-card-lg { padding: 22px !important; }
 .syn-step-card.syn-step-h > .syn-step-number { grid-row: 1; }
 .syn-step-card.syn-step-h > p:not(.syn-step-number) { grid-column: 1 / -1; }
 .syn-tile:has(> p) .syn-round-icon { grid-row: 1; }
 .syn-tile:has(> p) > p { grid-column: 1 / -1; margin-top: 8px !important; }
 .syn-steps::before { display: none !important; }
 .syn-pdf-title { min-width: 0; flex-basis: 140px; }
 .syn-pdf-actions { flex-direction: column; align-items: stretch; }
 .syn-pdf-actions .syn-pdf-btn { box-sizing: border-box; white-space: normal; text-align: center; }
 .wp-block-table table, .wp-block-table:not(.syn-wachttijden) table { min-width: 540px; }
 .wp-block-table::after { content: 'Veeg naar links of rechts om de hele tabel te bekijken.'; display: block; margin-top: 10px; font-size: .9rem; line-height: 1.5; color: var(--syn-muted); }
}
@media (max-width: 781px) {
 .syn-crisis-card, .syn-overleg { flex-direction: column; align-items: flex-start !important; }
 .syn-crisis-body, .syn-overleg > .wp-block-group { width: 100%; min-width: 0; }
 .syn-hero h1 strong { white-space: normal; width: auto; max-width: 100%; }
}
