/* =========================================================
   VENDRE-VOITURE.NET - HOMEPAGE PREMIUM
   Fichier : /css4/vv4-home.css
   ========================================================= */

.vvhp-wrap,
.vvhp-wrap * {
	box-sizing: border-box !important;
}

.vvhp-wrap {
	--vvhp-dark: #0f172a;
	--vvhp-text: #334155;
	--vvhp-muted: #64748b;
	--vvhp-soft: #f8fafc;
	--vvhp-blue: #2563eb;
	--vvhp-cyan: #0891b2;
	--vvhp-green: #16a34a;
	--vvhp-orange: #f97316;
	--vvhp-border: rgba(15, 23, 42, .10);
	--vvhp-shadow: 0 22px 60px rgba(15, 23, 42, .12);

	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	color: var(--vvhp-text) !important;
	font-family: inherit !important;
}

.vvhp-wrap img {
	max-width: 100% !important;
	height: auto !important;
}

.vvhp-wrap a {
	text-decoration: none !important;
}

.vvhp-hero {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
	gap: 28px !important;
	align-items: stretch !important;
	margin: 0 0 34px !important;
	padding: clamp(28px, 5vw, 54px) !important;
	border-radius: 34px !important;
	overflow: hidden !important;
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, .28), transparent 34%),
		radial-gradient(circle at 82% 18%, rgba(22, 163, 74, .22), transparent 28%),
		linear-gradient(135deg, #0f172a 0%, #172554 50%, #0e7490 100%) !important;
	box-shadow: var(--vvhp-shadow) !important;
	isolation: isolate !important;
}

.vvhp-hero::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background:
		linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(255,255,255,.06) 1px, transparent 1px) !important;
	background-size: 42px 42px !important;
	opacity: .22 !important;
	z-index: -1 !important;
}

.vvhp-kicker,
.vvhp-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	margin: 0 0 12px !important;
	padding: 8px 12px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .14) !important;
	color: #dbeafe !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	font-size: .82rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
}

.vvhp-section .vvhp-eyebrow {
	background: rgba(37, 99, 235, .10) !important;
	color: #1d4ed8 !important;
	border-color: rgba(37, 99, 235, .16) !important;
}

.vvhp-title {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(2.15rem, 5.4vw, 4.45rem) !important;
	line-height: .96 !important;
	font-weight: 950 !important;
	letter-spacing: -.07em !important;
	text-transform: none !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-lead {
	max-width: 850px !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .88) !important;
	font-size: clamp(1rem, 1.8vw, 1.2rem) !important;
	line-height: 1.7 !important;
	font-weight: 700 !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 26px 0 0 !important;
	padding: 0 !important;
}

.vvhp-btn,
.vvhp-wrap .vvhp-btn,
.vvhp-wrap .kamesen.vvhp-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 13px 18px !important;
	border-radius: 999px !important;
	border: 1px solid transparent !important;
	font-size: .96rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease !important;
}

.vvhp-btn:hover,
.vvhp-wrap .kamesen.vvhp-btn:hover {
	transform: translateY(-2px) !important;
	text-decoration: none !important;
}

.vvhp-btn--primary {
	background: linear-gradient(135deg, #22c55e, #16a34a) !important;
	color: #fff !important;
	box-shadow: 0 16px 36px rgba(34, 197, 94, .28) !important;
}

.vvhp-btn--ghost {
	background: rgba(255, 255, 255, .12) !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, .22) !important;
	backdrop-filter: blur(10px) !important;
}

.vvhp-btn--ghost:hover {
	background: rgba(255, 255, 255, .20) !important;
	color: #fff !important;
}

.vvhp-btn--dark {
	background: linear-gradient(135deg, #0f172a, #2563eb) !important;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(37, 99, 235, .20) !important;
}

.vvhp-btn--darkghost {
	background: #fff !important;
	color: #0f172a !important;
	border-color: rgba(15, 23, 42, .12) !important;
}

.vvhp-trust {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 22px 0 0 !important;
	padding: 0 !important;
}

.vvhp-trust span {
	display: inline-flex !important;
	align-items: center !important;
	padding: 8px 11px !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .12) !important;
	color: rgba(255, 255, 255, .88) !important;
	border: 1px solid rgba(255, 255, 255, .14) !important;
	font-size: .86rem !important;
	font-weight: 850 !important;
}

.vvhp-hero-panel {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	min-width: 0 !important;
}

