/* Documents HUESCAR : lecture, sommaire et impression. */
.legal-page header{align-items:center;gap:16px}
.legal-page header nav a{white-space:nowrap}
.legal-document{width:min(1380px,calc(100% - var(--margin)*2));margin:50px auto 100px}
.legal-intro{max-width:1000px;margin-bottom:50px}
.legal-intro .back{display:inline-flex;align-items:center;min-height:44px}
.legal-date{font-size:14px;margin-top:28px;color:#555}
.legal-document h1{font-size:clamp(42px,6.5vw,100px);line-height:1.06;margin:18px 0 26px;max-width:1100px;overflow-wrap:normal}
.legal-lead{font-size:clamp(18px,2vw,23px);max-width:760px;line-height:1.55}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,780px);gap:clamp(35px,6vw,110px);align-items:start}
.legal-toc{position:sticky;top:24px;max-height:calc(100svh - 48px - var(--cookie-banner-height,0px));overflow:auto;overscroll-behavior:contain;padding:0 12px 10px 2px}
.legal-toc summary{font-size:15px;font-weight:600;min-height:44px;padding:10px 0;cursor:pointer;margin:0 0 10px}
.legal-toc ul{list-style:none;padding:0;margin:0}
.legal-toc li+li{margin-top:2px}
.legal-toc a{font-size:15px;line-height:1.3;display:flex;align-items:center;min-height:44px;padding:9px 12px;border-left:2px solid #d6d6d6;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.legal-toc a:hover,.legal-toc a:focus-visible,.legal-toc a[aria-current]{background:#0434e50a;color:var(--blue);border-color:var(--blue)}
.legal-toc a:focus-visible{outline-offset:-2px}
.legal-copy{min-width:0}
.legal-section{scroll-margin-top:28px;margin:0 0 48px}
.legal-section h2{font-size:clamp(29px,3vw,42px);line-height:1.15;margin:0 0 20px}
.legal-section p,.legal-section li{font-size:18px;line-height:1.7;overflow-wrap:anywhere}
.legal-section p+p{margin-top:18px}
.legal-section ul{margin:18px 0 0;padding-left:22px}
.legal-section li+li{margin-top:9px}
.legal-summary{padding:30px 34px 34px;background:#fff;border-top:5px solid var(--blue);border-radius:0 0 12px 12px}
.legal-summary h2{color:var(--blue)}
.legal-summary ul{margin:0}
.legal-section code{font-size:.86em;overflow-wrap:anywhere}
.legal-cookie-action{border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:white;min-height:44px;padding:10px 16px;line-height:1.4;text-align:left}
.legal-cookie-action:hover,.legal-cookie-action:focus-visible{background:white;color:var(--blue)}
.legal-question{padding-top:30px;border-top:1px solid #ccc}
.legal-question p{margin-bottom:20px}
.legal-page .studio-footer{display:block;padding-block:35px 24px}
.legal-page .footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px}
.legal-page .footer-links>a:not(.contact-button),.legal-page .footer-links>button{min-height:44px;display:inline-flex;align-items:center}
.legal-page .wordmark-window{margin-top:40px}
.legal-letter-word{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:top;padding-block:.12em;margin-block:-.12em}
.legal-char{display:inline-block;transform-origin:center bottom;font:inherit;letter-spacing:inherit}
.legal-motion [data-legal-reveal]{transition:opacity .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.legal-motion [data-legal-reveal].legal-waiting{opacity:0;transform:none}
.legal-motion h1[data-legal-reveal],.legal-motion h2[data-legal-reveal]{transform:none;opacity:1;transition:none}
.legal-motion .legal-char{color:inherit;transition:opacity .35s var(--legal-letter-delay) ease,color .8s var(--legal-letter-delay) ease;transform:none}
.legal-motion .legal-waiting .legal-char{opacity:0;color:var(--blue);transform:none;transition-delay:0s}
.legal-priming [data-legal-reveal],.legal-priming .legal-char{transition:none!important}
.legal-section .legal-clause{padding:22px 24px;border-left:4px solid var(--blue);background:white;border-radius:0 8px 8px 0}
.legal-clause strong{display:block;margin-bottom:10px}
@media(min-width:1600px){.legal-layout{grid-template-columns:280px minmax(0,800px)}}
@media(max-width:960px){
 .legal-layout{display:flex;flex-direction:column}.legal-copy{display:contents}.legal-summary{order:-2;width:100%}.legal-intro{margin-bottom:30px}.legal-toc{order:-1;width:100%;position:static;max-height:none;overflow:visible;margin-bottom:38px;padding:12px 0;border-block:1px solid #d6d6d6}
 .legal-toc summary{margin:0}.legal-toc details[open] summary{margin-bottom:12px}
 .legal-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
 .legal-copy{max-width:780px}.legal-document{margin-top:25px}
}
@media(max-width:700px){
 .legal-page header .identity-logo{width:140px}.legal-page header .identity span{display:none}
 .legal-page header nav a{font-size:20px;padding:10px 12px}.legal-page header{padding-block:20px}
 .legal-document h1{font-size:clamp(42px,10vw,68px);margin-block:18px 22px}
 .legal-summary{padding:25px 22px 28px}.legal-section p,.legal-section li{font-size:17px;line-height:1.65}
 .legal-section{margin-bottom:38px}.legal-page .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
 .legal-page .footer-links>*{margin-bottom:0}.legal-page .wordmark-window{margin-top:30px}
}
@media(max-width:360px){.legal-toc ul{display:block}.legal-page header .identity-logo{width:125px}.legal-page header nav a{font-size:18px}}
@media(prefers-reduced-motion:reduce){.legal-motion [data-legal-reveal],.legal-motion .legal-char{transition:none!important;opacity:1!important;transform:none!important}.legal-motion .legal-char{color:inherit!important}}
@media print{
 html{scroll-padding-top:0}body.legal-page{background:white;color:black}
 .legal-page header,.legal-toc,.legal-page footer,.cookie-banner,.cookie-dialog,.legal-intro .back,.legal-question .contact-button{display:none!important}
 .legal-document{width:100%;margin:0}.legal-layout{display:block}.legal-intro{margin-bottom:25px}
 .legal-document h1{font-size:34pt}.legal-section h2{font-size:20pt;break-after:avoid}
 .legal-section p,.legal-section li{font-size:11pt}.legal-section{margin-bottom:24px}[data-legal-reveal],.legal-char{opacity:1!important;transform:none!important;transition:none!important}.legal-char{color:inherit!important}
 .legal-summary{border:1px solid #ccc;background:white;padding:18px}.legal-intro *{animation:none!important}
}
