/* BSOD Inquiries — Thème type GitHub Pages (inspiré Cayman/Minimal) */
:root{
  --bg: #fdf8fa;
  --text: #24292f;
  --muted: #57606a;
  --border: #d0d7de;
  --link: #635b6a;             /* couleur accent globale */
  --link-visited: #635b6a;
  --accent: #635b6a;
  --accent-bg: #fdf8fa;        /* fond clair lié à l'accent */
  --accent-fg: #ffffff;        /* texte lisible sur accent */
  /* Mise à l’échelle précise du layout (référence) */
  --sidebar-w: 260px;          /* largeur sidebar comme la ref */
  --doc-max: 860px;            /* largeur max colonne contenu */
  --toc-w: 300px;              /* largeur TOC comme la ref */
  --layout-gap: 0px;          /* écart entre colonnes */
  /* Largeur totale calculée = sidebar + contenu + toc + 2*gap */
  --layout-max: calc(var(--sidebar-w) + var(--doc-max) + var(--toc-w) + (2 * var(--layout-gap)));
  /* Menus (sidebar/TOC) demandés */
  --menu-bg: #fdf8fa;          /* fond des menus */
  --menu-border: #eeeeee;      /* délimiteur très léger */
  --menu-active-bg: #635b6a;   /* sélection en gris */
  --menu-active-fg: #ffffff;   /* texte blanc sur sélection */
  --hero-start: #159957;
  --hero-end: #155799;
  --surface: #ffffff;
  --btn-bg: #2da44e;
  --btn-fg: #ffffff;
  --btn-primary-bg: #0969da;
  --btn-primary-fg: #ffffff;
  --badge-green-bg: #dafbe1;
  --badge-green-fg: #1a7f37;
}
/* Thème via data-theme (override du mode auto) */
:root[data-theme="dark"]{
  --bg: #0d1117;
  --text: #e6edf3;
  --muted: #8b949e;
  --border: #30363d;
  --link: #cbbfd4;             /* variante lisible en sombre */
  --link-visited: #cbbfd4;
  --accent: #cbbfd4;
  --accent-bg: #1b1633;
  --accent-fg: #ffffff;
  --menu-bg: #18161b;
  --menu-border: #2a2a2a;
  --menu-active-bg: #635b6a;
  --menu-active-fg: #ffffff;
  --hero-start: #0b5c34;
  --hero-end: #0a3c7a;
  --surface: #161b22;
  --btn-bg: #2ea043;
  --btn-fg: #ffffff;
  --btn-primary-bg: #1f6feb;
  --btn-primary-fg: #ffffff;
  --badge-green-bg: #12261a;
  --badge-green-fg: #3fb950;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg: #0d1117;
    --text: #e6edf3;
    --muted: #8b949e;
    --border: #30363d;
    --link: #58a6ff;
    --link-visited: #c297ff;
    --hero-start: #0b5c34;
    --hero-end: #0a3c7a;
    --surface: #161b22;
    --btn-bg: #2ea043;
    --btn-fg: #ffffff;
    --btn-primary-bg: #1f6feb;
    --btn-primary-fg: #ffffff;
    --badge-green-bg: #12261a;
    --badge-green-fg: #3fb950;
  }
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:400 16px/1.7 Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:980px;margin:0 auto;padding:24px 16px}

/* En-tête de type hero GitHub Pages */
.page-header{
  background:linear-gradient(120deg,var(--hero-start),var(--hero-end));
  color:#fff;
  text-align:center;
  padding:40px 0 28px;
}
.project-name{margin:0;font-size:40px;font-weight:800;letter-spacing:.2px}
.project-tagline{margin:8px 0 18px;font-size:18px;font-weight:400;opacity:.95}
.site-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.btn{
  display:inline-block;
  padding:8px 14px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  background:transparent;
}
.btn:hover{background:rgba(255,255,255,.12);text-decoration:none}
.btn-primary{background:var(--link);border-color:transparent;color:#fff}
.btn-primary:hover{filter:brightness(1.05)}
.meta{margin-top:12px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:12px;border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.12)}
.badge.success{background:var(--badge-green-bg);color:var(--badge-green-fg);border:1px solid rgba(0,0,0,.06)}

/* Contenu principal */
.main-content{padding:24px 0}
.main-content .container{background:var(--surface);border:1px solid var(--menu-border);border-radius:8px;padding:24px}
.lead{color:var(--muted)}
.small{font-size:13px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--border);margin:24px 0}

/* Typographie */
h1,h2,h3,h4{color:var(--text);margin:1.2em 0 .6em;font-weight:700}
h1{font-size:34px}
h2{font-size:24px}
h3{font-size:20px}
ol,ul{padding-left:22px}
code,kbd,pre{font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,Monaco,monospace}
pre{background:var(--bg);border:1px solid var(--border);padding:12px;border-radius:8px;overflow:auto}
/* ancrage confortable sous topbar sticky */
h2[id],h3[id]{scroll-margin-top:80px}

