/* ═══════════════════════════════════════════════════════════════
   Kynteo — styles communs aux pages légales
   (mentions légales, CGV, confidentialité, cookies)
   ═══════════════════════════════════════════════════════════════ */

:root{
  --navy:#0f172a; --navy-800:#1e293b;
  --slate-700:#334155; --slate-600:#475569; --slate-500:#64748b;
  --slate-400:#94a3b8; --slate-300:#cbd5e1; --slate-200:#e2e8f0;
  --slate-100:#f1f5f9; --slate-50:#f8fafc;
  --blue:#2563eb; --blue-700:#1d4ed8; --blue-50:#eff6ff;
  --amber:#f59e0b; --amber-600:#d97706; --amber-50:#fffbeb;
  --green:#16a34a; --green-100:#dcfce7;
  --red:#dc2626; --red-100:#fee2e2;
  --font:Inter,'Helvetica Neue',Arial,sans-serif;
  --shadow-sm:0 1px 2px rgba(15,23,42,.04);
  --shadow:0 4px 12px rgba(15,23,42,.06);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:#fff;color:var(--navy);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--blue-700)}
img,svg{display:block;max-width:100%}
.container{max-width:900px;margin:0 auto;padding:0 24px}

/* ═══ NAV ═══ */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--slate-200)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1200px;margin:0 auto;padding:0 24px}
.logo{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.02em;color:var(--navy);text-decoration:none}
.logo:hover{color:var(--navy)}
.logo-mark{width:32px;height:32px;flex-shrink:0}
.logo-text{font-weight:900}
.logo-text span{font-weight:300}
.nav-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--slate-600);text-decoration:none}
.nav-back:hover{color:var(--navy)}

/* ═══ HERO LEGAL ═══ */
.legal-hero{padding:72px 0 48px;border-bottom:1px solid var(--slate-200);background:linear-gradient(180deg,var(--slate-50),transparent)}
.legal-hero .eyebrow{display:inline-block;color:var(--amber-600);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.legal-hero h1{font-size:44px;line-height:1.1;font-weight:900;letter-spacing:-.03em;color:var(--navy);margin-bottom:14px}
.legal-hero .sub{font-size:17px;color:var(--slate-600);max-width:640px}
.legal-hero .meta{margin-top:24px;font-size:13px;color:var(--slate-500);display:flex;gap:24px;flex-wrap:wrap}
.legal-hero .meta span{display:inline-flex;align-items:center;gap:6px}

/* ═══ LAYOUT CONTENT + SOMMAIRE ═══ */
.legal-wrap{display:grid;grid-template-columns:240px 1fr;gap:56px;padding:56px 24px 96px;max-width:1100px;margin:0 auto}
.legal-wrap .toc{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:12px}
.toc h3{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-500);margin-bottom:14px;padding-left:12px}
.toc ol{list-style:none;padding:0;margin:0;border-left:2px solid var(--slate-200)}
.toc li{margin:0}
.toc a{display:block;padding:8px 12px;font-size:13.5px;color:var(--slate-600);text-decoration:none;border-left:2px solid transparent;margin-left:-2px;transition:all .15s}
.toc a:hover{color:var(--navy);background:var(--slate-50)}
.toc a.active{color:var(--blue);border-left-color:var(--blue);background:var(--blue-50);font-weight:600}

