
/* VakantiesFrankrijk v9.8.8 — production corrections. */

/* Remove all earlier region maps. */
body.vf900-clean .vf900-region-mini-map{display:none!important}

/* Exact department map: one transparent PNG per department. */
body.vf900-clean .vf988-department-map{
	position:relative!important;
	display:block!important;
	flex:0 0 72px!important;
	width:72px!important;
	height:67px!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	overflow:visible!important;
	pointer-events:none!important;
}
body.vf900-clean .vf988-department-map img{
	display:block!important;
	width:72px!important;
	height:67px!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	object-fit:contain!important;
	background:transparent!important;
	opacity:1!important;
	visibility:visible!important;
}
body.vf900-clean .vf-browser-card__footer-right{
	display:flex!important;
	align-items:flex-end!important;
	justify-content:flex-end!important;
	gap:8px!important;
	margin-left:auto!important;
}
body.vf900-clean .vf-browser-card__footer{
	display:flex!important;
	align-items:flex-end!important;
	justify-content:space-between!important;
	gap:10px!important;
	min-height:74px!important;
}
body.vf900-clean .vf-browser-card__rating{flex:0 0 38px!important}

/* Homepage and plugin cards receive the map in the lower-right corner. */
body.vf900-clean :is(.vfp26-listing-card,.vf988-dynamic-card){position:relative!important}
body.vf900-clean .vfp26-listing-card>.vf988-department-map,
body.vf900-clean .vf988-dynamic-card>.vf988-department-map{
	position:absolute!important;
	right:12px!important;
	bottom:11px!important;
	z-index:4!important;
}
body.vf900-clean .vfp26-listing-body{
	position:relative!important;
	min-height:132px!important;
	padding-right:82px!important;
}

/* One new luxury button language: solid wine, fine gold border, no old gradient. */
html body.vf900-clean .vf988-luxury-button{
	all:unset!important;
	box-sizing:border-box!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:7px!important;
	min-height:40px!important;
	padding:0 16px!important;
	border:1px solid rgba(218,180,98,.62)!important;
	border-radius:10px!important;
	background:#68233f!important;
	background-color:#68233f!important;
	background-image:none!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	box-shadow:0 9px 20px rgba(62,27,41,.16)!important;
	font-family:var(--vf-sans)!important;
	font-size:12px!important;
	font-weight:600!important;
	letter-spacing:.01em!important;
	line-height:1!important;
	text-decoration:none!important;
	cursor:pointer!important;
}
html body.vf900-clean .vf988-luxury-button:hover,
html body.vf900-clean .vf988-luxury-button:focus-visible{
	background:#4f1831!important;
	background-color:#4f1831!important;
	color:#f7dfaa!important;
	-webkit-text-fill-color:#f7dfaa!important;
	transform:translateY(-1px)!important;
}

/* Also cover server-rendered old action buttons inside listing content. */
html body.vf900-clean :is(
	.vf960-listing-page main,
	.vf-detail-page main
) :is(a.vf-button,button.vf-button,a.button,button.button,a.hp-button,button.hp-button):not(.vf900-share-toggle){
	border:1px solid rgba(218,180,98,.62)!important;
	border-radius:10px!important;
	background:#68233f!important;
	background-color:#68233f!important;
	background-image:none!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	box-shadow:0 9px 20px rgba(62,27,41,.16)!important;
	font-family:var(--vf-sans)!important;
	font-size:12px!important;
	font-weight:600!important;
	text-decoration:none!important;
}

/* French lilies remain visible with a completely transparent background. */
body.vf900-clean :is(.vfp990-lily,.vfrc-lily-divider,.vf988-lily),
body.vf900-clean .vf-detail-section + .vf-detail-section::before,
body.vf900-clean .vf-detail-selection::before,
body.vf900-clean .vf900-section + .vf900-section::before,
body.vf900-clean .vfp26-section + .vfp26-section::before{
	background:transparent!important;
	background-color:transparent!important;
	box-shadow:none!important;
}

/* Remove the redundant listing-location section. */
body.vf900-clean .vf900-location-section{display:none!important}

/* Floating share button: remove the remaining white Blocksy/browser tail. */
body.vf900-clean .vf900-share{
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	overflow:visible!important;
}
body.vf900-clean .vf900-share::before,
body.vf900-clean .vf900-share::after,
body.vf900-clean .vf900-share-toggle::before,
body.vf900-clean .vf900-share-toggle::after{
	content:none!important;
	display:none!important;
	background:none!important;
	box-shadow:none!important;
}
body.vf900-clean button.vf900-share-toggle{
	all:unset!important;
	box-sizing:border-box!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:9px!important;
	min-height:44px!important;
	padding:0 15px!important;
	border:1px solid rgba(217,181,102,.34)!important;
	border-radius:12px!important;
	background:#5d203a!important;
	background-color:#5d203a!important;
	background-image:none!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	box-shadow:0 14px 34px rgba(45,22,32,.26)!important;
	font-family:var(--vf-sans)!important;
	font-size:12px!important;
	font-weight:600!important;
	line-height:1!important;
	cursor:pointer!important;
	overflow:hidden!important;
	clip-path:inset(0 round 12px)!important;
}
body.vf900-clean button.vf900-share-toggle::-moz-focus-inner{
	border:0!important;
	padding:0!important;
}

