@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/poppins-400.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/poppins-500.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/poppins-600.woff2) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/poppins-700.woff2) format("woff2"); }
:root { color-scheme: light; --fond: #FFFFF0; --surface: #FFFFFF; --teinte: #F1EEFC; --ink: #1D1A4D; --ink2: #5A5784; --trait: #E4E0F4; --accent: #5B35C8;
  --hero: linear-gradient(135deg, #6C45D6 0%, #5B35C8 55%, #3F2A9E 100%); --tuile-fond: #FFFFFF; --tuile-ink: #000000; --ombre: 0 8px 24px rgba(63,42,158,.09), 0 1px 3px rgba(63,42,158,.08); }
:root[data-theme="dark"] { color-scheme: dark; --fond: #28282B; --surface: #333338; --teinte: #3E3E46; --ink: #F3F1FF; --ink2: #BDBAD6; --trait: #46464E; --accent: #B9A1FF;
  --hero: linear-gradient(135deg, #4B31B5 0%, #3A2796 55%, #261B66 100%); --tuile-fond: #000000; --tuile-ink: #FFFFFF; --ombre: 0 8px 24px rgba(0,0,0,.32), 0 1px 3px rgba(0,0,0,.3); }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body { margin: 0; background: var(--fond); color: var(--ink); font: 400 1rem/1.65 "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--accent); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.entete-legal { background: var(--hero); color: #fff; border-radius: 0 0 28px 28px; padding: calc(16px + env(safe-area-inset-top)) 16px 28px; }
.entete-legal-in { max-width: 860px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.marque-legale { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.05rem; }
.logo-tuile { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--tuile-fond); color: var(--tuile-ink); }
.logo-tuile svg { height: 31px; width: auto; }
.entete-actions { display: flex; align-items: center; gap: 10px; }
.btn-compte { position: relative; flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.6); color: #fff; text-decoration: none; }
.btn-compte:hover { background: rgba(255,255,255,.3); }
.btn-compte svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.btn-compte.connecte::after { content: ""; position: absolute; right: 2px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: #3DDC97; border: 2px solid #4B31B5; }
.retour { color: #fff; font-weight: 600; font-size: .92rem; text-decoration: none; padding: 9px 16px; border: 1.5px solid rgba(255,255,255,.6); border-radius: 99px; background: rgba(255,255,255,.14); }
.retour:hover { background: rgba(255,255,255,.28); }
.entete-legal :focus-visible { outline-color: #fff; }
main { max-width: 860px; margin: -8px auto 0; padding: 28px 16px 24px; }
h1 { margin: 12px 0 6px; font: 700 clamp(1.6rem, 4.5vw, 2.2rem)/1.2 "Poppins", system-ui, sans-serif; letter-spacing: -.01em; }
h2 { margin: 2.2rem 0 .6rem; font: 700 1.3rem/1.3 "Poppins", system-ui, sans-serif; }
h3 { margin: 1.4rem 0 .4rem; font: 600 1.05rem/1.4 "Poppins", system-ui, sans-serif; }
p, li { max-width: 72ch; }
ul, ol { padding-left: 1.3rem; }
li { margin: .25rem 0; }
.maj { margin: 0 0 18px; color: var(--ink2); font-size: .9rem; }
.encart { margin: 18px 0; padding: 14px 18px; border-radius: 18px; background: var(--teinte); border: 1px solid var(--trait); }
.encart p { margin: .3rem 0; }
.sommaire { margin: 18px 0 8px; padding: 16px 20px; border-radius: 20px; background: var(--surface); border: 1px solid var(--trait); box-shadow: var(--ombre); }
.sommaire h2 { margin: 0 0 6px; font-size: 1rem; }
.sommaire ol { margin: 0; columns: 2; column-gap: 28px; }
.sommaire li { break-inside: avoid; }
.tableau { overflow-x: auto; margin: 14px 0; border-radius: 16px; border: 1px solid var(--trait); background: var(--surface); }
table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: .9rem; line-height: 1.5; }
th, td { text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--trait); }
th { background: var(--teinte); font-weight: 600; }
tr:last-child td { border-bottom: 0; }
code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .88em; background: var(--teinte); padding: 1px 6px; border-radius: 6px; }
.pied-legal { max-width: 860px; margin: 0 auto; padding: 8px 16px 40px; color: var(--ink2); font-size: .88rem; }
.pied-legal a { margin-right: 4px; }
@media (max-width: 620px) { .sommaire ol { columns: 1; } }
@media (max-width: 480px) { .btn-compte { width: 40px; height: 40px; } .retour { padding: 7px 12px; font-size: .8rem; } .marque-legale { font-size: .95rem; gap: 9px; } .logo-tuile { width: 38px; height: 38px; border-radius: 12px; } .logo-tuile svg { height: 27px; } }
@media print { .entete-legal, .sommaire { display: none; } body { background: #fff; color: #000; } a { color: #000; } main { padding: 0; } }
