/* Pages statiques Shiny.re (mentions légales, CGV, confidentialité) */

@font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('../fonts/manrope-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Manrope'; font-style:normal; font-weight:400 800; font-display:swap; src:url('../fonts/manrope-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Sora'; font-style:normal; font-weight:300 800; font-display:swap; src:url('../fonts/sora-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Sora'; font-style:normal; font-weight:300 800; font-display:swap; src:url('../fonts/sora-latin.woff2') format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --bg:#08080A; --surface:#0E0E12; --surface-2:#111116; --border:#1E1E24;
  --text:#F4F4F6; --text-soft:#9A9AA5; --text-mute:#7C7C87;
  --gold:#FFC01F; --gold-hover:#FFD569; --cyan:#7FE7E0;
}
* { box-sizing:border-box; }
html, body { margin:0; padding:0; background:var(--bg); }
body { font-family:'Manrope',system-ui,sans-serif; color:var(--text); -webkit-font-smoothing:antialiased; line-height:1.7; }
a { color:var(--gold); text-decoration:none; }
a:hover { color:var(--gold-hover); text-decoration:underline; }
::selection { background:var(--gold); color:var(--bg); }

.skip { position:absolute; left:-9999px; }
.skip:focus { left:16px; top:16px; z-index:100; padding:8px 14px; background:var(--gold); color:var(--bg); border-radius:8px; }

.site-header { position:sticky; top:0; z-index:60; background:rgba(8,8,10,.86); backdrop-filter:blur(18px); border-bottom:1px solid var(--border); }
.site-header::before { content:""; display:block; height:2px; background:linear-gradient(90deg,#FFC01F,#7FE7E0,#B79BFF,#FF9FD2,#FFC01F); opacity:.55; }
.site-header .inner { max-width:1280px; margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--text); font-family:'Sora',sans-serif; font-weight:700; font-size:19px; letter-spacing:-.02em; }
.brand:hover { color:var(--text); text-decoration:none; }
.brand img { width:34px; height:34px; }
.brand b { font-weight:700; }
.brand span { color:var(--gold); }
.cta { padding:10px 18px; border-radius:10px; background:var(--gold); color:#0B0B0D; font-size:13px; font-weight:700; white-space:nowrap; }
.cta:hover { background:var(--gold-hover); color:#0B0B0D; text-decoration:none; }

.legal { max-width:820px; margin:0 auto; padding:56px 28px 96px; }
.legal .breadcrumb { font-size:13px; color:var(--text-mute); margin:0 0 28px; padding:0; list-style:none; display:flex; gap:8px; flex-wrap:wrap; }
.breadcrumb li + li::before { content:"/"; margin-right:8px; color:#3A3A45; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; color:var(--gold); text-transform:uppercase; }
.legal h1 { font-family:'Sora',sans-serif; font-size:clamp(34px,6vw,48px); line-height:1.08; font-weight:700; letter-spacing:-.035em; margin:12px 0 16px; }
.legal .lede { font-size:17px; color:var(--text-soft); margin:0 0 12px; }
.updated { font-size:13px; color:var(--text-mute); margin:0 0 36px; }
.toc { border:1px solid var(--border); background:var(--surface); border-radius:16px; padding:22px 26px; margin:0 0 44px; }
.legal .toc h2 { font-family:'Sora',sans-serif; font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-mute); margin:0 0 10px; }
.toc ol { margin:0; padding-left:20px; columns:2; column-gap:32px; font-size:14.5px; }
.legal section { padding-top:8px; margin-bottom:36px; scroll-margin-top:90px; }
.legal h2 { font-family:'Sora',sans-serif; font-size:24px; font-weight:700; letter-spacing:-.02em; margin:0 0 12px; }
.legal h3 { font-family:'Sora',sans-serif; font-size:17px; font-weight:600; margin:24px 0 8px; }
.legal p, .legal li { font-size:15.5px; color:#C9C9D2; }
.legal ul, .legal ol { padding-left:22px; }
.legal strong { color:var(--text); }
.legal table { width:100%; border-collapse:collapse; margin:14px 0 8px; font-size:14.5px; }
.legal th, .legal td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:top; color:#C9C9D2; }
.legal th { color:var(--text); font-weight:700; background:var(--surface-2); }
.legal dl { display:grid; grid-template-columns:minmax(160px,.4fr) 1fr; gap:0; margin:12px 0; border:1px solid var(--border); border-radius:14px; overflow:hidden; }
.legal dt, .legal dd { margin:0; padding:11px 16px; border-bottom:1px solid var(--border); font-size:15px; }
.legal dt { color:var(--text-mute); background:var(--surface); }
.legal dd { color:var(--text); }
.legal dl > :nth-last-child(-n+2) { border-bottom:none; }
.box { border:1px solid var(--border); background:var(--surface); border-radius:14px; padding:18px 22px; margin:16px 0; }
.box.notice { border-color:rgba(127,231,224,.3); background:rgba(127,231,224,.04); }
.todo { background:rgba(255,192,31,.14); color:var(--gold); border:1px dashed rgba(255,192,31,.5); border-radius:6px; padding:0 6px; font-weight:600; }

.site-footer { border-top:1px solid #1B1B21; background:#0A0A0C; }
.site-footer .inner { max-width:1280px; margin:0 auto; padding:28px 28px 40px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:13px; color:#6E6E79; }
.site-footer nav { display:flex; gap:18px; flex-wrap:wrap; }
.site-footer a { color:var(--text-soft); }
.site-footer a[aria-current="page"] { color:var(--gold); }

@media (max-width:640px) {
  .site-header .inner { padding:12px 16px; }
  .brand { font-size:17px; }
  .brand img { width:28px; height:28px; }
  .cta { padding:9px 12px; font-size:12px; }
  .legal { padding:36px 16px 72px; }
  .toc ol { columns:1; }
  .legal dl { grid-template-columns:1fr; }
  .legal dt { border-bottom:none; padding-bottom:2px; }
  .legal table, .legal thead, .legal tbody, .legal tr, .legal th, .legal td { font-size:14px; }
  .site-footer .inner { padding:24px 16px 32px; }
}

@media print {
  .site-header, .site-footer, .toc { display:none; }
  body, html { background:#fff; color:#000; }
  .legal p, .legal li, .legal td, .legal dd, .legal h1, .legal h2 { color:#000; }
}