.vvhp-panel-card,
.vvhp-mini-card,
.vvhp-path-card,
.vvhp-guide-card,
.vvhp-step,
.vvhp-problem-card,
.vvhp-score-card {
	background: rgba(255, 255, 255, .96) !important;
	border: 1px solid rgba(255, 255, 255, .45) !important;
	box-shadow: 0 18px 42px rgba(15, 23, 42, .14) !important;
}

.vvhp-panel-card {
	padding: 22px !important;
	border-radius: 26px !important;
}

.vvhp-panel-card--main {
	background:
		radial-gradient(circle at top right, rgba(34, 197, 94, .18), transparent 38%),
		rgba(255, 255, 255, .96) !important;
}

.vvhp-panel-icon,
.vvhp-card-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	margin: 0 0 12px !important;
	border-radius: 16px !important;
	background: rgba(37, 99, 235, .10) !important;
	font-size: 1.35rem !important;
}

.vvhp-panel-card strong,
.vvhp-mini-card strong,
.vvhp-score-card strong,
.vvhp-decision-item strong,
.vvhp-problem-card strong {
	display: block !important;
	margin: 0 !important;
	color: #0f172a !important;
	font-size: 1.05rem !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
}

.vvhp-panel-card p,
.vvhp-mini-card span,
.vvhp-score-card p,
.vvhp-decision-item span,
.vvhp-problem-card p {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: .94rem !important;
	line-height: 1.55 !important;
	font-weight: 700 !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-mini-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
}

.vvhp-mini-card {
	padding: 16px !important;
	border-radius: 20px !important;
}

.vvhp-section {
	margin: 0 0 34px !important;
	padding: clamp(22px, 4vw, 36px) !important;
	border-radius: 30px !important;
	background: #fff !important;
	border: 1px solid var(--vvhp-border) !important;
	box-shadow: 0 18px 52px rgba(15, 23, 42, .08) !important;
}

.vvhp-section--paths {
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, .12), transparent 32%),
		linear-gradient(135deg, #ffffff, #f8fafc) !important;
}

