/* START PAGES LEGALES */

/* Hero */
.legal-hero {background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-block) 100%);}
.legal-hero .hero-2col {align-items: flex-end; justify-content: space-between; margin-bottom: 0;}
.legal-hero .hero-col:only-child {width: 100%; max-width: 800px; padding: 0; background: transparent; display: block;}
.legal-hero .hero-col:nth-child(2) {width: auto; flex-shrink: 0;}
.legal-hero .intro-page {color: var(--color-text-gray); margin-top: 10px !important;}
.legal-date {margin: 0; padding: 10px 15px; background: white; border: solid 1px var(--color-border); border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--color-title);}
.legal-date span {display: block; font-size: 11px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--color-text-gray);}

/* Colonnes */
.legal-layout {display: flex; align-items: flex-start; gap: 40px;}
.legal-layout .toc-sidebar {position: sticky; top: 100px; flex-shrink: 0; width: 280px; margin-bottom: 0;}
.legal-layout .toc-sidebar #sommaire-article {max-height: calc(100vh - 190px);}

/* Contenu */
.legal-content {flex: 1; min-width: 0; padding: 30px; background: white; border: solid 1px var(--color-border); border-radius: 10px; overflow-wrap: anywhere;}
.legal-content > *:first-child {margin-top: 0;}
.legal-content > *:last-child {margin-bottom: 0;}
.legal-content h2 {font-size: 24px; margin: 30px 0 15px 0; padding-top: 30px; border-top: solid 1px var(--color-border); scroll-margin-top: 80px;}
.legal-content h2:first-child {padding-top: 0; border-top: none;}
.legal-content h3 {font-size: 18px !important; margin: 20px 0 5px 0; padding-top: 0;}
.legal-content p, .legal-content li {font-size: 15px; color: var(--color-text);}
.legal-content p {margin: 0 0 15px 0;}
.legal-content ul, .legal-content ol {margin: 0 0 15px 0; padding-left: 20px;}
.legal-content a {text-decoration: underline;}

@media (max-width: 1022px) {
    .legal-layout {flex-direction: column; align-items: stretch; gap: 20px;}
    .legal-layout .toc-sidebar {position: relative; top: 0; width: 100%;}
    .legal-layout .toc-sidebar:before {display: none;}
    .legal-layout .toc-sidebar #sommaire-article {max-height: none; padding-bottom: 0;}
}

@media (max-width: 767px) {
    .legal-content {padding: 20px;}
    .legal-content h2 {font-size: 22px;}
}
/* END PAGES LEGALES */
