/* ============================================================
   Rentab' — chrome commun du site (header, footer, formulaires, boutons).
   THÈME UNIQUE, clair, éditorial — c'est la base de TOUTE page du site
   (landing, démo, connexion, compte, merci, app, pages légales). Une
   seule palette, appliquée partout, pas de dérogation par page.
   landing.css n'ajoute plus que de la mise en page spécifique marketing.
   ============================================================ */
:root{
  --bg:#f6f4ef; --bg2:#f0ede6; --panel:#ffffff; --panel2:#fbfaf6;
  --card:#ffffff; --card2:#fbfaf6; --line:#e6e2d8; --line2:#d5cfc0;
  --txt:#1d1f2a; --muted:#585d6e; --muted2:#8b8fa0;
  --brand:#4653e8; --brand2:#7b5cf0;
  --grad:linear-gradient(135deg,#4653e8 0%,#7b5cf0 100%);
  --grad-soft:linear-gradient(135deg,rgba(70,83,232,.08),rgba(123,92,240,.08));
  --green:#178a60; --greenb:rgba(23,138,96,.1);
  --red:#c8354f; --redb:rgba(200,53,79,.09);
  --amber:#b97f00; --amberb:rgba(185,127,0,.12);
  --violet:#7b5cf0; --violetb:rgba(123,92,240,.12);
  --ink-deep:#101528;
  --sh:0 20px 50px -22px rgba(29,26,18,.18);
  --r:18px;
  --font-display:"Fraunces",Charter,Georgia,serif;
  --font-body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;padding:0;background:var(--bg);color:var(--txt);
  font:16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;
}
::selection{background:rgba(70,83,232,.18)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-weight:600}

.skiplink{position:absolute;left:-9999px;top:0;z-index:100;background:var(--panel);color:var(--txt);
  padding:10px 16px;border-radius:0 0 10px 0;font-size:13px;font-weight:700;box-shadow:var(--sh)}
.skiplink:focus{left:0}

/* ---------- marque ---------- */
.site-logo .mark{position:relative}
.site-logo .mark::before{
  content:"R";font-family:var(--font-display);font-style:italic;font-weight:600;
  color:#fff;line-height:1;
}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,244,239,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header .inner{max-width:1160px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;gap:32px}
.site-logo{display:flex;align-items:center;gap:11px;font-weight:700;font-size:18.5px;color:var(--txt);letter-spacing:-.01em;font-family:var(--font-body)}
.site-logo:hover{text-decoration:none}
.site-logo .mark{width:34px;height:34px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-size:19px;box-shadow:0 8px 20px -8px rgba(70,83,232,.45)}
.site-nav{display:flex;gap:28px;margin-left:auto;align-items:center}
.site-nav a:not(.cta){color:var(--muted);font-size:14px;font-weight:600;padding-bottom:2px;border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s}
.site-nav a:not(.cta):hover{color:var(--txt);text-decoration:none;border-bottom-color:var(--line2)}
.site-nav .cta{color:#fff;background:var(--grad);padding:10px 20px;border-radius:11px;box-shadow:0 8px 20px -8px rgba(70,83,232,.4);font-size:14px;font-weight:700}
.site-nav .cta:hover{filter:brightness(1.07);text-decoration:none}
@media(max-width:760px){.site-header .inner{padding:14px 20px}.site-nav{gap:16px}.site-nav a:not(.cta){display:none}}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:100px;background:var(--panel2)}
.site-footer .inner{max-width:1160px;margin:0 auto;padding:64px 28px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px}
@media(max-width:860px){.site-footer .inner{grid-template-columns:1fr 1fr;gap:36px 28px;padding:48px 24px 32px}}
@media(max-width:480px){.site-footer .inner{grid-template-columns:1fr}}
.site-footer .site-logo{margin-bottom:14px}
.site-footer h4{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted2);margin:0 0 16px;font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.site-footer a{color:var(--muted);font-size:14px}
.site-footer a:hover{color:var(--txt)}
.site-footer .about{color:var(--muted);font-size:14px;line-height:1.7;max-width:36ch}
.site-footer .legalline{grid-column:1/-1;border-top:1px solid var(--line);margin-top:20px;padding-top:22px;font-size:12px;color:var(--muted2);line-height:1.75}

/* ---------- boutons & formulaires ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;
  background:var(--grad);color:#fff;font-weight:700;font-size:15px;padding:14px 26px;border-radius:13px;
  box-shadow:0 14px 30px -10px rgba(70,83,232,.5);transition:filter .15s,transform .1s;font-family:var(--font-body)}
.btn:hover{filter:brightness(1.07);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;border:1px solid var(--line2);color:var(--txt);box-shadow:none;font-weight:600}
.btn.ghost:hover{background:rgba(29,26,18,.035);border-color:var(--muted2)}
.btn.danger{background:var(--redb);border:1px solid rgba(200,53,79,.35);color:var(--red);box-shadow:none}
.btn.danger:hover{background:rgba(200,53,79,.15);filter:none}
.btn.small{padding:10px 16px;font-size:13.5px;border-radius:10px}
.btn[disabled]{opacity:.5;cursor:not-allowed;filter:none}

.fieldset{margin:14px 0}
.fieldset label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px;font-weight:600}
.fieldset input{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--txt);
  padding:13px 14px;border-radius:11px;font-size:15px;outline:none;font-weight:500;font-family:var(--font-body);
  transition:border .15s,box-shadow .15s}
.fieldset input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(70,83,232,.14)}

.authcard{max-width:440px;margin:64px auto;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:36px 34px}
.authcard h1{font-size:27px;margin:0 0 6px}
.authcard .sub{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.formmsg{margin-top:14px;font-size:13.5px;border-radius:11px;padding:12px 14px;display:none;line-height:1.55}
.formmsg.ok{display:block;background:var(--greenb);color:var(--green);border:1px solid rgba(23,138,96,.25)}
.formmsg.err{display:block;background:var(--redb);color:var(--red);border:1px solid rgba(200,53,79,.25)}
.formalt{text-align:center;margin-top:18px;font-size:13.5px;color:var(--muted2)}
.sep{display:flex;align-items:center;gap:12px;color:var(--muted2);font-size:12px;margin:20px 0}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- page générique (légal, compte) ---------- */
.page{max-width:820px;margin:0 auto;padding:64px 24px 88px}
.page h1{font-size:clamp(29px,4.5vw,40px);margin:0 0 10px}
.page .pagesub{color:var(--muted);font-size:15.5px;margin-bottom:36px;max-width:66ch;line-height:1.7}
.page h2{font-size:21px;margin:38px 0 12px;font-family:var(--font-display)}
.page p,.page li{color:var(--muted);font-size:14.5px;line-height:1.75}
.page p b,.page li b{color:var(--txt)}
.page .updated{font-size:12px;color:var(--muted2)}

.panelcard{background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh);padding:28px 30px;margin:18px 0}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;letter-spacing:.04em}
.badge.on{background:var(--greenb);color:var(--green)}
.badge.warn{background:var(--amberb);color:var(--amber)}
.badge.off{background:var(--redb);color:var(--red)}
