/**
 * legal — feuille dédiée.
 *
 * Sortie du gabarit au lot L7.3. Un bloc <style> sans nonce oblige la politique
 * de sécurité de contenu à tolérer style-src-elem 'unsafe-inline', et cette
 * directive vaut pour l'application entière : un seul bloc oublié la tient
 * ouverte partout.
 *
 * @author TechAstro / refonte 2026-09 (lot L7.3)
 * @since  2026-09-25
 */

.ta-legal-blobs { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.ta-legal-blob { position: absolute; border-radius: 50%; filter: blur(46px); }
.ta-legal-blob--blue { top: -18%; left: -12%; width: 50vw; height: 50vw;
    background: radial-gradient(circle, rgba(26,111,255,.28), transparent 62%); animation: au-drift 20s ease-in-out infinite; }
.ta-legal-blob--violet { bottom: -22%; right: -14%; width: 46vw; height: 46vw;
    background: radial-gradient(circle, rgba(120,90,255,.22), transparent 62%); animation: au-drift2 24s ease-in-out infinite; }

.ta-legal-header {
    position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between;
    max-width: 860px; margin: 0 auto; padding: 22px 24px;
}
.ta-legal-back { font-family: var(--font-mono); font-size: 0.8rem; color: var(--c-blue); text-decoration: none; }
.ta-legal-back:hover { text-decoration: underline; }
.ta-legal-wordmark { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.28em; color: var(--c-navy); }

.ta-legal-main { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; padding: 0 24px 64px; }
.ta-legal-card {
    background: rgba(255,255,255,.72); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.85); border-radius: 20px;
    padding: 40px 44px; box-shadow: 0 20px 50px -26px rgba(26,60,140,.4);
}

/* ── Prose : mise en forme du markdown rendu ──────────────────────────────── */
.ta-legal-prose { color: var(--c-navy); font-family: var(--font-body); font-size: 0.95rem; line-height: 1.7; }
.ta-legal-prose h1 { font-family: var(--font-display); font-weight: 600; font-size: 2rem; line-height: 1.1;
    color: var(--c-navy); margin: 0 0 0.4rem; }
.ta-legal-prose h2 { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem;
    color: var(--c-navy); margin: 2rem 0 0.6rem; padding-top: 1rem; border-top: 1px solid var(--c-bg); }
.ta-legal-prose h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.08rem;
    color: var(--c-navy); margin: 1.4rem 0 0.4rem; }
.ta-legal-prose p { margin: 0 0 0.9rem; }
.ta-legal-prose a { color: var(--c-blue); }
.ta-legal-prose strong { color: var(--c-navy); font-weight: 600; }
.ta-legal-prose ul, .ta-legal-prose ol { margin: 0 0 1rem; padding-left: 1.4rem; }
.ta-legal-prose li { margin-bottom: 0.35rem; }
.ta-legal-prose hr { border: none; border-top: 1px solid var(--c-bg); margin: 1.6rem 0; }
.ta-legal-prose blockquote { margin: 0 0 1rem; padding: 0.6rem 1rem; border-left: 3px solid var(--c-blue-light);
    background: color-mix(in srgb, var(--c-blue-light) 8%, #fff); border-radius: 0 8px 8px 0;
    font-family: var(--font-mono); font-size: 0.82rem; color: var(--c-grey); }
.ta-legal-prose code { font-family: var(--font-mono); font-size: 0.85em;
    background: var(--c-bg); padding: 0.1em 0.35em; border-radius: 4px; }
.ta-legal-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.2rem; font-size: 0.85rem; }
.ta-legal-prose th, .ta-legal-prose td { border: 1px solid var(--c-bg); padding: 0.5rem 0.7rem; text-align: left; vertical-align: top; }
.ta-legal-prose th { background: var(--c-navy); color: #fff; font-family: var(--font-mono);
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; }

.ta-legal-footnav { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; align-items: center;
    margin-top: 1.5rem; font-family: var(--font-mono); font-size: 0.78rem; color: var(--c-grey); }
.ta-legal-footnav a { color: var(--c-blue); text-decoration: none; }
.ta-legal-footnav a:hover { text-decoration: underline; }

@media (max-width: 600px) { .ta-legal-card { padding: 28px 22px; } }
