/*
 * Round Egg Travel: alle eigen styling.
 * Maten zijn 1-op-1 gemeten op de oude Uncode-site (9 okt 2026): basistekst systeem-sans-serif 15/26.25 #777,
 * Raleway en Caveat alleen waar Uncode ze per element zette (via blok-lettertype), rijpadding n x 36px.
 */

:root {
	--rt-wave-h: clamp(36px, 5vw, 72px);
	--rt-radius-kaart: 27px;
	--rt-radius-foto: 16px;
	--rt-schaduw-foto: 0 30px 60px -30px rgba(0, 0, 0, .45);
	--rt-schaduw-kaart: 0 5px 15px rgba(0, 0, 0, .05);
	--rt-header-h: 90px;
	--rt-gutter: 36px;
}

*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; margin: 0; padding: 12px 18px; clip-path: none; background: #fff; color: #303133; }
body { margin: 0; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
.site-main { display: block; }

/* Koppen en links volgen de tekstkleur van een gekleurde sectie (wit op donker). */
.has-text-color :where(h1, h2, h3, h4, h5, h6) { color: inherit; }
strong, b { font-weight: 600; }
/* Uncode: vetgedrukt in een alinea heeft de kopkleur, in een lijst de lijstkleur */
.entry-content p strong, .entry-content p b, .entry-content li strong, .entry-content li b { color: #303133; }
.entry-content .has-text-color p strong, .entry-content p.has-text-color strong, .entry-content .has-text-color li strong, .entry-content .has-text-color li b { color: inherit; }

/* Kleur van de sectie als variabele, zodat golven dezelfde kleur krijgen. */
.has-white-background-color { --rt-bg: #ffffff; }
.has-light-background-color { --rt-bg: #f7f7f7; }
.has-teal-background-color { --rt-bg: #1b5d5d; }
.has-forest-background-color { --rt-bg: #043e33; }
.has-night-background-color { --rt-bg: #001c20; }
.has-dark-background-color { --rt-bg: #141618; }
.has-amber-background-color { --rt-bg: #f6b354; }
.has-orange-background-color { --rt-bg: #fc8b44; }
.has-rust-background-color { --rt-bg: #bc5a25; }
.has-ink-background-color { --rt-bg: #303133; }
.has-black-background-color { --rt-bg: #000000; }

/* Golvende randen: per blok aan/uit via de editor (klassen has-wave-top / has-wave-bottom). */
.has-wave-top, .has-wave-bottom { position: relative; }
.has-wave-top::before, .has-wave-bottom::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: var(--rt-wave-h);
	background: var(--rt-bg, #fff);
	-webkit-mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat;
	mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 5;
}
.has-wave-top::before { top: 1px; transform: translateY(-100%); }
.has-wave-bottom::after { bottom: 1px; transform: translateY(100%) scaleY(-1); }

/* Knoppen: pillen zoals Uncode (12px Raleway 600, 1,2px spatiëring, 13/31 padding, 1px rand). */
.wp-element-button, .wp-block-button__link, .wpcf7 input[type="submit"] {
	display: inline-block;
	padding: 13px 31px;
	border: 1px solid #f6b354;
	border-radius: 120px;
	background: #f6b354;
	color: #fff;
	font: 600 12px/normal Raleway, sans-serif;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.wp-block-button__link:hover, .wp-element-button:hover { filter: brightness(.95); }
.wp-block-button.is-style-pil-petrol .wp-block-button__link { background: #1b5d5d; border-color: #1b5d5d; }
.wp-block-button.is-style-pil-groen .wp-block-button__link { background: #043e33; border-color: #043e33; }
.wp-block-button.is-style-pil-wit .wp-block-button__link, .wpcf7 input[type="submit"] { background: #fff; border-color: #fff; color: #303133; }
.wp-block-button.is-style-pil-outline .wp-block-button__link { background: transparent; border-color: #f6b354; color: #f6b354; }
.wp-block-button.is-style-pil-outline .wp-block-button__link:hover { background: #f6b354; color: #fff; filter: none; }
.wp-block-button.is-style-pil-outline-petrol .wp-block-button__link { background: transparent; border-color: #1b5d5d; color: #1b5d5d; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .wp-element-button:focus-visible { outline: 3px solid #f6b354; outline-offset: 2px; }

/* Header (live: 144px hoog, logo 90px, menu systeemfont 16px/500 direct naast het logo) */
.site-header { position: absolute; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 50; border-bottom: 1px solid transparent; background: rgba(20, 22, 24, .12); color: #fff; transition: background-color .4s ease-in-out; }
.no-hero .site-header { position: relative; top: 0; background: #141618; }
.site-header__inner { display: flex; align-items: center; gap: 0; height: 144px; margin: 0 auto; padding: 0 36px; }
.site-header__logo { display: block; flex: none; width: var(--rt-header-h); height: var(--rt-header-h); margin-right: clamp(36px, 8vw, 110px); color: #fff; font-weight: 800; text-decoration: none; }
.site-header__logo-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-header__nav { display: flex; flex: 1; align-items: center; height: 100%; }
.site-header__nav .menu { display: flex; flex: 1; justify-content: center; gap: 4px; height: 100%; margin: 0; padding: 0; list-style: none; }
.site-header__nav .menu > li { display: flex; align-items: center; padding: 0 10px; }
.site-header__nav .menu a { white-space: nowrap; display: flex; align-items: center; height: 100%; padding: 0 14px; color: #fff; font: 500 16px/1 sans-serif; letter-spacing: .32px; text-decoration: none; }
.site-header__nav .menu a:hover { opacity: .75; }
.site-header__nav .current-menu-item > a, .site-header__nav .current_page_item > a { color: rgba(255, 255, 255, .5); }
.site-header .site-header__social { flex: none; justify-content: flex-end; gap: 0; width: auto; min-width: 200px; padding-left: 36px; }
.site-header__social a { display: flex; justify-content: center; width: 18px; padding: 0 9px; box-sizing: content-box; }
.site-header__social li:first-child a { padding-left: 0; }
.site-header__social li:last-child a { padding-right: 0; }
/* VOORSTEL punt 3 — social-iconen zoals live (Uncode). Vervangt in layouts/layout.css:
 *   r.101-104 (.site-header__social svg … .rt-social a:hover) en r.469-470 (.rt-social--inhoud …).
 * Live gemeten (1440px):
 *   header : 18px glyph (15,4 x 18), wit, hover rgba(255,255,255,.5) (kleur, geen opacity), 9px links/rechts = 18px tussenruimte
 *   footer : 24px glyph (20,6 x 24), wit, hover #f6b354
 *   inhoud : 24px glyph, #303133, hover #f6b354  (Reisinspiratie-blok)
 *   alle   : geen cirkel/rand/achtergrond; transition color .2s cubic-bezier(.785,.135,.15,.86); tussenruimte 18px
 */
.rt-social { display: flex; gap: 18px; margin: 0; padding: 0; list-style: none; }
.rt-social a { display: block; color: inherit; line-height: 0; transition: color .2s cubic-bezier(.785, .135, .15, .86); }
.rt-social a:hover { color: #f6b354; opacity: 1; }
.rt-social svg { display: block; width: 20.58px; height: 24px; }
/* header: 18px-glyph, hover half-wit */
.site-header__social svg { width: 15.43px; height: 18px; }
.site-header__social a:hover { color: rgba(255, 255, 255, .5); }
/* inhoud (blok roundegg/social) */
.rt-social--inhoud { justify-content: flex-end; color: #303133; }
.site-header__toggle { display: none; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.site-header__bars, .site-header__bars::before, .site-header__bars::after { display: block; width: 26px; height: 2px; margin: 0 auto; border-radius: 2px; background: currentColor; content: ""; }
.site-header__bars { position: relative; transition: background-color .1s .15s; }
.site-header__bars::before, .site-header__bars::after { position: absolute; left: 0; transition: top .15s .15s, transform .15s 0s; }
.site-header__bars::before { top: -8px; }
.site-header__bars::after { top: 8px; }
/* Extra's in het menu (belknop, mailknop): alleen mobiel. Op desktop doet de wrapper niet mee, zodat de social-iconen blijven staan waar ze stonden. */
.site-header__voet { display: contents; }
.site-header__contact { display: none; }

/* Mobiel menu: volledig scherm in petrol, opent als cirkel vanuit de menuknop, groene voet met golfrand. */
@media (max-width: 960px) {
	:root {
		--rt-header-h: 64px;
		--rt-menu-balk: 96px;
		--rt-menu-bg: #1b5d5d;
		--rt-menu-voet: #043e33;
		--rt-menu-accent: #f6b354;
		--rt-menu-lijn: rgba(255, 255, 255, .16);
		--rt-menu-oorsprong: calc(100% - 49px) 48px; /* midden van de menuknop: 36px marge - 11px + 24px */
		--rt-menu-pijl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	}
	.site-header__inner { height: var(--rt-menu-balk); }
	.site-header__logo { position: relative; z-index: 2; margin-right: auto; }
	.site-header__toggle { position: relative; z-index: 2; display: grid; place-items: center; margin-right: -11px; } /* streepjes lijnen uit met de 36px marge */

	/* Open: header blijft in beeld (ook als er gescrold was) en wordt doorzichtig boven het petrol vlak */
	.is-menu-open .site-header { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); background: transparent; border-color: transparent; transition: none; }
	.no-hero.is-menu-open .site-main { margin-top: calc(var(--rt-menu-balk) + 1px); } /* ruimte van de relatieve header vasthouden */
	html.rt-menu-lock, html.rt-menu-lock body { overflow: hidden; }

	/* Hamburger naar kruisje: eerst naar het midden schuiven, dan draaien (terug in omgekeerde volgorde) */
	.is-menu-open .site-header__bars { background-color: transparent; transition-delay: 0s; }
	.is-menu-open .site-header__bars::before, .is-menu-open .site-header__bars::after { top: 0; transition: top .15s 0s, transform .15s .15s; }
	.is-menu-open .site-header__bars::before { transform: rotate(45deg); }
	.is-menu-open .site-header__bars::after { transform: rotate(-45deg); }

	.site-header__nav {
		position: fixed;
		inset: var(--wp-admin--admin-bar--height, 0px) 0 0;
		z-index: 1;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		height: auto;
		padding: var(--rt-menu-balk) 0 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--rt-menu-bg);
		visibility: hidden;
		clip-path: circle(0 at var(--rt-menu-oorsprong));
		transition: clip-path .45s cubic-bezier(.65, 0, .35, 1), visibility 0s .45s;
	}
	.is-menu-open .site-header__nav { visibility: visible; clip-path: circle(150% at var(--rt-menu-oorsprong)); transition: clip-path .55s cubic-bezier(.65, 0, .35, 1), visibility 0s; }

	.site-header__nav .menu { flex: none; flex-direction: column; gap: 0; width: 100%; max-width: 672px; height: auto; padding: 12px 36px 48px; }
	.site-header__nav .menu > li { display: block; padding: 0; border-bottom: 1px solid var(--rt-menu-lijn); opacity: 0; transform: translateY(14px); transition: opacity .2s, transform .2s; }
	.is-menu-open .site-header__nav .menu > li { opacity: 1; transform: none; transition: opacity .4s, transform .4s cubic-bezier(.2, .7, .3, 1); }
	.is-menu-open .site-header__nav .menu > li:nth-child(1) { transition-delay: .15s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(2) { transition-delay: .19s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(3) { transition-delay: .23s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(4) { transition-delay: .27s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(5) { transition-delay: .31s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(6) { transition-delay: .35s; }
	.is-menu-open .site-header__nav .menu > li:nth-child(n+7) { transition-delay: .39s; }
	.site-header__nav .menu a { gap: 14px; height: auto; min-height: 64px; padding: 12px 0; color: #fff; font: 600 clamp(22px, 6.2vw, 28px)/1.2 Raleway, sans-serif; letter-spacing: 0; white-space: normal; }
	.site-header__nav .menu a:hover { opacity: 1; }
	.site-header__nav .menu > li > a::after { flex: none; width: 22px; height: 22px; margin-left: auto; background: currentColor; content: ""; opacity: .55; -webkit-mask: var(--rt-menu-pijl) center / contain no-repeat; mask: var(--rt-menu-pijl) center / contain no-repeat; transition: transform .2s, opacity .2s; }
	.site-header__nav .menu > li > a:hover::after, .site-header__nav .menu > li > a:focus-visible::after { opacity: 1; transform: translateX(4px); }
	.site-header__nav .menu a:focus-visible { outline-offset: 4px; border-radius: 4px; }
	/* Huidige pagina: amber met een stip ervoor */
	.site-header__nav .current-menu-item > a, .site-header__nav .current_page_item > a, .site-header__nav .current-menu-ancestor > a { color: var(--rt-menu-accent); }
	.site-header__nav .current-menu-item > a::before, .site-header__nav .current_page_item > a::before { flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; content: ""; }
	.site-header__nav .current-menu-item > a::after, .site-header__nav .current_page_item > a::after { opacity: 1; }
	/* Submenu (depth 2), voor het geval er ooit een komt */
	.site-header__nav .sub-menu { margin: -6px 0 12px; padding: 0 0 0 22px; list-style: none; }
	.site-header__nav .sub-menu a { min-height: 44px; padding: 8px 0; font: 500 17px/1.3 sans-serif; letter-spacing: .32px; }

	/* Voet: Caveat-regel, bel- en mailknop, social-iconen */
	.site-header__voet { position: relative; display: block; margin-top: auto; padding: 20px 36px calc(28px + env(safe-area-inset-bottom, 0px)); background: var(--rt-menu-voet); opacity: 0; transition: opacity .2s; }
	.is-menu-open .site-header__voet { opacity: 1; transition: opacity .5s .3s; }
	.site-header__voet::before { position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: clamp(28px, 8vw, 48px); background: var(--rt-menu-voet); content: ""; -webkit-mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat; mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat; pointer-events: none; }
	.site-header__contact { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 480px; }
	.site-header__hand { grid-column: 1 / -1; margin: 0 0 6px; color: var(--rt-menu-accent); font: 400 28px/1.1 Caveat, cursive; transform: rotate(-2deg); transform-origin: left; }
	.site-header__knop { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 16px; border: 1px solid var(--rt-menu-accent); border-radius: 120px; background: var(--rt-menu-accent); color: var(--rt-menu-voet); font: 600 12px/1 Raleway, sans-serif; letter-spacing: 1.2px; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: filter .2s, background-color .2s, color .2s; }
	.site-header__knop:hover { filter: brightness(.95); }
	.site-header__knop svg { flex: none; width: 18px; height: 18px; }
	.site-header__knop--mail { border-color: rgba(255, 255, 255, .7); background: transparent; color: #fff; }
	.site-header__knop--mail:hover { border-color: #fff; background: #fff; color: var(--rt-menu-voet); filter: none; }
	.site-header .site-header__voet .site-header__social { justify-content: flex-start; gap: 10px; min-width: 0; margin-top: 22px; padding: 0; }
	.site-header__voet .site-header__social a, .site-header__voet .site-header__social li:first-child a, .site-header__voet .site-header__social li:last-child a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; box-sizing: border-box; transition: background-color .2s, color .2s, border-color .2s; }
	.site-header__voet .site-header__social a:hover { border-color: #fff; background: #fff; color: var(--rt-menu-voet); opacity: 1; }
	.site-header__voet .site-header__social svg { width: 20px; height: 20px; }
	/* Vangnet als header.php (nog) zonder .site-header__voet is: iconen links onder het menu */
	.site-header .site-header__nav > .site-header__social { justify-content: flex-start; gap: 18px; min-width: 0; padding: 0 36px 36px; }
}
@media (max-width: 960px) and (prefers-reduced-motion: reduce) {
	.site-header__nav, .is-menu-open .site-header__nav { clip-path: none; transition: none; }
	.site-header__nav .menu > li, .is-menu-open .site-header__nav .menu > li, .site-header__voet, .is-menu-open .site-header__voet { opacity: 1; transform: none; transition: none; }
	.site-header__bars, .site-header__bars::before, .site-header__bars::after, .is-menu-open .site-header__bars, .is-menu-open .site-header__bars::before, .is-menu-open .site-header__bars::after { transition: none; }
}

/* Titel van pagina's zonder hero (zoals Uncode header_basic): donker op wit, links, 35px systeemfont */
.rt-titelband { max-width: 1056px; margin: 0 auto; padding: 108px 36px 36px; box-sizing: content-box; background: transparent; color: #303133; text-align: left; }
.rt-titelband h1 { margin: 0; color: #303133; font-family: sans-serif; font-size: 35px; font-weight: 600; line-height: 1.2; }
.rt-titelband__meta { margin: .5rem 0 0; color: #777; font-size: 14px; }

/* Content-breedtes: 1224px binnen 36px marge (Uncode limit-width) */
.entry-content > .alignfull { max-width: none; width: 100%; margin-left: 0; margin-right: 0; }
.entry-content > :where(:not(.alignfull)) { max-width: 1224px; margin-left: auto; margin-right: auto; padding-left: var(--rt-gutter); padding-right: var(--rt-gutter); box-sizing: content-box; }
.wp-block-group.alignfull, .wp-block-cover.alignfull { padding-left: var(--rt-gutter); padding-right: var(--rt-gutter); }
.wp-block-group.rt-smal > * { max-width: 900px; }
.wp-block-columns { margin-bottom: 0; }
.entry-content .wp-block-columns { flex-wrap: nowrap; }
@media (max-width: 781px) { .entry-content .wp-block-columns { flex-wrap: wrap; } } /* verticale afstand: blokafstand van het Kolommen-blok (standaard 36px via theme.json) */

/* Hero met achtergrondvideo (home): kop op 277px, scrollpijl eronder; kaarten in een eigen rij die 108px over de hero schuift */
.wp-block-cover.hero-video { min-height: 90vh; align-items: flex-start; padding: max(160px, calc(45vh - 128px)) var(--rt-gutter) 0; } /* live: 90vh, kop op 45vh − 128 */
.wp-block-cover.hero-video > .wp-block-cover__inner-container { width: 100%; max-width: 1224px; margin: 0 auto; }
.hero-video .wp-block-cover__video-background { clip-path: inset(0); }
.hero-video h1 { margin: 0; color: #fff; line-height: 1.2; }
.rt-scroll { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-top: 36px; border-radius: 50%; background: #f6b354; color: #fff; }
.rt-scroll:hover { filter: brightness(.95); }
.wp-block-cover.rt-begrensd > .wp-block-cover__inner-container { width: 100%; max-width: 1224px; margin-inline: auto; }
.wp-block-group.is-style-kaartenrij { display: flow-root; padding: 0 var(--rt-gutter) 36px; } /* negatieve marge van de kaarten mag de rij niet omhoog trekken */
.hero-kaarten { position: relative; z-index: 6; max-width: 1428px; margin: -108px auto 0 !important; }
@media (min-width: 1500px) { .hero-kaarten { margin-top: -180px !important; } .hero-kaarten > .wp-block-column { padding: 54px !important; } }
@media (min-width: 1700px) { .hero-kaarten { margin-top: -216px !important; } .hero-kaarten > .wp-block-column { padding: 72px !important; } }
.hero-kaarten > .wp-block-column { min-height: 332px; padding: 54px 36px; border-radius: var(--rt-radius-kaart); box-shadow: var(--rt-schaduw-kaart); }
.hero-kaarten > .wp-block-column p { margin: 0; line-height: 24px; }
.hero-kaarten > .wp-block-column strong { font-weight: 600; }
.hero-kaarten .wp-block-buttons { margin-top: 36px; }
@media (max-width: 781px) {
	.wp-block-cover.hero-video { min-height: 70vh; padding-top: 160px; }
	.hero-kaarten { margin-top: -60px !important; }
	.hero-kaarten > .wp-block-column { min-height: 0; padding: 36px 27px; }
}

/* Foto's: afgerond met schaduw (Uncode img-round), blobs */
.wp-block-image.is-style-afgerond img { border-radius: var(--rt-radius-foto); box-shadow: var(--rt-schaduw-foto); }
.wp-block-image[class*="is-style-blob-"] img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.wp-block-image.is-style-blob-1 img { -webkit-mask-image: url("../assets/shapes/blob-1.svg"); mask-image: url("../assets/shapes/blob-1.svg"); }
.wp-block-image.is-style-blob-2 img { -webkit-mask-image: url("../assets/shapes/blob-2.svg"); mask-image: url("../assets/shapes/blob-2.svg"); }
.wp-block-image.is-style-blob-3 img { -webkit-mask-image: url("../assets/shapes/blob-3.svg"); mask-image: url("../assets/shapes/blob-3.svg"); }
.wp-block-image.is-style-blob-4 img { -webkit-mask-image: url("../assets/shapes/blob-4.svg"); mask-image: url("../assets/shapes/blob-4.svg"); }

/*
 * Fotostapel: 1, 2 of 3 vierkante foto's (radius 16px, diepe schaduw).
 * Drie foto's: exact de Uncode-opstelling (achter rechtsboven, midden links, voor onder in het midden).
 */
.wp-block-group.is-style-fotostapel { position: relative; display: block; margin: 0; }
.is-style-fotostapel > .wp-block-image { margin: 0 !important; }
.is-style-fotostapel .wp-block-image img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--rt-radius-foto); box-shadow: var(--rt-schaduw-foto); }
.is-style-fotostapel:has(> .wp-block-image:nth-child(2 of .wp-block-image)) > .wp-block-image { position: absolute; width: 64.93%; aspect-ratio: 1 / 1; }
/* twee foto's */
.is-style-fotostapel:has(> .wp-block-image:nth-child(2 of .wp-block-image)):not(:has(> .wp-block-image:nth-child(3 of .wp-block-image))) { aspect-ratio: 1 / 1.05; }
.is-style-fotostapel:has(> .wp-block-image:nth-child(2 of .wp-block-image)):not(:has(> .wp-block-image:nth-child(3 of .wp-block-image))) > .wp-block-image:nth-child(1 of .wp-block-image) { top: 0; left: 0; z-index: 1; }
.is-style-fotostapel:has(> .wp-block-image:nth-child(2 of .wp-block-image)):not(:has(> .wp-block-image:nth-child(3 of .wp-block-image))) > .wp-block-image:nth-child(2 of .wp-block-image) { right: 0; bottom: 0; z-index: 2; }
/* drie foto's (gemeten: 374px vierkanten in een kolom van 576 x 750) */
.is-style-fotostapel:has(> .wp-block-image:nth-child(3 of .wp-block-image)) { aspect-ratio: 576 / 550; z-index: 3; }
/* Zoals live: de voorste foto steekt onderuit de sectie (neemt geen ruimte in). */
.is-style-fotostapel:has(> .wp-block-image:nth-child(3 of .wp-block-image)) > .wp-block-image:nth-child(1 of .wp-block-image) { left: 28.82%; top: 13.75%; z-index: 1; }
.is-style-fotostapel:has(> .wp-block-image:nth-child(3 of .wp-block-image)) > .wp-block-image:nth-child(2 of .wp-block-image) { left: 6.08%; top: 0; z-index: 2; }
.is-style-fotostapel:has(> .wp-block-image:nth-child(3 of .wp-block-image)) > .wp-block-image:nth-child(3 of .wp-block-image) { left: 17.36%; top: 32.07%; z-index: 3; } /* Uncode image-card-triple: 176/550 */
.wp-block-group.is-style-fotostapel { z-index: 6; } /* foto's boven de golven, zoals live */
.is-style-fotostapel > .wp-block-image:nth-child(n+4 of .wp-block-image) { display: none; }
/* Eén foto (Uncode image-card met één beeld, gemeten op contact): recht, eigen verhouding, ruimte eromheen, geen schaduw. */
.is-style-fotostapel:not(:has(> .wp-block-image:nth-child(2 of .wp-block-image))) { padding: 13.125% 6.25% 17.5% 28.82%; } /* = plek van foto 1 in de stapel */
.is-style-fotostapel:not(:has(> .wp-block-image:nth-child(2 of .wp-block-image))) .wp-block-image img { height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; box-shadow: none; }

/* Inhoudsbreedte binnen een kolom (Uncode column_width_percent) */

/* Kaarten (blokstijl op groep) */
.wp-block-group.is-style-kaart { padding: 54px 36px; border-radius: var(--rt-radius-kaart); box-shadow: var(--rt-schaduw-kaart); }

/* Accordeon (core/details), zoals Uncode: titel Raleway 12px hoofdletters, open = amber */
/* VOORSTEL punt 4 — accordeon (core/details) zoals de Uncode-accordeon op live.
 * Live gemeten (/zakelijke-reizen-incentives/, 1440px):
 *   titel  Raleway 12px/21px 600, uppercase, letter-spacing 1.2px; dicht #303133, open #f6b354 (al gelijk)
 *   kop    61px hoog (a: padding 18px 0 + i-regel), titel GECENTREERD (kolom align_center -> text-center)
 *   pijl   uncodeicon U+F107 fa-angle-down, 18.9px (12,1 x 18,9), 30px rechts van de tekst (span padding 12 + i margin 18),
 *          kleur = titelkleur, draait NIET bij openen
 *   lijnen 1px #eaeaea: boven elk item (items sluiten aan, margin -1px), onder het laatste item,
 *          en bij een open item een lijn tussen kop en inhoud
 *   inhoud 36px boven en onder (panel-body), items zonder tussenruimte
 * Algemeen deel (lijnen/ruimte) geldt voor elke core/details (nu alleen deze pagina);
 * centreren + Uncode-pijl alleen met blokstijl "Gecentreerd" (is-style-gecentreerd).
 * Vervangt in layouts/layout.css r.285-291 (.wp-block-details …).
 */
.wp-block-details { padding: 0; border-top: 1px solid #eaeaea; border-bottom: 0; }
.entry-content .wp-block-details + .wp-block-details { margin-block-start: 0; }
.wp-block-details:not(:has(+ .wp-block-details)) { border-bottom: 1px solid #eaeaea; }
.wp-block-details summary { position: relative; padding: 20px 30px 20px 0; cursor: pointer; list-style: none; color: #303133; font: 600 12px/21px Raleway, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; transition: color .2s cubic-bezier(.785, .135, .15, .86); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.wp-block-details[open] summary { color: #f6b354; border-bottom: 1px solid #eaeaea; }
.wp-block-details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.wp-block-details[open] { padding-bottom: 36px; }
.wp-block-details > :not(summary) { margin-bottom: 18px; }
.wp-block-details > summary + * { margin-top: 36px !important; }
.wp-block-details > :last-child { margin-bottom: 0; }
/* Gecentreerd (Uncode-kolom align_center): titel in het midden, Uncode-pijl direct erachter, niet draaien */
.wp-block-details.is-style-gecentreerd summary { padding: 19px 0; text-align: center; }
.wp-block-details.is-style-gecentreerd summary::after,
.wp-block-details.is-style-gecentreerd[open] summary::after { position: static; display: inline-block; width: 12.14px; height: 18.9px; margin-left: 30px; border: 0; background: currentColor; vertical-align: -3px; transform: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 329 512'%3E%3Cpath transform='matrix(1 0 0 -1 0 480)' d='M307.143 265.143c0-2.286-1.143-4.857-2.857-6.572l-133.143-133.143c-1.714-1.714-4.286-2.857-6.571-2.857s-4.857 1.143-6.572 2.857l-133.143 133.143c-1.715 1.714-2.857 4.286-2.857 6.572s1.143 4.857 2.857 6.572l14.285 14.286c1.715 1.714 4 2.857 6.572 2.857 2.285 0 4.857-1.143 6.572-2.857l112.285-112.286 112.285 112.286c1.714 1.714 4.286 2.857 6.572 2.857s4.857-1.143 6.572-2.857l14.286-14.286c1.714-1.714 2.857-4.286 2.857-6.572z'/%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 329 512'%3E%3Cpath transform='matrix(1 0 0 -1 0 480)' d='M307.143 265.143c0-2.286-1.143-4.857-2.857-6.572l-133.143-133.143c-1.714-1.714-4.286-2.857-6.571-2.857s-4.857 1.143-6.572 2.857l-133.143 133.143c-1.715 1.714-2.857 4.286-2.857 6.572s1.143 4.857 2.857 6.572l14.285 14.286c1.715 1.714 4 2.857 6.572 2.857 2.285 0 4.857-1.143 6.572-2.857l112.285-112.286 112.285 112.286c1.714 1.714 4.286 2.857 6.572 2.857s4.857-1.143 6.572-2.857l14.286-14.286c1.714-1.714 2.857-4.286 2.857-6.572z'/%3E%3C/svg%3E") center / contain no-repeat; }


/* Reviews-slider: fade elke 5 s, zoals Uncode (geen pijlen of stippen) */
.rt-reviews { position: relative; margin: 0; padding: 0; color: #fff; }
.rt-review__body { font-family: Raleway, sans-serif; }
.rt-reviews__track { display: grid; }
.rt-review { grid-area: 1 / 1; display: grid; grid-template-columns: 1fr; gap: 72px; align-items: center; opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s; }
.rt-review.is-actief { opacity: 1; visibility: visible; }
.rt-review--foto { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rt-review__reis { margin: 0; color: inherit; font-family: Raleway, sans-serif; font-size: var(--wp--preset--font-size--s-36); font-weight: 800; line-height: 1.2; }
.rt-review__stars { display: none; }
.rt-review__body { margin-top: 36px; font-size: 16px; line-height: 28px; } /* live: 18px marge + 18px elementafstand */
@media (max-width: 569px) { .rt-review__body { font-size: 13px; line-height: 22.75px; } }
.rt-review__body p { margin: 0; }
.rt-review__naam { margin: 36px 0 0; font-family: Caveat, cursive; font-size: 32px; font-weight: 500; line-height: 1.2; }
.rt-review__foto img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; -webkit-mask: url("../assets/shapes/blob-2.svg") center / contain no-repeat; mask: url("../assets/shapes/blob-2.svg") center / contain no-repeat; }
.rt-reviews { position: static; } /* pijlen t.o.v. de volle gele sectie */
.rt-reviews__nav { display: block; }
.wp-block-group:has(> .rt-reviews) { overflow-x: clip; } /* pijlen in rust buiten beeld; golven (verticaal) blijven zichtbaar */
.rt-reviews__nav button, .rt-pijl { position: absolute; z-index: 6; top: 50%; width: 36px; height: 90px; margin-top: -45px; padding: 0; border: 0; background: #303133; color: #fff; font-size: 21px; line-height: 1; cursor: pointer; transition: transform .4s cubic-bezier(.785, .135, .15, .86); }
.rt-reviews__prev, .rt-pijl--vorige { left: 0; border-radius: 0 2px 2px 0; transform: translateX(-100%); }
.rt-reviews__next, .rt-pijl--volgende { right: 0; border-radius: 2px 0 0 2px; transform: translateX(100%); }
.wp-block-group:has(> .rt-reviews):hover .rt-reviews__nav button, .rt-reviews__nav button:focus-visible, .rt-pijl:focus-visible { transform: none; }
@media (hover: none) { .rt-reviews__nav button, .rt-pijl { transform: none; } }
@media (max-width: 781px) { .rt-review--foto { grid-template-columns: 1fr; gap: 36px; } .rt-review__foto img { max-width: 320px; margin: 0 auto; } }

.rt-filter { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0 0 36px; }
.rt-filter button { padding: 9px 16px; border: 0; border-radius: 120px; background: transparent; color: #303133; font: 400 11px/11px sans-serif; letter-spacing: .55px; cursor: pointer; }
.rt-filter button:hover, .rt-filter button.is-active { color: #f6b354; }
.rt-stippen { position: absolute; z-index: 3; right: 36px; bottom: 36px; display: flex; gap: 8px; }
/* Bolletjes zoals Uncode owl-dots-inside: 8px wit, 50% en verkleind; actief/hover vol */
.rt-stippen { gap: 0; align-items: center; }
.rt-stippen button { width: 8px; height: 8px; margin: 0 6px; padding: 0; border: 0; border-radius: 50%; background: #fff; opacity: .5; box-shadow: 0 0 0 2px rgba(0, 0, 0, .2); transform: scale(.8); transition: transform .2s ease-in-out, opacity .2s; cursor: pointer; }
.rt-stippen button.is-actief, .rt-stippen button:hover { opacity: 1; transform: scale(1); }
.rt-stippen button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.wp-block-group:has(> .rt-reviews) { position: relative; }
.rt-stippen--midden { left: 0; right: 0; bottom: calc(var(--rt-wave-h) + 9px); /* boven een golf van het volgende blok */ justify-content: center; padding: 9px 36px; height: 35px; box-sizing: border-box; }
.is-style-teller { margin: 0; font-family: Raleway, sans-serif; font-size: var(--wp--preset--font-size--s-50); font-weight: 900; line-height: 1.1; color: #303133; }

/* Formulieren (Contact Form 7), zoals live: transparante velden met witte rand van 25% */
.wpcf7 form > p, .wpcf7 form > label { margin: 18px 0 0; }
.wpcf7 form > :first-child { margin-top: 0; }
.wpcf7 label { display: block; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea { width: 358px; max-width: 100%; height: 39px; margin-top: 0; vertical-align: top; padding: 10px 15px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 2px; background: transparent; box-shadow: inset 0 2px 1px rgba(0, 0, 0, .024); color: #fff; font: 400 15px/1.2 sans-serif; }
.wpcf7 textarea { width: 100%; height: 192px; resize: vertical; }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: #fff; opacity: 1; }
.wpcf7 input[type="submit"] { margin-top: 0; }
.wpcf7 form > p { line-height: 0; }
.wpcf7 form > p br { display: none; }
/* Foutmeldingen: amber (leesbaar op de donkere achtergrond), met uitroepteken; het veld zelf krijgt een amber rand. */
.wpcf7 .wpcf7-not-valid-tip { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: var(--wp--preset--color--amber); font: 500 13px/1.4 sans-serif; }
.wpcf7 .wpcf7-not-valid-tip::before { content: "!"; flex: none; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--wp--preset--color--amber); color: var(--wp--preset--color--night); font: 800 11px/1 sans-serif; }
.wpcf7 .wpcf7-form-control.wpcf7-not-valid { border-color: var(--wp--preset--color--amber); }
.wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 12px 16px; border: 0; border-left: 4px solid var(--wp--preset--color--amber); border-radius: 8px; background: rgba(255, 255, 255, .08); color: #fff; font: 500 14px/1.45 sans-serif; }
.wpcf7 form.sent .wpcf7-response-output { border-left-color: #7bc68a; background: rgba(123, 198, 138, .14); }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { border-left-color: var(--wp--preset--color--orange); }
.rt-hp, .wpcf7 .rt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Reis (enkel) */
.rt-reis .rt-reis__foto { margin: 0 auto 36px; }
.rt-reis .rt-reis__foto img { display: block; width: 100%; height: auto; border-radius: var(--rt-radius-foto); box-shadow: var(--rt-schaduw-foto); }
.rt-reis .rt-reis__cta { margin: 36px auto 72px; justify-content: center; display: flex; }
.rt-archief { max-width: 1224px; margin: 0 auto; padding: 72px 36px 108px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 36px; }
.navigation.pagination .page-numbers { display: inline-block; min-width: 40px; padding: 8px 14px; border-radius: 120px; background: #f7f7f7; color: #303133; text-align: center; text-decoration: none; }
.navigation.pagination .page-numbers.current { background: #1b5d5d; color: #fff; }

/* Footer: oranje, golf ligt over de laatste sectie (sluit aan op de foto van het contactblok) */
.site-footer { position: relative; z-index: 2; margin-top: 0; padding: 72px 36px; background: #fc8b44; color: #fff; --rt-bg: #fc8b44; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 1px; height: 48px; background: #fc8b44; transform: translateY(-100%); -webkit-mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat; mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat; }
.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 36px; max-width: 1224px; margin: 0 auto; align-items: start; }
.site-footer__logo { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.site-footer__logo img { display: block; width: 106px; height: auto; }
.site-footer__kop { margin: 0 0 18px; color: #fff; font-family: Raleway, sans-serif; font-size: 20px; font-weight: 600; line-height: 24px; }
.site-footer__menu { margin: 0; padding: 0; list-style: none; font-size: 15px; line-height: 26.25px; }
.site-footer__menu:not(.site-footer__contact) li::before { content: "›"; display: inline-block; width: 14px; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
@media (max-width: 781px) { .site-footer__inner { grid-template-columns: 1fr; text-align: center; } .site-footer__logo { align-items: center; } }

/* Wisselwoord in kop */
.rt-wissel { display: inline-block; transition: opacity .35s; }
.rt-wissel.is-uit { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Rijpadding, elementafstand, inhoudsbreedte en zichtbaarheid staan sinds 11-10-2026 native in de blokken (zie notities/vertaaltabel-klassen.md). */
/* Rijen met een hoogte in procent van het scherm: inhoud verticaal gecentreerd */
/* Blokstijl "Schermvullend" (Groep): inhoud verticaal gecentreerd binnen de minimale hoogte; onder 960px geen minimale hoogte. */
.is-style-schermvullend { display: flex; flex-direction: column; justify-content: center; }


/* Verticale verschuiving van kolommen (Uncode shift_y, stappen van 18px) */
/* Negatieve verschuiving mag niet door de sectie heen klappen (margin-collapse): alleen de inhoud schuift, en ligt boven de sectie erboven. */
.wp-block-group:has(> .is-style-omhoog, > * > .is-style-omhoog, > .wp-block-columns.is-style-kaarten-gelijk) { display: flow-root; }
.wp-block-column.is-style-omhoog, .is-style-contactkaarten > .wp-block-columns { position: relative; z-index: 6; }
/* In een cover mag omhooggeschoven inhoud (formulierkaart) buiten de foto vallen en boven de golf van het blok erboven liggen. */
.wp-block-cover:has(.is-style-omhoog) { overflow: visible; }
.wp-block-cover:has(.is-style-omhoog) > .wp-block-cover__inner-container { z-index: 6 !important; } /* WP-kernregel is specifieker */
/* Blokstijl "Omhoog geschoven" (Kolom) en de kaartenrij van de stijl "Contactkaarten": schuiven over de sectie erboven, per breekpunt minder. */
.wp-block-column.is-style-omhoog { margin-top: -72px !important; }
.is-style-contactkaarten > .wp-block-columns { margin-top: -144px !important; }
@media (max-width: 1699px) { .is-style-contactkaarten > .wp-block-columns { margin-top: -108px !important; } }
@media (max-width: 1499px) { .wp-block-column.is-style-omhoog, .is-style-contactkaarten > .wp-block-columns { margin-top: -54px !important; } }
@media (max-width: 959px) { .wp-block-column.is-style-omhoog, .is-style-contactkaarten > .wp-block-columns { margin-top: -36px !important; } }
@media (max-width: 569px) { .wp-block-column.is-style-omhoog, .is-style-contactkaarten > .wp-block-columns { margin-top: 0 !important; } }

/* Knoppen met pijl-icoon (Uncode fa-arrow-right2) */
.wp-block-button.has-pijl .wp-block-button__link::after { content: "\2192"; display: inline-block; margin-left: 10px; font-size: 12px; font-weight: 400; line-height: 1; }
/* Blokstijl "Kaarten even hoog" (Kolommen): kolommen even hoog, knoppen onderaan op één lijn. */
.is-style-kaarten-gelijk > .wp-block-column { display: flex; flex-direction: column; }
.is-style-kaarten-gelijk > .wp-block-column > .wp-block-buttons:last-child { margin-top: auto; padding-top: 36px; } /* 18 + vroegere spacer van 18 */

/* Handschrift (Caveat): regelhoogte en kopkleur zoals de Uncode-kop waaruit hij komt */
.has-caveat-font-family { line-height: 1.2; color: #303133; }
.has-text-color .has-caveat-font-family { color: inherit; }

/* Horizontale rijpadding (Uncode h_padding, stappen van 18px; 2 = 36px is standaard) */
/* Horizontale rij-padding zoals Uncode h_padding (0=0, 1=1px, 2=36 standaard, 3=72, 4=108, 5=144, 6=180, 7=216), kleiner per breekpunt. */

/* Kolommen met afgeronde hoeken snijden hun inhoud af (Uncode radius op kolom) */
.wp-block-column[style*="border-radius"] { overflow: hidden; }
.wp-block-image img[style*="width:"] { height: auto; }

/* Link van een hele kolom (Uncode link_to): tekstkleur van de kolom */
.rt-kolomlink, .rt-kolomlink:hover { color: inherit; text-decoration: none; }

/* Bijsnijden van galerijen en rasters (Uncode images_size) */
.rt-ratio-1-1 img, .wp-block-gallery.rt-ratio-1-1 img { aspect-ratio: 1 / 1; object-fit: cover; }
.wp-block-gallery.rt-ratio-3-2 img { aspect-ratio: 3 / 2; object-fit: cover; }
.wp-block-gallery.rt-ratio-2-3 img { aspect-ratio: 2 / 3; object-fit: cover; }
.wp-block-gallery.rt-ratio-4-3 img { aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-gallery.rt-ratio-3-4 img { aspect-ratio: 3 / 4; object-fit: cover; }
.wp-block-gallery.rt-ratio-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.wp-block-gallery { gap: 18px !important; }
/* Covers in een kolom: hoogte uit de inhoud (WordPress zet standaard 430px) */
.wp-block-column > .wp-block-cover { min-height: 0; padding: 54px 36px; }

/* Galerij: breedte per item zoals Uncode single_width (twaalfden), links uitgelijnd */
/* Blokstijl "Smal" (Galerij): foto's 5/12 breed, links uitgelijnd; op mobiel volle breedte. */
.wp-block-gallery.is-style-smal { justify-content: flex-start; }
.wp-block-gallery.is-style-smal > .wp-block-image { width: calc(41.6667% - 18px) !important; flex-grow: 0 !important; }
@media (max-width: 600px) { .wp-block-gallery.is-style-smal > .wp-block-image { width: 100% !important; } }

/* Berichtenraster zoals Uncode (gemeten op /reisinspiratie/): volle breedte, 3 kolommen, filter als tekstlinks links */
.rt-filter { justify-content: flex-start; gap: 0 22px; margin: 0 0 36px; }
.rt-filter button { padding: 0; border-radius: 0; font-weight: 600; letter-spacing: .55px; color: #303133; }
.rt-filter button.is-active, .rt-filter button:hover { color: rgba(48, 49, 51, .5); }
.rt-filter button.is-active { letter-spacing: normal; }

/* Berichtenraster met tekst onder de foto (Uncode-index zonder overlay, gemeten op /reisplannen/) */
/* Iconen boven een kop (Uncode vc_icon met fonticoon) */
.rt-icoon { display: flex; color: #303133; line-height: 0; }
.rt-icoon--midden { justify-content: center; }
.rt-icoon svg { width: 48px; height: 48px; }

/* === Hero-pijl, witte omlijnde knop (sub-agent, gemeten op live) === */
/* ---------- 1. Scroll-pijl in de hero ---------- */
/* (a) Aanbevolen: converter zet het pijltje in een blok-wrapper <div class="rt-scroll-wrap">. Die valt als gewoon
   kind van de constrained cover in de 1224-kolom (max-width + margin auto), het rondje staat links onder de kop. */
.wp-block-cover__inner-container > .rt-scroll-wrap { margin-block-start: 36px; line-height: 0; }
.rt-scroll-wrap > .rt-scroll { display: grid; margin-top: 0; }
/* (b) Vangnet voor bestaande inhoud zonder wrapper: een kale <a class="rt-scroll"> direct in een constrained cover
   (inline element: de margin:auto van de layout werkt daar niet, dus hij plakt op x = 36). */
.wp-block-cover__inner-container.is-layout-constrained > a.rt-scroll { display: grid; width: 40px; margin-left: max(0px, (100% - 1224px) / 2) !important; margin-right: 0 !important; }

/* Hero waarvan de Uncode-kolom bovenaan uitlijnt (position_vertical leeg/top, bijv. /indonesie/, /inspiratie-portugal/):
   Uncode zet de inhoud dan boven in de rij, onder de overlappende menubalk (145px = 144 + 1px rand) plus de rijpadding.
   Blokstijl "Hero" (is-style-hero) op de cover. Resultaat: knop y=236, kop y=351, pijl y=459 (live 1440x900 én 1440x1200). */
.wp-block-cover.is-style-hero { align-items: flex-start; }
.wp-block-cover.is-style-hero > .wp-block-cover__inner-container { margin-top: calc(var(--rt-menu-balk, 144px) + 1px); }

/* ---------- 2. Knop "Terug naar bestemmingen": witte omlijnde pil, bij hover wit gevuld met donkere tekst ---------- */
/* Live (Uncode btn-color-xsdn btn-outline btn-circle btn-white-text): 1px wit, transparant, wit, 13/31, 12px Raleway 600,
   1,2px spatiëring, hoofdletters, pijl-links (fa-arrow-left2) met 9px marge. Hover live: wit vlak + witte tekst (onleesbaar). */
.wp-block-button.is-style-pil-outline-wit .wp-block-button__link { background: transparent; border-color: #fff; color: #fff; transition: color .2s cubic-bezier(.785, .135, .15, .86), background-color .2s cubic-bezier(.785, .135, .15, .86), border-color .2s cubic-bezier(.785, .135, .15, .86); }
.wp-block-button.is-style-pil-outline-wit .wp-block-button__link:hover,
.wp-block-button.is-style-pil-outline-wit .wp-block-button__link:focus-visible { background: #fff; border-color: #fff; color: #303133; filter: none; }
.wp-block-button.has-pijl-links .wp-block-button__link::before { content: "\2190"; display: inline-block; margin-right: 9px; font-size: 12px; font-weight: 400; line-height: 1; }

/* === Galerij: ronde hoeken, hover en lightbox === */
/* ---------- Galerij (zoals Uncode vc_gallery: single_shape=round, radius=hg, hover-overlay + zoom) ---------- */
/* Galerijen: altijd afgeronde hoeken (huisstijl, alle galerijen). */
.wp-block-gallery .wp-block-image,
.wp-block-gallery .wp-block-image img { border-radius: var(--rt-radius-kaart, 27px); }
.wp-block-gallery.has-rt-lightbox .wp-block-image { position: relative; overflow: hidden; isolation: isolate; }
.wp-block-gallery.has-rt-lightbox .wp-block-image img { transition: transform .3s cubic-bezier(.57, .21, .69, 1); }
.wp-block-gallery.has-rt-lightbox .wp-block-image:hover img,
.wp-block-gallery.has-rt-lightbox .wp-block-image:focus-within img { transform: scale(1.05); }
/* Knop over de hele foto: klikdoel voor muis en toetsenbord, tevens de donkere hover-laag (live: #141618 op 50 %, .2s na .15s). */
.rt-lb-trigger { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: inherit; background: rgba(20, 22, 24, 0); cursor: zoom-in; transition: background-color .2s ease-in-out .15s; }
.wp-block-image:hover > .rt-lb-trigger, .rt-lb-trigger:focus-visible { background: rgba(20, 22, 24, .5); }
.rt-lb-trigger:focus-visible { outline: 3px solid #f6b354; outline-offset: -3px; }

/* ---------- Lightbox (zoals iLightBox "black": overlay #141618 / .94, pijlbalken 38×180 aan de rand, miniaturen onderin) ---------- */
html.rt-lb-open { overflow: hidden; }
.rt-lb { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; overflow: hidden; }
.rt-lb::backdrop { background: rgba(20, 22, 24, .94); }
.rt-lb__podium { position: absolute; inset: 55px 72px 96px; display: flex; align-items: center; justify-content: center; }
.rt-lb.is-enkel .rt-lb__podium { bottom: 55px; }
.rt-lb__figuur { display: flex; flex-direction: column; align-items: center; max-width: 100%; max-height: 100%; margin: 0; }
.rt-lb__img { display: block; max-width: 100%; max-height: calc(100vh - 151px); width: auto; height: auto; object-fit: contain; opacity: 0; transition: opacity .2s ease, transform .2s ease; user-select: none; -webkit-user-drag: none; touch-action: pan-y; }
.rt-lb.is-enkel .rt-lb__img { max-height: calc(100vh - 110px); }
.rt-lb.is-geladen .rt-lb__img { opacity: 1; }
.rt-lb[data-richting="verder"]:not(.is-geladen) .rt-lb__img { transform: translateX(24px); }
.rt-lb[data-richting="terug"]:not(.is-geladen) .rt-lb__img { transform: translateX(-24px); }
.rt-lb__bijschrift { margin-top: 12px; font: 400 14px/1.4 Raleway, sans-serif; text-align: center; color: #fff; }
.rt-lb__teller { position: absolute; top: 14px; left: 0; right: 0; margin: 0; font: 600 12px/1 Raleway, sans-serif; letter-spacing: 1.2px; text-align: center; color: rgba(255, 255, 255, .7); pointer-events: none; }
.rt-lb.is-enkel .rt-lb__teller { display: none; }
.rt-lb__knop { position: absolute; display: grid; place-items: center; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; transition: opacity .2s, background-color .2s; }
.rt-lb__knop:focus-visible { outline: 3px solid #f6b354; outline-offset: 2px; }
.rt-lb__sluit { top: 4px; right: 4px; width: 44px; height: 44px; }
.rt-lb__sluit:hover { opacity: .7; }
.rt-lb__pijl { top: 50%; width: 38px; height: 180px; margin-top: -90px; background: #141618; }
.rt-lb__vorige { left: 0; border-radius: 0 2px 2px 0; }
.rt-lb__volgende { right: 0; border-radius: 2px 0 0 2px; }
.rt-lb__pijl:hover:not(:disabled) { background: #303133; }
.rt-lb__pijl:disabled { opacity: .1; cursor: default; }
.rt-lb.is-enkel .rt-lb__pijl, .rt-lb.is-enkel .rt-lb__duimen { display: none; }
.rt-lb__duimen { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 6px; padding: 0 72px; overflow-x: auto; scrollbar-width: none; }
.rt-lb__duim { flex: none; width: 60px; height: 60px; margin: 0; padding: 0; border: 2px solid transparent; border-radius: 4px; background: none; opacity: .5; overflow: hidden; cursor: pointer; transition: opacity .2s, border-color .2s; }
.rt-lb__duim img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rt-lb__duim:hover, .rt-lb__duim.is-actief { opacity: 1; }
.rt-lb__duim.is-actief { border-color: #fff; }
@media (max-width: 781px) {
	.rt-lb__podium { inset: 52px 0 90px; }
	.rt-lb__img { max-height: calc(100vh - 142px); }
	.rt-lb__pijl { width: 36px; height: 72px; margin-top: -36px; background: rgba(20, 22, 24, .6); }
	.rt-lb__duimen { padding: 0 16px; justify-content: flex-start; }
	.rt-lb__duim { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.rt-lb__img, .wp-block-gallery.has-rt-lightbox .wp-block-image img, .rt-lb-trigger { transition: none; }
	.wp-block-gallery.has-rt-lightbox .wp-block-image:hover img { transform: none; }
}

/* VOORSTEL punt 2 — witruimte tussen intro-tekst en Instagram-feed zoals live.
 * Live: vc_raw_html krijgt Uncode's elementafstand margin-top 18px -> laatste tekstregel tot foto 34px.
 * Staging: [instagram-feed] in core/html direct na core/columns, marge 0 -> 16px.
 * Geldt voor alle 6 pagina's met de feed (home, over-ons, zakelijk, huwelijksreizen, reisinspiratie, reisadvies-op-maat).
 */
.wp-block-columns + #sb_instagram { margin-top: 18px; }

/* Mobiel (Uncode ≤569px): galerijfoto's onder elkaar op volle breedte, zoals live */
@media (max-width: 569px) {
	.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100% !important; flex-basis: 100% !important; max-width: 100% !important; }
}

/* Gecentreerde accordeon: ook de inhoud gecentreerd; opsommingstekens direct voor de tekst */
.wp-block-details.is-style-gecentreerd > :not(summary) { text-align: center; }
.wp-block-details.is-style-gecentreerd ul, .wp-block-details.is-style-gecentreerd ol { padding-left: 0; list-style-position: inside; }
.wp-block-details.is-style-gecentreerd li::marker { color: currentColor; }

/* Mobiel (zoals live gemeten op 390px): header 144px met logo van 90px; home-hero gecentreerd, ±650px hoog, kaarten onder de golf */
@media (max-width: 960px) {
	:root { --rt-header-h: 90px; --rt-menu-balk: 144px; }
}
@media (max-width: 569px) {
	.wp-block-cover.hero-video { min-height: 675px; padding-top: 237px; text-align: center; } /* live: titel op 237, rij 675 */
	.hero-video h1 { font-size: 35px !important; line-height: 1.2; }
	.hero-kaarten { margin-top: 36px !important; }
}

/* Footer zoals live: kolommen op 528/820/1112 (bij 1440), Raleway, pijltjes, 36px onder de kop, witregel vóór KVK; mobiel logo onderaan */
.site-footer__inner { grid-template-columns: 1.685fr 1fr 1fr 1fr; gap: 0; }
.site-footer__kop { margin-bottom: 36px; }
.site-footer__menu { font-family: Raleway, sans-serif; font-weight: 300; }
.site-footer__menu:not(.site-footer__contact) li::before { content: "\2192"; width: auto; margin-right: 9px; font-size: 11px; vertical-align: 1px; }
.site-footer__contact li:nth-child(3) { margin-top: 18px; }
@media (max-width: 781px) {
	.site-footer__inner { grid-template-columns: 1fr; gap: 36px; }
	.site-footer__logo { order: 5; margin-top: 18px; }
	.site-footer__logo img { width: 143px; }
}

/* Lijsten zoals Uncode: 18px inspringing (browser-standaard is 40) */
:where(.entry-content) :where(ul, ol) { padding-left: 18px; }

/* Kolom-padding Uncode (column_padding 3-5 = double/triple/quad-block-padding) */

/* Uncode inverted_device_order: gestapelde kolommen omgekeerd (live ≤959, bij ons stapelt core/columns ≤781) */
@media (max-width: 781px) {
	.wp-block-columns.is-style-omgekeerd-mobiel > .wp-block-column:nth-child(1) { order: 4; }
	.wp-block-columns.is-style-omgekeerd-mobiel > .wp-block-column:nth-child(2) { order: 3; }
	.wp-block-columns.is-style-omgekeerd-mobiel > .wp-block-column:nth-child(3) { order: 2; }
	.wp-block-columns.is-style-omgekeerd-mobiel > .wp-block-column:nth-child(4) { order: 1; }
}

/* Contact-CTA: op mobiel valt de eerste kolom weg; live houdt ~48px tussen golf en formulierkaart */
/* Onder 782px (kolommen gestapeld) alleen het formulier: kolom "Direct contact?" met mail/telefoon weg (wens Stan) */
@media (max-width: 781px) {
	.wp-block-cover.is-style-contactblok { padding-top: calc(var(--rt-wave-h) + 48px) !important; }
	.is-style-contactblok .wp-block-column.wp-block-hidden-mobile { display: none !important; } /* native "verbergen op mobiel", hier al onder 782px */
	.is-style-contactblok .wp-block-column.is-style-omhoog { margin-top: 0 !important; }
}

/* Speelse scheidingen (core/separator, blokstijlen golf-1 t/m golf-6). Liggen half in de padding van de buurblokken. */
.wp-block-separator[class*="is-style-golf-"] {
	--h: 24px;
	position: relative;
	z-index: 2;
	display: block;
	box-sizing: border-box;
	height: var(--h);
	margin: calc(var(--h) / -2) auto !important;
	border: 0 !important;
	opacity: 1 !important;
	background-color: #f6b354;
	-webkit-mask: var(--vorm) center / var(--maat, 100% 100%) var(--herhaal, no-repeat);
	mask: var(--vorm) center / var(--maat, 100% 100%) var(--herhaal, no-repeat);
}
/* Eitjesgolf in verschillende breedtes (zelfde eitjes en golf, alleen de lengte verschilt) */
.wp-block-separator.is-style-golf-1 { --h: clamp(45px, 10vw, 144px); --vorm: url("../assets/shapes/scheiding-1.svg"); width: 100% !important; max-width: none !important; }
.wp-block-separator.is-style-golf-2 { --h: 20px; --vorm: url("../assets/shapes/scheiding-2.svg"); --maat: 60px 20px; --herhaal: round; width: min(1224px, calc(100% - 2 * var(--rt-gutter))) !important; max-width: none !important; padding: 0 !important; }
.wp-block-separator.is-style-golf-3 { --h: 24px; --vorm: url("../assets/shapes/scheiding-3.svg"); --maat: 96px 24px; --herhaal: round; width: min(1224px, calc(100% - 2 * var(--rt-gutter))) !important; max-width: none !important; padding: 0 !important; }
.wp-block-separator.is-style-golf-4 { --h: 40px; --vorm: url("../assets/shapes/scheiding-4.svg"); --maat: 200px 40px; width: 200px !important; max-width: none !important; padding: 0 !important; }
.wp-block-separator.is-style-golf-5 { --h: 40px; --vorm: url("../assets/shapes/scheiding-5.svg"); --maat: 120px 40px; width: 120px !important; max-width: none !important; padding: 0 !important; }
.wp-block-separator.is-style-golf-6 { --h: clamp(24px, 4vw, 60px); --vorm: url("../assets/shapes/scheiding-6.svg"); width: 100% !important; max-width: none !important; }
.wp-block-separator.is-style-golf-7 { --h: 24px; --vorm: url("../assets/shapes/scheiding-3.svg"); --maat: 96px 24px; --herhaal: round; width: min(864px, calc(100% - 2 * var(--rt-gutter))) !important; max-width: none !important; padding: 0 !important; } /* stippengolf korter */
.wp-block-separator.is-style-golf-8 { --h: 24px; --vorm: url("../assets/shapes/scheiding-3.svg"); --maat: 96px 24px; --herhaal: round; width: min(480px, calc(100% - 2 * var(--rt-gutter))) !important; max-width: none !important; padding: 0 !important; } /* stippengolf kort */
/* Kiezer op de site (?scheiding=1 t/m 6) om de varianten te bekijken */
.rt-scheiding-kiezer { position: fixed; right: 12px; bottom: 12px; z-index: 9999; display: flex; gap: 6px; padding: 8px 10px; border-radius: 30px; background: #303133; box-shadow: 0 5px 15px rgba(0,0,0,.2); font: 600 12px/1 Raleway, sans-serif; color: #fff; align-items: center; }
.rt-scheiding-kiezer button { width: 30px; height: 30px; border: 0; border-radius: 50%; background: #fff; color: #303133; font: inherit; cursor: pointer; }
.rt-scheiding-kiezer button[aria-pressed="true"] { background: #f6b354; color: #fff; }

/* Scrollpijl gecentreerd in een gecentreerde kolom; ankerlink met ronde gele pijl ("Inspiratie bestemmingen") */
.rt-scroll-wrap--midden > .rt-scroll { margin-inline: auto; }
.is-style-ankerpijl a { display: inline-flex; align-items: center; gap: 18px; color: inherit; text-decoration: none; }
.is-style-ankerpijl a::before { content: ""; flex: none; width: 40px; height: 40px; border-radius: 50%; background: #f6b354 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M5 13l7 7 7-7'/%3E%3C/svg%3E") center / 16px no-repeat; transition: background-color .2s; }
.is-style-ankerpijl a:hover::before { background-color: #303133; }
@media (min-width: 960px) { .is-style-ankerpijl a { gap: 36px; } }

/* Rijhoogte in vh: Uncode alleen boven 959px (eerste rij uitgezonderd); inhoud bovenaan tenzij midden gekozen */
.is-style-schermvullend > .rt-reviews { margin-block: 0 !important; } /* slider vult op live de hele rij en centreert */
@media (max-width: 959px) { .is-style-schermvullend { min-height: 0 !important; } }

/* Berichtenraster zoals Uncode-isotope: 3 kolommen pas vanaf 1236px, 1 kolom onder 516px; tegel bij 1 kolom vierkant */

/* Los logo (fotostapel met één afbeelding) op mobiel gecentreerd */
@media (max-width: 781px) { .is-style-fotostapel:not(:has(> .wp-block-image:nth-child(2 of .wp-block-image))) { padding: 13.125% 17.6% 0; } }

/* Mobiel menu direct sluiten (anker op dezelfde pagina, terug-knop): geen sluitanimatie */
.rt-menu-direct .site-header__nav, .rt-menu-direct .site-header__nav .menu > li, .rt-menu-direct .site-header__voet,
.rt-menu-direct .site-header__bars, .rt-menu-direct .site-header__bars::before, .rt-menu-direct .site-header__bars::after { transition: none !important; }

/* Gestapelde kolommen (≤781): een negatieve verschuiving op de 2e/3e kolom zou de tussenruimte opeten -> alleen de eerste verschuift */
@media (max-width: 781px) { .wp-block-columns > .wp-block-column.is-style-omhoog:not(:first-child) { margin-top: 0 !important; } }

/* Contact: kaarten (E-mail/Telefoon/Postadres) ook op de telefoon; de foto erboven is daar verborgen, dus ruimte voor de header en geen golf */
@media (max-width: 569px) {
	.is-style-contactkaarten { padding-top: 36px !important; padding-bottom: 36px !important; }
	.is-style-contactkaarten .wp-block-columns { gap: 18px; }
	.is-style-contactkaarten .wp-block-column { padding: 36px 27px !important; }
	.is-style-contactkaarten .wp-block-button__link { padding-left: 20px; padding-right: 20px; letter-spacing: .6px; white-space: nowrap; }
	.is-style-contactkaarten + .wp-block-group { padding-top: 18px !important; } /* logo PTT: header-ruimte is hier al genomen */
	.is-style-contactkaarten + .wp-block-group .is-style-fotostapel { padding-top: 0 !important; }
}

/* Compacte headerfoto op de telefoon (live verbergt hem; dan lag het transparante menu over de tekst) */
@media (max-width: 569px) {
	.wp-block-cover.is-style-hero-compact { min-height: 0 !important; padding-top: calc(var(--rt-menu-balk) + 9px) !important; padding-bottom: calc(var(--rt-wave-h) + 45px) !important; } /* +18: vroegere spacer onderaan de hero */
	.is-style-hero-compact .rt-scroll-wrap { margin-top: 18px !important; }
	.is-style-hero-compact h1, .is-style-hero-compact h2 { font-size: 35px !important; line-height: 1.2 !important; }
}
/* Vangnet: begint een pagina met een foto die op mobiel verborgen is, dan op de telefoon een dichte menubalk zoals bij pagina's zonder hero */
@media (max-width: 569px) {
	.no-hero-mobiel:not(.is-menu-open) .site-header { position: relative; top: 0; background: #141618; }
	.no-hero-mobiel.is-menu-open .site-main { margin-top: calc(var(--rt-menu-balk) + 1px); }
}

/* Contactblok (foto) na een wit blok zonder golf (bijv. berichtenraster op /indonesie/): zelf een witte golf bovenin tekenen
   en ruimte boven, zodat het overal hetzelfde oogt als na een blok met golf */
.entry-content > :not(.has-wave-bottom):not(.wp-block-cover) + .wp-block-cover.is-style-contactblok::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: var(--rt-wave-h);
	background: #fff;
	-webkit-mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat;
	mask: url("../assets/shapes/hills.svg") center / 100% 100% no-repeat;
	transform: scaleY(-1);
	z-index: 5;
	pointer-events: none;
}
.entry-content > .wp-block-group[style*="padding-bottom:0"]:not(.has-wave-bottom):has(+ .wp-block-cover.is-style-contactblok) { padding-bottom: 126px !important; }
@media (max-width: 959px) { .entry-content > .wp-block-group[style*="padding-bottom:0"]:not(.has-wave-bottom):has(+ .wp-block-cover.is-style-contactblok) { padding-bottom: 72px !important; } }

/* Stappenkaarten (kolommen met eigen achtergrond, onder uitgelijnd, bv. 1-4 op /reisadvies-op-maat/): even hoog, inhoud bovenaan, gelijke afstanden */
.wp-block-columns:has(> .wp-block-column.has-background.is-vertically-aligned-bottom + .wp-block-column.has-background.is-vertically-aligned-bottom) { align-items: stretch !important; }
.wp-block-columns > .wp-block-column.has-background.is-vertically-aligned-bottom:has(+ .wp-block-column.has-background.is-vertically-aligned-bottom),
.wp-block-columns > .wp-block-column.has-background.is-vertically-aligned-bottom + .wp-block-column.has-background.is-vertically-aligned-bottom { align-self: stretch !important; margin-top: 0 !important; }

/* Kolom met achtergrondfoto (bv. instagramkaart "Meer weten over …?"): foto vult de hele kolom, padding erbinnen, groot icoon */
.wp-block-column.is-style-fotokaart { display: flex; padding: 0 !important; }
.is-style-fotokaart > .wp-block-cover { flex: 1; min-height: 0; padding: 36px; }
.is-style-fotokaart .rt-icoon svg { width: 64px; height: 64px; }
/* Tekstlink die helemaal vet is ("Neem contact met ons op!"): zoals live donker, zonder onderstreping */
.entry-content p > a:not(.rt-kolomlink):has(> strong:only-child) { color: #303133; text-decoration: none; }
.entry-content p > a:not(.rt-kolomlink):has(> strong:only-child):hover { color: #f6b354; }
/* Reisschema-blok op 800px: kaart iets breder (60/40), titel in de kaart kleiner */
@media (min-width: 782px) {
	.is-style-reisschema .wp-block-columns > .wp-block-column:first-child { flex-basis: 60% !important; }
	.is-style-reisschema .wp-block-columns > .is-style-fotokaart { flex-basis: 40% !important; }
}
.is-style-reisschema .is-style-fotokaart h3 { font-size: 24px !important; line-height: 1.25; }
/* Laatste blok vóór de footer: de footergolf mag niet over de inhoud vallen */
.entry-content > .wp-block-group:last-child { padding-bottom: calc(var(--rt-wave-h) + 36px) !important; }
/* Kaart met achtergrondfoto en kolomlink: hele kaart klikbaar (zoals live) */
.is-style-fotokaart:has(.rt-kolomlink) > .wp-block-cover { position: relative; cursor: pointer; transition: filter .2s; }
.is-style-fotokaart:has(.rt-kolomlink):hover > .wp-block-cover { filter: brightness(1.08); }
.is-style-reisschema .is-style-fotokaart > .wp-block-cover { min-height: 360px; }

/* Media en tekst (o.a. stappen op zakelijk en reisadvies): binnenruimte van de tekst (Gutenberg heeft daar geen instelling voor)
   en afgeronde hoeken ook op de foto. Afronding, kleur, foto, kant en focuspunt stel je in het blok zelf in. */
.wp-block-media-text { overflow: hidden; }
.wp-block-media-text > .wp-block-media-text__content { padding: 54px; }
@media (max-width: 959px) { .wp-block-media-text > .wp-block-media-text__content { padding: 36px; } }
.wp-block-media-text > .wp-block-media-text__content > :first-child { margin-top: 0; }

/* -----------------------------------------------------------------------------
   WhatsApp-chatwidget (overgenomen van no28)
----------------------------------------------------------------------------- */
.rt-wa {
	position: fixed;
	right: clamp(0.5rem, 1vw, 0.875rem);
	bottom: clamp(0.5rem, 1vw, 0.875rem);
	z-index: 9999;
	font-family: inherit;
}
.rt-wa__sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.rt-wa__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #25D366;
	color: #fff;
	border: none;
	border-radius: 14px;
	width: 46px;
	height: 46px;
	padding: 0;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(0,0,0,0.18);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.rt-wa__toggle:hover,
.rt-wa__toggle:focus-visible {
	color: #fff;
	background: #1ebe5b;
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(0,0,0,0.22);
}
.rt-wa__icon { width: 22px; height: 22px; display: block; }
.rt-wa.is-open .rt-wa__toggle { display: none; }

.rt-wa__panel {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(22rem, calc(100vw - 2rem));
	max-height: min(32rem, calc(100vh - 2rem));
	background: #ece5dd;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 20px 48px rgba(0,0,0,0.25);
	display: none;
	flex-direction: column;
}
.rt-wa.is-open .rt-wa__panel { display: flex; }
.rt-wa__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: #075E54;
	color: #fff;
	padding: 0.9rem 1rem;
}
.rt-wa__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.rt-wa__avatar svg { width: 26px; height: 26px; }
.rt-wa__heading {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	flex: 1;
	min-width: 0;
}
.rt-wa__heading strong { font-weight: 600; font-size: 1rem; }
.rt-wa__status { font-size: 0.8rem; opacity: 0.85; }
.rt-wa__status::before {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	background: #4ade80;
	border-radius: 50%;
	margin-right: 0.4rem;
	vertical-align: 1px;
}
.rt-wa__close {
	background: transparent;
	border: none;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 0.25rem;
}
.rt-wa__close:hover { opacity: 0.8; }
.rt-wa__body {
	padding: 1rem;
	flex: 1;
	min-height: 8rem;
	overflow-y: auto;
	background: #ece5dd;
}
.rt-wa__bubble {
	background: #fff;
	border-radius: 10px 10px 10px 2px;
	padding: 0.65rem 0.85rem;
	max-width: 85%;
	box-shadow: 0 1px 2px rgba(0,0,0,0.08);
	font-size: 0.95rem;
	line-height: 1.45;
	color: #303133;
	min-height: 1.45em;
}
.rt-wa__bubble.is-typing {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0.9rem 0.95rem;
}
.rt-wa__dot {
	width: 6px;
	height: 6px;
	background: #9aa0a6;
	border-radius: 50%;
	animation: rt-wa-bounce 1.2s infinite ease-in-out both;
}
.rt-wa__dot:nth-child(2) { animation-delay: 0.15s; }
.rt-wa__dot:nth-child(3) { animation-delay: 0.3s; }
@keyframes rt-wa-bounce {
	0%, 80%, 100% { transform: translateY(0); opacity: 0.35; }
	40% { transform: translateY(-4px); opacity: 1; }
}
.rt-wa__caret {
	display: inline-block;
	width: 2px;
	height: 1em;
	background: currentColor;
	vertical-align: -2px;
	margin-left: 1px;
	animation: rt-wa-caret 0.9s steps(1) infinite;
}
@keyframes rt-wa-caret {
	50% { opacity: 0; }
}
.rt-wa__wave {
	display: inline-block;
	transform-origin: 70% 70%;
	animation: rt-wa-wave 1.8s ease 0.15s 2;
}
@keyframes rt-wa-wave {
	0%   { transform: rotate(0); }
	10%, 30% { transform: rotate(-14deg); }
	20%, 40% { transform: rotate(14deg); }
	50%, 100% { transform: rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
	.rt-wa__dot,
	.rt-wa__caret,
	.rt-wa__wave { animation: none; }
}
.rt-wa__form {
	display: flex;
	align-items: flex-end;
	gap: 0.5rem;
	padding: 0.65rem 0.75rem;
	background: #f4f4f4;
	border-top: 1px solid #e1e1e1;
}
.rt-wa__input {
	flex: 1;
	border: none;
	background: #fff;
	border-radius: 20px;
	padding: 0.6rem 0.9rem;
	font: inherit;
	font-size: 0.95rem;
	line-height: 1.4;
	resize: none;
	max-height: 160px;
	min-height: 40px;
	outline: none;
	color: #303133;
}
.rt-wa__input:focus { box-shadow: 0 0 0 2px rgba(37,211,102,0.35); }
.rt-wa__send {
	background: #25D366;
	color: #fff;
	border: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color 0.15s ease;
}
.rt-wa__send:hover { background: #1ebe5b; }
.rt-wa__send svg { width: 18px; height: 18px; }

/* Niet over het open mobiele menu heen */
.is-menu-open .rt-wa { display: none; }

/* ==========================================================================
   Berichtenlus (core/query) met blokstijlen Standaard, Tegels, Tegels met filter en Carrousel.
   Kaart = native blokken in de berichtsjabloon: uitgelichte afbeelding, categorieën, titel, (Lees meer / Leestijd).
   ========================================================================== */
.wp-block-query .wp-block-post-template { margin-top: 0; margin-bottom: 0; padding: 0; list-style: none; }
.wp-block-query .wp-block-post[hidden] { display: none !important; }

/* Standaard: foto, daaronder titel, lijn en leestijd */
.wp-block-query:not([class*="is-style-"]), .wp-block-query.is-style-default { max-width: 1128px; margin-inline: auto; }
.wp-block-query:not([class*="is-style-"]) .wp-block-post-featured-image, .wp-block-query.is-style-default .wp-block-post-featured-image { margin: 0; }
.wp-block-query:not([class*="is-style-"]) .wp-block-post-featured-image img, .wp-block-query.is-style-default .wp-block-post-featured-image img { transition: opacity .3s; }
.wp-block-query:not([class*="is-style-"]) .wp-block-post:hover .wp-block-post-featured-image img, .wp-block-query.is-style-default .wp-block-post:hover .wp-block-post-featured-image img { opacity: .85; }
.wp-block-query:not([class*="is-style-"]) .wp-block-post-title, .wp-block-query.is-style-default .wp-block-post-title { margin: 36px 0 0; font: 600 17px/1.2 sans-serif; color: #303133; }
.wp-block-query .wp-block-post-title a { color: inherit; text-decoration: none; }
.wp-block-query:not([class*="is-style-"]) .wp-block-separator, .wp-block-query.is-style-default .wp-block-separator { margin: 18px 0; border: 0; border-top: 1px solid rgba(48, 49, 51, .1); opacity: 1; }
.wp-block-query .wp-block-post-time-to-read { margin: 0; color: #777; font-size: 12px; line-height: 21px; }

/* Tegels en Carrousel: tekst over de foto, hele kaart klikbaar */
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post { position: relative; display: grid; grid-template-rows: 1fr auto auto; overflow: hidden; border-radius: var(--rt-radius-kaart); color: #fff; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post > * { grid-column: 1; margin: 0; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-featured-image { grid-row: 1 / -1; height: 100%; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-featured-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.05); }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post::after { content: ""; grid-row: 1 / -1; grid-column: 1; z-index: 1; background: linear-gradient(to top, rgba(20, 22, 24, .8), rgba(20, 22, 24, 0) 50%); pointer-events: none; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-title { grid-row: 2; z-index: 2; padding: 0 36px 36px; color: #fff; font: 800 28px/1.2 Raleway, sans-serif; text-transform: capitalize; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; z-index: 3; }
:is(.is-style-tegels, .is-style-tegels-filter) .wp-block-post { aspect-ratio: 432 / 554; }
@media (max-width: 515px) { :is(.is-style-tegels, .is-style-tegels-filter) .wp-block-post { aspect-ratio: 1 / 1; } }
/* Categorieën als labels rechtsboven (niet klikbaar: de kaart linkt naar het bericht) */
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-terms { grid-row: 1; z-index: 2; justify-self: end; align-self: start; display: flex; gap: 5px; margin: 36px; pointer-events: none; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-terms__separator { display: none; }
:is(.is-style-tegels, .is-style-tegels-filter, .is-style-carrousel) .wp-block-post-terms a { padding: 2px 5px; border-radius: 2px; background: #f6b354; color: #fff; font: 600 11px/16.5px sans-serif; letter-spacing: .55px; text-transform: uppercase; text-decoration: none; }

/* Carrousel: één kaart tegelijk, schuiven met stippen en pijlen (theme.js) */
.wp-block-query.is-style-carrousel { position: relative; overflow: hidden; border-radius: var(--rt-radius-kaart); }
.is-style-carrousel .wp-block-post-template { display: flex !important; gap: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.is-style-carrousel .wp-block-post-template::-webkit-scrollbar { display: none; }
.is-style-carrousel .wp-block-post { flex: 0 0 100%; aspect-ratio: 1 / 1; margin: 0 !important; scroll-snap-align: start; border-radius: 0; }
.is-style-carrousel .wp-block-post-title { padding: 0 54px; font-size: var(--wp--preset--font-size--s-40); }
.is-style-carrousel .wp-block-read-more { grid-row: 3; z-index: 4; justify-self: start; margin: 18px 54px 54px; padding: 13px 31px; border: 1px solid #fff; border-radius: 120px; background: #fff; color: #303133; font: 600 12px/1 Raleway, sans-serif; letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none; }
.is-style-carrousel:hover .rt-pijl { transform: none; }
.wp-block-query:not([class*="is-style-"]) .wp-block-read-more, .wp-block-query.is-style-default .wp-block-read-more { color: #777; font-size: 12px; line-height: 21px; text-decoration: none; }
.wp-block-query:not([class*="is-style-"]) .wp-block-read-more:hover, .wp-block-query.is-style-default .wp-block-read-more:hover { color: #303133; }
