/* ============ Player container (FIX B9: aspect-ratio only on body.fvp-ads-modern .flowplayer) ============ */
body.fvp-ads-modern .flowplayer {
	aspect-ratio: var(--fvp-aspect-ratio, 16 / 9) !important;
	height: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	overflow: hidden;
	background-color: #000;
	margin: 0 auto !important;
}
/* Hotfix v2.1.24: confine internal z-index (video=2, fp-ui=10) so the player
   never rises above the theme's mega menu / dropdowns once the video is launched.
   :not(.is-stickable) lets FV Player Pro's sticky mode escape the stacking context
   (.fp-player.is-sticky uses position:fixed; z-index:999 and must float globally). */
body.fvp-ads-modern .flowplayer:not(.is-stickable):not(.is-fullscreen) {
	isolation: isolate;
	z-index: 0;
}
body.fvp-ads-modern .flowplayer .fp-player {
	height: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	margin: 0 !important;
}

/* FIX B4: legacy fallback (Safari < 15, iOS < 15) using padding-bottom hack */
@supports not (aspect-ratio: 1 / 1) {
	body.fvp-ads-modern .flowplayer {
		aspect-ratio: auto !important;
		height: 0 !important;
		padding-bottom: var(--fvp-aspect-padding, 56.25%) !important;
	}
	body.fvp-ads-modern .flowplayer .fp-player {
		position: absolute !important;
		inset: 0 !important;
		height: 100% !important;
		width: 100% !important;
	}
}

/* Full-bleed: enabled by body class from PHP settings */
@media (max-width: 1023px) {
	body.fvp-ads-modern.fvp-ads-full-bleed .flowplayer {
		width: 100vw !important;
		max-width: 100vw !important;
		position: relative;
		left: 50%;
		right: 50%;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		border-radius: 0 !important;
	}
}

/* Extra scale: enabled by body class from PHP settings */
body.fvp-ads-modern.fvp-ads-scaled .flowplayer {
	width: var(--fvp-extra-scale, 100%) !important;
	max-width: var(--fvp-extra-scale, 100%) !important;
	margin-left: var(--fvp-scale-margin, 0%) !important;
	margin-right: var(--fvp-scale-margin, 0%) !important;
}

body.fvp-ads-modern .flowplayer .fp-ratio { padding-top: 0 !important; height: 0 !important; }

/* Video principale + pubs natives FV Player : letterbox, jamais crop */
body.fvp-ads-modern .flowplayer video,
body.fvp-ads-modern .flowplayer video.fp-engine,
body.fvp-ads-modern .flowplayer .fp-engine video,
body.fvp-ads-modern .flowplayer.is-vast video,
body.fvp-ads-modern .flowplayer.is-ads video {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
}

/* Splash poster letterboxe au-dessus du blur fill */
body.fvp-ads-modern .flowplayer .fp-splash,
body.fvp-ads-modern .flowplayer .fp-player .fp-splash {
	z-index: 1 !important;
	object-fit: contain !important;
}

/* Blur fill (poster floute en arriere-plan) */
body.fvp-ads-modern .flowplayer::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--fvp-splash, none);
	background-size: cover;
	background-position: center;
	filter: blur(28px);
	opacity: 0.55;
	transform: scale(1.15);
	z-index: 0;
	pointer-events: none;
	background-color: #000;
}

/* UI overlay au-dessus de tout */
body.fvp-ads-modern .flowplayer .fp-ui,
body.fvp-ads-modern .flowplayer .fp-controls,
body.fvp-ads-modern .flowplayer .fp-header { z-index: 10 !important; }