/* Grille de cartes pour l’accueil */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:18px 0}
.card{display:block;border:1px solid var(--menu-border);border-radius:8px;padding:16px;background:var(--surface)}
.card:hover{border-color:#8cb4ff;text-decoration:none}
.card h3{margin-top:4px;margin-bottom:6px}
.card p{margin:0;color:var(--muted)}

/* Sections internes (CGU/CGV/RGPD) */
section.section{margin:20px 0}
section.section>h2{padding-bottom:8px;border-bottom:1px solid var(--border);margin-top:0}

/* Permaliens des titres: "#" à gauche, hors flux, visible au survol */
.doc h2, .doc h3{position:relative}
.doc h2 .anchor-link, .doc h3 .anchor-link{
  position:absolute;left:-1.25em;top:0.1em;
  color:var(--link);
  opacity:0;transition:opacity .15s ease;
  text-decoration:none;font-weight:700;
}
.doc h2:hover .anchor-link, .doc h3:hover .anchor-link{opacity:.8}
.doc h2 .anchor-link:hover, .doc h3 .anchor-link:hover{opacity:1;text-decoration:none}

/* Pied de page */
.site-footer{color:var(--muted);text-align:center;padding:24px 0}

/* ====== Layout Docs (topbar + sidebar + content + toc) ====== */
.topbar{position:sticky;top:0;z-index:40;background:#ffffff;border-bottom:1px solid var(--menu-border)}
.topbar__inner{max-width:var(--layout-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{font-weight:800;color:var(--text);text-decoration:none}
.topbar__search{flex:1;display:flex;justify-content:center;padding:0 16px}
.searchbar{position:relative;display:flex;align-items:center;gap:8px;width:min(640px,100%)}
.searchbar input{width:100%;padding:14px 36px 12px 32px;border:1px solid var(--border);border-radius:8px;background:#f7f2f4;color:var(--text)}
.searchbar input::placeholder{color:var(--muted)}
.searchbar .icon{position:absolute;left:10px;color:var(--muted)}
.searchbar .keyhint{position:absolute;right:8px;color:var(--muted);font-size:12px;border:1px solid var(--border);border-radius:8px;padding:2px 6px;background:#ece7e9}
.topbar__actions{display:flex;gap:8px;align-items:center}
.icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 10px;cursor:pointer}
.icon-btn:hover{background:var(--bg);text-decoration:none}

.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr var(--toc-w);gap:var(--layout-gap);max-width:var(--layout-max);margin:0 auto;padding:0}
.sidebar{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow:auto;background:var(--menu-bg);border:0;border-right:1px solid var(--menu-border);border-bottom:1px solid var(--menu-border);border-radius:0}
.sidebar__content{padding:12px}
.sidebar__title{font-size:12px;color:var(--muted);text-transform:uppercase;margin:16px 0 6px}
.sidebar__link{display:block;color:var(--text);padding:8px 10px;border-radius:8px;text-decoration:none;border:1px solid transparent}
.sidebar__link:hover{background:#fff;border-color:var(--menu-border)}
.sidebar__link.is-active{font-weight:600;background:var(--menu-active-bg);color:var(--menu-active-fg);border-color:transparent}
.sidebar__link + .sidebar__link{margin-top:6px}

.content{min-width:0;display:flex;justify-content:center;margin:0;padding:0}
.doc{background:var(--surface);border:1px solid var(--menu-border);border-radius:0;padding:20px;max-width:var(--doc-max);margin:0 auto}

.toc{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow:auto;background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:0;padding:12px;margin-right:0;min-width:var(--toc-w)}
/* flat background for TOC (no gradient) */
.toc h3{margin-top:0;font-size:13px;color:var(--muted);text-transform:uppercase}
.toc a{display:block;color:var(--text);padding:6px 8px;border-radius:8px;text-decoration:none;font-size:14px;border:1px solid transparent}
.toc a:hover{background:#fff;border-color:var(--menu-border)}
.toc a.active{background:var(--menu-active-bg);color:var(--menu-active-fg);font-weight:600}

.doc-meta{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--muted)}
.edit-link{color:var(--link)}
.pager{display:flex;justify-content:space-between;margin-top:16px}
.pager__prev a,.pager__next a{display:inline-block;padding:8px 12px;border:1px solid var(--menu-border);border-radius:8px;background:var(--surface);text-decoration:none;color:var(--link)}
.pager__prev a:hover,.pager__next a:hover{background:var(--bg)}
/* éléments internes de la doc arrondis */
.doc img{border-radius:8px;max-width:100%;height:auto}
.doc table{border-collapse:separate;border-spacing:0;border:1px solid var(--menu-border);border-radius:8px;overflow:hidden}
.doc table th,.doc table td{border-bottom:1px solid var(--menu-border);padding:8px}
.doc pre,.doc code,kbd{border-radius:8px}

/* Entête de document */
.doc-header{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--muted);margin:8px 0 16px}
.doc-header .edit-link{color:var(--link)}

/* CmdK (commande rapide) */
.cmdk{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center}
.cmdk[aria-hidden="false"]{display:flex}
.cmdk__dialog{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:min(720px,calc(100% - 24px));padding:12px}
.cmdk__dialog input{width:100%;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.cmdk__results{margin-top:8px;max-height:40vh;overflow:auto}
.cmdk__results a{display:block;padding:8px;border-radius:8px;color:var(--text);text-decoration:none}
.cmdk__results a:hover{background:var(--bg)}

@media (max-width: 1024px){
  .layout{grid-template-columns:1fr;gap:0}
  .topbar__search{display:none}
  /* Tiroir mobile pour la sidebar */
  .sidebar{display:block;position:fixed;top:56px;left:0;bottom:0;width:min(86vw,320px);transform:translateX(-100%);transition:transform .2s ease;z-index:60}
  .sidebar.open{transform:translateX(0)}
  .toc{display:none}
  .content{padding:0 8px}
}

/* Backdrop pour le menu hamburger */
#sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;z-index:50}
#sidebar-backdrop.show{display:block}

/* Empêcher le scroll quand le menu est ouvert */
body.sidebar-open{overflow:hidden}

/* Accessibilité */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;margin:8px;display:inline-block;background:var(--btn-primary-bg);color:#fff;padding:6px 10px;border-radius:8px}