.vvhp-section-head {
	max-width: 860px !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

.vvhp-section h2,
.vvhp-split h2,
.vvhp-decision h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: #0f172a !important;
	font-size: clamp(1.55rem, 3.2vw, 2.45rem) !important;
	line-height: 1.08 !important;
	font-weight: 950 !important;
	letter-spacing: -.045em !important;
	text-transform: none !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-section-head p,
.vvhp-split-content > p,
.vvhp-decision > div > p {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	font-weight: 750 !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-path-grid,
.vvhp-guide-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.vvhp-path-card,
.vvhp-guide-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100% !important;
	padding: 22px !important;
	border-radius: 24px !important;
	border-color: rgba(15, 23, 42, .09) !important;
	box-shadow: 0 14px 36px rgba(15, 23, 42, .08) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.vvhp-path-card:hover,
.vvhp-guide-card:hover,
.vvhp-step:hover {
	transform: translateY(-2px) !important;
	border-color: rgba(37, 99, 235, .20) !important;
	box-shadow: 0 22px 48px rgba(37, 99, 235, .12) !important;
}

.vvhp-path-card--highlight {
	background:
		radial-gradient(circle at top right, rgba(34, 197, 94, .14), transparent 38%),
		#fff !important;
}

.vvhp-path-card h3,
.vvhp-guide-card h3,
.vvhp-step h3 {
	margin: 0 !important;
	padding: 0 !important;
	color: #0f172a !important;
	font-size: 1.15rem !important;
	line-height: 1.22 !important;
	font-weight: 950 !important;
	letter-spacing: -.025em !important;
	text-transform: none !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-path-card p,
.vvhp-guide-card p,
.vvhp-step p {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: .95rem !important;
	line-height: 1.62 !important;
	font-weight: 700 !important;
	background: transparent !important;
	border: 0 !important;
}

.vvhp-card-cta,
.vvhp-step a,
.vvhp-inline-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	margin: auto 0 0 !important;
	padding: 10px 13px !important;
	border-radius: 999px !important;
	background: rgba(37, 99, 235, .10) !important;
	color: #1d4ed8 !important;
	border: 1px solid rgba(37, 99, 235, .16) !important;
	font-size: .88rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

.vvhp-card-cta:hover,
.vvhp-step a:hover,
.vvhp-inline-link:hover {
	background: #2563eb !important;
	color: #fff !important;
	text-decoration: none !important;
}

.vvhp-steps {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px !important;
	counter-reset: vvhpStep !important;
}

.vvhp-step {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	padding: 20px !important;
	border-radius: 22px !important;
	border-color: rgba(15, 23, 42, .08) !important;
	box-shadow: 0 14px 34px rgba(15, 23, 42, .07) !important;
}

.vvhp-step > span:first-child {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, #2563eb, #0891b2) !important;
	color: #fff !important;
	font-size: .94rem !important;
	font-weight: 950 !important;
	box-shadow: 0 12px 24px rgba(37, 99, 235, .18) !important;
}

.vvhp-section--decision {
	background:
		radial-gradient(circle at top left, rgba(249, 115, 22, .13), transparent 32%),
		linear-gradient(135deg, #fff7ed, #ffffff) !important;
}

.vvhp-decision {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr) !important;
	gap: 24px !important;
	align-items: start !important;
}

.vvhp-decision-list {
	display: grid !important;
	gap: 12px !important;
}

.vvhp-decision-item {
	padding: 16px !important;
	border-radius: 18px !important;
	background: #fff !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
}

.vvhp-section--problems {
	background:
		radial-gradient(circle at top right, rgba(239, 68, 68, .10), transparent 32%),
		linear-gradient(135deg, #fff, #f8fafc) !important;
}

.vvhp-problem-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

.vvhp-problem-card {
	padding: 18px !important;
	border-radius: 20px !important;
	border-color: rgba(15, 23, 42, .08) !important;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .07) !important;
}

.vvhp-problem-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 22px 0 0 !important;
}

.vvhp-split {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(260px, .65fr) !important;
	gap: 24px !important;
	align-items: start !important;
}

.vvhp-checklist {
	display: grid !important;
	gap: 10px !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.vvhp-checklist li {
	position: relative !important;
	margin: 0 !important;
	padding: 12px 14px 12px 42px !important;
	list-style: none !important;
	border-radius: 16px !important;
	background: #f8fafc !important;
	border: 1px solid rgba(15, 23, 42, .07) !important;
	color: #334155 !important;
	font-size: .96rem !important;
	line-height: 1.45 !important;
	font-weight: 800 !important;
}

.vvhp-checklist li::before {
	content: "✓" !important;
	position: absolute !important;
	left: 14px !important;
	top: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	border-radius: 999px !important;
	background: rgba(22, 163, 74, .12) !important;
	color: #15803d !important;
	font-weight: 950 !important;
}

.vvhp-score-card {
	padding: 24px !important;
	border-radius: 26px !important;
	border-color: rgba(15, 23, 42, .08) !important;
	box-shadow: 0 18px 44px rgba(15, 23, 42, .09) !important;
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, .14), transparent 38%),
		#fff !important;
}

.vvhp-score-label {
	display: inline-flex !important;
	margin: 0 0 12px !important;
	padding: 7px 10px !important;
	border-radius: 999px !important;
	background: rgba(22, 163, 74, .12) !important;
	color: #15803d !important;
	font-size: .78rem !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: .03em !important;
}

.vvhp-faq {
	display: grid !important;
	gap: 10px !important;
}

.vvhp-faq details {
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 18px !important;
	background: #fff !important;
	border: 1px solid rgba(15, 23, 42, .09) !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
	overflow: hidden !important;
}

.vvhp-faq summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 16px 18px !important;
	color: #0f172a !important;
	font-size: 1rem !important;
	font-weight: 950 !important;
	line-height: 1.35 !important;
	cursor: pointer !important;
	list-style: none !important;
}

.vvhp-faq summary::-webkit-details-marker {
	display: none !important;
}

.vvhp-faq summary::after {
	content: "+" !important;
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 999px !important;
	background: rgba(37, 99, 235, .10) !important;
	color: #1d4ed8 !important;
	font-weight: 950 !important;
}

.vvhp-faq details[open] summary::after {
	content: "–" !important;
	background: #2563eb !important;
	color: #fff !important;
}

.vvhp-faq details p {
	margin: 0 !important;
	padding: 0 18px 18px !important;
	color: #475569 !important;
	font-size: .96rem !important;
	line-height: 1.65 !important;
	font-weight: 700 !important;
	background: transparent !important;
	border: 0 !important;
}

