/* Styles communs aux pages légales TCLEANING */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root { --c:#00b4be; --cl:rgba(0,180,190,.10); --text:#1d1d1f; --t2:#6e6e73; --t3:#aeaeb2; --b:rgba(0,0,0,.08); --bg2:#f5f5f7; --r:18px; }
html { scroll-behavior:smooth; background:#000; }
body { font-family:-apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif; background:#fff; color:var(--text); -webkit-font-smoothing:antialiased; overflow-x:hidden; }

nav { position:fixed; top:0; left:0; right:0; z-index:100; height:60px; display:flex; align-items:center; justify-content:space-between; padding:0 3rem; background:rgba(10,10,10,.55); backdrop-filter:saturate(180%) blur(28px); -webkit-backdrop-filter:saturate(180%) blur(28px); border-bottom:.5px solid rgba(255,255,255,.09); }
.nlogo { display:flex; align-items:center; gap:8px; text-decoration:none; }
.nlogo span { font-size:16px; font-weight:700; color:#fff; }
.nlogo b { color:var(--c); }
.nlinks { display:flex; gap:1.6rem; list-style:none; }
.nlinks a { font-size:13px; color:rgba(255,255,255,.6); text-decoration:none; transition:color .2s; }
.nlinks a:hover, .nlinks a.active { color:#fff; }
.ncta { background:var(--c); color:#fff; padding:7px 16px; border-radius:980px; font-size:13px; font-weight:600; text-decoration:none; }
.hbg { display:none; background:none; border:none; font-size:20px; color:#fff; cursor:pointer; }

.legal-hero { background:#000; padding:9rem 2rem 4rem; text-align:center; }
.legal-hero .lbl { font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--c); display:block; margin-bottom:12px; }
.legal-hero h1 { font-size:clamp(30px,4.5vw,46px); font-weight:700; letter-spacing:-1.5px; color:#fff; line-height:1.1; }
.legal-hero p { font-size:14px; color:rgba(255,255,255,.45); margin-top:12px; }

.legal-wrap { max-width:820px; margin:0 auto; padding:4rem 2rem 5rem; }
.legal-wrap h2 { font-size:20px; font-weight:700; letter-spacing:-.4px; margin:2.75rem 0 .85rem; color:var(--text); padding-bottom:.6rem; border-bottom:.5px solid var(--b); }
.legal-wrap h2:first-child { margin-top:0; }
.legal-wrap h3 { font-size:15px; font-weight:600; margin:1.5rem 0 .5rem; color:var(--text); }
.legal-wrap p, .legal-wrap li { font-size:14.5px; line-height:1.75; color:var(--t2); font-weight:300; }
.legal-wrap p { margin-bottom:.85rem; }
.legal-wrap ul, .legal-wrap ol { margin:0 0 .95rem 1.15rem; }
.legal-wrap li { margin-bottom:.4rem; }
.legal-wrap strong { color:var(--text); font-weight:600; }
.legal-wrap a { color:#007a82; text-decoration:underline; text-underline-offset:3px; }
.infobox { background:var(--bg2); border:.5px solid var(--b); border-radius:14px; padding:1.25rem 1.4rem; margin-bottom:1rem; }
.infobox p { margin-bottom:.35rem; }
.infobox p:last-child { margin-bottom:0; }
.todo { background:#fff8e6; border:1px solid #f0d089; border-radius:14px; padding:1.1rem 1.3rem; margin:1rem 0; }
.todo p { color:#7a5b00; margin-bottom:.3rem; }
.todo strong { color:#5c4400; }
table.lt { width:100%; border-collapse:collapse; margin:.5rem 0 1.2rem; font-size:14px; }
table.lt th, table.lt td { text-align:left; padding:10px 12px; border-bottom:.5px solid var(--b); vertical-align:top; }
table.lt th { font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--t3); font-weight:600; }
table.lt td { color:var(--t2); font-weight:300; }
.upd { font-size:13px; color:var(--t3); margin-top:3rem; padding-top:1.2rem; border-top:.5px solid var(--b); }

footer { background:#000; padding:2.5rem 2rem; text-align:center; }
footer p { font-size:12px; color:rgba(255,255,255,.22); line-height:2; }
footer a { color:rgba(255,255,255,.4); text-decoration:none; }
footer a:hover { color:#fff; }
.flinks { margin-top:10px; display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; }
.flinks a { font-size:12px; }

@media(max-width:768px){
  nav { padding:0 1.25rem; }
  .nlinks { display:none; }
  .nlinks.open { display:flex; flex-direction:column; position:fixed; top:60px; left:0; right:0; background:rgba(0,0,0,.96); backdrop-filter:blur(20px); padding:1.5rem 2rem 2rem; gap:1rem; }
  .hbg { display:block; }
  .legal-hero { padding:7rem 1.5rem 3rem; }
  .legal-wrap { padding:2.5rem 1.5rem 3.5rem; }
}
