/* Trackoya — Styles partagés pages légales */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cyan:#0891b2;
  --cyan-light:#00D4FF;
  --violet:#7B5EA7;
  --text:#0c1e2e;
  --text-soft:rgba(12,30,46,0.72);
  --text-muted:rgba(12,30,46,0.50);
  --border:rgba(14,116,144,0.14);
  --grad:linear-gradient(135deg,#0891b2 0%,#7B5EA7 100%);
  --shadow-card:0 1px 3px rgba(14,116,144,0.06),0 8px 24px rgba(14,116,144,0.08);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;
  background:linear-gradient(180deg,#e0f2fe 0%,#bae6fd 40%,#7dd3fc 100%);
  background-attachment:fixed;
  color:var(--text);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  padding:40px 20px 80px;
}
a{color:var(--cyan);text-decoration:none;}
a:hover{text-decoration:underline;}
.legal-nav{
  max-width:840px;
  margin:0 auto 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 20px;
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border);
  border-radius:14px;
}
.legal-nav .logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:18px;
  color:var(--text);
}
.legal-nav .logo-icon{
  width:32px;height:32px;
  background:var(--grad);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:900;font-size:16px;
}
.legal-nav .back{
  font-size:13px;color:var(--cyan);font-weight:600;
}
.legal-container{
  max-width:840px;
  margin:0 auto;
  background:#ffffff;
  border-radius:24px;
  padding:56px 56px;
  box-shadow:var(--shadow-card);
  border:1px solid var(--border);
}
.legal-container h1{
  font-size:clamp(26px,4vw,38px);
  font-weight:900;
  letter-spacing:-1px;
  margin-bottom:8px;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.legal-container .subtitle{
  font-size:14px;
  color:var(--text-muted);
  margin-bottom:32px;
}
.legal-container h2{
  font-size:20px;
  font-weight:800;
  margin-top:38px;
  margin-bottom:14px;
  color:var(--text);
  padding-bottom:8px;
  border-bottom:2px solid rgba(8,145,178,0.15);
}
.legal-container h3{
  font-size:16px;
  font-weight:700;
  margin-top:22px;
  margin-bottom:8px;
  color:var(--text);
}
.legal-container p{
  font-size:15px;
  color:var(--text-soft);
  margin-bottom:14px;
}
.legal-container ul, .legal-container ol{
  margin:0 0 16px 22px;
  color:var(--text-soft);
  font-size:15px;
}
.legal-container li{
  margin-bottom:8px;
}
.legal-container strong{color:var(--text);font-weight:700;}
.legal-container .info-box{
  background:rgba(8,145,178,0.08);
  border-left:4px solid var(--cyan);
  padding:16px 20px;
  border-radius:8px;
  margin:20px 0;
  font-size:14px;
}
.legal-container .info-box strong{color:var(--cyan);}
.legal-container .contact-card{
  background:rgba(255,255,255,0.6);
  border:1px solid var(--border);
  border-radius:12px;
  padding:20px 24px;
  margin:20px 0;
  font-size:14px;
}
.legal-container .contact-card p{margin-bottom:6px;}
.legal-footer{
  max-width:840px;
  margin:30px auto 0;
  text-align:center;
  font-size:12px;
  color:var(--text-muted);
}
.legal-footer a{color:var(--text-muted);margin:0 8px;}
@media (max-width:640px){
  body{padding:20px 14px 60px;}
  .legal-container{padding:36px 26px;border-radius:20px;}
  .legal-nav{padding:12px 16px;}
}
