/* O'Vestiaire — Mentions légales */
.legal-head { padding-bottom: clamp(32px, 4vw, 48px); }
.legal-head .lead { margin: 26px 0 0; max-width: 52ch; font-size: 18px; color: rgba(247, 243, 234, .92); }
.legal-head h1 { margin-bottom: 0; }

.legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.legal__toc { position: sticky; top: 130px; padding: 24px 0 24px 22px; border-left: 1px solid var(--alv-hair); }
.legal__toc .label { margin: 0 0 16px; }
.legal__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: toc; }
.legal__toc li { counter-increment: toc; }
.legal__toc a { position: relative; display: block; padding: 8px 0; font: 600 14px/1.3 var(--alv-font-label); letter-spacing: .08em; text-transform: uppercase; color: var(--alv-ink-soft); transition: color var(--alv-dur-s), transform var(--alv-dur-s) var(--alv-ease-out); }
.legal__toc a::before { content: counter(toc, decimal-leading-zero); margin-right: 12px; color: var(--alv-ink-faint); }
.legal__toc a:hover { color: var(--alv-ink); transform: translateX(4px); }
.legal__toc a[aria-current="true"] { background: var(--alv-gold); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }

.prose { max-width: 760px; }
.prose section { padding-block: clamp(34px, 4vw, 52px); border-top: 1px solid var(--alv-hair); scroll-margin-top: 110px; }
.prose section:first-child { border-top: 0; padding-top: 0; }
.prose h2 { display: flex; align-items: baseline; gap: 16px; margin: 0 0 22px; font-size: clamp(26px, 2.6vw, 36px); line-height: 1; letter-spacing: -.03em; }
.prose h2 .n { font: 700 14px/1 var(--alv-font-label); letter-spacing: .16em; color: var(--alv-ink-faint); }
.prose p, .prose li { font-size: 17px; line-height: 1.65; color: var(--alv-ink-soft); }
.prose p { margin: 0 0 1em; max-width: 60ch; }
.prose strong { color: var(--alv-ink); font-weight: 600; }
.prose a, .prose .link-btn { color: var(--alv-ink); text-decoration: underline; text-decoration-color: var(--alv-line); text-underline-offset: 4px; transition: color var(--alv-dur-s), text-decoration-color var(--alv-dur-s); }
.prose a:hover, .prose .link-btn:hover { color: var(--alv-ink); text-decoration-color: var(--alv-cream); }
.prose .link-btn { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
.prose ul { margin: 0; padding-left: 1.2em; display: grid; gap: 10px; }
.prose ul li::marker { color: var(--alv-gold-solid); }
.facts { display: grid; margin: 24px 0 0; border-radius: var(--alv-radius); border: 1px solid var(--alv-hair); background: var(--alv-surface); overflow: hidden; }
.facts > div { display: grid; grid-template-columns: minmax(150px, 230px) minmax(0, 1fr); gap: 20px; padding: 16px 22px; border-top: 1px solid var(--alv-hair); }
.facts > div:first-child { border-top: 0; }
.facts dt { font: 700 13px/1.5 var(--alv-font-label); letter-spacing: .16em; text-transform: uppercase; color: var(--alv-ink-faint); }
.facts dd { margin: 0; font-size: 16px; line-height: 1.5; color: var(--alv-ink); }
.alcool { margin-top: 22px !important; font-size: 15px !important; color: var(--alv-ink-soft); }

@media (max-width: 900px) {
  .legal { grid-template-columns: 1fr; gap: 28px; }
  .legal__toc { position: static; padding: 0 0 22px; border-left: 0; border-bottom: 1px solid var(--alv-hair); }
  .legal__toc ol { grid-template-columns: 1fr 1fr; gap: 0 20px; }
  }
@media (max-width: 640px) {
  .legal__toc ol { grid-template-columns: 1fr; }
  .facts > div { grid-template-columns: 1fr; gap: 4px; padding: 14px 18px; }
  .prose p, .prose li { font-size: 16px; }
}

/* ---------- Peaufinage 05/10 ---------- */
.legal__toc a { padding-left: 32px; }
.legal__toc a::before { position: absolute; left: 0; } /* retrait suspendu : « Cookies » s’aligne sous le texte */
.facts dd a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; }
@media (max-width: 900px) { .legal__toc a { padding-block: 13px; } }
@media (max-width: 640px) { .legal-head .h-section { line-height: 1.08; } }
.legal__toc a::before { -webkit-text-fill-color: var(--alv-ink-soft); color: var(--alv-ink-soft); }
