/* Cam3D — Hero accueil */

.wcam-hero-home {
	padding-top: 16px;
	padding-bottom: 0;
}

/* Le hero tient dans l'écran visible (sous l'en-tête du site), sans dépasser la hauteur de la maquette. */
.wcam-hero-home__frame {
	position: relative;
	height: clamp(460px, calc(var(--wcam-screen) - 32px), 760px);
	border-radius: var(--wcam-radius);
	color: var(--wcam-white);
}

.wcam-hero-home__content {
	position: absolute;
	z-index: 2;
	left: 48px;
	right: calc(clamp(250px, 22.06%, 300px) + 72px); /* laisse la place aux badges */
	bottom: clamp(32px, 7.9svh, 60px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 800px;
}

.wcam-hero-home__title {
	margin-top: 24px;
	color: var(--wcam-white);
	font-family: var(--wcam-font-title);
	font-size: min(var(--wcam-fs-h1), 10.5svh);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.03em;
}

/* Sans étiquette au-dessus, le titre ouvre le bloc. */
.wcam-hero-home__content > .wcam-hero-home__title:first-child {
	margin-top: 0;
}

.wcam-hero-home__intro {
	max-width: 620px;
	margin-top: clamp(16px, 3svh, 24px);
	color: rgba(255, 255, 255, 0.82);
	font-size: 17px;
	line-height: 1.55;
}

.wcam-hero-home__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: clamp(24px, 4.5svh, 36px);
}

.wcam-hero-home__aside {
	position: absolute;
	z-index: 2;
	right: 24px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: clamp(250px, 22.06%, 300px); /* 300 / 1360 */
}

.wcam-hero-home__badge,
.wcam-hero-home__card {
	display: flex;
	padding: 8px;
	border-radius: 8px;
	background: var(--wcam-white);
	color: var(--wcam-ink);
}

.wcam-hero-home__badge {
	align-items: center;
	gap: 16px;
}

.wcam-hero-home__flag {
	display: inline-flex;
	flex-shrink: 0;
}

.wcam-hero-home__flag span {
	width: 20px;
	height: 38.5px;
}

.wcam-hero-home__flag span:nth-child(1) {
	background: var(--wcam-flag-blue);
	border-radius: 5px 0 0 5px;
}

.wcam-hero-home__flag span:nth-child(2) {
	background: var(--wcam-white);
}

.wcam-hero-home__flag span:nth-child(3) {
	background: var(--wcam-red);
	border-radius: 0 5px 5px 0;
}

.wcam-hero-home__badge-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.wcam-hero-home__mini {
	color: var(--wcam-muted);
	font-family: var(--wcam-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.wcam-hero-home__label {
	font-family: var(--wcam-font-title);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.wcam-hero-home__card {
	flex-direction: column;
	transition: transform 0.25s ease;
}

a.wcam-hero-home__card:hover {
	transform: translateY(-3px);
}

.wcam-hero-home__card-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 284 / 172;
	object-fit: cover;
}

.wcam-hero-home__card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 8px 6px;
}

.wcam-hero-home__plus {
	color: var(--wcam-red);
	font-size: 28px;
	line-height: 1;
}

@media (max-width: 1023px) {
	.wcam-hero-home__frame {
		display: flex;
		flex-direction: column;
		height: auto;
		padding: 48px 40px 40px;
	}

	.wcam-hero-home__content,
	.wcam-hero-home__aside {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
	}


	.wcam-hero-home__aside {
		flex-direction: row;
		align-items: flex-end;
		width: auto;
		margin-top: 40px;
	}

	.wcam-hero-home__badge {
		align-self: flex-start;
	}

	.wcam-hero-home__card {
		width: 300px;
	}
}

@media (max-width: 767px) {
	.wcam-hero-home {
		padding-top: 12px;
	}

	.wcam-hero-home__frame {
		padding: 28px 20px 24px;
	}

	.wcam-hero-home__title {
		margin-top: 18px;
	}

	.wcam-hero-home__intro {
		font-size: 16px;
	}

	.wcam-hero-home__actions {
		margin-top: 28px;
		gap: 12px;
	}

	.wcam-hero-home__aside {
		flex-direction: column;
		align-items: stretch;
		margin-top: 28px;
	}

	.wcam-hero-home__card {
		width: 100%;
	}
}

/* Tablette : deux cartes basses de même hauteur — le badge à sa largeur naturelle, la carte photo en ligne (vignette + texte). */
@media (min-width: 768px) and (max-width: 1023px) {
	.wcam-hero-home__aside {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: stretch;
		gap: 12px;
	}

	.wcam-hero-home__badge {
		align-self: stretch;
		padding: 12px 24px 12px 16px;
	}

	.wcam-hero-home__card {
		flex-direction: row;
		align-items: center;
		width: auto;
		min-width: 0;
	}

	.wcam-hero-home__card-img {
		flex: none;
		width: 132px;
		aspect-ratio: 4 / 3;
		border-radius: 5px;
	}

	.wcam-hero-home__card-foot {
		flex: 1;
		min-width: 0;
		padding: 0 12px 0 16px;
	}
}