/* ============ Bouton PLAY (centre) ============ */
body.fvp-ads-modern .flowplayer .fp-play.fp-visible {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 80px !important;
	height: 80px !important;
	background: rgba(var(--fvp-play-rgb, 0, 0, 0), var(--fvp-play-alpha, 0.4)) !important;
	border: 0 !important;
	border-radius: 50% !important;
	backdrop-filter: blur(14px) saturate(1.2) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
	box-shadow:
		0 8px 32px rgba(0, 0, 0, 0.5),
		0 0 0 1px rgba(255, 255, 255, 0.15) inset,
		0 0 0 4px rgba(255, 255, 255, 0.08) !important;
	transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s, box-shadow 0.2s !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
body.fvp-ads-modern .flowplayer .fp-play.fp-visible:hover {
	transform: translate(-50%, -50%) scale(1.1) !important;
	box-shadow:
		0 12px 40px rgba(0, 0, 0, 0.6),
		0 0 0 1px rgba(255, 255, 255, 0.25) inset,
		0 0 0 8px rgba(255, 255, 255, 0.06) !important;
}
/* Hotfix v2.1.1: hide all native FV Player icons inside .fp-play and inject our own play triangle via ::after */
body.fvp-ads-modern .flowplayer .fp-play.fp-visible > * {
	display: none !important;
}
body.fvp-ads-modern .flowplayer .fp-play.fp-visible::after {
	content: "" !important;
	display: block !important;
	width: 28px !important;
	height: 32px !important;
	margin-left: 4px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23fff' d='M8 5v14l11-7z'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}
/* Hotfix v2.1.14: never leave the big play circle floating over an active video */
body.fvp-ads-modern .flowplayer.is-playing .fp-play.fp-visible,
body.fvp-ads-modern .flowplayer.is-loading .fp-play.fp-visible {
	display: none !important;
}

/* ============ Controles bas (gradient + spacing) ============ */
body.fvp-ads-modern .flowplayer .fp-controls {
	background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0) 100%) !important;
	padding: 40px 16px 14px !important;
}

/* Hotfix v2.1.14: hide only extra seek buttons; keep native FV Pro accessibility/playlist controls */
body.fvp-ads-modern .flowplayer .fv-fp-rewind,
body.fvp-ads-modern .flowplayer .fv-fp-forward,
body.fvp-ads-modern .flowplayer .fp-rewind,
body.fvp-ads-modern .flowplayer .fp-forward {
	display: none !important;
}

