/* ===========================
   LEGAL — Mentions légales, CGU, Politique de confidentialité
   Dépend de nav.css (variables :root + base)
=========================== */

/* ─── Page wrapper ─── */
.legal-wrap {
	padding-top: 68px;
	min-height: calc(100vh - 68px);
	background: var(--bg);
}

/* ═══════════════════════════
 HERO LÉGAL
═══════════════════════════ */
.legal-hero {
	background: var(--forest);
	padding: 3.5rem 2rem;
	text-align: center;
	position: relative; overflow: hidden;
}
.legal-hero::before {
	content: '';
	position: absolute; inset: 0;
	background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(238,175,134,.09) 0%, transparent 65%);
	pointer-events: none;
}
.legal-hero-label {
	display: inline-block;
	font-size: .7rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .15em; color: var(--peach); margin-bottom: .7rem;
}
.legal-hero h1 {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 700; color: var(--cream);
	line-height: 1.15; letter-spacing: -.025em; margin-bottom: .6rem;
	position: relative; z-index: 1;
}
.legal-hero > .legal-hero-inner > p,
.legal-hero-subtitle {
	font-size: .875rem; color: rgba(251,246,240,.45);
	position: relative; z-index: 1;
}

/* ═══════════════════════════
 CONTENU
═══════════════════════════ */
.legal-content {
	max-width: 820px; margin: 0 auto; padding: 3rem 2rem 5rem;
}
.legal-card {
	background: var(--cream); border: 1.5px solid var(--border);
	border-radius: 24px; padding: 3rem 3.5rem;
	font-size: .9rem; line-height: 1.75; color: var(--forest);
}
.legal-intro {
	font-size: .875rem; color: var(--muted); line-height: 1.7;
	margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1.5px solid var(--border);
}

/* ─── Sections ─── */
.legal-section { margin-bottom: 2.5rem; }
.legal-section:last-of-type { margin-bottom: 0; }
.legal-section h2 {
	font-size: 1rem; font-weight: 700; color: var(--peach-dark);
	margin-bottom: 1rem; display: flex; align-items: center; gap: .5rem;
}
.legal-section h2 svg { font-size: 1.1rem; opacity: .8; }
.legal-section p {
	font-size: .875rem; color: var(--forest); line-height: 1.72; margin-bottom: .6rem;
}
.legal-section p:last-child { margin-bottom: 0; }

/* ─── Info table (éditeur, hébergeur) ─── */
.legal-info {
	background: var(--bg); border-radius: 14px; padding: 1.4rem 1.6rem;
	display: flex; flex-direction: column; gap: .55rem; margin-top: .8rem;
}
.legal-info-row {
	display: flex; gap: .75rem; font-size: .855rem; line-height: 1.5; flex-wrap: wrap;
}
.legal-info-row strong {
	color: var(--forest); font-weight: 600; flex-shrink: 0; min-width: 220px;
}
.legal-info-row span { color: var(--muted); }

/* ─── Divider entre sections ─── */
.legal-divider { height: 1.5px; background: var(--border); margin: 2rem 0; }

/* ─── Listes ─── */
.legal-list {
	margin: .5rem 0 .5rem 1rem; display: flex; flex-direction: column; gap: .4rem;
}
.legal-list li {
	font-size: .875rem; color: var(--muted); line-height: 1.65; list-style: disc; padding-left: .3rem;
}

/* ─── Liens ─── */
.legal-link {
	color: var(--forest-soft); font-weight: 500; text-decoration: underline;
	text-decoration-color: rgba(45,114,101,.35); text-underline-offset: 2px; transition: color .2s;
}
.legal-link:hover { color: var(--forest); }

/* ─── Date de màj ─── */
.legal-date {
	text-align: right; font-size: .78rem; color: var(--muted); font-style: italic;
	margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1.5px solid var(--border);
}

/* ─── Responsive ─── */
@media (max-width: 960px) {
	.legal-card { padding: 2rem 1.5rem; }
	.legal-info-row strong { min-width: 160px; }
}
@media (max-width: 600px) {
	.legal-content { padding: 1.5rem 1rem 4rem; }
	.legal-info-row { flex-direction: column; gap: .15rem; }
	.legal-info-row strong { min-width: unset; }
}
