/* Pagini legale — Cabinet de avocat Alexandra Rufă */
.legal-header { position: sticky; top: 0; z-index: 50; background: rgb(18 59 48 / 0.97); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgb(232 205 127 / 0.16); }
.legal-header .header__inner { min-height: 72px; }
.legal-back { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--ivory-warm); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); border: 1px solid rgb(237 227 207 / 0.25); white-space: nowrap; }
.legal-back:hover { border-color: var(--gold); color: var(--gold); }

.legal { background: var(--ivory); color: #15241E; padding-block: clamp(var(--space-12), 6vw, var(--space-20)); }
.legal__wrap { width: min(100% - 2 * clamp(var(--space-5), 4vw, var(--space-12)), 820px); margin-inline: auto; }
.legal__kicker { font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-deep); font-weight: 500; }
.legal h1 { margin-top: var(--space-3); font-family: var(--font-display); font-weight: 400; font-size: var(--text-2xl); line-height: 1.1; letter-spacing: -0.01em; color: var(--emerald); }
.legal__meta { margin-top: var(--space-4); font-size: var(--text-sm); color: #6B746E; }
.legal__intro { margin-top: var(--space-8); padding: var(--space-6); background: #FFFDF8; border: 1px solid rgb(154 122 46 / 0.22); border-radius: var(--radius-lg); color: #3D4A43; line-height: 1.7; }
.legal__toc { margin-top: var(--space-8); padding: var(--space-6); border-radius: var(--radius-lg); background: rgb(18 59 48 / 0.05); }
.legal__toc p { font-weight: 500; color: var(--emerald); margin-bottom: var(--space-3); }
.legal__toc ol { columns: 2; column-gap: var(--space-8); padding-left: 1.2em; font-size: var(--text-sm); }
.legal__toc li { margin-bottom: var(--space-2); break-inside: avoid; }
.legal__toc a { color: #3D4A43; text-decoration: underline; text-decoration-color: rgb(154 122 46 / 0.4); text-underline-offset: 3px; }
.legal__toc a:hover { color: var(--emerald); }

.legal section { margin-top: var(--space-12); scroll-margin-top: 100px; }
.legal h2 { font-family: var(--font-display); font-weight: 400; font-size: var(--text-xl); line-height: 1.15; color: var(--emerald); margin-bottom: var(--space-4); }
.legal h3 { font-family: var(--font-body); font-weight: 600; font-size: var(--text-base); color: var(--emerald); margin-top: var(--space-6); margin-bottom: var(--space-2); }
.legal p, .legal li { color: #3D4A43; line-height: 1.75; max-width: none; }
.legal p + p { margin-top: var(--space-3); }
.legal ul, .legal ol.list { margin-top: var(--space-3); padding-left: 1.3em; display: grid; gap: var(--space-2); }
.legal ul { list-style: disc; }
.legal ol.list { list-style: decimal; }
.legal ul li::marker { color: var(--gold-deep); }
.legal a { color: var(--emerald); text-decoration: underline; text-decoration-color: rgb(154 122 46 / 0.5); text-underline-offset: 3px; }
.legal a:hover { text-decoration-color: var(--emerald); }
.legal strong { color: #15241E; font-weight: 600; }
.legal .fill { background: rgb(232 205 127 / 0.45); padding: 0 0.3em; border-radius: 4px; color: #5C4A16; font-weight: 500; }

.legal .table-wrap { margin-top: var(--space-4); overflow-x: auto; border: 1px solid rgb(18 59 48 / 0.12); border-radius: var(--radius-md); background: #FFFDF8; }
.legal table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.legal th, .legal td { text-align: left; vertical-align: top; padding: var(--space-3) var(--space-4); border-bottom: 1px solid rgb(18 59 48 / 0.08); line-height: 1.55; color: #3D4A43; }
.legal th { background: rgb(18 59 48 / 0.06); color: var(--emerald); font-weight: 600; }
.legal tr:last-child td { border-bottom: 0; }

.legal .card { margin-top: var(--space-4); padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); background: #FFFDF8; border: 1px solid rgb(154 122 46 / 0.22); }
.legal .card p { margin: 0; }
.legal .card p + p { margin-top: var(--space-1); }

.legal-footer { background: var(--emerald-deep); color: var(--ink-muted); padding-block: var(--space-8); font-size: var(--text-xs); }
.legal-footer ul { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3) var(--space-6); }
.legal-footer a { color: var(--ink-muted); }
.legal-footer a:hover, .legal-footer a[aria-current='page'] { color: var(--gold); }

@media (max-width: 640px) {
  .legal__toc ol { columns: 1; }
  .legal-header .brand__sub { display: none; }
  .legal th, .legal td { padding: var(--space-3); }
}
@media print {
  .legal-header, .legal-footer, .legal__toc { display: none; }
  .legal { padding: 0; }
}
.legal .table-wrap + p, .legal ul + p, .legal .card + p, .legal .table-wrap + .card { margin-top: var(--space-4); }
.legal-header__actions { display: flex; align-items: center; gap: var(--space-3); }
.legal__note { font-size: var(--text-sm); color: var(--color-text-muted); border-left: 2px solid var(--gold-deep); padding-left: var(--space-3); margin-top: var(--space-3); }
@media (max-width: 560px) { .legal-back span { display: none; } .legal-back { padding: var(--space-2); } }