/* Hotfix v2.1.14: stable FV volume meter; do not style every .fp-bar-slider globally */
body.fvp-ads-modern .flowplayer .fp-volume {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	height: 32px !important;
	flex: 0 0 auto !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 4px !important;
	width: auto !important;
	min-width: 0 !important;
	overflow: visible !important;
}
body.fvp-ads-modern .flowplayer .fp-volumebtn {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	cursor: pointer !important;
	transition: background 0.15s, transform 0.15s !important;
}
body.fvp-ads-modern .flowplayer .fp-volumebtn:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	transform: scale(1.05);
}
body.fvp-ads-modern .flowplayer .fp-volume .fp-volumebar,
body.fvp-ads-modern .flowplayer .fp-volume .fp-bar-slider {
	display: inline-flex !important;
	align-items: flex-end !important;
	justify-content: flex-start !important;
	gap: 2px !important;
	width: 46px !important;
	height: 24px !important;
	flex: 0 0 46px !important;
	margin: 0 !important;
	padding: 4px 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	overflow: visible !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	cursor: pointer !important;
}
body.fvp-ads-modern .flowplayer .fp-volume .fp-bar-slider em {
	display: block !important;
	width: 4px !important;
	height: 12px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.26) !important;
	background-image: none !important;
	transform: none !important;
	transform-origin: bottom !important;
	transition: height 0.15s ease, background 0.15s ease, transform 0.15s ease !important;
}
body.fvp-ads-modern .flowplayer .fp-volume .fp-bar-slider em.fp-grey {
	background: rgba(255, 255, 255, 0.26) !important;
	background-image: none !important;
}
body.fvp-ads-modern .flowplayer .fp-volume .fp-bar-slider em.fp-color {
	height: 18px !important;
	background: linear-gradient(180deg, var(--fvp-progress-start, #5b8def), var(--fvp-progress-end, #a169f7)) !important;
	background-color: var(--fvp-progress-start, #5b8def) !important;
}
body.fvp-ads-modern .flowplayer .fp-volume:hover .fp-bar-slider em,
body.fvp-ads-modern .flowplayer .fp-volume:focus-within .fp-bar-slider em {
	height: 15px !important;
}
body.fvp-ads-modern .flowplayer .fp-volume:hover .fp-bar-slider em.fp-color,
body.fvp-ads-modern .flowplayer .fp-volume:focus-within .fp-bar-slider em.fp-color {
	height: 21px !important;
}
body.fvp-ads-modern .flowplayer .fp-volume .fp-volumelevel {
	background: linear-gradient(90deg, var(--fvp-progress-start, #5b8def), var(--fvp-progress-end, #a169f7)) !important;
	height: 100% !important;
	border-radius: 999px !important;
}

/* ============ Barre de progression ============ */
/* Hotfix v2.1.13: structure FV Player is <div class="fp-timeline fp-bar">, single element with 2 classes */
body.fvp-ads-modern .flowplayer .fp-timeline.fp-bar,
body.fvp-ads-modern .flowplayer .fp-controls .fp-timeline {
	height: 4px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	background: rgba(255, 255, 255, 0.18) !important;
	transition: height 0.2s ease;
	flex: 1;
	margin: 0 8px;
}
body.fvp-ads-modern .flowplayer:hover .fp-timeline.fp-bar,
body.fvp-ads-modern .flowplayer.is-mouseover .fp-timeline.fp-bar {
	height: 6px !important;
}
/* Progress fill (inside timeline) */
body.fvp-ads-modern .flowplayer .fp-timeline .fp-progress {
	background: linear-gradient(90deg, var(--fvp-progress-start, #5b8def) 0%, var(--fvp-progress-end, #a169f7) 100%) !important;
	border-radius: 999px !important;
	height: 100% !important;
}
body.fvp-ads-modern .flowplayer .fp-timeline .fp-buffer {
	background: rgba(255, 255, 255, 0.35) !important;
	border-radius: 999px !important;
}
/* Glow on progress (subtle) */
body.fvp-ads-modern .flowplayer .fp-progress {
	box-shadow: 0 0 8px rgba(var(--fvp-progress-end-rgb, 161, 105, 247), 0.5);
}
/* Hotfix v2.1.13: aggressive override for any theme-injected progress color (yellow stripes etc) */
body.fvp-ads-modern .flowplayer .fp-progress,
body.fvp-ads-modern .flowplayer .fp-progress.fp-color,
body.fvp-ads-modern .flowplayer .fp-progress.animated,
body.fvp-ads-modern .flowplayer .fp-bar > .fp-progress {
	background-image: linear-gradient(90deg, var(--fvp-progress-start, #5b8def) 0%, var(--fvp-progress-end, #a169f7) 100%) !important;
	background-color: var(--fvp-progress-start, #5b8def) !important;
	animation: none !important;
	border-radius: 999px !important;
}
body.fvp-ads-modern .flowplayer .fp-buffer {
	background-image: none !important;
	background-color: rgba(255, 255, 255, 0.35) !important;
}

/* ============ Time display ============ */
body.fvp-ads-modern .flowplayer .fp-time {
	font-size: 12px !important;
	font-variant-numeric: tabular-nums !important;
	font-weight: 500 !important;
	color: #fff !important;
	letter-spacing: 0.3px !important;
}

/* ============ Boutons UI (mute, fullscreen, etc.) ============ */
/* Hotfix v2.1.13: target only the actual buttons (.fp-volumebtn, .fp-mute), not parent .fp-volume which contains the slider */
body.fvp-ads-modern .flowplayer .fp-mute,
body.fvp-ads-modern .flowplayer .fp-fullscreen,
body.fvp-ads-modern .flowplayer .fp-volumebtn,
body.fvp-ads-modern .flowplayer .fp-settings {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	transition: background 0.15s, transform 0.15s !important;
	cursor: pointer !important;
	background: transparent !important;
}
body.fvp-ads-modern .flowplayer .fp-mute:hover,
body.fvp-ads-modern .flowplayer .fp-fullscreen:hover,
body.fvp-ads-modern .flowplayer .fp-volumebtn:hover,
body.fvp-ads-modern .flowplayer .fp-settings:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	transform: scale(1.05);
}
body.fvp-ads-modern .flowplayer .fp-mute svg,
body.fvp-ads-modern .flowplayer .fp-fullscreen svg,
body.fvp-ads-modern .flowplayer .fp-volumebtn svg,
body.fvp-ads-modern .flowplayer .fp-settings svg {
	width: 18px !important;
	height: 18px !important;
	fill: #fff !important;
}

/* Do not resurrect FV Player CC/subtitle controls when the current video has no captions. */
body.fvp-ads-modern .flowplayer.fvp-ads-no-captions .fp-controls .fp-cc,
body.fvp-ads-modern .flowplayer.fvp-ads-no-captions .fp-controls .fp-subtitle {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* ============ Bouton SKIP + countdown CVA (Custom Video Ad) FV Player Pro ============ */
body.fvp-ads-modern .flowplayer:not(.is-cva):not(.fvp-ads-cva-active) .fv-cva-time,
body.fvp-ads-modern .flowplayer:not(.is-cva):not(.fvp-ads-cva-active) a.fv-cva-skip {
	display: none !important;
}
/* Hotfix v2.1.13: .fv-cva-time becomes a transparent wrapper, only its inner content is the visible pill */
body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time,
body.fvp-ads-modern .flowplayer.fvp-ads-cva-active .fv-cva-time {
	position: absolute !important;
	bottom: 18px !important;
	right: 18px !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	border: 0 !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	min-width: 0 !important;
	width: auto !important;
	height: auto !important;
	color: transparent !important;
	text-shadow: none !important;
	z-index: 50 !important;
	float: none !important;
	font-size: 0 !important;
}
body.fvp-ads-modern .flowplayer a.fv-cva-skip.fvp-ads-standalone-skip {
	position: absolute !important;
	bottom: 18px !important;
	right: 18px !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	z-index: 51 !important;
}
/* Visible pill: a.fv-cva-skip (button) + .remaining (countdown text) get the same glassmorphism */
body.fvp-ads-modern .flowplayer a.fv-cva-skip,
body.fvp-ads-modern .flowplayer .fv-cva-time .remaining {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	background: rgba(var(--fvp-skip-rgb, 0, 0, 0), var(--fvp-skip-alpha, 0.7)) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 11px 18px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px !important;
	line-height: 1.3 !important;
	border-radius: 999px !important;
	backdrop-filter: blur(12px) saturate(1.2) !important;
	-webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15) inset !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	text-shadow: none !important;
	cursor: pointer !important;
	transition: background 0.15s, transform 0.15s !important;
	margin: 0 !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}
/* Hotfix v2.1.15: countdown shows only the number */
body.fvp-ads-modern .flowplayer a.fv-cva-skip:hover,
body.fvp-ads-modern .flowplayer a.fv-cva-skip:focus {
	background: rgba(var(--fvp-skip-rgb, 0, 0, 0), 0.95) !important;
	text-decoration: none !important;
}
body.fvp-ads-modern .flowplayer a.fv-cva-skip:not(.fvp-ads-standalone-skip):hover,
body.fvp-ads-modern .flowplayer a.fv-cva-skip:not(.fvp-ads-standalone-skip):focus {
	transform: scale(1.04);
}
body.fvp-ads-modern .flowplayer a.fv-cva-skip.fvp-ads-standalone-skip:hover,
body.fvp-ads-modern .flowplayer a.fv-cva-skip.fvp-ads-standalone-skip:focus {
	transform: none !important;
}
/* Countdown text (".remaining" inside skip button or .fv-cva-time) */
body.fvp-ads-modern .flowplayer .fv-cva-skip .remaining,
body.fvp-ads-modern .flowplayer .fv-cva-time .remaining {
	color: #fff !important;
	font-weight: 600 !important;
	margin: 0 4px !important;
	display: inline !important;
	vertical-align: baseline !important;
}
/* Hide the advertiser logo image inside .fv-cva-time (often broken/empty, makes a "second pill") */
body.fvp-ads-modern .flowplayer .fv-cva-time img,
body.fvp-ads-modern .flowplayer .fv-cva-skip img {
	display: none !important;
}
/* Force .fv-cva-time to behave like a proper pill (was hidden in v2.1.4 by mistake) */
body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time,
body.fvp-ads-modern .flowplayer.fvp-ads-cva-active .fv-cva-time {
	width: auto !important;
	min-width: 0 !important;
}
/* Skip arrow icon */
body.fvp-ads-modern .flowplayer .fv-cva-skip .fv-fp-nextbtn,
body.fvp-ads-modern .flowplayer .fv-cva-skip .fp-icon {
	color: #fff !important;
	margin-left: 4px !important;
	font-size: 14px !important;
}
/* Hotfix v2.1.15: keep countdown/skip anchored bottom-right */
body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time {
	bottom: 18px !important;
	right: 18px !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
}

/* Hotfix v2.1.13: hide play button + fullscreen button DURING ad (.is-cva) so SKIP is the only visible action */
body.fvp-ads-modern .flowplayer.is-cva .fp-play,
body.fvp-ads-modern .flowplayer.is-cva .fp-play.fp-visible,
body.fvp-ads-modern .flowplayer.is-cva .fvp-fs-btn {
	display: none !important;
}
/* "Visit advertiser" notice: hide unless explicitly desired */
body.fvp-ads-modern .flowplayer .fv-cva-notice-visit {
	background: rgba(0, 0, 0, 0.7) !important;
	border: 0 !important;
	border-radius: 0 0 8px 8px !important;
	padding: 8px 16px !important;
	width: auto !important;
	margin: 0 !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}
body.fvp-ads-modern .flowplayer .fv-cva-notice-visit a {
	color: #fff !important;
	text-decoration: none !important;
}
body.fvp-ads-modern .flowplayer .fv-cva-notice-continue {
	display: none !important;
}

/* ============ Bouton FULLSCREEN inject ============ */
/* Hotfix v2.1.14: disabled; FV Player's native fullscreen avoids the black overlay circle/state bugs */
body.fvp-ads-modern .fvp-fs-btn {
	display: none !important;
}

/* ============ Bandeaux pub HTML sous le player (FIX B11: max-height) ============ */
.fvp-banners-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 12px;
	width: 100%;
}
.fvp-banner {
	display: block;
	width: 100%;
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	line-height: 0;
}
.fvp-banner:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
.fvp-banner img {
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: var(--fvp-banner-max-h, 240px);
	object-fit: cover;
	object-position: center;
	display: block;
}

/* ============ Mobile / touch ============ */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
	body.fvp-ads-modern .flowplayer {
		touch-action: manipulation;
	}
	body.fvp-ads-modern .flowplayer .fp-play.fp-visible {
		width: 56px !important;
		height: 56px !important;
		border-radius: 50% !important;
	}
	body.fvp-ads-modern .flowplayer .fp-play.fp-visible::after {
		width: 22px !important;
		height: 26px !important;
		margin-left: 3px !important;
	}

	body.fvp-ads-modern .flowplayer .fp-controls {
		align-items: center !important;
		gap: 4px !important;
		min-height: 44px !important;
		padding: 28px 10px 10px !important;
		padding: 28px max(10px, env(safe-area-inset-right)) max(10px, calc(env(safe-area-inset-bottom) + 8px)) max(10px, env(safe-area-inset-left)) !important;
	}
	body.fvp-ads-modern .flowplayer .fp-timeline.fp-bar,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-timeline {
		min-width: 56px !important;
		margin: 0 4px !important;
		flex: 1 1 auto !important;
	}
	body.fvp-ads-modern .flowplayer .fp-time {
		font-size: 11px !important;
		line-height: 1 !important;
		max-width: 72px !important;
		white-space: nowrap !important;
	}
	body.fvp-ads-modern .flowplayer .fp-controls .fp-playbtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-mute,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-fullscreen,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-volumebtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-settings,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-speed,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-prevbtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-nextbtn {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		flex: 0 0 44px !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	body.fvp-ads-modern .flowplayer .fp-volume {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		flex: 0 0 44px !important;
		margin: 0 !important;
		justify-content: center !important;
	}
	/* Hotfix v2.1.16: hide the native volume meter only, not every FV slider */
	body.fvp-ads-modern .flowplayer .fp-volume .fp-volumebar,
	body.fvp-ads-modern .flowplayer .fp-volume .fp-bar-slider {
		display: none !important;
	}

	body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time,
	body.fvp-ads-modern .flowplayer.fvp-ads-cva-active .fv-cva-time {
		bottom: 12px !important;
		right: 12px !important;
		bottom: max(12px, calc(env(safe-area-inset-bottom) + 10px)) !important;
		right: max(12px, calc(env(safe-area-inset-right) + 10px)) !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
	}
	body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time {
		bottom: 12px !important;
		right: 12px !important;
		bottom: max(12px, calc(env(safe-area-inset-bottom) + 10px)) !important;
		right: max(12px, calc(env(safe-area-inset-right) + 10px)) !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
	}
	body.fvp-ads-modern .flowplayer a.fv-cva-skip.fvp-ads-standalone-skip {
		bottom: 12px !important;
		right: 12px !important;
		bottom: max(12px, calc(env(safe-area-inset-bottom) + 10px)) !important;
		right: max(12px, calc(env(safe-area-inset-right) + 10px)) !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
	}
	body.fvp-ads-modern .flowplayer a.fv-cva-skip,
	body.fvp-ads-modern .flowplayer .fv-cva-time .remaining {
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 9px 13px !important;
		font-size: 13px !important;
		line-height: 1 !important;
	}
	/* Hotfix v2.1.14: hide injected fullscreen fallback on mobile */
	body.fvp-ads-modern .fvp-fs-btn {
		display: none !important;
	}
	.fvp-banner { border-radius: 10px; }
}

@media (max-width: 380px) {
	body.fvp-ads-modern .flowplayer .fp-controls {
		gap: 2px !important;
		padding-top: 24px !important;
	}
	body.fvp-ads-modern .flowplayer .fp-controls .fp-playbtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-mute,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-fullscreen,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-volumebtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-settings,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-speed,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-prevbtn,
	body.fvp-ads-modern .flowplayer .fp-controls .fp-nextbtn,
	body.fvp-ads-modern .flowplayer .fp-volume {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		flex-basis: 44px !important;
	}
	body.fvp-ads-modern .flowplayer .fp-time {
		max-width: 58px !important;
	}
}

@media (max-height: 480px) and (orientation: landscape) {
	body.fvp-ads-modern .flowplayer .fp-controls {
		padding-top: 18px !important;
		padding-bottom: 8px !important;
	}
	body.fvp-ads-modern .flowplayer .fp-play.fp-visible {
		width: 48px !important;
		height: 48px !important;
	}
	body.fvp-ads-modern .flowplayer.is-cva .fv-cva-time,
	body.fvp-ads-modern .flowplayer.fvp-ads-cva-active .fv-cva-time {
		bottom: 8px !important;
		right: 10px !important;
		bottom: max(8px, calc(env(safe-area-inset-bottom) + 6px)) !important;
		right: max(10px, calc(env(safe-area-inset-right) + 8px)) !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
	}
	body.fvp-ads-modern .flowplayer a.fv-cva-skip.fvp-ads-standalone-skip {
		bottom: 8px !important;
		right: 10px !important;
		bottom: max(8px, calc(env(safe-area-inset-bottom) + 6px)) !important;
		right: max(10px, calc(env(safe-area-inset-right) + 8px)) !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
	}
	body.fvp-ads-modern .flowplayer a.fv-cva-skip,
	body.fvp-ads-modern .flowplayer .fv-cva-time .remaining {
		min-height: 44px !important;
		padding: 8px 12px !important;
	}
}
