/* =========================================================
   Reisverhalen van binnenuit – site (Studio Wolk)
   ========================================================= */
:root {
	--rvb-salie: #a1aa8e;
	--rvb-salie-donker: #6f7a56; /* knoppen en labels: iets lichter (2026-10-21), nog net genoeg contrast met wit */
	--rvb-salie-diep: #5d6747;
	--rvb-bruin: #4a381e;
	--rvb-tekst: #3d3427;
	--rvb-creme: #f6f3ec;
	--rvb-lijn: #e4ded0;
	--rvb-rood: #c8102e;
	--rvb-footer: #6f7a56; /* zelfde groen als de knoppen (2026-10-28) */
	--rvb-serif: "Noto Serif", Georgia, serif;
	--rvb-radius: 14px;
}

/* ---------- Algemeen ---------- */
html { background: var(--rvb-footer); }

/* ---------- Homepage-secties ---------- */
.rvb-sectie { padding: clamp(48px, 7vw, 96px) 0 !important; }
.rvb-sectie .et_pb_row { padding: 0 !important; }
.rvb-sectie--creme { background: var(--rvb-creme) !important; }
.rvb-sectie h2 {
	font-family: var(--rvb-serif);
	color: var(--rvb-bruin);
	font-size: clamp(28px, 3.4vw, 42px);
	line-height: 1.2;
	letter-spacing: .5px;
	padding-bottom: 14px;
}
.rvb-sectie p { font-size: 17px; line-height: 1.75; color: var(--rvb-tekst); }
.rvb-sectie--midden .et_pb_text,
.rvb-sectie--midden .et_pb_text_inner,
.rvb-sectie--midden .et_pb_text_inner * { text-align: center !important; }
.rvb-sectie--midden .et_pb_text_inner { max-width: 680px; margin: 0 auto; }
.rvb-sectie--midden .zoom-social-icons-list { justify-content: center; text-align: center; padding: 0; }

.rvb-label {
	display: inline-block;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--rvb-salie-donker) !important;
	margin-bottom: 6px;
}
.rvb-knop, .rvb-sectie a.rvb-knop {
	display: inline-block;
	background: var(--rvb-salie-donker);
	border: 0;
	cursor: pointer;
	white-space: nowrap;
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	padding: 14px 24px;
	border-radius: 100px;
	text-decoration: none;
	transition: background .2s ease;
	margin: 6px 8px 0 0;
}
.rvb-knop:hover, .rvb-sectie a.rvb-knop:hover { background: var(--rvb-salie-diep); }
.rvb-knop.rvb-knop--rand, .rvb-sectie a.rvb-knop.rvb-knop--rand { background: transparent; color: var(--rvb-bruin) !important; box-shadow: inset 0 0 0 2px var(--rvb-salie-donker); }
.rvb-knop.rvb-knop--rand:hover, .rvb-sectie a.rvb-knop.rvb-knop--rand:hover { background: var(--rvb-salie-donker); color: #fff !important; }
/* Knoppen naast elkaar, en pas onder elkaar als het niet past */
p:has(> .rvb-knop) { display: flex; flex-wrap: wrap; gap: 12px; }
p:has(> .rvb-knop) .rvb-knop { margin: 0 !important; }
.rvb-sectie--midden p:has(> .rvb-knop) { justify-content: center; }

/* Divi-knoppen (homepage-foto, contactformulier) in dezelfde kleur */
.et_pb_button, .et_pb_contact_submit, #commentform .submit {
	background-color: var(--rvb-salie-donker) !important;
	border-color: transparent !important;
	color: #fff !important;
}
.et_pb_button:hover, .et_pb_contact_submit:hover, #commentform .submit:hover { background-color: var(--rvb-salie-diep) !important; }

/* Uitgelicht boek: foto + tekst */
.rvb-uitgelicht .et_pb_row { display: flex; align-items: center; gap: clamp(28px, 5vw, 72px); }
.rvb-uitgelicht .et_pb_column { margin: 0 !important; width: auto !important; flex: 1 1 0; }
.rvb-uitgelicht img { border-radius: var(--rvb-radius); box-shadow: 0 18px 40px rgba(74, 56, 30, .14); }
@media (max-width: 980px) {
	.rvb-uitgelicht .et_pb_row { flex-direction: column; align-items: stretch; gap: 28px; }
	.rvb-uitgelicht .et_pb_column { width: 100% !important; flex: none; }
	.rvb-uitgelicht .et_pb_column:has(.et_pb_image) { order: -1; }
	.rvb-uitgelicht .et_pb_image, .rvb-uitgelicht .et_pb_image_wrap { width: 100%; }
	.rvb-uitgelicht .et_pb_image img { width: 100%; max-height: 420px; object-fit: cover; }
}
@media (max-width: 600px) {
	.rvb-knop, .rvb-sectie a.rvb-knop { display: block; flex: 1 1 100%; text-align: center; font-size: 14px; }
}
.rvb-status {
	display: inline-block;
	margin-top: 4px;
	padding: 8px 16px !important; /* Divi zet onderpadding van p op 0, dan valt het label half weg */
	border-radius: 100px;
	line-height: 1.5 !important;
	text-wrap: balance;
	background: var(--rvb-creme);
	color: var(--rvb-bruin) !important;
	font-size: 15px !important;
	font-weight: 600;
}
.rvb-status a { color: var(--rvb-bruin); text-decoration: underline; }

/* Kop van een boekpagina */
.rvb-boekkop h1 {
	font-family: var(--rvb-serif);
	color: var(--rvb-bruin);
	font-size: clamp(34px, 5vw, 58px);
	line-height: 1.15;
	padding-bottom: 8px;
}
.rvb-boekkop .rvb-ondertitel { font-size: clamp(18px, 2vw, 22px); font-style: italic; color: var(--rvb-salie-donker); letter-spacing: 0; }
.rvb-boekkop .et_pb_code { text-align: center; }

@media (max-width: 600px) {
	.rvb-status { border-radius: 14px; padding: 10px 16px !important; }
}
/* Kop en inhoud in een gecentreerde sectie dichter bij elkaar */
.rvb-sectie--midden { row-gap: 20px !important; }

