:root{
  --bg:#0f172a; --panel:#111827; --muted:#94a3b8; --text:#e5e7eb; --accent:#93c5fd;
  --border:#1f2937;
}
*{box-sizing:border-box}
html{height:100%}
body{
  margin:0;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;

  /* Dégradé uniforme */
  background:linear-gradient(135deg, #020617 0%, #0f172a 40%, #1e293b 100%);
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
}

a{color:var(--accent); text-decoration:none}
main.container{max-width:1100px; margin:24px auto; padding:0 16px}
header.site h1{font-size:22px; margin:0}
.nav{display:flex; align-items:center; gap:12px}
.card{
  background:var(--panel); border:1px solid var(--border);
  border-radius:16px; padding:18px; margin:16px 0;
}
.btn{
  display:inline-block; padding:10px 14px; border-radius:12px;
  border:1px solid #334155; background:#1f2937; color:#e5e7eb;
}
.alert{background:#7f1d1d; color:#fee2e2; padding:8px; border-radius:8px; margin-bottom:12px}
input,textarea{width:100%; background:#0b1223; color:var(--text); border:1px solid var(--border); border-radius:10px; padding:10px}
label{display:block; margin-bottom:6px; color:#cbd5e1}
.form-row{margin-bottom:14px}
.footer{opacity:.7; margin-top:24px}
.code{display:inline-block; padding:4px 6px; background:#0b1223; border:1px solid var(--border); border-radius:8px}
pre.codeblock{overflow:auto; background:#0b1223; border:1px solid var(--border); border-radius:10px; padding:10px}
.field {
    display:block;
    margin-bottom:12px;
}
.field span {
    display:block;
    margin-bottom:4px;
    font-size:14px;
    color:#e2e8f0;
}
.field input,
.field textarea {
    width:100%;
    padding:10px;
    border-radius:8px;
    border:1px solid #1f2937;
    background:#020617;
    color:#e5e7eb;
}
.alert {
    padding:10px 12px;
    border-radius:8px;
    margin-bottom:10px;
    font-size:14px;
}
.alert-error {
    background:#450a0a;
    border:1px solid #b91c1c;
    color:#fecaca;
}
.alert-success {
    background:#022c22;
    border:1px solid #16a34a;
    color:#bbf7d0;
}
/* =========================
   HEADER / NAV (DESKTOP)
   ========================= */

/* HEADER / NAV (DESKTOP) */
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}

.site-logo img{
  display:block;
  height:auto;
  max-width:220px;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:12px;
}

/* Bouton burger — caché sur desktop */
.nav-toggle{
  display:none;
  background:none;
  border:none;
  padding:6px;
  cursor:pointer;
}

/* 3 traits simples */
.nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  border-radius:2px;
  background:#e5e7eb;
  margin:4px 0;
}
/* Page succès paiement */
.success-wrapper{
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring, #1f2937);
  border-radius:16px;
  margin:16px 0;
}

.success-main{
  border-color:#3b7e55;
  background:linear-gradient(180deg, rgba(34,197,94,.12), rgba(255,255,255,.02));
}

.success-header{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
}

.success-header h1{
  margin:0;
  font-size:20px;
}

.success-check{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--brand,#22c55e),#16a34a);
  border-radius:12px;
  color:#05210f;
  font-weight:800;
}

/* Résumé paiement */
.success-summary{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:14px;
}

.success-summary-item{
  margin:0;
  font-size:14px;
}

/* Actions */
.success-actions{
  margin-top:14px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.success-download-hint{
  font-size:13px;
}

/* Bloc pending */
.success-pending{
  margin-top:14px;
}

.success-pending-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}

/* Bloc "Et maintenant ?" */
.success-next{
  margin-top:18px;
}
.blog-shell{
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring, #1f2937);
  border-radius:16px;
}

.blog-layout{
  display:flex;
  gap:24px;
  margin-top:20px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.blog-main{
  flex:3;
  min-width:0;
}

/* Grille des articles */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
  margin-top:10px;
}

.blog-article{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.blog-article-img{
  width:100%;
  max-height:160px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:10px;
}

.blog-article-title{
  margin-bottom:6px;
}

.blog-article-excerpt{
  font-size:14px;
  margin-bottom:8px;
}

.blog-article-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  color:#64748b;
}

.blog-article-actions{
  margin-top:10px;
}

.blog-pagination{
  margin-top:20px;
  display:flex;
  gap:8px;
}

/* Colonne latérale */
.blog-aside{
  flex:1;
  min-width:260px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.blog-aside-block{
  font-size:14px;
}

/* Shell déjà utilisé sur la liste du blog */
.blog-shell{
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring, #1f2937);
  border-radius:16px;
}

/* Layout principal (liste + show partagent ce pattern) */
.blog-layout{
  display:flex;
  gap:24px;
  margin-top:20px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.blog-main{
  flex:3;
  min-width:0;
}

.blog-aside{
  flex:1;
  min-width:260px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.blog-aside-block{
  font-size:14px;
}

/* Image hero de l’article */
.blog-article-hero{
  width:100%;
  max-height:260px;
  object-fit:cover;
  border-radius:12px;
  margin-bottom:16px;
}

/* Contenu */
.blog-article-content{
  line-height:1.6;
  font-size:15px;
}

/* Tags */
.blog-tags{
  margin-top:18px;
  font-size:13px;
}

.blog-tag{
  display:inline-block;
  margin-right:6px;
  margin-bottom:4px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid #1f2937;
  font-size:12px;
  color:#e5e7eb;
}
/* Shell comme sur les autres pages */
.verify-shell{
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring, #1f2937);
  border-radius:16px;
}

/* Statut + référence */
.verify-status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:10px 0 4px;
}

.verify-status-pill{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
}

/* Layout 2 colonnes desktop */
.verify-layout{
  display:grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap:18px;
  margin-top:14px;
}

/* Détails */
.verify-details-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

.verify-details-grid{
  display:grid;
  gap:10px;
  font-size:14px;
}

/* Colonne droite */
.verify-local{
  font-size:14px;
}
/* Shell globale */
.verify-public-shell{
  padding:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring, #1f2937);
  border-radius:16px;
}

/* Layout 2 colonnes sur desktop */
.verify-public-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);
  gap:18px;
  margin-top:14px;
}

/* Colonne gauche */
.verify-public-main{
  font-size:14px;
}

/* Ligne input + bouton */
.verify-public-input-row{
  display:flex;
  gap:8px;
  margin-top:6px;
}

/* Header détails */
.verify-public-header-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

/* Détails de la preuve */
.verify-public-details-grid{
  display:grid;
  gap:10px;
  font-size:14px;
}

.verify-public-fieldpair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

/* Colonne droite */
.verify-public-side{
  font-size:14px;
}
  /* Rend le widget responsive */
  .cf-turnstile {
    width: 100%;
    max-width: 100%;
  }
  .cf-turnstile iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Style visuel pour bouton désactivé (optionnel) */
  #register-submit[disabled] {
    opacity: .6;
    cursor: not-allowed;
  }

  #login-submit[disabled] {
    opacity: .6;
    cursor: not-allowed;
  }