.legal-content{min-width:0;max-width:720px}
.legal-content section{margin-bottom:40px;scroll-margin-top:88px}
.legal-content h2{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--navy);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--slate-200)}
.legal-content h2 .n{display:inline-block;font-size:13px;color:var(--amber-600);background:var(--amber-50);padding:2px 8px;border-radius:6px;margin-right:10px;font-weight:700;vertical-align:middle;letter-spacing:.04em}
.legal-content h3{font-size:17px;font-weight:700;color:var(--navy);margin:24px 0 10px}
.legal-content p{color:var(--slate-700);margin-bottom:12px}
.legal-content ul,.legal-content ol{margin:12px 0 16px 20px;color:var(--slate-700)}
.legal-content li{margin-bottom:6px}
.legal-content li::marker{color:var(--amber-600)}
.legal-content strong{color:var(--navy);font-weight:600}
.legal-content .highlight{background:var(--amber-50);border-left:3px solid var(--amber);padding:14px 18px;border-radius:6px;margin:16px 0;font-size:14.5px}
.legal-content .highlight strong{color:var(--amber-600)}
.legal-content .info{background:var(--blue-50);border-left:3px solid var(--blue);padding:14px 18px;border-radius:6px;margin:16px 0;font-size:14.5px}
.legal-content .warn{background:var(--red-100);border-left:3px solid var(--red);padding:14px 18px;border-radius:6px;margin:16px 0;font-size:14.5px}
.legal-content .definitions{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;padding:20px;margin:16px 0}
.legal-content .definitions dt{font-weight:700;color:var(--navy);margin-top:8px}
.legal-content .definitions dt:first-child{margin-top:0}
.legal-content .definitions dd{margin-left:0;color:var(--slate-600);font-size:14.5px;margin-bottom:8px}
.legal-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;border:1px solid var(--slate-200);border-radius:10px;overflow:hidden}
.legal-content th{background:var(--slate-50);text-align:left;padding:12px 14px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--slate-200)}
.legal-content td{padding:12px 14px;border-bottom:1px solid var(--slate-100);color:var(--slate-700);vertical-align:top}
.legal-content tr:last-child td{border-bottom:none}
.legal-content .identity{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:12px;padding:24px;margin:16px 0}
.legal-content .identity dt{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-500);margin-top:12px}
.legal-content .identity dt:first-child{margin-top:0}
.legal-content .identity dd{margin-left:0;font-size:15px;color:var(--navy);font-weight:500;margin-bottom:4px}

.back-top{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--slate-500);margin-top:48px;padding-top:24px;border-top:1px solid var(--slate-200);text-decoration:none}
.back-top:hover{color:var(--navy)}

/* ═══ FOOTER ═══ */
footer{background:var(--navy);color:var(--slate-400);padding:56px 0 32px;font-size:14px}
footer .container{max-width:1200px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-bottom:40px}
.foot-grid a{color:var(--slate-400);text-decoration:none;display:inline-block;margin-right:16px;padding:4px 0}
.foot-grid a:hover{color:#fff}
.foot-legal{border-top:1px solid var(--navy-800);padding-top:24px;font-size:12.5px;color:var(--slate-500);line-height:1.7}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){
  .legal-wrap{grid-template-columns:1fr;gap:24px;padding:32px 20px 64px}
  .legal-wrap .toc{position:static;max-height:none;padding:16px;background:var(--slate-50);border-radius:10px}
  .legal-wrap .toc ol{border-left:none}
  .legal-wrap .toc a{border-left:none;padding:6px 10px;border-radius:6px}
  .legal-content{max-width:100%}
  .legal-hero{padding:48px 0 32px}
  .legal-hero h1{font-size:30px;line-height:1.15}
  .legal-hero .sub{font-size:15.5px}
  .legal-hero .meta{font-size:12.5px;gap:14px;flex-direction:column;align-items:flex-start}
  .legal-content h2{font-size:21px}
  .legal-content h2 .n{display:inline-flex;align-items:center;margin-bottom:4px}
  .legal-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .legal-content .identity,
  .legal-content .definitions{padding:18px 16px}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .nav-inner{padding:0 16px}
  .legal-hero .container,
  footer .container{padding:0 20px}
}
@media(max-width:480px){
  .legal-wrap{padding:24px 16px 56px}
  .legal-hero{padding:40px 0 28px}
  .legal-hero h1{font-size:26px}
  .nav-inner{height:58px}
  .legal-content h2{font-size:19px;padding-bottom:8px}
  .legal-content h2 .n{font-size:11px;padding:2px 7px}
}
