
#page-wrapper, #content, #page-wrapper > .row {
    padding: 0 !important; margin: 0 !important;
    max-width: 100% !important; width: 100% !important;
}

/* ── Banner ── */
.legal-banner {
    background: var(--color-bg-light, #f8f9fa);
    padding: 5rem 0 4rem;
    border-bottom: 4px solid var(--color-primary, #E82951);
    position: relative;
    overflow: hidden;
}
.legal-banner::before {
    content: '';
    position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
    background: linear-gradient(to bottom, var(--color-primary, #E82951), var(--color-secondary, #62B7B9));
}
.legal-banner-inner {
    max-width: 860px; margin: 0 auto; padding: 0 2rem;
}
.legal-banner-label {
    font-family: 'Raleway', sans-serif;
    font-size: 0.62rem; font-weight: 800;
    letter-spacing: 0.3em; text-transform: uppercase;
    color: var(--color-primary, #E82951);
    display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem;
}
.legal-banner-label::after { content: ''; width: 32px; height: 2px; background: var(--color-primary, #E82951); }
.legal-banner h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3rem); font-weight: 700;
    color: var(--color-dark, #1a2535); line-height: 1.1; margin: 0 0 1rem;
}
.legal-banner-meta {
    font-family: 'Raleway', sans-serif;
    font-size: 0.78rem; font-weight: 400;
    color: var(--color-text-light, #6c757d);
}

/* ── Corps ── */
.legal-body {
    max-width: 860px; margin: 0 auto;
    padding: 4rem 2rem 6rem;
}

/* Sections */
.legal-section {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid var(--color-border, #e9ecef);
}
.legal-section:last-child { border-bottom: none; margin-bottom: 0; }

.legal-section h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem; font-weight: 700;
    color: var(--color-dark, #1a2535);
    margin: 0 0 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--color-primary, #E82951);
    display: inline-block;
}

.legal-section h3 {
    font-family: 'Raleway', sans-serif;
    font-size: 0.85rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
    color: var(--color-secondary, #62B7B9);
    margin: 1.5rem 0 0.75rem;
}

.legal-section p {
    font-family: 'Raleway', sans-serif;
    font-size: 0.95rem; font-weight: 300;
    color: var(--color-text, #444); line-height: 1.85;
    margin-bottom: 1rem;
}
.legal-section p:last-child { margin-bottom: 0; }

.legal-section ol {
    padding-left: 1.5rem; margin: 1rem 0;
}
.legal-section ol li {
    font-family: 'Raleway', sans-serif;
    font-size: 0.92rem; font-weight: 300;
    color: var(--color-text, #444); line-height: 1.75;
    margin-bottom: 0.75rem;
}

/* Contact card */
.legal-contact-card {
    background: var(--color-bg-light, #f8f9fa);
    border-left: 4px solid var(--color-secondary, #62B7B9);
    padding: 1.5rem 1.75rem;
    margin: 1.25rem 0;
}
.legal-contact-card p {
    margin: 0; font-weight: 400 !important;
}
.legal-contact-card a {
    color: var(--color-secondary, #62B7B9) !important;
    text-decoration: none !important;
}
.legal-contact-card a:hover { text-decoration: underline !important; }

/* Cookie tag */
.legal-cookie-type {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--color-bg-light, #f8f9fa);
    border: 1px solid var(--color-border, #e9ecef);
    border-left: 3px solid var(--color-success, #97C20C);
    padding: 0.75rem 1.25rem;
    margin: 0.5rem 0;
}
.legal-cookie-type strong {
    font-family: 'Raleway', sans-serif;
    font-size: 0.8rem; font-weight: 700;
    color: var(--color-dark, #1a2535);
}
.legal-cookie-type p {
    margin: 0.25rem 0 0 !important; font-size: 0.85rem !important;
}

/* Google Maps warning */
.legal-warning {
    background: #fff8f0;
    border-left: 4px solid #f0a500;
    padding: 1rem 1.25rem;
    margin: 1rem 0;
    font-family: 'Raleway', sans-serif;
    font-size: 0.85rem; font-weight: 400;
    color: #7a5700; line-height: 1.6;
}

@media (max-width: 767px) {
    .legal-banner { padding: 3.5rem 0 3rem; }
    .legal-body { padding: 3rem 1.5rem 4rem; }
}