/* ==========================================================================
   Vidéo YouTube en façade (composant réutilisable).
   Apparence reprise de la maquette Accueil.dc.html.
   ========================================================================== */

/* Largeur maximale et centrage portés par le COMPOSANT, pas par les sections
   qui l'accueillent : au-delà, une vidéo 16/9 devient un bandeau qui écrase
   tout le reste de la page. La contrainte ne s'applique que là où la place
   dépasse — dans une colonne étroite (témoignage), la vidéo suit sa colonne. */
.kk-video {
	position: relative;
	/* width: 100% est INDISPENSABLE avec les marges automatiques : sans lui, la
	   vidéo posée dans une grille ou un flex (témoignage de la boutique) est
	   dimensionnée sur son contenu, lequel est en position absolue — elle
	   s'effondre alors à zéro. */
	width: 100%;
	max-width: var(--video-max);
	margin-inline: auto;
	border-radius: var(--k-r-lg);
	overflow: hidden;
	aspect-ratio: 16/9;
	background: var(--k-charcoal);
	box-shadow: var(--k-shadow-lift);
}

/* Le bouton occupe toute la surface : la vignette entière est cliquable. */
.kk-video-btn {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.kk-video-thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.6;
}

.kk-video-veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(43, 70, 111, 0.15) 0%, rgba(31, 53, 87, 0.82) 100%);
}

.kk-video-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 24px;
	text-align: center;
}

.kk-video-play {
	--tile-size: 78px;
	--tile-radius: 50%;
	--tile-bg: var(--k-orange);
	--tile-color: #fff;
	box-shadow: 0 14px 30px -8px rgba(242, 150, 68, 0.8);
	transition: transform .16s, background .16s;
}

/* Mobile : le rond de lecture prend trop de place sur une vignette étroite. */
@media (max-width: 640px) {
	.kk-video-play {
		--tile-size: 56px;
	}

	.kk-video-play svg {
		width: 22px;
		height: 22px;
	}
}

.kk-video-btn:hover .kk-video-play,
.kk-video-btn:focus-visible .kk-video-play {
	transform: scale(1.06);
	background: var(--k-orange-hover);
}

.kk-video-text {
	display: block;
}

.kk-video-title {
	display: block;
	font-family: var(--k-font-title);
	font-weight: 800;
	font-size: clamp(20px, 2.6vw, 28px);
	color: var(--k-dark-strong);
	letter-spacing: -0.01em;
}

.kk-video-meta {
	display: block;
	font-size: var(--k-text-m);
	color: var(--k-dark-body);
	margin-top: 6px;
}

/* Iframe injectée au clic : remplit le cadre. */
.kk-video-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
