.mpb-legal {
    background: #fff;
    color: var(--mpb-color-texte, #5f5f5d);
    font-family: Mulish, sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 1240px;
    padding: 104px 64px;
}
.brand-site:has(.mpb-legal) main { background: #fff; }
.mpb-legal a { color: #9b2f45; text-underline-offset: 3px; }
.mpb-legal :is(a, [tabindex]):focus-visible { border-radius: 4px; outline: 2px solid #9b2f45; outline-offset: 4px; }
.mpb-legal :is(b, strong) { color: #474746; font-weight: 600; }
.mpb-legal .tete { border-bottom: 1px solid #ebdcda; margin-bottom: 56px; padding-bottom: 40px; }
.mpb-legal .eyebrow { color: #9b2f45; font-size: 13px; font-weight: 600; letter-spacing: .16em; line-height: 16px; text-transform: uppercase; }
.brand-site .mpb-legal h1 { color: #474746; font-size: clamp(36px, 4.8vw, 62px); font-weight: 200; line-height: 1.18; margin: 24px 0; text-wrap: balance; }
.mpb-legal h1 .main { color: #9b2f45; font-family: "Nothing You Could Do", cursive; font-size: 1.12em; font-weight: 400; line-height: 1; }
.mpb-legal .chapo { font-size: 19px; line-height: 1.7; margin: 0; max-width: 62ch; }
.mpb-legal .meta { display: flex; flex-wrap: wrap; font-size: 15px; gap: 8px 24px; line-height: 1.6; margin-top: 24px; }
.mpb-legal .essentiel { margin-bottom: 64px; }
.brand-site .mpb-legal .essentiel h2 { color: #474746; font-size: 44px; font-weight: 200; line-height: 1.25; margin: 0 0 24px; }
.mpb-legal .surligne { position: relative; isolation: isolate; white-space: nowrap; }
.mpb-legal .surligne::before { background: #e2ece1; bottom: .06em; content: ""; height: .4em; inset-inline: -.04em; position: absolute; z-index: -1; }
.mpb-legal .cartes { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mpb-legal .carte { align-content: start; background: #fbf5f3; border: 1px solid #ebdcda; border-radius: 18px; display: grid; gap: 8px; padding: 24px; }
.mpb-legal .carte .num { color: #9b2f45; font-size: 56px; font-weight: 200; line-height: 1; }
.mpb-legal .carte p { font-size: 15px; line-height: 1.6; margin: 0; }
.mpb-legal .corps { align-items: start; display: grid; gap: 40px; grid-template-columns: 230px minmax(0, 1fr); }
.mpb-legal .sommaire { font-size: 15px; line-height: 1.6; max-height: calc(100dvh - 136px); overflow: auto; padding: 4px; position: sticky; top: 112px; }
.mpb-legal .sommaire .eyebrow { display: block; margin-bottom: 14px; }
.mpb-legal .sommaire ol { counter-reset: legal-section; display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.mpb-legal .sommaire li { counter-increment: legal-section; }
.mpb-legal .sommaire a { border-radius: 4px; color: #5f5f5d; display: flex; gap: 8px; padding: 4px; text-decoration: none; }
.mpb-legal .sommaire a::before { color: #9b2f45; content: counter(legal-section); flex: 0 0 1.6em; font-variant-numeric: tabular-nums; font-weight: 600; }
.mpb-legal .sommaire a:hover { background: #fbf5f3; color: #9b2f45; }
.mpb-legal article { min-width: 0; }
.mpb-legal .art { border-bottom: 1px solid #ebdcda; margin-bottom: 40px; padding-bottom: 24px; scroll-margin-top: 112px; }
.mpb-legal .art:last-child { border: 0; margin-bottom: 0; padding-bottom: 0; }
.brand-site .mpb-legal .art h3 { align-items: baseline; color: #474746; display: flex; font-size: 20px; font-weight: 600; gap: 14px; line-height: 1.3; margin: 0 0 24px; }
.mpb-legal .art h3 .n { align-items: center; background: #f6dce0; border-radius: 50%; color: #9b2f45; display: inline-flex; flex: 0 0 40px; font-size: 15px; height: 40px; justify-content: center; }
.brand-site .mpb-legal .art h4 { color: #474746; font-size: 20px; font-weight: 600; line-height: 1.3; margin: 24px 0 8px; }
.mpb-legal .art p { margin: 0 0 14px; }
.mpb-legal .art :is(p, li) { max-width: 72ch; overflow-wrap: anywhere; }
.mpb-legal .art ul { padding-left: 24px; }
.mpb-legal .art li { margin: 8px 0; }
.mpb-legal .encadre { background: #fbf5f3; border-radius: 18px; font-size: 15px; line-height: 1.6; margin: 24px 0; padding: 24px; }
.mpb-legal .encadre .eyebrow { display: block; margin-bottom: 8px; }
.mpb-legal .formules { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0; }
.mpb-legal .formule { background: #fff; border: 1px solid #ebdcda; border-radius: 18px; padding: 14px; }
.mpb-legal .formule.mise { background: #fbf5f3; }
.mpb-legal .formule .pill { background: #f6dce0; border-radius: 999px; color: #9b2f45; display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .07em; line-height: 16px; padding: 8px 14px; text-transform: uppercase; }
.mpb-legal .prix { color: #9b2f45; font-size: 40px; font-variant-numeric: tabular-nums; font-weight: 200; line-height: 1.25; margin-top: 14px; }
.mpb-legal .prix small { color: #5f5f5d; display: block; font-size: 15px; font-weight: 300; line-height: 1.6; }
.mpb-legal .formule ul { font-size: 15px; line-height: 1.6; padding-left: 14px; }
.mpb-legal .tab { margin: 24px 0; overflow-x: auto; }
.mpb-legal table { background: #fff; border-collapse: collapse; font-size: 15px; line-height: 1.6; min-width: 520px; width: 100%; }
.mpb-legal :is(th, td) { border-bottom: 1px solid #ebdcda; padding: 14px; text-align: left; vertical-align: top; }
.mpb-legal th { background: #fbf5f3; color: #474746; font-weight: 600; }
.mpb-legal td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mpb-legal .pied { align-items: center; border-top: 1px solid #ebdcda; display: flex; flex-wrap: wrap; font-size: 13px; gap: 24px; justify-content: space-between; line-height: 1.5; margin-top: 40px; padding-top: 24px; }
.mpb-legal .bouton { background: #9b2f45; border-radius: 999px; color: #fff; display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .07em; line-height: 16px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; }
@media (max-width: 1100px) {
    .mpb-legal .formules { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .mpb-legal .corps { grid-template-columns: 1fr; }
    .mpb-legal .sommaire { border: 1px solid #ebdcda; border-radius: 18px; max-height: none; padding: 24px; position: static; }
    .mpb-legal .cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .mpb-legal { padding: 72px 24px; }
    .brand-site .mpb-legal h1 { font-size: 36px; }
    .brand-site .mpb-legal .essentiel h2 { font-size: 32px; }
    .mpb-legal .cartes { grid-template-columns: 1fr; }
}