@media (max-width: 1120px) {
	.vvhp-hero,
	.vvhp-decision,
	.vvhp-split {
		grid-template-columns: 1fr !important;
	}

	.vvhp-path-grid,
	.vvhp-guide-grid,
	.vvhp-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.vvhp-problem-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 720px) {
	.vvhp-hero,
	.vvhp-section {
		border-radius: 24px !important;
		padding: 22px !important;
	}

	.vvhp-title {
		font-size: clamp(2rem, 10vw, 3rem) !important;
	}

	.vvhp-actions,
	.vvhp-problem-actions {
		flex-direction: column !important;
	}

	.vvhp-btn,
	.vvhp-wrap .vvhp-btn,
	.vvhp-wrap .kamesen.vvhp-btn {
		width: 100% !important;
	}

	.vvhp-mini-grid,
	.vvhp-path-grid,
	.vvhp-guide-grid,
	.vvhp-steps,
	.vvhp-problem-grid {
		grid-template-columns: 1fr !important;
	}

	.vvhp-path-card,
	.vvhp-guide-card,
	.vvhp-step,
	.vvhp-problem-card,
	.vvhp-score-card {
		border-radius: 20px !important;
		padding: 18px !important;
	}

	.vvhp-faq summary {
		font-size: .96rem !important;
	}
}

.vvhp-section--about {
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, .10), transparent 32%),
		linear-gradient(135deg, #ffffff, #f8fafc) !important;
}

.vvhp-section--about .vvhp-split-content p {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: 1rem !important;
	line-height: 1.72 !important;
	font-weight: 750 !important;
	background: transparent !important;
	border: 0 !important;
}

/* =========================================================
   LEGACY HERO HP - CTA premium scoped
   ========================================================= */

body.page1 .slider_wrapper .caption {
	max-width: 760px !important;
	width: calc(100% - 32px) !important;
	padding: 24px !important;
	border-radius: 28px !important;
	background: rgba(15, 23, 42, .30) !important;
	backdrop-filter: blur(10px) !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .24) !important;
	box-sizing: border-box !important;
}

body.page1 .slider_wrapper .caption .caplogo {
	display: block !important;
	margin: 0 auto 16px !important;
	max-width: 210px !important;
	height: auto !important;
	filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .25)) !important;
}

body.page1 .slider_wrapper .caption .edito_txt_o {
	margin: 0 auto !important;
	max-width: 680px !important;
}

body.page1 .slider_wrapper .caption .edito_txt_o p {
	margin: 0 !important;
	padding: 14px 16px !important;
	border-radius: 18px !important;
	background: rgba(15, 23, 42, .62) !important;
	color: #fff !important;
	font-size: clamp(.98rem, 1.6vw, 1.16rem) !important;
	line-height: 1.55 !important;
	font-weight: 800 !important;
	text-align: center !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .34) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

body.page1 .slider_wrapper .caption #cpationctarea {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: center !important;
	gap: 12px !important;
	margin: 18px auto 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 680px !important;
	box-sizing: border-box !important;
}

body.page1 .slider_wrapper .caption #cpationctarea .cta2advanced {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	min-height: 52px !important;
	padding: 13px 18px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, .20) !important;
	color: #fff !important;
	font-size: .96rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .22) !important;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
	box-sizing: border-box !important;
}

body.page1 .slider_wrapper .caption #cpationctarea .cta2advanced:first-child {
	background: linear-gradient(135deg, #22c55e, #16a34a) !important;
}

body.page1 .slider_wrapper .caption #cpationctarea .cta2advanced:last-child {
	background: linear-gradient(135deg, #f97316, #dc2626) !important;
}

body.page1 .slider_wrapper .caption #cpationctarea .cta2advanced:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 22px 46px rgba(0, 0, 0, .30) !important;
	filter: brightness(1.05) !important;
}

@media (max-width: 768px) {
	body.page1 .slider_wrapper .caption {
		width: calc(100% - 24px) !important;
		padding: 18px !important;
		border-radius: 22px !important;
	}

	body.page1 .slider_wrapper .caption .caplogo {
		max-width: 170px !important;
		margin-bottom: 12px !important;
	}

	body.page1 .slider_wrapper .caption .edito_txt_o p {
		padding: 12px 13px !important;
		font-size: .95rem !important;
		line-height: 1.45 !important;
	}

	body.page1 .slider_wrapper .caption #cpationctarea {
		flex-direction: column !important;
		gap: 10px !important;
		margin-top: 14px !important;
	}

	body.page1 .slider_wrapper .caption #cpationctarea .cta2advanced {
		width: 100% !important;
		min-height: 48px !important;
		padding: 12px 14px !important;
		font-size: .93rem !important;
	}
}