/* Softer typography on accommodation pages. */
body.vf900-clean .vf960-listing-page :is(strong,b),
body.vf900-clean .vf-browser-card :is(strong,b){
	font-weight:500!important;
}

@media(max-width:620px){
	body.vf900-clean .vf988-department-map,
	body.vf900-clean .vf988-department-map img{
		width:55px!important;
		height:52px!important;
	}
}


/* v9.8.9 — central header role actions: no overlap, no obsolete CTA. */
body.vf900-clean .vf900-header-actions.has-vf989-role-actions{
	display:flex!important;
	align-items:center!important;
	justify-content:flex-end!important;
	flex-wrap:nowrap!important;
	gap:9px!important;
	position:relative!important;
	min-width:max-content!important;
}
body.vf900-clean .vf900-header .vf989-role-action{
	position:static!important;
	inset:auto!important;
	transform:none!important;
	float:none!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	flex:0 0 auto!important;
	min-height:42px!important;
	margin:0!important;
	padding:0 16px!important;
	border-radius:12px!important;
	background-image:none!important;
	font-family:var(--vf-sans)!important;
	font-size:12px!important;
	font-weight:650!important;
	line-height:1!important;
	letter-spacing:0!important;
	white-space:nowrap!important;
	text-decoration:none!important;
	box-shadow:0 8px 18px rgba(53,24,36,.10)!important;
	z-index:auto!important;
}
body.vf900-clean .vf900-header .vf989-role-action::before,
body.vf900-clean .vf900-header .vf989-role-action::after{
	content:none!important;
	display:none!important;
}
body.vf900-clean .vf900-header .vf989-role-action--host{
	border:1px solid rgba(216,179,100,.48)!important;
	background:#68233f!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}
body.vf900-clean .vf900-header .vf989-role-action--host:hover{
	background:#4f1831!important;
	color:#f7dfaa!important;
	-webkit-text-fill-color:#f7dfaa!important;
}
body.vf900-clean .vf900-header .vf989-role-action--guest{
	border:1px solid rgba(216,179,100,.72)!important;
	background:#fffaf1!important;
	color:#542039!important;
	-webkit-text-fill-color:#542039!important;
}
body.vf900-clean .vf900-header .vf989-role-action--guest:hover{
	background:#f5e7ca!important;
	color:#542039!important;
	-webkit-text-fill-color:#542039!important;
}
@media(max-width:1180px){
	body.vf900-clean .vf900-header .vf989-role-action{
		padding-inline:12px!important;
		font-size:11px!important;
	}
}
@media(max-width:1180px){
	body.vf900-clean .vf900-header .vf989-role-action{
		display:none!important;
	}
}


/* v9.9.0 — real, visible and fully transparent fleur-de-lis dividers. */
body.vf900-clean .vf990-lily-divider{
	position:relative!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:12px!important;
	width:100%!important;
	min-height:30px!important;
	margin:2px 0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	background-color:transparent!important;
	box-shadow:none!important;
	overflow:visible!important;
	clear:both!important;
}
body.vf900-clean .vf990-lily-divider::before,
body.vf900-clean .vf990-lily-divider::after{
	content:""!important;
	display:block!important;
	width:min(90px,14vw)!important;
	height:1px!important;
	background:linear-gradient(90deg,transparent,rgba(211,168,83,.72))!important;
}
body.vf900-clean .vf990-lily-divider::after{
	transform:scaleX(-1)!important;
}
body.vf900-clean .vf990-lily-divider span{
	display:block!important;
	position:static!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	background-color:transparent!important;
	color:#d3a853!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:22px!important;
	font-weight:400!important;
	line-height:1!important;
	text-shadow:0 2px 7px rgba(70,29,43,.10)!important;
	opacity:1!important;
	visibility:visible!important;
}
@media(max-width:620px){
	body.vf900-clean .vf988-department-map,
	body.vf900-clean .vf988-department-map img{
		width:60px!important;
		height:56px!important;
	}
	body.vf900-clean .vf990-lily-divider::before,
	body.vf900-clean .vf990-lily-divider::after{
		width:54px!important;
	}
}


/* ================================================================
   v9.9.1 — MOBILE & CONSISTENCY
   ================================================================ */

/* The page behind an open mobile menu must not scroll. */
@media(max-width:1180px){
	body.vf900-menu-open{overflow:hidden!important}

	body.vf900-clean .vf900-mobile-nav{
		position:fixed!important;
		inset:var(--vf900-header-height,74px) 0 0 0!important;
		width:100vw!important;
		height:auto!important;
		min-height:0!important;
		max-width:none!important;
		max-height:none!important;
		z-index:99999!important;
		display:none!important;
		grid-template-rows:auto auto auto!important;
		align-content:start!important;
		gap:16px!important;
		margin:0!important;
		padding:18px max(18px,calc((100vw - 1120px)/2)) calc(28px + env(safe-area-inset-bottom))!important;
		border:0!important;
		border-top:1px solid rgba(104,35,64,.12)!important;
		border-radius:0!important;
		background:#fffdf9!important;
		box-shadow:0 20px 50px rgba(45,22,32,.18)!important;
		overflow-x:hidden!important;
		overflow-y:auto!important;
		overscroll-behavior:contain!important;
		-webkit-overflow-scrolling:touch!important;
		opacity:1!important;
		visibility:visible!important;
		transform:none!important;
		clip:auto!important;
		clip-path:none!important;
	}
	body.vf900-clean .vf900-mobile-nav.is-open{display:grid!important}

	body.vf900-clean .vf900-mobile-nav__links{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:7px!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-nav__link{
		display:flex!important;
		align-items:center!important;
		min-height:46px!important;
		padding:0 13px!important;
		border:1px solid transparent!important;
		border-radius:11px!important;
		background:transparent!important;
		color:#3d2a31!important;
		font-size:13px!important;
		font-weight:650!important;
		text-decoration:none!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-nav__link:hover,
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-nav__link.is-active{
		border-color:rgba(104,35,64,.13)!important;
		background:#f8eee7!important;
		color:#68233f!important;
	}

	body.vf900-clean .vf900-mobile-languages{
		display:grid!important;
		gap:9px!important;
		padding:14px!important;
		border:1px solid rgba(104,35,64,.13)!important;
		border-radius:14px!important;
		background:#fbf6ef!important;
	}
	body.vf900-clean .vf900-mobile-languages__label{
		color:#68233f!important;
		font-size:10px!important;
		font-weight:750!important;
		letter-spacing:.11em!important;
		text-transform:uppercase!important;
	}
	body.vf900-clean .vf900-mobile-languages__options{
		display:grid!important;
		grid-template-columns:repeat(5,minmax(0,1fr))!important;
		gap:7px!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-language{
		display:grid!important;
		place-items:center!important;
		min-width:0!important;
		height:42px!important;
		padding:0!important;
		border:1px solid rgba(104,35,64,.15)!important;
		border-radius:10px!important;
		background:#fff!important;
		color:#4b3840!important;
		font-size:12px!important;
		font-weight:750!important;
		text-decoration:none!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-language:hover,
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-language.is-active{
		border-color:#d3a853!important;
		background:#68233f!important;
		color:#fff!important;
	}

	body.vf900-clean .vf900-mobile-actions{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:9px!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-action{
		display:flex!important;
		align-items:center!important;
		justify-content:center!important;
		min-height:46px!important;
		padding:0 13px!important;
		border-radius:11px!important;
		font-size:12px!important;
		font-weight:700!important;
		text-align:center!important;
		text-decoration:none!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-action--account{
		border:1px solid rgba(211,168,83,.7)!important;
		background:#fffaf1!important;
		color:#542039!important;
	}
	body.vf900-clean .vf900-mobile-nav .vf900-mobile-action--host{
		border:1px solid rgba(211,168,83,.55)!important;
		background:#68233f!important;
		color:#fff!important;
	}
}

/* Homepage benefits: equal, calm cards instead of misaligned desktop rows. */
@media(max-width:700px){
	body.vf900-clean .vfp26-benefits{padding:12px 0 4px!important}
	body.vf900-clean .vfp26-benefit-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		grid-auto-rows:1fr!important;
		gap:10px!important;
		padding:10px!important;
		border-radius:16px!important;
		background:#f8f1e8!important;
	}
	body.vf900-clean .vfp26-benefit{
		min-width:0!important;
		min-height:118px!important;
		align-items:flex-start!important;
		justify-content:flex-start!important;
		flex-direction:column!important;
		gap:9px!important;
		padding:14px!important;
		border:1px solid rgba(104,35,64,.10)!important;
		border-radius:13px!important;
		background:#fffdf9!important;
		box-shadow:0 8px 18px rgba(62,27,41,.045)!important;
		text-align:left!important;
	}
	body.vf900-clean .vfp26-benefit .vfp26-icon{
		flex:0 0 auto!important;
		width:29px!important;
		height:29px!important;
		color:#8b765f!important;
	}
	body.vf900-clean .vfp26-benefit>div{min-width:0!important}
	body.vf900-clean .vfp26-benefit strong{
		font-size:12px!important;
		font-weight:650!important;
		line-height:1.28!important;
	}
	body.vf900-clean .vfp26-benefit span{
		margin-top:4px!important;
		font-size:10px!important;
		line-height:1.42!important;
	}

	body.vf900-clean .vfp26-story-section h2.vfp26-why-title{
		max-width:100%!important;
		margin-bottom:24px!important;
		font-size:clamp(28px,8vw,38px)!important;
		line-height:1.08!important;
		letter-spacing:-.02em!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
	}
	body.vf900-clean .vfp26-why-brand{
		display:inline-block!important;
		white-space:nowrap!important;
	}
}

@media(max-width:430px){
	body.vf900-clean .vf900-mobile-nav__links{grid-template-columns:1fr!important}
	body.vf900-clean .vf900-mobile-actions{grid-template-columns:1fr!important}

	body.vf900-clean .vfp26-benefit-grid{
		grid-template-columns:1fr!important;
		gap:8px!important;
	}
	body.vf900-clean .vfp26-benefit{
		min-height:0!important;
		align-items:center!important;
		flex-direction:row!important;
		gap:12px!important;
		padding:13px 14px!important;
	}
	body.vf900-clean .vfp26-benefit .vfp26-icon{
		width:30px!important;
		height:30px!important;
	}
	body.vf900-clean .vfp26-story-section h2.vfp26-why-title{
		font-size:clamp(27px,8.2vw,34px)!important;
	}
}


/* v9.9.3 — direct desktop actions and a viewport-level mobile menu. */
body.vf900-clean .vf900-menu-toggle{
	position:relative!important;
	z-index:100002!important;
}
body.vf900-clean .vf900-menu-toggle span{
	transition:transform .18s ease,opacity .18s ease!important;
	transform-origin:center!important;
}
body.vf900-menu-open.vf900-clean .vf900-menu-toggle span:nth-child(1){
	transform:translateY(6px) rotate(45deg)!important;
}
body.vf900-menu-open.vf900-clean .vf900-menu-toggle span:nth-child(2){
	opacity:0!important;
}
body.vf900-menu-open.vf900-clean .vf900-menu-toggle span:nth-child(3){
	transform:translateY(-6px) rotate(-45deg)!important;
}
@media(min-width:1181px){
	body.vf900-clean #vf900-mobile-nav{display:none!important}
}


/* v9.9.4 — herstel de echte Google Maps-ligging op iedere verblijfspagina. */
body.vf900-clean .vf994-google-map-section{
	display:block!important;
	visibility:visible!important;
	opacity:1!important;
	overflow:hidden!important;
}
body.vf900-clean .vf994-google-map-frame,
body.vf900-clean iframe[src*="google.com/maps"],
body.vf900-clean iframe[src*="maps.google"]{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	min-height:320px!important;
	border:0!important;
	border-radius:14px!important;
	background:#eee8df!important;
	visibility:visible!important;
	opacity:1!important;
}
body.vf900-clean .vf994-google-map-section a[href*="google.com/maps"]{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:40px!important;
	margin-top:12px!important;
	padding:0 16px!important;
	border:1px solid rgba(218,180,98,.62)!important;
	border-radius:10px!important;
	background:#68233f!important;
	background-image:none!important;
	color:#fff!important;
	text-decoration:none!important;
	font-family:var(--vf-sans)!important;
	font-size:12px!important;
	font-weight:600!important;
}
@media(max-width:620px){
	body.vf900-clean .vf994-google-map-frame,
	body.vf900-clean iframe[src*="google.com/maps"],
	body.vf900-clean iframe[src*="maps.google"]{
		min-height:260px!important;
		border-radius:12px!important;
	}
}


/* v9.9.5 — identical amenity styling in every language. */
body.vf900-clean .vf995-legacy-amenity{display:flex!important;align-items:center!important;gap:9px!important;min-height:36px!important;margin:0!important;padding:5px 0!important;border:0!important;background:transparent!important;color:var(--vf-wine-dark)!important;list-style:none!important;font-size:12px!important;font-weight:500!important;line-height:1.35!important}
body.vf900-clean .vf995-legacy-amenity-icon{display:grid!important;place-items:center!important;flex:0 0 28px!important;width:28px!important;height:28px!important;padding:6px!important;border:1px solid rgba(104,35,64,.14)!important;border-radius:50%!important;background:#f6ece5!important;color:var(--vf-wine)!important}
body.vf900-clean .vf995-legacy-amenity-icon svg{display:block!important;width:15px!important;height:15px!important}
body.vf900-clean .vf995-legacy-amenity-label{display:block!important;min-width:0!important}
body.vf900-clean .vf995-raw-card-price,body.vf900-clean .vf988-dynamic-card [data-vf-raw-price="1"]{display:none!important}
