/* =========================
   VELYQO — Terms Marketing (public)
   White premium + doré, sans UI app
   ========================= */

:root{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:rgba(15,23,42,.72);
  --muted2:rgba(15,23,42,.55);
  --border:rgba(15,23,42,.10);
  --shadow:0 18px 60px rgba(15,23,42,.10);
  --shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --gold:#c8a24a;
  --gold2:#e7cf86;
  --radius:18px;
  --radius2:24px;
}

/* Masquer chrome app si la page est dans base.html */
.sidebar, #sidebar, .app-sidebar, .nav-sidebar, .side-nav,
.topbar, .app-topbar, .navbar.app, .nav-icons, .app-nav,
.header-app, .dashboard-nav, .icon-bar, .left-rail{
  display:none !important;
}
.main, .main-content, #content, .content, .page, .page-content{
  margin-left:0 !important;
  width:100% !important;
}

html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--text);
  background:
    radial-gradient(900px 450px at 15% 0%, rgba(200,162,74,.12), transparent 60%),
    radial-gradient(900px 450px at 85% 0%, rgba(37,99,235,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--bg) 55%, #fff 100%);
  line-height:1.65;
}

a{ color: inherit; }
p{ margin: 0 0 12px; }
h1,h2,h3{ margin: 0 0 12px; letter-spacing:-.02em; }
h1{ font-size: clamp(28px, 3.5vw, 44px); line-height: 1.1; }
h2{ font-size: 18px; margin-top: 18px; }
ul,ol{ margin: 8px 0 12px; }
li{ margin: 6px 0; }

/* Layout */
.public-wrap{
  width: min(980px, calc(100% - 32px));
  margin: 22px auto 60px;
}

/* Top bar */
.public-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.brand{
  display:flex;
  align-items:center;
  gap: 10px;
  text-decoration:none;
  font-weight: 950;
  letter-spacing: .02em;
}
.brand img{ height: 28px; width:auto; display:block; }

.public-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.90);
  box-shadow: var(--shadow-soft);
  text-decoration:none;
  font-weight: 900;
  font-size: 14px;
}
.btn:hover{ filter: brightness(1.02); }
.btn.primary{
  border: 0;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color:#0f172a;
  box-shadow: 0 16px 34px rgba(200,162,74,.20);
}

/* Card */
.card{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  box-shadow: var(--shadow-soft);
  padding: 18px;
}

/* Legal header */
.kicker{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.30);
  font-weight: 950;
  font-size: 12px;
  color: #6b4f12;
}

.meta{
  color: var(--muted);
  font-size: 13px;
  margin-top: 6px;
}

.legal-head{ margin-bottom: 10px; }
.legal section{ padding-top: 8px; }

.toc{
  margin-top: 10px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(15,23,42,.02);
}
.toc a{
  color: rgba(15,23,42,.92);
  font-weight: 900;
  text-decoration: none;
}
.toc a:hover{ text-decoration: underline; }

.public-foot{
  margin-top: 14px;
  color: var(--muted2);
  font-size: 12px;
}

/* Mobile */
@media (max-width: 520px){
  .btn{ width: 100%; }
  .public-actions{ width: 100%; }
}

@media (max-width: 980px){
  .footer-grid{ text-align: center; }
  .footer-grid a{ display:inline-block; }
}
.footer-bottom{
  text-align: center;
}

