/* ============================================== */
/* POLITIQUE-CONFIDENTIALITE.CSS                  */
/* v1.0.0 — Notion Design System                  */
/* ============================================== */

*,*::before,*::after { margin:0;padding:0;box-sizing:border-box }

:root {
  --bg:#FFFFFF;--bg-hover:#F7F7F5;--bg-active:#EFEFED;
  --card:#FFFFFF;--border:#E9E9E7;--sep:#E9E9E7;--sep2:#DDDDD9;
  --t1:#37352F;--t2:#787774;--t3:#9B9A97;--t4:#B4B4B0;
  --accent:#2EAADC;--gold:#C48B15;
  --shadow-xs:rgba(15,15,15,.05) 0 0 0 1px;
  --shadow-sm:rgba(15,15,15,.1) 0 0 0 1px, rgba(15,15,15,.1) 0 2px 4px;
  --r:6px;--r-lg:8px;--header-bg:#1E2A3A;
}

:root[data-theme="dark"] {
  --bg:#191919;--bg-hover:#202020;--bg-active:#2A2A2A;
  --card:#202020;--border:#2E2E2E;--sep:#2E2E2E;--sep2:#3A3A3A;
  --t1:#E0E0DE;--t2:#9B9A97;--t3:#787774;--t4:#5A5A58;
  --shadow-xs:rgba(0,0,0,.2) 0 0 0 1px;
  --shadow-sm:rgba(0,0,0,.3) 0 0 0 1px, rgba(0,0,0,.2) 0 2px 4px;
}

body {
  font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--t1);
  min-height:100vh;display:flex;flex-direction:column;
  -webkit-font-smoothing:antialiased;
}

/* ── Header ── */
.header {
  position:sticky;top:0;z-index:100;
  height:48px;background:var(--header-bg);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;flex-shrink:0;
}
.header-left { display:flex;align-items:center;gap:12px }
.header-logo { height:28px;width:auto }
.header-brand {
  font-size:14px;font-weight:600;
  color:#D4A843;text-decoration:none;white-space:nowrap;
}
.header-sep { color:rgba(255,255,255,.25);font-size:14px;font-weight:300 }
.header-page { color:#fff;font-size:14px;font-weight:600;white-space:nowrap }
.header-right { display:flex;align-items:center;gap:8px }

.btn-theme {
  width:28px;height:28px;border-radius:var(--r);
  border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.45);transition:all 80ms;
}
.btn-theme:hover { background:rgba(255,255,255,.1);color:#fff }
.btn-theme svg { width:16px;height:16px }
.btn-theme .icon-sun { display:none }
.btn-theme .icon-moon { display:flex }
:root[data-theme="dark"] .btn-theme .icon-sun { display:flex }
:root[data-theme="dark"] .btn-theme .icon-moon { display:none }

/* ── Main ── */
.main {
  max-width:760px;margin:0 auto;padding:40px 32px 60px;
  width:100%;flex:1;
}

/* ── Policy ── */
.policy-title {
  font-size:28px;font-weight:700;color:var(--t1);
  letter-spacing:-.02em;line-height:1.2;margin-bottom:8px;
}
.policy-updated {
  font-size:13px;color:var(--t3);margin-bottom:40px;
}

.policy-section {
  margin-bottom:32px;
}
.policy-section h2 {
  font-size:17px;font-weight:600;color:var(--t1);
  margin-bottom:12px;padding-bottom:8px;
  border-bottom:1px solid var(--border);
}
.policy-section p {
  font-size:14px;color:var(--t2);line-height:1.7;
  margin-bottom:10px;
}
.policy-section p:last-child { margin-bottom:0 }
.policy-section strong { color:var(--t1) }
.policy-section a {
  color:var(--accent);text-decoration:none;
}
.policy-section a:hover { text-decoration:underline }

.policy-section ul {
  margin:8px 0 12px 20px;padding:0;
}
.policy-section li {
  font-size:14px;color:var(--t2);line-height:1.7;
  margin-bottom:6px;
}
.policy-section li strong { color:var(--t1) }

/* ── Footer ── */
.policy-footer {
  margin-top:40px;padding-top:20px;
  border-top:1px solid var(--border);
}
.back-link {
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:var(--t3);text-decoration:none;
  padding:6px 10px;border-radius:var(--r);
  transition:all 80ms;
}
.back-link:hover { color:var(--t1);background:var(--bg-hover) }

/* ── Mobile ── */
@media (max-width:767px) {
  .main { padding:24px 16px 48px }
  .header-brand,.header-sep { display:none }
  .policy-title { font-size:22px }
  .policy-section h2 { font-size:15px }
}

@media (max-width:480px) {
  .main { padding:16px 12px 40px }
  .policy-title { font-size:20px }
}

/* ── Touch / Reduced motion ── */
@media (pointer:coarse) {
  .btn-theme { min-width:44px;min-height:44px }
}
@media (prefers-reduced-motion:reduce) {
  * { transition-duration:0ms !important }
}

/* ── Print ── */
@media print {
  .header,.btn-theme,.policy-footer { display:none !important }
  body { background:white }
  .main { max-width:100%;padding:20px }
}
