/* Pages légales (mentions, confidentialité, CGU, CGV, cookies), espace compte, boutique, bandeau de consentement,
   liens légaux du pied de page. S'ajoute à site.css. */
.page-doc{min-height:100vh;display:flex;flex-direction:column}
.entete-doc{display:flex;align-items:center;gap:24px;padding:22px 48px;border-bottom:1px solid var(--bord);background:var(--fond2)}
.entete-doc .retour{margin-left:auto;font-size:13px;letter-spacing:.14em;color:var(--doux)}
.entete-doc .retour:hover{color:#fff}
.doc{width:100%;max-width:860px;margin:0 auto;padding:56px 24px 80px;flex:1}
.doc h1{font-size:clamp(28px,4vw,40px);margin:10px 0 8px}
.doc .maj{font-size:13px;color:var(--doux);margin-bottom:34px}
.doc h2{font-size:19px;margin:38px 0 12px;color:#fff;letter-spacing:.08em}
.doc h3{font-size:15px;margin:22px 0 8px;letter-spacing:.06em}
.doc p,.doc li{color:var(--doux);font-size:15.5px;line-height:1.7}
.doc p+p{margin-top:10px}
.doc ul,.doc ol{margin:10px 0 10px 22px}
.doc li{margin:4px 0}
.doc strong{color:var(--texte)}
.doc a{color:var(--or);text-decoration:underline;text-underline-offset:3px}
.doc table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.doc th,.doc td{border:1px solid var(--bord);padding:10px 12px;text-align:left;vertical-align:top;color:var(--doux)}
.doc th{background:rgba(255,255,255,.05);color:var(--texte);font-weight:600;letter-spacing:.04em}
.encadre{border-left:3px solid var(--or);background:rgba(242,177,52,.07);padding:14px 18px;margin:18px 0}
.encadre p{margin:0}
.sommaire{display:flex;flex-wrap:wrap;gap:8px 18px;padding:16px 0;margin-bottom:10px;border-top:1px solid var(--bord);border-bottom:1px solid var(--bord);font-size:13px;letter-spacing:.08em}
.sommaire a{color:var(--doux);text-decoration:none}.sommaire a:hover,.sommaire a[aria-current]{color:var(--or)}
.table-defile{overflow-x:auto}

/* pied de page : liens légaux */
.liens-legaux{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;font-size:12.5px;letter-spacing:.06em;margin-top:14px}
.liens-legaux a,.liens-legaux button{color:var(--doux);background:none;border:0;font:inherit;cursor:pointer;padding:0}
.liens-legaux a:hover,.liens-legaux button:hover{color:#fff}
.pied-doc{border-top:1px solid var(--bord);padding:26px 24px;text-align:center;font-size:12.5px;color:var(--doux)}

/* bandeau de consentement */
.consentement{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:720px;margin:0 auto;background:#10151d;
  border:1px solid var(--bord);box-shadow:0 20px 60px rgba(0,0,0,.6);padding:20px 22px;font-size:14px;color:var(--doux)}
.consentement h2{font-size:15px;color:#fff;letter-spacing:.1em;margin-bottom:8px}
.consentement p{line-height:1.6}
.consentement a{color:var(--or);text-decoration:underline}
.consentement .choix-c{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.consentement .choix-c button{font:inherit;font-size:13px;font-weight:700;letter-spacing:.14em;padding:10px 16px;cursor:pointer;border-radius:2px;
  border:1px solid var(--bord);background:rgba(255,255,255,.06);color:#fff;flex:1 1 150px}
.consentement .choix-c button.oui{background:var(--or);color:#111;border-color:var(--or)}
.consentement .details{display:none;margin-top:12px;border-top:1px solid var(--bord);padding-top:10px}
.consentement.ouvert .details{display:block}
.consentement label{display:flex;gap:10px;align-items:flex-start;margin:8px 0;cursor:pointer}
.consentement input{margin-top:4px;accent-color:var(--or)}

/* espace compte */
.panneau{background:var(--fond2);border:1px solid var(--bord);padding:24px;margin:20px 0}
.panneau h2{margin-top:0}
.panneau .bouton{margin-top:12px}
.bouton.danger{background:var(--rouge);color:#fff}
.bouton.danger:hover{box-shadow:0 10px 30px rgba(226,72,61,.35)}
.panneau .champ{display:block;margin-top:14px}
.panneau .champ span{display:block;font-size:12px;letter-spacing:.16em;color:var(--doux);margin-bottom:6px}
.panneau input[type=password],.panneau input[type=text]{width:100%;max-width:360px;font:inherit;font-size:15px;padding:11px 12px;background:#0a0e13;color:#fff;border:1px solid var(--bord)}
.etat{margin-top:10px;font-size:14px}.etat.ok{color:#5cd18a}.etat.erreur{color:var(--rouge)}
dl.infos{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;font-size:15px}
dl.infos dt{color:var(--doux)}dl.infos dd{color:#fff}

/* boutique */
.offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}
.offre{background:var(--fond2);border:1px solid var(--bord);padding:22px;display:flex;flex-direction:column;gap:8px}
.offre h3{margin:0;font-size:17px;color:#fff}
.offre .prix{font-size:13px;letter-spacing:.16em;color:var(--or)}
.offre p{font-size:14px}
.badge{align-self:flex-start;font-size:11px;letter-spacing:.2em;padding:4px 8px;border:1px solid var(--bord);color:var(--doux)}

/* case à cocher de l'inscription */
.accord{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--doux);line-height:1.5;cursor:pointer}
.accord input{margin-top:3px;accent-color:var(--or);flex:none;width:16px;height:16px}
.accord a{color:var(--or);text-decoration:underline}
.accord.erreur{color:var(--rouge)}

@media (max-width:640px){
  .entete-doc{padding:18px 16px}
  .doc{padding:36px 16px 60px}
  dl.infos{grid-template-columns:1fr}
}

/* valeur légale pas encore renseignée (site/editeur.js) : bien visible avant la mise en ligne */
.a-completer{color:#ff8a80!important;font-weight:600}
