/* =========================================================
   VENDRE-VOITURE.NET - CORE SINGLE ARTICLE
   Fichier : /css4/core_single.css
   Scope principal : .vvcs-article
   Ne cible pas .not-to-miss-content / .not-to-miss-article
   Ne cible pas le système FAQ natif du CMS
   ========================================================= */

.vvcs-article {
	--vvcs-dark: #0f172a !important;
	--vvcs-text: #334155 !important;
	--vvcs-muted: #64748b !important;
	--vvcs-soft: #f8fafc !important;
	--vvcs-line: rgba(15, 23, 42, .10) !important;
	--vvcs-blue: #2563eb !important;
	--vvcs-green: #16a34a !important;
	--vvcs-orange: #f97316 !important;
	--vvcs-red: #dc2626 !important;
	--vvcs-shadow: 0 18px 52px rgba(15, 23, 42, .08) !important;
	--vvcs-radius-xl: 30px !important;
	--vvcs-radius-lg: 22px !important;
	--vvcs-radius-md: 16px !important;

	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto 34px !important;
	padding: 0 !important;
	color: var(--vvcs-text) !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.vvcs-article,
.vvcs-article .vvcs-hero,
.vvcs-article .vvcs-section,
.vvcs-article .vvcs-card,
.vvcs-article .vvcs-note,
.vvcs-article .vvcs-cta-box,
.vvcs-article .vvcs-table-wrap,
.vvcs-article .vvcs-media,
.vvcs-article .vvcs-grid,
.vvcs-article .vvcs-checklist,
.vvcs-article .vvcs-steps,
.vvcs-article .vvcs-qa-grid {
	box-sizing: border-box !important;
}

.vvcs-article .vvcs-hero {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 0 28px !important;
	padding: clamp(26px, 5vw, 54px) !important;
	border-radius: var(--vvcs-radius-xl) !important;
	background:
		radial-gradient(circle at top left, rgba(37, 99, 235, .24), transparent 34%),
		radial-gradient(circle at 86% 18%, rgba(22, 163, 74, .22), transparent 30%),
		linear-gradient(135deg, #0f172a 0%, #1e3a8a 52%, #0e7490 100%) !important;
	color: #fff !important;
	box-shadow: 0 24px 70px rgba(15, 23, 42, .16) !important;
	isolation: isolate !important;
}

.vvcs-article .vvcs-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: 44px 44px !important;
	opacity: .20 !important;
	z-index: -1 !important;
}

.vvcs-article .vvcs-kicker,
.vvcs-article .vvcs-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: .80rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
}

.vvcs-article .vvcs-section .vvcs-eyebrow {
	background: rgba(37, 99, 235, .10) !important;
	color: #1d4ed8 !important;
	border-color: rgba(37, 99, 235, .16) !important;
}

.vvcs-article .vvcs-title {
	max-width: 920px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(2rem, 5vw, 4rem) !important;
	line-height: .98 !important;
	font-weight: 950 !important;
	letter-spacing: -.06em !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.vvcs-article .vvcs-lead {
	max-width: 920px !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .90) !important;
	font-size: clamp(1rem, 1.7vw, 1.18rem) !important;
	line-height: 1.72 !important;
	font-weight: 750 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vvcs-article .vvcs-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
}

.vvcs-article .vvcs-btn,
.vvcs-article .kamesen.vvcs-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;
	color: #fff !important;
	font-size: .96rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .18) !important;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.vvcs-article .vvcs-btn:hover,
.vvcs-article .kamesen.vvcs-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 22px 46px rgba(0, 0, 0, .24) !important;
	filter: brightness(1.04) !important;
}

.vvcs-article .vvcs-btn--primary {
	background: linear-gradient(135deg, #22c55e, #16a34a) !important;
}

.vvcs-article .vvcs-btn--ghost {
	background: rgba(255, 255, 255, .14) !important;
	border-color: rgba(255, 255, 255, .24) !important;
	color: #fff !important;
	backdrop-filter: blur(10px) !important;
}

.vvcs-article .vvcs-section {
	margin: 0 0 28px !important;
	padding: clamp(22px, 4vw, 36px) !important;
	border-radius: var(--vvcs-radius-xl) !important;
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, .08), transparent 34%),
		#fff !important;
	border: 1px solid var(--vvcs-line) !important;
	box-shadow: var(--vvcs-shadow) !important;
	overflow: hidden !important;
	clear: both !important;
}

