/* ===== Pages légales ===== */
.legal { max-width: 820px; margin: 0 auto; padding: 24px 24px 56px; line-height: 1.65; color: var(--text-2); }
.legal h1 { font-size: clamp(30px, 5vw, 44px); line-height: 1.1; letter-spacing: -.03em; color: var(--ink); margin: 16px 0 8px; }
.legal h2 { font-size: 20px; color: var(--ink); margin: 32px 0 8px; }
.legal a { color: var(--pink-ink); }
.legal code { background: #f3f4f8; padding: 1px 6px; border-radius: 6px; font-size: .92em; }
.legal__meta { color: var(--muted); font-size: 14px; margin: 0 0 24px; }
.legal__summary { padding: 18px 22px; border-radius: 18px; background: var(--pink-soft); color: var(--ink); }
.legal__summary p { margin: 0 0 6px; }
.legal__summary ul { margin: 0; padding-left: 20px; }
.legal__table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.legal__table th, .legal__table td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--line); }
.legal__table th { color: var(--muted); font-weight: 600; }
.table-wrap { overflow-x: auto; }
mark.todo { background: #fff1b8; color: #7a5200; padding: 1px 6px; border-radius: 6px; font-weight: 600; }
.legal__box { margin: 20px 0; padding: 20px; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 14px; }
.legal__box--muted { background: #fafafb; }
.legal__box summary { cursor: pointer; font-weight: 600; color: var(--ink); }
.legal__check { display: flex; gap: 10px; align-items: flex-start; color: var(--ink); font-weight: 500; }
.legal__check input { margin-top: 5px; width: 18px; height: 18px; accent-color: var(--pink); }
.legal__input { padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; font: inherit; margin-right: 8px; }
.legal__danger { background: #dc2626; color: #fff !important; border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.legal__link { background: none; border: 0; padding: 0; color: var(--muted); text-decoration: underline; cursor: pointer; font: inherit; }
.legal__flash { padding: 12px 14px; border-radius: 12px; font-weight: 600; }
.legal__flash--error { background: #fde8e8; color: #b42318; }
.legal__flash--ok { background: #e3f7e9; color: #177a3c; }
button.k-btn { border: 0; cursor: pointer; font-family: inherit; }
button.k-btn--outline, a.k-btn--outline { border: 1.5px solid var(--ink); }
/* Liens légaux (pieds de page) */
.legal-links { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; }
.legal-links a { color: inherit; text-decoration: none; }
.legal-links a:hover { opacity: 1; text-decoration: underline; }
@media (max-width: 760px) { .legal { padding: 16px 16px 40px; } }
.legal__notice { margin: 8px 0 0; padding: 10px 14px; border-radius: 12px; background: #f3f4f8; font-size: 14px; color: var(--muted); }
