/* ============================================================
   dv-liens — Maillage interne (simulateur + aides) — L99
   ============================================================ */
.dv-liens {
	--dv-navy: #0f2a43;
	--dv-orange: #F5A624;
	--dv-orange-dk: #d98e10;
	--dv-orange-soft: #fef3e0;
	--dv-ink: #16242f;
	--dv-muted: #5d6b76;
	--dv-line: #e7ddc9;
	--dv-cream: #f6f0e3;
	--dv-white: #ffffff;
	background: var(--dv-white);
	padding: clamp(2.75rem, 5vw, 4.5rem) 1.25rem;
}
.dv-liens__inner { max-width: 1020px; margin: 0 auto; }

.dv-liens__title {
	margin: 0 0 0.7rem;
	text-align: center;
	font-family: "IBM Plex Sans", system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--dv-navy);
	font-size: clamp(1.6rem, 3.2vw, 2.3rem);
}
.dv-liens__sub {
	margin: 0 auto 2.25rem;
	max-width: 600px;
	text-align: center;
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	line-height: 1.55;
	color: var(--dv-muted);
}

.dv-liens__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}
@media (max-width: 720px) {
	.dv-liens__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
}

/* ---------- Carte ---------- */
.dv-liens__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.6rem 1.5rem;
	background: var(--dv-white);
	border: 1px solid var(--dv-line);
	border-radius: 15px;
	text-decoration: none;
	box-shadow: 0 8px 26px -22px rgba(15, 42, 67, 0.28);
	transition: border-color 0.15s ease, box-shadow 0.2s ease, transform 0.1s ease;
}
.dv-liens__card:hover {
	border-color: #d8cba6;
	box-shadow: 0 16px 34px -20px rgba(15, 42, 67, 0.35);
	transform: translateY(-2px);
}
.dv-liens__card:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(15, 42, 67, 0.18);
}

/* Carte principale (simulateur) */
.dv-liens__card--main {
	border-color: var(--dv-orange);
	background: var(--dv-orange-soft);
}
.dv-liens__card--main:hover { border-color: var(--dv-orange-dk); }

.dv-liens__tag {
	align-self: flex-start;
	margin-bottom: 0.2rem;
	padding: 0.25rem 0.65rem;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #ffffff;
	background: var(--dv-orange);
	border-radius: 100px;
}
.dv-liens__h {
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--dv-navy);
}
.dv-liens__t {
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--dv-muted);
}
.dv-liens__more {
	margin-top: 0.35rem;
	font-size: 0.96rem;
	font-weight: 700;
	color: var(--dv-orange-dk);
}
.dv-liens__more span { transition: transform 0.15s ease; display: inline-block; }
.dv-liens__card:hover .dv-liens__more span { transform: translateX(3px); }

/* ---------- Sécurité : neutralise toute couleur de lien parent sur les cartes ---------- */
.dv-liens__card,
.dv-liens__card:hover,
.dv-liens__card:focus { color: var(--dv-navy) !important; }
.dv-liens__card .dv-liens__h { color: var(--dv-navy) !important; }
.dv-liens__card--main .dv-liens__h { color: var(--dv-navy) !important; }