/* ---------- Grote fotokop (homepage, Over mij, Contact) op mobiel ---------- */
@media (max-width: 767px) {
	.et_pb_fullwidth_header .header-content { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
	.et_pb_fullwidth_header .et_pb_fullwidth_header_container { width: 88% !important; }
	.et_pb_fullwidth_header h1, .et_pb_fullwidth_header h2.et_pb_module_header {
		letter-spacing: 1px !important;
		overflow-wrap: break-word;
		hyphens: auto;
		text-wrap: balance;
	}
	.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead { text-wrap: balance; }
	.et_pb_fullwidth_header .et_pb_button_wrapper, .et_pb_fullwidth_header .header-content > div:has(.et_pb_button) { display: flex; flex-direction: column; align-items: center; gap: 10px; }
	.et_pb_fullwidth_header .et_pb_button { margin: 0 !important; }
}
.home .et_pb_fullwidth_header h1 { text-wrap: balance; }
@media (max-width: 480px) {
	.home .et_pb_fullwidth_header h1 { font-size: 34px !important; letter-spacing: 1.5px !important; }
	.page-id-3008 .et_pb_fullwidth_header h1, .page-id-2579 .et_pb_fullwidth_header h1 { font-size: 26px !important; }
}

/* ---------- Kaarten met hoofdstukken ---------- */
.rvb-kaarten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 28px;
	margin-top: 12px;
	text-align: left;
}
.rvb-kaarten > .rvb-kaart { margin: 0; padding: 0; max-width: none; } /* .rvb-kaart is ook de wereldkaart, daarom alles binnen .rvb-kaarten */
.rvb-kaarten > .rvb-kaart { background: #fff; border-radius: var(--rvb-radius); overflow: hidden; box-shadow: 0 8px 28px rgba(74, 56, 30, .08); transition: transform .25s ease, box-shadow .25s ease; }
.rvb-kaarten > .rvb-kaart:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(74, 56, 30, .14); }
.rvb-kaart__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.rvb-kaart__beeld { aspect-ratio: 16 / 10; overflow: hidden; background: var(--rvb-lijn); }
.rvb-kaart__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvb-kaart__tekst { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.rvb-kaart__label { font-size: 12px !important; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--rvb-salie-donker) !important; margin: 0 0 6px; padding: 0; }
.rvb-kaart__titel { font-family: var(--rvb-serif); font-size: 21px; line-height: 1.3; color: var(--rvb-bruin); padding: 0; margin: 0 0 10px; }
.rvb-kaart__intro { font-size: 15px !important; line-height: 1.6 !important; margin: 0 0 16px; padding: 0; }
.rvb-kaart__meer { margin-top: auto; font-weight: 700; font-size: 14px; color: var(--rvb-salie-donker); }
.rvb-kaart__meer::after { content: " →"; }

/* ---------- Inhoudsopgave: drie hoofdstukken naast elkaar, op telefoon onder elkaar ---------- */
.rvb-inhoud {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 44px 32px;
}
.rvb-inhoud li { padding: 0 !important; margin: 0 !important; }
.rvb-inhoud a { display: flex; flex-direction: column; gap: 6px; color: var(--rvb-tekst); text-decoration: none; }
.rvb-inhoud__foto { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 12px; background: var(--rvb-lijn); margin-bottom: 10px; }
.rvb-inhoud__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.rvb-inhoud a:hover .rvb-inhoud__foto img { transform: scale(1.04); }
.rvb-inhoud__nr { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--rvb-salie-donker); }
.rvb-inhoud__titel { font-family: var(--rvb-serif); font-size: 21px; line-height: 1.3; color: var(--rvb-bruin); }
.rvb-inhoud__intro { font-size: 15px; line-height: 1.6; color: var(--rvb-tekst); }
.rvb-inhoud a:hover .rvb-inhoud__titel { color: var(--rvb-salie-donker); }
@media (max-width: 980px) {
	.rvb-inhoud { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
}
@media (max-width: 600px) {
	.rvb-inhoud { grid-template-columns: 1fr; gap: 36px; }
	.rvb-inhoud__titel { font-size: 20px; }
}

/* Kop met sorteerknop */
.rvb-inhoud-balk { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 28px; }
.rvb-sectie .rvb-inhoud-balk .rvb-inhoud-kop { text-align: left; padding: 0; margin: 0; }
.rvb-sorteer { display: inline-flex; gap: 4px; padding: 4px; background: var(--rvb-creme); border-radius: 100px; }
.rvb-sorteer button {
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	color: var(--rvb-bruin);
	background: transparent;
	border: 0;
	border-radius: 100px;
	padding: 8px 16px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.rvb-sorteer button:hover { background: #fff; }
.rvb-sorteer button[aria-pressed="true"] { background: var(--rvb-salie-donker); color: #fff; }
.rvb-sorteer button:focus-visible { outline: 2px solid var(--rvb-salie-donker); outline-offset: 2px; }

/* Lege inhoudsopgave (boek zonder hoofdstukken): hele sectie verbergen */
.rvb-inhoud-sectie:not(:has(.rvb-inhoud)) { display: none; }

/* ---------- Hoofdstukpagina: prettiger lezen ---------- */
body.single-post .et_pb_post_content.et_pb_module p,
body.single-post .et_pb_post_content.et_pb_module li {
	font-size: 18px !important;
	line-height: 1.8 !important;
	color: var(--rvb-tekst) !important;
}
body.single-post .et_pb_post_content.et_pb_module p { margin-bottom: 1.1em; padding-bottom: 0; }
body.single-post .et_pb_post_content.et_pb_module blockquote p,
body.single-post .et_pb_post_content.et_pb_module .wp-block-pullquote p,
body.single-post .et_pb_post_content.et_pb_module .wp-block-quote p {
	font-family: var(--rvb-serif) !important;
	font-size: 22px !important;
	line-height: 1.5 !important;
	font-style: italic;
	color: var(--rvb-bruin) !important;
}
body.single-post .et_pb_post_content.et_pb_module img { border-radius: 10px; height: auto; }
body.single-post .et_pb_title_featured_container img { border-radius: var(--rvb-radius); }
/* Minder witruimte tussen uitgelichte foto en tekst */
body.single-post .et_pb_row_0_tb_body { padding-bottom: 0 !important; }
body.single-post .rvb-meta { font-size: 14px; color: var(--rvb-salie-donker); font-weight: 600; letter-spacing: .3px; }

/* Reacties */
#comment-wrap { padding-top: 24px; border-top: 1px solid var(--rvb-lijn); }
#comment-wrap:has(#comment-section.nocomments) #comments { display: none; }
#comment-wrap #comments, #comment-wrap .comment-reply-title {
	font-family: var(--rvb-serif) !important;
	font-size: 26px !important;
	line-height: 1.3 !important;
	color: var(--rvb-bruin) !important;
	text-transform: none !important;
	padding-bottom: 6px !important;
}
#commentform .comment-notes { font-size: 14px; color: #7a7262; }
#commentform label { display: block; font-size: 14px; font-weight: 600; color: var(--rvb-tekst); margin-bottom: 6px; }
#commentform input[type="text"], #commentform input[type="email"], #commentform textarea {
	width: 100% !important;
	background: #fff !important;
	border: 1px solid var(--rvb-lijn) !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-size: 16px !important;
	color: var(--rvb-tekst) !important;
	box-shadow: none !important;
	transition: border-color .2s ease;
}
#commentform input:focus, #commentform textarea:focus { border-color: var(--rvb-salie-donker) !important; outline: none; }
#commentform textarea { min-height: 140px; }
#commentform .comment-form-author, #commentform .comment-form-email { width: 100% !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; }
@media (min-width: 768px) {
	#commentform { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
	#commentform > * { grid-column: 1 / -1; }
	#commentform > .comment-form-author { grid-column: 1; }
	#commentform > .comment-form-email { grid-column: 2; }
}
#commentform .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
#commentform .comment-form-cookies-consent label { font-weight: 400; margin: 0; }
#commentform .submit, #commentform label, #commentform input, #commentform textarea { font-family: "Open Sans", Arial, sans-serif !important; letter-spacing: 0; }
#commentform .submit {
	border-radius: 100px !important;
	padding: 14px 28px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	border: 0 !important;
	float: none !important;
}
#commentform .submit::after { display: none !important; }
#commentform .form-submit { text-align: left !important; }
body.single-post #et-boc .et-l .et_pb_post_title .entry-title,
body.single-post #et-boc .et-l .et_pb_post_title h1 {
	font-family: var(--rvb-serif) !important;
	font-size: clamp(28px, 3.6vw, 42px) !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--rvb-bruin) !important;
}
@media (max-width: 767px) {
	body.single-post .et_pb_post_content.et_pb_module p,
	body.single-post .et_pb_post_content.et_pb_module li { font-size: 17px !important; line-height: 1.75 !important; }
}

