/**
 * Block: Legal Text
 * Pages juridiques — conteneur etroit avec typographie de lecture.
 */

.legal-text {
}

.legal-text__body {
    color: var(--color-anthracite);
    line-height: 1.75;
    font-size: var(--font-size-small);
}

/* Headings inside legal content */
.legal-text__body h1 {
    font-size: var(--font-size-large);
    margin-bottom: var(--space-xl);
    color: var(--color-bleu);
}

.legal-text__body h2 {
    font-size: clamp(20px, 1.25rem + 0.5vw, 26px);
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-md);
    color: var(--color-bleu);
}

.legal-text__body h3 {
    font-size: clamp(18px, 1.125rem + 0.3vw, 22px);
    margin-top: var(--space-xl);
    margin-bottom: var(--space-sm);
    color: var(--color-anthracite);
}

/* Paragraphs */
.legal-text__body p {
    margin-bottom: var(--space-md);
}

/* Lists */
.legal-text__body ul,
.legal-text__body ol {
    margin-bottom: var(--space-md);
    padding-left: var(--space-xl);
}

.legal-text__body ul {
    list-style: disc;
}

.legal-text__body ol {
    list-style: decimal;
}

.legal-text__body li {
    margin-bottom: var(--space-xs);
    line-height: 1.7;
}

.legal-text__body li::marker {
    color: var(--color-bleu);
}

/* Links */
.legal-text__body a {
    color: var(--color-bleu);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s;
}

.legal-text__body a:hover {
    color: var(--color-bleu);
}

/* Tables (for data processing tables in privacy policy, etc.) */
.legal-text__body table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-lg) 0;
    font-size: var(--font-size-small);
}

.legal-text__body th,
.legal-text__body td {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid #ddd;
    text-align: left;
}

.legal-text__body th {
    background: var(--color-gris-clair);
    font-weight: 700;
    color: var(--color-bleu);
}

/* Emphasis */
.legal-text__body strong {
    font-weight: 700;
}

/* Horizontal rules */
.legal-text__body hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: var(--space-xl) 0;
}

/* Blockquotes */
.legal-text__body blockquote {
    border-left: 3px solid var(--color-bleu);
    padding-left: var(--space-lg);
    margin: var(--space-lg) 0;
    color: #555;
    font-style: italic;
}

/* =============================================================================
   Responsive
   ============================================================================= */
@media (max-width: 768px) {
    .legal-text__body {
        font-size: 15px;
    }

    .legal-text__body table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