.vvcs-article .vvcs-section--soft {
	background:
		radial-gradient(circle at top left, rgba(22, 163, 74, .10), transparent 32%),
		linear-gradient(135deg, #ffffff, #f8fafc) !important;
}

.vvcs-article .vvcs-section--warning {
	background:
		radial-gradient(circle at top right, rgba(249, 115, 22, .12), transparent 34%),
		linear-gradient(135deg, #ffffff, #fff7ed) !important;
}

.vvcs-article .vvcs-section h2 {
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: var(--vvcs-dark) !important;
	font-size: clamp(1.45rem, 3vw, 2.25rem) !important;
	line-height: 1.1 !important;
	font-weight: 950 !important;
	letter-spacing: -.04em !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.vvcs-article .vvcs-section h3 {
	margin: 20px 0 10px !important;
	padding: 0 !important;
	color: var(--vvcs-dark) !important;
	font-size: clamp(1.12rem, 2vw, 1.45rem) !important;
	line-height: 1.18 !important;
	font-weight: 950 !important;
	letter-spacing: -.025em !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

.vvcs-article .vvcs-section h4 {
	margin: 18px 0 10px !important;
	padding: 0 !important;
	color: var(--vvcs-dark) !important;
	font-size: 1.05rem !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vvcs-article .vvcs-section > p,
.vvcs-article .vvcs-intro-box > p,
.vvcs-article .vvcs-card > p,
.vvcs-article .vvcs-note > p,
.vvcs-article .vvcs-cta-box > p,
.vvcs-article .vvcs-qa-card > p {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: 1rem !important;
	line-height: 1.72 !important;
	font-weight: 700 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vvcs-article .vvcs-section > p a,
.vvcs-article .vvcs-card > p a,
.vvcs-article .vvcs-note > p a {
	color: #1d4ed8 !important;
	font-weight: 900 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.vvcs-article .vvcs-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.vvcs-article .vvcs-grid:has(> :nth-child(4):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.vvcs-article .vvcs-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.vvcs-article .vvcs-card,
.vvcs-article .vvcs-qa-card {
	display: flex !important;
	flex-direction: column !important;
	min-height: 100% !important;
	padding: 22px !important;
	border-radius: var(--vvcs-radius-lg) !important;
	background: rgba(255, 255, 255, .96) !important;
	border: 1px solid rgba(15, 23, 42, .09) !important;
	box-shadow: 0 14px 36px rgba(15, 23, 42, .08) !important;
}

.vvcs-article .vvcs-card-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	margin: 0 auto 14px !important;
	border-radius: 16px !important;
	background: rgba(37, 99, 235, .11) !important;
	color: var(--vvcs-dark) !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
	text-align: center !important;
}

.vvcs-article .vvcs-card h3,
.vvcs-article .vvcs-qa-card h3 {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--vvcs-dark) !important;
	font-size: 1.12rem !important;
	line-height: 1.22 !important;
	font-weight: 950 !important;
	letter-spacing: -.025em !important;
	text-align: center !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.vvcs-article .vvcs-media {
	margin: 20px 0 !important;
	padding: 0 !important;
	border-radius: var(--vvcs-radius-lg) !important;
	overflow: hidden !important;
	background: #fff !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	box-shadow: 0 14px 36px rgba(15, 23, 42, .08) !important;
}

.vvcs-article .vvcs-media img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	object-fit: cover !important;
}

.vvcs-article .vvcs-note,
.vvcs-article .vvcs-cta-box {
	margin: 20px 0 !important;
	padding: 20px !important;
	border-radius: var(--vvcs-radius-lg) !important;
	background:
		radial-gradient(circle at top right, rgba(37, 99, 235, .10), transparent 36%),
		#f8fafc !important;
	border: 1px solid rgba(15, 23, 42, .09) !important;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

.vvcs-article .vvcs-note strong,
.vvcs-article .vvcs-cta-box strong {
	display: block !important;
	margin: 0 0 8px !important;
	color: var(--vvcs-dark) !important;
	font-size: 1.08rem !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
}

.vvcs-article .vvcs-cta-box {
	text-align: center !important;
	background:
		radial-gradient(circle at top right, rgba(22, 163, 74, .16), transparent 38%),
		linear-gradient(135deg, #ffffff, #f0fdf4) !important;
}

.vvcs-article .vvcs-cta-box .vvcs-btn {
	margin-top: 14px !important;
}

.vvcs-article .vvcs-checklist {
	display: grid !important;
	gap: 10px !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.vvcs-article .vvcs-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;
}

.vvcs-article .vvcs-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;
}

.vvcs-article .vvcs-table-wrap {
	width: 100% !important;
	max-width: 100% !important;
	margin: 20px 0 !important;
	padding: 0 !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	border-radius: var(--vvcs-radius-lg) !important;
	border: 1px solid rgba(15, 23, 42, .10) !important;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
	background: #fff !important;
}

.vvcs-article .vvcs-table {
	width: 100% !important;
	min-width: 640px !important;
	border-collapse: collapse !important;
	background: #fff !important;
}

.vvcs-article .vvcs-table th,
.vvcs-article .vvcs-table td {
	padding: 14px 15px !important;
	border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
	text-align: left !important;
	vertical-align: top !important;
	color: #334155 !important;
	font-size: .94rem !important;
	line-height: 1.5 !important;
	background: transparent !important;
}

.vvcs-article .vvcs-table th {
	background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(22, 163, 74, .08)) !important;
	color: #0f172a !important;
	font-weight: 950 !important;
}

.vvcs-article .vvcs-table tr:last-child td {
	border-bottom: 0 !important;
}

.vvcs-article .vvcs-quote {
	margin: 20px 0 !important;
	padding: 18px 20px !important;
	border-radius: var(--vvcs-radius-lg) !important;
	border: 1px solid rgba(37, 99, 235, .16) !important;
	background: rgba(37, 99, 235, .07) !important;
	color: #1e3a8a !important;
	font-size: 1rem !important;
	line-height: 1.6 !important;
	font-weight: 850 !important;
	text-align: center !important;
}

.vvcs-article .vvcs-qa-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 20px 0 0 !important;
}

@media (max-width: 980px) {
	.vvcs-article .vvcs-grid,
	.vvcs-article .vvcs-grid--two,
	.vvcs-article .vvcs-qa-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 720px) {
	.vvcs-article {
		overflow-x: hidden !important;
	}

	.vvcs-article .vvcs-hero,
	.vvcs-article .vvcs-section {
		border-radius: 24px !important;
		padding: 22px !important;
	}

	.vvcs-article .vvcs-actions {
		flex-direction: column !important;
	}

	.vvcs-article .vvcs-btn,
	.vvcs-article .kamesen.vvcs-btn {
		width: 100% !important;
	}

	.vvcs-article .vvcs-table {
		min-width: 620px !important;
	}
}

/* =========================================================
   CORE SINGLE - variantes comparatif / money pages
   Scope strict : .vvcs-article uniquement
   ========================================================= */

.vvcs-article .vvcs-btn--warning,
.vvcs-article .kamesen.vvcs-btn--warning {
	background: linear-gradient(135deg, #f97316, #dc2626) !important;
	color: #fff !important;
}

.vvcs-article .vvcs-btn--blue,
.vvcs-article .kamesen.vvcs-btn--blue {
	background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
	color: #fff !important;
}

.vvcs-article .vvcs-rank-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	margin: 0 0 12px !important;
	padding: 7px 11px !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: .78rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	letter-spacing: .02em !important;
}

.vvcs-article .vvcs-rank-badge--green {
	background: rgba(22, 163, 74, .11) !important;
	color: #15803d !important;
	border-color: rgba(22, 163, 74, .18) !important;
}

.vvcs-article .vvcs-rank-badge--orange {
	background: rgba(249, 115, 22, .12) !important;
	color: #c2410c !important;
	border-color: rgba(249, 115, 22, .20) !important;
}

.vvcs-article .vvcs-verdict {
	margin: 18px 0 0 !important;
	padding: 16px 18px !important;
	border-radius: 18px !important;
	background: #f8fafc !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	color: #334155 !important;
	font-size: .96rem !important;
	line-height: 1.62 !important;
	font-weight: 800 !important;
}

.vvcs-article .vvcs-verdict strong {
	color: #0f172a !important;
	font-weight: 950 !important;
}

.vvcs-article .vvcs-comparison-mini {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
}

.vvcs-article .vvcs-mini-card {
	padding: 18px !important;
	border-radius: 20px !important;
	background: rgba(255, 255, 255, .96) !important;
	border: 1px solid rgba(15, 23, 42, .09) !important;
	box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

.vvcs-article .vvcs-mini-card strong {
	display: block !important;
	margin: 0 0 8px !important;
	color: #0f172a !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
}

.vvcs-article .vvcs-mini-card p {
	margin: 0 !important;
	padding: 0 !important;
	color: #475569 !important;
	font-size: .94rem !important;
	line-height: 1.58 !important;
	font-weight: 750 !important;
}

@media (max-width: 720px) {
	.vvcs-article .vvcs-comparison-mini {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   CORE SINGLE - bloc questions autonome + anti scroll mobile
   Scope strict : .vvcs-article
   ========================================================= */

.vvcs-article .vvcs-question-block {
	margin: 0 0 28px !important;
	padding: clamp(22px, 4vw, 36px) !important;
	border-radius: var(--vvcs-radius-xl) !important;
	background:
		radial-gradient(circle at top left, rgba(22, 163, 74, .10), transparent 32%),
		linear-gradient(135deg, #ffffff, #f8fafc) !important;
	border: 1px solid var(--vvcs-line) !important;
	box-shadow: var(--vvcs-shadow) !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	clear: both !important;
}

.vvcs-article .vvcs-question-block h2 {
	margin: 0 0 20px !important;
	padding: 0 !important;
	color: var(--vvcs-dark) !important;
	font-size: clamp(1.45rem, 3vw, 2.25rem) !important;
	line-height: 1.1 !important;
	font-weight: 950 !important;
	letter-spacing: -.04em !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
}

/* Force le scroll horizontal dans le tableau, pas sur la page */
.vvcs-article,
.vvcs-article .vvcs-section,
.vvcs-article .vvcs-question-block,
.vvcs-article .vvcs-grid,
.vvcs-article .vvcs-card,
.vvcs-article .vvcs-qa-grid,
.vvcs-article .vvcs-qa-card,
.vvcs-article .vvcs-table-wrap {
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.vvcs-article .vvcs-table-wrap {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior-x: contain !important;
}

.vvcs-article .vvcs-table {
	width: max-content !important;
	min-width: 640px !important;
	max-width: none !important;
	table-layout: auto !important;
}

.vvcs-article .vvcs-table th,
.vvcs-article .vvcs-table td {
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

@media (max-width: 720px) {
	.vvcs-article {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: clip !important;
	}

	.vvcs-article .vvcs-section,
	.vvcs-article .vvcs-question-block {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.vvcs-article .vvcs-table-wrap {
		border-radius: 18px !important;
	}

	.vvcs-article .vvcs-table {
		width: max-content !important;
		min-width: 620px !important;
		max-width: none !important;
	}
}

/* =========================================================
   CORE SINGLE - eyebrow hors .vvcs-article
   ========================================================= */

.vvcs-section .vvcs-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(37, 99, 235, .10) !important;
	color: #1d4ed8 !important;
	border: 1px solid rgba(37, 99, 235, .16) !important;
	font-size: .80rem !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
	box-sizing: border-box !important;
}

.vvcs-article .vvcs-btn--ghost {
	background: #ffffff !important;
	color: #1d4ed8 !important;
	border: 1px solid rgba(37, 99, 235, .24) !important;
	box-shadow: 0 10px 24px rgba(37, 99, 235, .10) !important;
}

.vvcs-article .vvcs-btn--ghost:hover,
.vvcs-article .vvcs-btn--ghost:focus {
	background: #eff6ff !important;
	color: #1e40af !important;
	border-color: rgba(37, 99, 235, .36) !important;
}

/* =========================================================
   FIX GLOBAL MOBILE - CTA + GRIDS SSCMS
   À coller tout en bas du CSS concerné
   ========================================================= */

@media (max-width: 760px) {

	/* ---------- Sécurité anti-débordement générale ---------- */

	.vvcs-article,
	.vvcs-article *,
	.vv4-wrap,
	.vv4-wrap * {
		box-sizing: border-box !important;
		min-width: 0 !important;
	}

	.vvcs-article,
	.vv4-wrap {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: clip !important;
	}

	.vvcs-article .vvcs-hero,
	.vvcs-article .vvcs-section,
	.vvcs-article .vvcs-card,
	.vvcs-article .vvcs-cta-box,
	.vvcs-article .vvcs-note,
	.vv4-wrap .vv4-hero,
	.vv4-wrap .vv4-section,
	.vv4-wrap .vv4-card,
	.vv4-wrap .vv4-panel,
	.vv4-wrap .vv4-panel-box,
	.vv4-wrap .vv4-data-link {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* ---------- Tous les CTA en pleine largeur contrôlée ---------- */

	.vvcs-article .vvcs-actions,
	.vvcs-article .vvcs-cta-box,
	.vv4-wrap .vv4-actions {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 10px !important;
	}

	.vvcs-article .vvcs-btn,
	.vvcs-article .kamesen.vvcs-btn,
	.vvcs-article a.vvcs-btn,
	.vv4-wrap .vv4-btn,
	.vv4-wrap .kamesen.vv4-btn,
	.vv4-wrap a.vv4-btn {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 1 auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		text-align: center !important;
		line-height: 1.25 !important;
	}

	.vvcs-article .vvcs-cta-box .vvcs-btn,
	.vvcs-article .vvcs-cta-box .kamesen.vvcs-btn {
		margin-top: 12px !important;
	}

	/* ---------- Tous les CTA internes de cards ---------- */

	.vv4-wrap .vv4-card-cta,
	.vv4-wrap .vv4-card-link,
	.vv4-wrap .vv4-chip,
	.vv4-wrap .vv4-data-link,
	.vvcs-article .vvcs-card-cta {
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	/* ---------- Toutes les grilles passent en 1 colonne ---------- */

	.vvcs-article .vvcs-grid,
	.vvcs-article .vvcs-grid--two,
	.vvcs-article .vvcs-qa-grid,
	.vvcs-article .vvcs-comparison-mini,
	.vvcs-article .vvcs-steps,
	.vvcs-article .vvcs-step-grid,
	.vvcs-article .vvcs-card-grid,
	.vv4-wrap .vv4-grid,
	.vv4-wrap .vv4-grid--two,
	.vv4-wrap .vv4-panel,
	.vv4-wrap .vv4-data-strip,
	.vv4-wrap .vv4-next,
	.vv4-wrap .vv4-card-grid,
	.vv4-wrap .vv4-step-grid,
	.vv4-wrap .vv4-steps,
	.vv4-brand-card-grid,
	.vv4-vhu-card-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 14px !important;
	}

	/* ---------- Cards : une vraie colonne, pas deux cards serrées ---------- */

	.vvcs-article .vvcs-card,
	.vvcs-article .vvcs-qa-card,
	.vvcs-article .vvcs-mini-card,
	.vvcs-article .vvcs-step,
	.vv4-wrap .vv4-card,
	.vv4-wrap .vv4-panel-box,
	.vv4-wrap .vv4-data-link,
	.vv4-brand-card,
	.vv4-vhu-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* ---------- Textes longs dans les cards ---------- */

	.vvcs-article .vvcs-card h2,
	.vvcs-article .vvcs-card h3,
	.vvcs-article .vvcs-card p,
	.vvcs-article .vvcs-step h2,
	.vvcs-article .vvcs-step h3,
	.vvcs-article .vvcs-step p,
	.vv4-wrap .vv4-card h2,
	.vv4-wrap .vv4-card h3,
	.vv4-wrap .vv4-card p,
	.vv4-wrap .vv4-panel-box h2,
	.vv4-wrap .vv4-panel-box h3,
	.vv4-wrap .vv4-panel-box p {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		hyphens: auto !important;
	}
}