/* ---------- Footer ---------- */
#main-footer { display: none; }
.rvb-footer { background: var(--rvb-footer); color: #eef0ea; }
.rvb-footer__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 24px 36px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 40px;
	align-items: start;
}
.rvb-footer__logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.rvb-footer__logo img { width: 56px; height: auto; }
.rvb-footer__logo span { font-family: var(--rvb-serif); font-size: 20px; font-weight: 700; color: #fff; }
.rvb-footer__tagline { margin: 12px 0 0; font-size: 15px; color: #f4f6ef; }
.rvb-footer__menu { list-style: none; margin: 0; padding: 0; }
.rvb-footer__menu li { padding: 0; }
.rvb-footer__menu a { display: inline-block; padding: 6px 0; color: #fff; font-weight: 600; text-decoration: none; }
.rvb-footer__menu a:hover { color: #fff; text-decoration: underline; }
.rvb-footer .zoom-social-icons-list { margin: 0 !important; padding: 0 !important; }
.rvb-footer .zoom-social_icons-list__item:first-child { margin-left: 0; }
@media (min-width: 768px) {
	.rvb-footer .zoom-social-icons-list { text-align: left !important; justify-content: flex-start !important; }
}
.rvb-footer__kop { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #fff; }
.rvb-footer__copy { margin: 0; padding: 18px 24px; text-align: center; font-size: 13px; color: #f4f6ef; border-top: 1px solid rgba(255, 255, 255, .2); }
.rvb-footer .zoom-social_icons-list-span { background-color: rgba(255, 255, 255, .16) !important; }
.rvb-footer .zoom-social_icons-list__link:hover .zoom-social_icons-list-span { background-color: var(--rvb-salie-diep) !important; }
@media (max-width: 767px) {
	.rvb-footer__inner { grid-template-columns: 1fr; text-align: center; gap: 28px; padding: 44px 20px 28px; }
	.rvb-footer__logo { flex-direction: column; }
	.rvb-footer__menu a { padding: 9px 0; }
	.rvb-footer .zoom-social-icons-list { justify-content: center; }
}

/* ---------- Bestemmingen: geïllustreerde kaart ---------- */
.rvb-bestemmingen.rvb-sectie { padding-bottom: 0 !important; }
.rvb-bestemming { text-align: left; }

.rvb-kaart { position: relative; margin: 36px auto 0; max-width: 1200px; }
.rvb-kaart__venster {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	background: #bde2de;
	box-shadow: 0 30px 60px -20px rgba(74, 56, 30, .35), 0 0 0 6px #fff;
	aspect-ratio: 16 / 9;
	user-select: none;
	-webkit-user-select: none;
}
.rvb-kaart__svg { position: absolute; inset: 0; cursor: grab; touch-action: pan-y; } /* één vinger scrolt de pagina, twee vingers bewegen de kaart */
.rvb-kaart.is-actief .rvb-kaart__svg:active { cursor: grabbing; }
.rvb-kaart__svg svg { position: absolute; left: -50%; top: -50%; display: block; width: 200%; height: 200%; transform-origin: 0 0; }
.rvb-kaart__svg svg.is-bewegend { will-change: transform; }

/* Kaartstijl */
.rvb-kaart .k-kust path { fill: none; stroke: #e2f3ef; stroke-width: calc(var(--px, .5) * 9px); stroke-linejoin: round; }
.rvb-kaart .k-land path { fill: #cfe0b4; stroke: #fff; stroke-width: calc(var(--px, .5) * 1px); stroke-opacity: .85; transition: fill .3s ease; }
.rvb-kaart .k-land path.is-woestijn { fill: #ecd9a8; }
.rvb-kaart .k-land path.is-ijs { fill: #f1f5f3; }
.rvb-kaart .k-land path.is-bezocht { fill: #f5dbb3; }
.rvb-kaart .k-land path.is-bezocht:hover { fill: #efc993; }
.rvb-kaart .k-land-deco, .rvb-kaart .k-gras, .rvb-kaart .k-zee-deco { pointer-events: none; transition: opacity .6s ease; }
.rvb-kaart.z-ver .k-land-deco { opacity: .45; }
.rvb-kaart.z-ver .k-gras, .rvb-kaart.z-midden .k-gras { opacity: 0; }
.rvb-kaart.z-ver .k-zee-deco { opacity: .5; }

/* Namen */
.rvb-kaart .k-zeenaam {
	font-family: var(--rvb-serif);
	font-style: italic;
	font-size: calc(var(--px, .5) * 13px);
	letter-spacing: calc(var(--px, .5) * 2px);
	fill: #5e9a98;
	opacity: .85;
	pointer-events: none;
}
.rvb-kaart .k-zeenaam.is-groot { font-size: calc(var(--px, .5) * 17px); letter-spacing: calc(var(--px, .5) * 5px); text-transform: uppercase; font-style: normal; opacity: .55; }
.rvb-kaart.z-ver .k-zeenaam:not(.is-groot) { opacity: 0; }
@media (max-width: 600px) { .rvb-kaart.z-ver .k-zeenaam { opacity: 0; } }
.rvb-kaart .k-landnaam {
	font-family: "Open Sans", sans-serif;
	font-weight: 700;
	font-size: calc(var(--px, .5) * 10.5px);
	letter-spacing: calc(var(--px, .5) * 2.4px);
	text-transform: uppercase;
	fill: var(--rvb-bruin);
	opacity: .75;
	paint-order: stroke;
	stroke: rgba(255, 255, 255, .7);
	stroke-width: calc(var(--px, .5) * 3px);
	pointer-events: none;
	transition: opacity .4s ease;
}
.rvb-kaart .k-landnaam:not(.is-zichtbaar) { opacity: 0; }

/* Vliegroute */
.rvb-kaart .k-route__lijn { fill: none; stroke: var(--rvb-bruin); stroke-opacity: .55; stroke-width: calc(var(--px, .5) * 1.6px); stroke-dasharray: calc(var(--px, .5) * 5px) calc(var(--px, .5) * 5px); stroke-linecap: round; }
.rvb-kaart.z-ver .k-route { opacity: 0; }

/* HTML-laag met pins en vliegtuigje */
.rvb-kaart__laag { position: absolute; inset: 0; z-index: 4; pointer-events: none; overflow: hidden; contain: strict; }
.rvb-pin {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	pointer-events: auto;
	outline: none;
}
.rvb-pin__val {
	position: absolute;
	left: -12px;
	top: -30px;
	width: 24px;
	height: 32px;
	display: block;
	transform-origin: 50% 100%;
	transition: transform .18s ease;
	animation: rvb-pinval .7s cubic-bezier(.3, 1.5, .5, 1) backwards;
	animation-delay: var(--vertraging, 0s);
}
.rvb-pin__val svg { width: 100%; height: 100%; overflow: visible; display: block; }
.rvb-pin__vorm { fill: var(--rvb-rood); stroke: #fff; stroke-width: 1.1; }
.rvb-pin__schaduw { fill: rgba(40, 30, 10, .25); }
.rvb-pin:hover .rvb-pin__val, .rvb-pin.is-actief .rvb-pin__val, .rvb-pin:focus-visible .rvb-pin__val { transform: scale(1.22); }
.rvb-pin.is-actief, .rvb-pin:hover { z-index: 2; }
/* Landen: groen rondje op het midden van het land (steden houden de speld) */
.rvb-pin--land .rvb-pin__val { left: -8px; top: -8px; width: 16px; height: 16px; transform-origin: 50% 50%; }
.rvb-pin__rondje { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--rvb-salie-donker); border: 2.5px solid #fff; box-sizing: border-box; box-shadow: 0 1px 3px rgba(40, 30, 10, .35); }
.rvb-pin--land:hover .rvb-pin__val, .rvb-pin--land.is-actief .rvb-pin__val, .rvb-pin--land:focus-visible .rvb-pin__val { transform: scale(1.3); }
@keyframes rvb-pinval { from { transform: translateY(-16px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 600px) {
	.rvb-pin__val { left: -10px; top: -26px; width: 20px; height: 27px; }
	.rvb-pin--land .rvb-pin__val { left: -7px; top: -7px; width: 14px; height: 14px; }
}
.rvb-vliegtuig { position: absolute; left: -9px; top: -9px; width: 18px; height: 18px; will-change: transform, opacity; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }
.rvb-vliegtuig svg { width: 100%; height: 100%; display: block; }
.rvb-vliegtuig path { fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.rvb-kaart__tip {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 6;
	will-change: transform;
	background: #fff;
	border-radius: 10px;
	padding: 8px 12px;
	box-shadow: 0 10px 24px rgba(74, 56, 30, .22);
	pointer-events: none;
	opacity: 0;
	transition: opacity .15s ease;
	white-space: nowrap;
	text-align: center;
}
.rvb-kaart__tip.is-zichtbaar { opacity: 1; }
.rvb-kaart__tip strong { display: block; font-family: var(--rvb-serif); font-size: 16px; color: var(--rvb-bruin); line-height: 1.2; }
.rvb-kaart__tip span { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--rvb-salie-donker); margin-top: 2px; }
.rvb-kaart__tip::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-bottom: 0; border-top-color: #fff; }

/* Lucht: wolken en vogels */
.rvb-kaart__lucht { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 3; container-type: size; }
.rvb-wolk {
	position: absolute;
	display: block;
	width: 210px;
	height: 105px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='.45' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23dfeceb'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M52 92 C30 92 18 78 26 64 C14 56 22 36 42 40 C44 22 66 14 82 24 C92 6 124 4 134 24 C150 14 176 24 174 44 C194 44 204 64 192 78 C188 90 174 94 162 90 C150 98 128 98 118 90 C104 98 84 98 74 90 C68 94 60 94 52 92 Z'/%3E%3Cpath fill='%23ffffff' opacity='.85' d='M92 26 C100 14 120 14 128 28 C120 20 102 20 92 26 Z'/%3E%3C/svg%3E") center / contain no-repeat;
	filter: drop-shadow(0 18px 12px rgba(46, 92, 92, .13));
}
.rvb-wolk--2, .rvb-wolk--rand2 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='.45' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23dfeceb'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M46 88 C28 88 20 74 30 64 C24 50 40 40 54 46 C60 28 86 24 98 40 C110 26 134 30 138 48 C156 44 172 56 168 70 C182 74 182 90 166 92 C156 98 138 98 128 92 C114 98 92 98 80 92 C70 96 56 95 46 88 Z'/%3E%3Cpath fill='%23ffffff' opacity='.85' d='M58 50 C62 40 74 36 84 42 C76 40 64 42 58 50 Z'/%3E%3C/svg%3E"); }
.rvb-wolk--3 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 110'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='.45' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23dfeceb'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M60 90 C40 90 32 76 42 66 C38 50 56 42 70 48 C78 26 112 22 124 42 C136 32 160 38 160 56 C178 56 190 72 178 84 C172 94 156 96 146 92 C134 98 114 98 104 92 C92 98 74 97 60 90 Z'/%3E%3Cpath fill='%23ffffff' opacity='.85' d='M84 40 C92 30 108 30 116 40 C108 34 92 34 84 40 Z'/%3E%3C/svg%3E"); }
.rvb-wolk--1 { top: 6%; left: -240px; animation: rvb-drijf 80s linear infinite; will-change: transform; }
.rvb-wolk--2 { top: 55%; left: -240px; scale: .85; animation: rvb-drijf 105s linear infinite -50s; opacity: .95; will-change: transform; }
.rvb-wolk--3 { top: 28%; left: -240px; scale: .7; animation: rvb-drijf 130s linear infinite -95s; opacity: .9; will-change: transform; }
@keyframes rvb-drijf { from { transform: translateX(0); } to { transform: translateX(calc(100cqw + 400px)); } }
.rvb-wolk--rand1, .rvb-wolk--rand2 { z-index: 4; pointer-events: none; animation: rvb-dobber 9s ease-in-out infinite; }
.rvb-wolk--rand1 { top: -18px; left: -14px; transform: scale(.9); transform-origin: 0 0; } /* binnen de kaartrand */
.rvb-wolk--rand2 { bottom: 40px; right: -10px; transform: scale(.9); transform-origin: 100% 100%; animation-delay: -4s; }
@keyframes rvb-dobber { 50% { translate: 0 -8px; } }

.rvb-vogels { position: absolute; top: 20%; left: -60px; animation: rvb-vlieg 38s linear infinite 3s; will-change: transform; }
.rvb-vogels i {
	position: absolute;
	width: 14px;
	height: 6px;
	border: 2px solid #4a5f5d;
	border-color: #4a5f5d transparent transparent transparent;
	border-radius: 50% 50% 0 0;
	animation: rvb-klap .5s ease-in-out infinite alternate;
	opacity: .7;
}
.rvb-vogels i:nth-child(2) { left: 18px; top: 8px; scale: .8; animation-delay: -.2s; }
.rvb-vogels i:nth-child(3) { left: -12px; top: 12px; scale: .7; animation-delay: -.35s; }
@keyframes rvb-vlieg { from { transform: translate(0, 0); } to { transform: translate(calc(100cqw + 140px), -12cqh); } }
@keyframes rvb-klap { to { transform: scaleY(.35); } }

/* Bediening en kompas */
.rvb-kaart__knoppen {
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 5px;
	background: #fff;
	border-radius: 100px;
	box-shadow: 0 8px 20px rgba(74, 56, 30, .15);
}
.rvb-kaart__knoppen button {
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--rvb-bruin);
	background: transparent;
	border: 0;
	border-radius: 100px;
	padding: 8px 16px;
	min-width: 38px;
	cursor: pointer;
}
.rvb-kaart__knoppen button[data-actie="in"], .rvb-kaart__knoppen button[data-actie="uit"] { font-size: 18px; line-height: 1; padding: 6px 12px; }
.rvb-kaart__knoppen button:hover { background: var(--rvb-creme); }
.rvb-kaart__knoppen button[aria-pressed="true"] { background: var(--rvb-salie-donker); color: #fff; }
.rvb-kaart__scheiding { width: 1px; height: 20px; background: var(--rvb-lijn); margin: 0 4px; }
.rvb-kaart__kompas { position: absolute; left: 18px; bottom: 16px; width: 52px; height: 52px; z-index: 5; pointer-events: none; opacity: .85; }
.rvb-kaart.is-fout .rvb-kaart__venster { display: none; }

@media (max-width: 600px) {
	.rvb-kaart { margin-left: -6px; margin-right: -6px; }
	.rvb-kaart__venster { aspect-ratio: 4 / 5; border-radius: 16px; box-shadow: 0 20px 40px -18px rgba(74, 56, 30, .35), 0 0 0 4px #fff; }
	.rvb-kaart__knoppen { bottom: 10px; }
	.rvb-kaart__knoppen button { padding: 8px 11px; }
	.rvb-kaart__kompas { display: none; }
	.rvb-wolk--rand1 { transform: scale(.55); top: -14px; left: -10px; }
	.rvb-wolk--rand2 { transform: scale(.55); bottom: 70px; right: -8px; }
	.rvb-wolk--1, .rvb-wolk--2, .rvb-wolk--3 { scale: .55; }
	}
@media (prefers-reduced-motion: reduce) {
	.rvb-wolk, .rvb-vogels, .rvb-vogels i { animation: none !important; }
	.rvb-vogels { display: none; }
}

/* Kerncijfers */
.rvb-cijfers {
	display: flex;
	justify-content: center;
	gap: clamp(24px, 6vw, 72px);
	margin: 48px auto 0;
	padding: 0;
}
.rvb-cijfers > div { display: flex; flex-direction: column-reverse; align-items: center; text-align: center; }
.rvb-cijfers dd { margin: 0; font-family: var(--rvb-serif); font-size: clamp(34px, 5vw, 52px); line-height: 1; color: var(--rvb-bruin); }
.rvb-cijfers dt { margin-top: 8px; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--rvb-salie-donker); }

/* Landenlijst: typografisch, zonder blokjes */
.rvb-landen {
	max-width: 1080px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 72px) 0 clamp(48px, 7vw, 88px);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 40px;
}
.rvb-landen__deel--groot { grid-column: 1 / -1; }
.rvb-landen__deel summary {
	list-style: none;
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding-bottom: 10px;
	margin-bottom: 14px;
	border-bottom: 1px solid var(--rvb-lijn);
	cursor: pointer;
}
.rvb-landen__deel summary::-webkit-details-marker { display: none; }
.rvb-landen__naam { font-family: var(--rvb-serif); font-size: 22px; font-weight: 700; color: var(--rvb-bruin); }
.rvb-landen__aantal { font-size: 13px; font-weight: 700; color: var(--rvb-salie-donker); }
.rvb-landen ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.rvb-landen__deel--groot ul { columns: 5 160px; column-gap: 32px; }
.rvb-landen li { position: relative; padding: 4px 0 4px 16px !important; font-size: 15px; line-height: 1.5; color: var(--rvb-tekst); break-inside: avoid; }
.rvb-landen li::before { content: ""; position: absolute; left: 0; top: .85em; width: 7px; height: 7px; border-radius: 50%; background: var(--rvb-salie-donker); }
@media (max-width: 980px) {
	.rvb-landen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.rvb-landen { grid-template-columns: 1fr; gap: 6px; padding-top: 32px; }
	.rvb-landen__deel summary { margin-bottom: 8px; padding: 12px 0; justify-content: space-between; }
	.rvb-landen__deel summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--rvb-salie-donker); margin-left: auto; }
	.rvb-landen__deel[open] summary::after { content: "−"; }
	.rvb-landen__aantal { margin-left: 8px; }
	.rvb-landen__deel--groot ul { columns: 2; }
	.rvb-cijfers { gap: 20px; }
	.rvb-cijfers dt { font-size: 10px; letter-spacing: 1.2px; white-space: nowrap; }
}

/* ---------- Taalkeuze ---------- */
/* Desktop: zwevende knop rechtsonder; het menu-item verbergen. */
#top-menu .menu-item-gtranslate { display: none !important; }
/* Mobiel: taalkeuze in het uitklapmenu; zwevende knop verbergen zodat hij niet over de tekst staat. */
@media (max-width: 980px) {
	body > .gtranslate_wrapper { display: none !important; }
	#mobile_menu .menu-item-gtranslate { padding: 12px 5% !important; border-bottom: 0 !important; }
	#mobile_menu .menu-item-gtranslate > div { position: static !important; }
	#mobile_menu .menu-item-gtranslate .gt_float_switcher { box-shadow: none; border: 1px solid var(--rvb-lijn); border-radius: 8px; display: inline-block; }
	.et_pb_scroll_top.et-pb-icon { bottom: 12px !important; right: 12px !important; padding: 8px !important; border-radius: 100px !important; }
}

/* ---------- Vertalingen van rechts naar links (Arabisch) ---------- */
/* Header en kaart blijven links-naar-rechts, anders valt het logo buiten beeld. */
.translated-rtl #main-header .container,
.translated-rtl .rvb-kaart { direction: ltr; }

/* ---------- Sidebar hoofdstuk: boekinfo ---------- */
.rvb-boekinfo { background: var(--rvb-creme); border-radius: var(--rvb-radius); padding: 22px 22px 20px; }
.rvb-boekinfo p { padding: 0; }
.rvb-boekinfo__boek { margin: 0 0 4px; }
#et-boc .et-l .rvb-boekinfo .rvb-boekinfo__boek a { font-family: var(--rvb-serif); font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--rvb-bruin); text-decoration: none; }
.rvb-boekinfo__pos { margin: 0 0 10px; font-size: 14px; color: var(--rvb-salie-donker); font-weight: 600; }
.rvb-boekinfo__balk { height: 6px; background: var(--rvb-lijn); border-radius: 6px; overflow: hidden; margin-bottom: 16px; }
.rvb-boekinfo__balk span { display: block; height: 100%; background: var(--rvb-salie); border-radius: 6px; }
.rvb-boekinfo__lijst { list-style: none !important; margin: 0 0 14px !important; padding: 0 !important; }
#et-boc .et-l .rvb-boekinfo__lijst li { padding: 0 !important; margin: 0 !important; border-top: 1px solid var(--rvb-lijn); }
.rvb-boekinfo__item { display: flex; align-items: center; gap: 12px; padding: 10px 0; color: var(--rvb-tekst); text-decoration: none; }
.rvb-boekinfo__foto { flex: none; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--rvb-lijn); }
.rvb-boekinfo__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvb-boekinfo__tekst { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rvb-boekinfo__nr { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--rvb-salie-donker); }
.rvb-boekinfo__titel { font-family: var(--rvb-serif); font-size: 15px; line-height: 1.35; color: var(--rvb-bruin); }
a.rvb-boekinfo__item:hover .rvb-boekinfo__titel { color: var(--rvb-salie-donker); }
.rvb-boekinfo__lijst li.is-huidig .rvb-boekinfo__item { margin: 0 -10px; padding: 10px; background: #fff; border-radius: 10px; }
#et-boc .et-l .rvb-boekinfo__lijst li.is-huidig .rvb-boekinfo__titel { font-weight: 700; }
#et-boc .et-l .rvb-boekinfo__lijst li.is-huidig, #et-boc .et-l .rvb-boekinfo__lijst li.is-huidig + li { border-top-color: transparent; }
.rvb-boekinfo__alle { font-weight: 700; font-size: 14px; color: var(--rvb-salie-donker) !important; text-decoration: none; }

/* Vorige / volgende onder een hoofdstuk */
body.single-post #et-boc .et-l .et_pb_posts_nav a,
body.single-post #et-boc .et-l .et_pb_post_nav a {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 100px;
	box-shadow: inset 0 0 0 2px var(--rvb-salie-donker);
	color: var(--rvb-bruin) !important;
	font-size: 14px !important;
	letter-spacing: 1px !important;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
body.single-post .et_pb_posts_nav a:hover,
body.single-post .et_pb_post_nav a:hover { background: var(--rvb-salie-donker); color: #fff !important; }
body.single-post #et-boc .et-l .et_pb_posts_nav a span { font-size: inherit !important; letter-spacing: inherit !important; }
body.single-post #et-boc .et-l .et_pb_posts_nav { display: flex; justify-content: space-between; gap: 12px; width: 100% !important; max-width: 100%; }
body.single-post #et-boc .et-l .et_pb_posts_nav .nav-next { margin-left: auto; }
@media (max-width: 767px) {
	body.single-post #et-boc .et-l .et_pb_posts_nav a { font-size: 13px !important; padding: 10px 14px; }
}

/* ---------- Over mij (2579) en Contact (3008) ---------- */
/* Prettige regellengte en leesbare tekst. */
.page-id-2579 .et-l--post .et_pb_section:not(.et_pb_fullwidth_section) .et_pb_row { max-width: 760px !important; }
.page-id-2579 .et-l--post .et_pb_module:not(.et_pb_fullwidth_header) p { font-size: 17px !important; line-height: 1.8 !important; }
.page-id-2579 .et-l--post .et_pb_module:not(.et_pb_fullwidth_header) h2 { font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.2 !important; }
.page-id-2579 .et-l--post .et_pb_image { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.page-id-2579 .et-l--post .et_pb_image img { border-radius: var(--rvb-radius); }
.page-id-3008 .et-l--post .et_pb_module:not(.et_pb_fullwidth_header) :is(h1, h2, h3, h4) { line-height: 1.4 !important; }
.page-id-2579 .et-l--post .et_pb_section:not(.et_pb_fullwidth_section) .et_pb_column { width: 100% !important; margin-right: 0 !important; float: none; }
.page-id-2579 .et-l--post .et_pb_column_empty { display: none !important; }
.page-id-2579 .et-l--post .et_pb_image { max-width: 280px; }

/* Contactformulier: op mobiel velden onder elkaar */
@media (max-width: 600px) {
	.et_pb_contact_form .et_pb_contact_field { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
	.page-id-3008 .et-l--post .et_pb_text :is(h1, h2, h3, h4) { font-size: 20px !important; }
}

/* ---------- Zoeken en 404 ---------- */
.rvb-pagina { background: #fff; }
.rvb-pagina__kop { background: var(--rvb-creme); text-align: center; padding: clamp(48px, 7vw, 88px) 24px clamp(40px, 6vw, 64px); }
.rvb-pagina__kop h1 { font-family: var(--rvb-serif); color: var(--rvb-bruin); font-size: clamp(30px, 4.4vw, 48px); line-height: 1.2; padding: 0 0 10px; text-wrap: balance; }
.rvb-pagina__tekst { font-size: 17px; line-height: 1.7; color: var(--rvb-tekst); max-width: 560px; margin: 0 auto 8px; }
.rvb-pagina__knoppen { justify-content: center; margin-top: 18px; }
.rvb-pagina__inhoud { max-width: 1128px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(24px, 6vw, 24px) clamp(56px, 8vw, 96px); text-align: center; }
.rvb-pagina__inhoud h2 { font-family: var(--rvb-serif); color: var(--rvb-bruin); font-size: clamp(26px, 3vw, 36px); padding-bottom: 24px; }
.rvb-zoek { display: flex; gap: 10px; max-width: 520px; margin: 18px auto 0; }
.rvb-zoek input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 12px 20px;
	font: inherit;
	font-size: 16px;
	color: var(--rvb-tekst);
	background: #fff;
	border: 1px solid var(--rvb-lijn);
	border-radius: 100px;
	-webkit-appearance: none;
}
.rvb-zoek input[type="search"]:focus { border-color: var(--rvb-salie-donker); outline: none; }
.rvb-zoek .rvb-knop { margin: 0; }
@media (max-width: 600px) {
	.rvb-zoek .rvb-knop { display: inline-block; flex: none; padding: 12px 18px; }
}
.rvb-paginering { margin-top: 40px; }
.rvb-paginering .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.rvb-paginering .page-numbers { display: inline-block; min-width: 42px; padding: 9px 14px; border-radius: 100px; color: var(--rvb-bruin); text-decoration: none; font-weight: 700; box-shadow: inset 0 0 0 1px var(--rvb-lijn); }
.rvb-paginering .page-numbers.current { background: var(--rvb-salie-donker); color: #fff; box-shadow: none; }
.rvb-paginering a.page-numbers:hover { box-shadow: inset 0 0 0 2px var(--rvb-salie-donker); }

/* Over mij op mobiel: dezelfde zijmarges als de andere pagina's */
@media (max-width: 767px) {
	.page-id-2579 .et-l--post .et_pb_section:not(.et_pb_fullwidth_section) .et_pb_row { width: 86% !important; }
	.page-id-2579 .et-l--post .et_pb_section:not(.et_pb_fullwidth_section) .et_pb_column { padding-left: 0 !important; padding-right: 0 !important; }
}

/* =========================================================
   Rustiger ontwerp (2026-10-15): compacte header, crème koppen, geen labels/ondertitels
   ========================================================= */
/* ---------- Menustijl vast in eigen CSS ---------- */
/* Divi zet de menu-instellingen soms alleen in het cachebestand van de Theme Builder-pagina's; dan kregen
   zoeken en 404 een kale menubalk. Daarom hier vastgelegd, onafhankelijk van welke pagina de cache maakt. */
#top-menu li a { font-weight: 700; font-style: normal; text-transform: uppercase; text-decoration: none; }
#top-menu li.current-menu-ancestor > a, #top-menu li.current-menu-item > a, #top-menu li.current_page_item > a { color: var(--rvb-salie-donker) !important; }
.nav li ul { border-color: #bfc9aa; }
.mobile_menu_bar::before, .mobile_menu_bar::after, #et_search_icon::before, .et_close_search_field::after, .et_mobile_menu li a, #top-menu a { color: rgba(0, 0, 0, .6) !important; }
.et_mobile_menu { border-top-color: var(--rvb-salie-donker) !important; }

/* ---------- Compactere header (alleen de puffin, zonder sitenaam) ---------- */
@media (min-width: 981px) {
	#et-top-navigation,
	body.et_header_style_left #et-top-navigation { padding-top: 38px !important; }
	#top-menu > li > a { padding-bottom: 36px !important; }
	body.et_header_style_left .et-fixed-header #et-top-navigation { padding-top: 26px !important; }
	.et-fixed-header #top-menu > li > a { padding-bottom: 24px !important; }
	#top-menu li a { font-size: 14px !important; letter-spacing: 1.6px !important; }
	#top-menu li { padding-right: 26px; }
	/* Divi meet de headerhoogte voordat deze stijl (uitgesteld) geladen is; ruimte erboven daarom vast zetten. */
	#page-container { padding-top: 89px !important; }
}
/* Puffin verticaal gecentreerd, met ruimte eromheen */
.logo_container a { display: inline-flex; align-items: center; height: 100%; vertical-align: middle; text-decoration: none; }
.logo_container .logo_helper { display: none; }
#main-header #logo { height: 54px; max-height: none !important; width: auto !important; max-width: none !important; }
.et-fixed-header #logo { height: 46px; }
@media (max-width: 980px) {
	#main-header .logo_container { padding-left: 4px; }
	#main-header #logo { height: 46px; }
}

/* ---------- Over mij en Contact: rustige crème kop, zoals Noorwegen en het archief ---------- */
html body:is(.page-id-2579, .page-id-3008) .et-l--post .et_pb_section.et_pb_section_0 { background: var(--rvb-creme) !important; background-color: var(--rvb-creme) !important; }
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header {
	background: var(--rvb-creme) !important;
	min-height: 0 !important;
	animation: none !important;
	opacity: 1 !important;
	padding: clamp(56px, 8vw, 104px) 0 clamp(44px, 6vw, 72px) !important;
}
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header .et_pb_module_header {
	font-family: var(--rvb-serif) !important;
	color: var(--rvb-bruin) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-shadow: none !important;
	font-size: clamp(34px, 5vw, 58px) !important;
	line-height: 1.15 !important;
}
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header_overlay { display: none !important; }
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header .et_pb_module_header::first-letter { text-transform: uppercase; }
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
	color: var(--rvb-salie-donker) !important;
	font-family: var(--rvb-serif) !important;
	font-style: italic;
	font-size: clamp(18px, 2vw, 22px) !important;
	letter-spacing: 0 !important;
	line-height: 1.5 !important;
	text-shadow: none !important;
}

/* ---------- Lichtere leestekst in hoofdstukken ---------- */
body.single-post .et_pb_post_content.et_pb_module p,
body.single-post .et_pb_post_content.et_pb_module li {
	font-weight: 400 !important;
	color: #2f281d !important;
}
body.single-post .et_pb_post_content.et_pb_module { max-width: 680px; }

/* ---------- Geen kopjes boven titels (Afgerond boek, Nu aan het schrijven, Zoeken, kaartlabels, …) ---------- */
.rvb-label,
.rvb-kaart__label { display: none !important; }

/* ---------- Over mij: geen ondertitel, foto van Lennart naast de titel ---------- */
body.page-id-2579 .et-l--post .et_pb_section:not(.et_pb_fullwidth_section) .et_pb_image { display: none !important; }
body.page-id-2579 .et_pb_fullwidth_header .header-content {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 4vw, 44px);
	width: auto !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}
body.page-id-2579 .rvb-overmij-foto {
	flex: none;
	width: clamp(104px, 16vw, 200px);
	height: clamp(104px, 16vw, 200px);
	object-fit: cover;
	border-radius: 50%;
	box-shadow: 0 14px 32px rgba(74, 56, 30, .16);
}
body.page-id-2579 .et_pb_fullwidth_header .et_pb_module_header { text-align: left !important; padding: 0 !important; margin: 0 !important; }

/* ---------- Bestemmingen: crème kop zoals Noorwegen en het archief ---------- */
/* De kop en de kaart zitten in één Divi-sectie; de crème vlak loopt via border-image tot de schermranden. */
.rvb-bestemmingen > .et_pb_row:first-child {
	padding-bottom: clamp(48px, 7vw, 88px) !important;
	border-image: linear-gradient(var(--rvb-creme), var(--rvb-creme)) fill 0 / 0 / clamp(48px, 7vw, 96px) 100vw 0;
}
.rvb-bestemmingen > .et_pb_row:first-child :is(h1, h2) { font-size: clamp(34px, 5vw, 58px) !important; line-height: 1.15 !important; }
.rvb-bestemmingen .rvb-kaart { margin-top: clamp(28px, 5vw, 56px); }

/* ---------- Geen schuingedrukte ondertitels onder de paginatitels ---------- */
.rvb-ondertitel,
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header_subhead { display: none !important; }
/* Zelfde letterdikte als de titels van Noorwegen en het archief */
body:is(.page-id-2579, .page-id-3008) .et_pb_fullwidth_header .et_pb_module_header { font-weight: 500 !important; }

/* Geen crème labeltjes ("Het eerste hoofdstuk verschijnt in januari", "73 hoofdstukken …") */
.rvb-status { display: none !important; }

/* ---------- Kaart schermvullend (telefoon) ---------- */
.rvb-kaart__open, .rvb-kaart__sluit {
	position: absolute;
	z-index: 7;
	display: none;
	align-items: center;
	gap: 8px;
	border: 0;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	color: var(--rvb-bruin);
	background: #fff;
	box-shadow: 0 8px 20px rgba(74, 56, 30, .18);
	-webkit-tap-highlight-color: transparent;
}
.rvb-kaart__open svg, .rvb-kaart__sluit svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.rvb-kaart__open { top: 12px; right: 12px; padding: 9px 14px; border-radius: 100px; font-size: 13px; letter-spacing: .3px; }
.rvb-kaart__sluit { top: calc(12px + env(safe-area-inset-top)); right: 12px; width: 46px; height: 46px; justify-content: center; border-radius: 50%; }
.rvb-kaart__sluit svg { width: 22px; height: 22px; }
@media (hover: none) and (pointer: coarse) {
	.rvb-kaart:not(.is-volledig) .rvb-kaart__open { display: inline-flex; }
}
.rvb-kaart.is-volledig .rvb-kaart__sluit { display: inline-flex; }

.rvb-kaart.is-volledig .rvb-kaart__venster {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	width: 100%;
	height: 100%;
	height: 100dvh;
	aspect-ratio: auto;
	border-radius: 0;
	box-shadow: none;
}
.rvb-kaart.is-volledig .rvb-kaart__svg { touch-action: none; cursor: grab; }
.rvb-kaart.is-volledig .rvb-wolk--rand1, .rvb-kaart.is-volledig .rvb-wolk--rand2 { display: none; }
.rvb-kaart.is-volledig .rvb-kaart__knoppen { bottom: calc(18px + env(safe-area-inset-bottom)); }
html.rvb-kaart-open, html.rvb-kaart-open body { overflow: hidden !important; overscroll-behavior: none; }
html.rvb-kaart-open .et_pb_scroll_top, html.rvb-kaart-open .gtranslate_wrapper { display: none !important; }

/* =========================================================
   Boeken als basis (2026-10-21, feedback Lennart)
   ========================================================= */
/* ---------- Homepage: de drie boeken ---------- */
.rvb-boeken {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 12px;
	text-align: left;
}
.rvb-boek { background: #fff; border-radius: var(--rvb-radius); overflow: hidden; box-shadow: 0 8px 28px rgba(74, 56, 30, .08); transition: transform .25s ease, box-shadow .25s ease; }
.rvb-boek:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(74, 56, 30, .14); }
.rvb-boek__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.rvb-boek__beeld { aspect-ratio: 4 / 3; overflow: hidden; background: var(--rvb-lijn); }
.rvb-boek__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvb-boek__tekst { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.rvb-sectie .rvb-boek__titel { font-family: var(--rvb-serif); font-size: 23px; line-height: 1.25; color: var(--rvb-bruin); padding: 0; margin: 0 0 8px; }
.rvb-sectie .rvb-boek__ondertitel { font-size: 15px; line-height: 1.6; margin: 0 0 18px; padding: 0; }
.rvb-sectie .rvb-boek__status { margin: auto 0 0; padding: 0; font-size: 14px; font-weight: 700; color: var(--rvb-salie-donker); }
.rvb-boek:not(.is-leeg) .rvb-boek__status::after { content: " →"; }
@media (max-width: 980px) {
	.rvb-boeken { grid-template-columns: 1fr; gap: 20px; }
	/* Op telefoon en tablet: foto links, tekst rechts, zodat de drie boeken samen in beeld passen */
	.rvb-boek__link { flex-direction: row; }
	.rvb-boek__beeld { flex: none; width: 38%; aspect-ratio: auto; min-height: 150px; }
	.rvb-boek__tekst { padding: 18px 18px 18px 20px; }
	.rvb-sectie .rvb-boek__titel { font-size: 19px; }
	.rvb-sectie .rvb-boek__ondertitel { font-size: 14px; margin-bottom: 12px; }
}
.rvb-boeken-intro { max-width: 640px; margin: 0 auto; }

/* ---------- Kaarten: boek en hoofdstuk boven de titel, reacties onderaan ---------- */
.rvb-kaart__boek { font-size: 13px !important; font-weight: 700; letter-spacing: .2px; color: var(--rvb-salie-donker) !important; margin: 0 0 6px; padding: 0 !important; line-height: 1.5 !important; }
.rvb-kaart__voet { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: auto 0 0 !important; padding: 0 !important; }
.rvb-kaart__voet .rvb-kaart__meer { margin-top: 0; }
.rvb-kaart__reacties { font-size: 13px; color: #7a7262; }

/* ---------- Hoofdstuk: links in de meta-regel ---------- */
body.single-post .rvb-meta a { color: inherit !important; text-decoration: none; }
body.single-post .rvb-meta a:hover { text-decoration: underline; }

/* ---------- Reacties: naam van de schrijver weer zichtbaar ---------- */
/* In de Theme Builder staat 'meta' van de reactiemodule uit; daardoor verdween ook de naam. */
#et-boc .et-l .et_pb_comments_module.et_pb_no_comments_meta .comment_postinfo { display: block; margin-bottom: 4px; }
#et-boc .et-l .comment_postinfo .comment_date { display: none; } /* Engelse datum ("on … at …") */
#et-boc .et-l .comment_postinfo span.fn, #et-boc .et-l .comment_postinfo span.fn a { font-family: var(--rvb-serif); font-size: 17px; color: var(--rvb-bruin); }

/* =========================================================
   Feedback Lennart (2026-10-28)
   ========================================================= */
/* ---------- Social-icoontjes in de huisstijlkleur ---------- */
.rvb-sectie .zoom-social_icons-list-span { background-color: var(--rvb-salie-donker) !important; }
.rvb-sectie .zoom-social_icons-list__link:hover .zoom-social_icons-list-span { background-color: var(--rvb-salie-diep) !important; }

/* ---------- Menu: boeken in het uitklapmenu in dezelfde letter als de andere menuknoppen ---------- */
@media (min-width: 981px) {
	#top-menu li li a {
		font-family: "Open Sans", Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		letter-spacing: 1.6px !important;
		text-transform: uppercase !important;
		color: rgba(0, 0, 0, .6) !important;
		width: auto !important;
		white-space: nowrap;
		padding: 8px 20px !important;
	}
	#top-menu li li a:hover { color: var(--rvb-salie-donker) !important; background: var(--rvb-creme) !important; opacity: 1 !important; }
	#top-menu li ul.sub-menu { width: auto !important; min-width: 280px; padding: 12px 0 !important; }
	#top-menu li li { padding: 0 !important; width: 100%; }
}
.et_mobile_menu li a { font-family: "Open Sans", Arial, sans-serif !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; }

/* ---------- Vorige / volgende verhaal op telefoon niet tegen de rand ---------- */
@media (max-width: 980px) {
	body.single-post #et-boc .et-l .et_pb_posts_nav { width: 80% !important; margin-left: auto !important; margin-right: auto !important; }
}

/* ---------- Reisfoto's: grote foto over de hele breedte (wisselen via Media → Reisfoto's) ---------- */
.rvb-reisfoto-sectie.et_pb_section { padding: 0 !important; background: transparent !important; }
.rvb-reisfoto-sectie .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; }
.rvb-reisfoto-sectie:not(:has(.rvb-reisfoto)) { display: none !important; }
.rvb-reisfoto { position: relative; margin: 0; overflow: hidden; height: clamp(300px, 52vw, 680px); background: var(--rvb-lijn); }
.rvb-reisfoto__img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.rvb-reisfoto__tekst {
	position: absolute;
	left: clamp(16px, 4vw, 48px);
	bottom: clamp(14px, 3vw, 36px);
	padding: 7px 14px;
	border-radius: 100px;
	background: rgba(255, 255, 255, .92);
	color: var(--rvb-bruin);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .2px;
	line-height: 1.4;
}
@media (max-width: 600px) {
	.rvb-reisfoto { height: 74vw; }
	.rvb-reisfoto__tekst { font-size: 13px; padding: 6px 12px; }
}
/* Bannerfoto bovenaan een pagina: iets lager dan de foto tussen de onderdelen op de homepage */
.rvb-reisfoto-sectie--banner .rvb-reisfoto { height: clamp(260px, 40vw, 560px); }
@media (max-width: 600px) {
	.rvb-reisfoto-sectie--banner .rvb-reisfoto { height: 62vw; }
}
body { overflow-x: clip; }
/* Over mij beperkt de rijen tot leesbreedte; de bannerfoto mag wel de hele breedte vullen */
body.page-id-2579 .et-l--post .et_pb_section.rvb-reisfoto-sectie .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; }
body.page-id-2579 .et-l--post .et_pb_section.rvb-reisfoto-sectie .et_pb_column { padding: 0 !important; }

/* Lange knopteksten ("Lees Reisverhalen van binnenuit") op telefoon laten afbreken in plaats van over de rand */
@media (max-width: 600px) {
	.rvb-knop, .rvb-sectie a.rvb-knop { white-space: normal; letter-spacing: .8px; line-height: 1.4; max-width: 100%; box-sizing: border-box; }
}

/* ---------- Over mij en Contact: titel op de bannerfoto in plaats van eronder ---------- */
/* De Divi-kop schuift over de foto heen; de hoogte volgt die van de banner. */
body:is(.page-id-2579, .page-id-3008) .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) .rvb-reisfoto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(30, 24, 14, .55), rgba(30, 24, 14, .15) 60%, rgba(30, 24, 14, .05));
}
html body:is(.page-id-2579, .page-id-3008) .et-l--post .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section {
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * clamp(260px, 40vw, 560px)) !important;
	height: clamp(260px, 40vw, 560px);
	background: transparent !important;
	pointer-events: none;
}
html body:is(.page-id-2579, .page-id-3008) .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section .et_pb_fullwidth_header {
	background: transparent !important;
	height: 100%;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
}
html body:is(.page-id-2579, .page-id-3008) .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section .et_pb_module_header {
	color: #fff !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .45) !important;
	font-size: clamp(36px, 6vw, 72px) !important;
}
html body.page-id-2579 .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section .rvb-overmij-foto {
	box-shadow: 0 0 0 4px #fff, 0 14px 32px rgba(0, 0, 0, .3);
}
@media (max-width: 600px) {
	html body:is(.page-id-2579, .page-id-3008) .et-l--post .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section {
		margin-top: -62vw !important;
		height: 62vw;
	}
	html body:is(.page-id-2579, .page-id-3008) .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section .et_pb_module_header { font-size: 30px !important; }
	html body.page-id-2579 .rvb-reisfoto-sectie--banner:has(.rvb-reisfoto) + .et_pb_fullwidth_section .rvb-overmij-foto { width: 88px; height: 88px; }
}

/* ---------- Vorig / volgend verhaal op telefoon elk op één regel ---------- */
body.single-post #et-boc .et-l .et_pb_posts_nav a { white-space: nowrap; }
@media (max-width: 600px) {
	body.single-post #et-boc .et-l .et_pb_posts_nav { width: 88% !important; gap: 8px; }
	body.single-post #et-boc .et-l .et_pb_posts_nav a { padding: 10px 13px; letter-spacing: .2px !important; }
}
