.hfv-player {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #000;
}
.hfv-player::before {
	content: "";
	display: block;
	padding-top: var(--hfv-ratio, 56.25%);
}
.hfv-player .hfv-video,
.hfv-player .hfv-embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
}

/* Rendu "nu" (utilisé par ex. par la galerie produit) : la vidéo n'a PAS de
   wrapper .hfv-player positionné, donc PAS de position:absolute — sinon,
   sans ancêtre positionné, elle se cale sur la fenêtre du navigateur au lieu
   de sa slide (bug identifié : plusieurs vidéos "nues" se superposaient
   toutes au même endroit à l'écran, position:0,0 par rapport à la fenêtre).
   Le conteneur appelant (ex. .hamon-gallery__slide) garde le contrôle total
   de la taille/position via son propre CSS. */
.hfv-video {
	display: block;
	max-width: 100%;
}

/* Les media queries mobile/desktop sont injectées dynamiquement en PHP
   (voir HFV_Frontend::enqueue) selon le réglage "mobile_breakpoint". */
