/* ==========================================================================
   Tech For You — Pages légales (Mentions légales, Politique de
   confidentialité, CGV). Feuille mutualisée : les 3 gabarits partagent
   exactement la même composition (en-tête de page + corps de texte), seul
   le contenu change. Réutilise les fondations (techforyou-base.css) et les
   composants partagés (techforyou-layout.css : en-tête, pied de page,
   .tfy-flow). Priorité à la lecture confortable d'un texte juridique long.
   ========================================================================== */

/* ---------------------------------------------------------------------- */
/* En-tête de page                                                        */
/* ---------------------------------------------------------------------- */
.tfy-legal-intro {
	padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(2rem, 4vw, 3rem);
	color: var(--tfy-white);
}

.tfy-legal-intro__title {
	max-width: 34rem;
}

.tfy-legal-intro__meta {
	margin-top: 0.75rem;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.55);
}

/* Sommaire d'ancres — mêmes codes visuels que .tfy-tarifs-jump (composant
   déjà validé pour une navigation rapide en haut de page). */
.tfy-legal-toc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem 0.9rem;
	margin-top: 1.5rem;
	font-size: 0.85rem;
	font-weight: 600;
}

.tfy-legal-toc a {
	color: rgba(255, 255, 255, 0.68);
	transition: color var(--tfy-duration) var(--tfy-ease);
}

.tfy-legal-toc a:hover,
.tfy-legal-toc a:focus-visible {
	color: var(--tfy-blue-bright);
}

.tfy-legal-toc span {
	color: rgba(255, 255, 255, 0.3);
}

/* ---------------------------------------------------------------------- */
/* Corps du texte juridique                                               */
/* ---------------------------------------------------------------------- */
.tfy-legal-body {
	padding-block: 0 clamp(3.5rem, 7vw, 5.5rem);
}

.tfy-legal-content {
	max-width: 46rem;
	margin-inline: auto;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1rem;
	line-height: 1.7;
}

.tfy-legal-content h2 {
	margin-top: clamp(2.5rem, 4vw, 3rem);
	margin-bottom: 0.85rem;
	font-size: clamp(1.2rem, 2vw, 1.4rem);
	font-weight: 800;
	color: var(--tfy-white);
	scroll-margin-top: 6.5rem;
}

.tfy-legal-content h2:first-child {
	margin-top: 0;
}

.tfy-legal-content h3 {
	margin-top: 1.75rem;
	margin-bottom: 0.6rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--tfy-white);
}

.tfy-legal-content p {
	margin-bottom: 1rem;
}

.tfy-legal-content ul,
.tfy-legal-content ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.tfy-legal-content li {
	margin-bottom: 0.4rem;
}

.tfy-legal-content a {
	color: var(--tfy-blue-bright);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.tfy-legal-content a:hover,
.tfy-legal-content a:focus-visible {
	color: var(--tfy-white);
}

.tfy-legal-content strong {
	color: var(--tfy-white);
}

/* Encadré d'identité (éditeur, hébergeur, responsable de traitement) —
   même bloc réutilisé partout où une fiche coordonnées doit se détacher
   du texte courant. */
.tfy-legal-card {
	margin: 0 0 1.5rem;
	padding: 1.1rem 1.3rem;
	border: 1px solid var(--tfy-border-dark);
	border-radius: var(--tfy-radius-md);
	background: rgba(255, 255, 255, 0.04);
	font-style: normal;
	line-height: 1.65;
}

.tfy-legal-card p {
	margin: 0;
}

.tfy-legal-card p + p {
	margin-top: 0.6rem;
}

@media (max-width: 640px) {
	.tfy-legal-content {
		font-size: 0.96rem;
	}
}
