/* Formulaire de recensement des Fintechs — thème VBR.
   Les règles sont préfixées .vbr-rf pour ne pas déborder sur le thème du site. */

/* ====================================================================
   THÈME VBR — bloc unique à ajuster
   Relevé sur vbr.ci : couleur de thème #141414, accent rouge,
   identité éditoriale « Vanguard Business Review — Savoir pouvoir croître ».
   La valeur exacte du rouge et les typographies restent à confirmer :
   un seul remplacement dans ce bloc suffit à réaligner tout le formulaire.
   ==================================================================== */
:root{
  --vbr-noir:#141414;
  --vbr-encre:#1c1c1c;
  --vbr-accent:#c8102e;        /* rouge VBR — à confirmer au pixel près */
  --vbr-accent-clair:#fdeff1;
  --vbr-gris:#6b6b6b;
  --vbr-gris-clair:#e6e4e0;
  --vbr-fond:#faf9f7;
  --vbr-blanc:#ffffff;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}

.vbr-rf{font-family:var(--sans);background:var(--vbr-fond);color:var(--vbr-encre);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}

/* ---- bandeau ---- */
.vbr-rf .topbar{background:var(--vbr-noir);color:#fff;padding:0}
.vbr-rf .topbar-in{max-width:820px;margin:0 auto;padding:18px 24px;display:flex;
  align-items:baseline;gap:14px;flex-wrap:wrap}
.vbr-rf .wordmark{font-family:var(--serif);font-size:26px;font-weight:700;letter-spacing:.02em;line-height:1}
.vbr-rf .wordmark span{color:var(--vbr-accent)}
.vbr-rf .baseline{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#9a9a9a}
.vbr-rf .proto{margin-left:auto;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid #4a4a4a;color:#bdbdbd;padding:4px 9px;border-radius:2px}

.vbr-rf .institutions{background:var(--vbr-encre);border-top:1px solid #2c2c2c}
.vbr-rf .institutions-in{max-width:820px;margin:0 auto;padding:9px 24px;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:#8e8e8e}

/* ---- progression ---- */
.vbr-rf .progress-wrap{background:var(--vbr-blanc);border-bottom:1px solid var(--vbr-gris-clair);
  position:sticky;top:0;z-index:20}
.vbr-rf .progress-in{max-width:820px;margin:0 auto;padding:14px 24px 12px}
.vbr-rf .progress-head{display:flex;justify-content:space-between;align-items:baseline;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vbr-gris);margin-bottom:9px}
.vbr-rf .progress-head strong{color:var(--vbr-noir);font-weight:600}
.vbr-rf .bar{height:3px;background:var(--vbr-gris-clair);position:relative;overflow:hidden}
.vbr-rf .bar i{position:absolute;inset:0 auto 0 0;background:var(--vbr-accent);
  transition:width .45s cubic-bezier(.4,0,.2,1)}

/* ---- page ---- */
.vbr-rf main{max-width:820px;margin:0 auto;padding:40px 24px 90px}
.vbr-rf .card{background:var(--vbr-blanc);border:1px solid var(--vbr-gris-clair);padding:40px}
@media(max-width:600px){.card{padding:26px 20px}main{padding:24px 14px 70px}}

.vbr-rf .kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--vbr-accent);font-weight:600;margin-bottom:12px}
.vbr-rf h1{font-family:var(--serif);font-size:34px;line-height:1.2;font-weight:700;
  color:var(--vbr-noir);margin-bottom:14px;letter-spacing:-.01em}
.vbr-rf h2{font-family:var(--serif);font-size:27px;line-height:1.25;font-weight:700;
  color:var(--vbr-noir);margin-bottom:10px}
.vbr-rf .sous{font-size:14px;color:var(--vbr-gris);margin-bottom:26px}
.vbr-rf .intro{font-size:15px;color:#3d3d3d;padding-left:16px;border-left:2px solid var(--vbr-accent);
  margin-bottom:34px}
.vbr-rf .accueil p{margin-bottom:15px;color:#3d3d3d}
.vbr-rf .accueil p:last-of-type{margin-bottom:28px}

/* ---- champs ---- */
.vbr-rf .field{margin-bottom:30px;padding-bottom:2px}
.vbr-rf .field.hidden{display:none}
.vbr-rf label.q{display:block;font-size:16px;font-weight:600;color:var(--vbr-noir);margin-bottom:5px}
.vbr-rf label.q .req{color:var(--vbr-accent);margin-left:3px}
.vbr-rf .aide{font-size:13.5px;color:var(--vbr-gris);margin-bottom:11px}
.vbr-rf input[type=text], .vbr-rf input[type=number], .vbr-rf input[type=date], .vbr-rf select, .vbr-rf textarea{
  width:100%;font-family:var(--sans);font-size:15px;padding:11px 13px;
  border:1px solid #cfcbc4;background:var(--vbr-blanc);color:var(--vbr-encre);
  border-radius:2px;transition:border-color .15s,box-shadow .15s}
.vbr-rf textarea{min-height:88px;resize:vertical;line-height:1.55}
.vbr-rf input:focus, .vbr-rf select:focus, .vbr-rf textarea:focus{outline:none;border-color:var(--vbr-noir);
  box-shadow:0 0 0 3px rgba(20,20,20,.07)}
.vbr-rf select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'><path d='M1 1l4.5 4.5L10 1' stroke='%23555' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}
.vbr-rf .counter{font-size:12px;color:var(--vbr-gris);text-align:right;margin-top:4px}

/* cases à cocher multiples */
.vbr-rf .multi{display:grid;gap:7px}
.vbr-rf .opt{display:flex;align-items:flex-start;gap:10px;padding:10px 13px;
  border:1px solid #dedad3;background:var(--vbr-blanc);cursor:pointer;
  font-size:14.5px;border-radius:2px;transition:all .13s}
.vbr-rf .opt:hover{border-color:#a9a49a;background:#fdfcfa}
.vbr-rf .opt input{margin-top:3px;accent-color:var(--vbr-noir);flex-shrink:0}
.vbr-rf .opt.on{border-color:var(--vbr-noir);background:var(--vbr-accent-clair)}

/* échelle 0-4 */
.vbr-rf .scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.vbr-rf .scale button{font-family:var(--sans);border:1px solid #dedad3;background:var(--vbr-blanc);
  padding:13px 5px 11px;cursor:pointer;text-align:center;border-radius:2px;transition:all .13s}
.vbr-rf .scale button:hover{border-color:#a9a49a}
.vbr-rf .scale button .n{display:block;font-family:var(--serif);font-size:22px;font-weight:700;
  color:var(--vbr-noir);line-height:1}
.vbr-rf .scale button .t{display:block;font-size:10.5px;color:var(--vbr-gris);margin-top:5px;line-height:1.25}
.vbr-rf .scale button.on{background:var(--vbr-noir);border-color:var(--vbr-noir)}
.vbr-rf .scale button.on .n, .vbr-rf .scale button.on .t{color:#fff}
@media(max-width:520px){.scale{grid-template-columns:repeat(5,1fr);gap:4px}
  .vbr-rf .scale button{padding:10px 2px 8px}.scale button .n{font-size:17px}.scale button .t{font-size:9px}}

/* consentement */
.vbr-rf .consent{display:flex;gap:12px;align-items:flex-start;padding:17px;
  border:1px solid #dedad3;background:#fbfaf8;border-radius:2px;cursor:pointer}
.vbr-rf .consent.on{border-color:var(--vbr-noir);background:var(--vbr-accent-clair)}
.vbr-rf .consent input{margin-top:4px;accent-color:var(--vbr-noir);flex-shrink:0}
.vbr-rf .consent .txt{font-size:14.5px;line-height:1.55}

.vbr-rf .err{color:#a33;font-size:13px;margin-top:6px;display:none}
.vbr-rf .field.invalid .err{display:block}
.vbr-rf .field.invalid input, .vbr-rf .field.invalid select, .vbr-rf .field.invalid textarea{border-color:#a33}

/* ---- navigation ---- */
.vbr-rf .nav{display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:38px;padding-top:26px;border-top:1px solid var(--vbr-gris-clair)}
.vbr-rf button.btn{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.03em;
  padding:13px 30px;border:1px solid var(--vbr-noir);cursor:pointer;border-radius:2px;
  transition:all .15s}
.vbr-rf .btn.primary{background:var(--vbr-noir);color:#fff}
.vbr-rf .btn.primary:hover{background:#000}
.vbr-rf .btn.ghost{background:transparent;color:var(--vbr-noir);border-color:#cfcbc4}
.vbr-rf .btn.ghost:hover{border-color:var(--vbr-noir)}
.vbr-rf .btn:disabled{opacity:.35;cursor:not-allowed}
.vbr-rf .temps{font-size:12.5px;color:var(--vbr-gris)}

/* ---- restitution ---- */
.vbr-rf .score-hero{text-align:center;padding:34px 20px;background:var(--vbr-noir);color:#fff;margin-bottom:30px}
.vbr-rf .score-hero .lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9a9a9a}
.vbr-rf .score-hero .val{font-family:var(--serif);font-size:66px;font-weight:700;line-height:1;margin:9px 0 4px}
.vbr-rf .score-hero .val small{font-size:22px;color:#8e8e8e;font-weight:400}
.vbr-rf .score-hero .cls{font-size:15px;letter-spacing:.06em;color:var(--vbr-accent);font-weight:600}
.vbr-rf .score-hero .cmp{font-size:13px;color:#c4c4c4;margin-top:14px;padding-top:13px;
  border-top:1px solid #333;max-width:520px;margin-left:auto;margin-right:auto}
.vbr-rf .score-hero .cmp b{color:#fff}
.vbr-rf .score-hero .cmp.muted{color:#8e8e8e;font-style:italic}
.vbr-rf .dims{display:grid;gap:15px;margin-bottom:28px}
.vbr-rf .dim{display:grid;grid-template-columns:190px 1fr 46px;gap:14px;align-items:center;font-size:14px}
@media(max-width:560px){.dim{grid-template-columns:1fr;gap:5px}}
.vbr-rf .dim .nom{color:#3d3d3d}
.vbr-rf .dim .track{height:9px;background:var(--vbr-gris-clair);border-radius:1px;overflow:hidden}
.vbr-rf .dim .track i{display:block;height:100%;background:var(--vbr-accent);
  transition:width .8s cubic-bezier(.4,0,.2,1)}
.vbr-rf .dim .pts{text-align:right;font-family:var(--serif);font-weight:700;color:var(--vbr-noir)}
.vbr-rf .orient{padding:20px;background:var(--vbr-accent-clair);border-left:2px solid var(--vbr-accent);
  font-size:14.5px;margin-bottom:26px}
.vbr-rf .orient strong{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--vbr-accent);margin-bottom:7px}
.vbr-rf .recap{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.vbr-rf .recap th{text-align:left;background:var(--vbr-noir);color:#fff;padding:9px 11px;
  font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
.vbr-rf .recap td{padding:8px 11px;border-bottom:1px solid var(--vbr-gris-clair);vertical-align:top}
.vbr-rf .recap tr:nth-child(even) td{background:#fbfaf8}
.vbr-rf .recap td:first-child{color:var(--vbr-gris);width:44%}
.vbr-rf details{margin-top:26px}
.vbr-rf summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--vbr-noir);
  padding:11px 0;border-top:1px solid var(--vbr-gris-clair)}

.vbr-rf footer{max-width:820px;margin:0 auto;padding:0 24px 50px;font-size:12px;
  color:var(--vbr-gris);line-height:1.65}
.vbr-rf footer .sep{height:1px;background:var(--vbr-gris-clair);margin-bottom:18px}

/* Cloisonnement et tenue dans le gabarit du thème.
   Pas de pleine largeur par marges négatives : dans une page WordPress cela
   élargit le document entier et fait apparaître une barre de défilement horizontale. */
.vbr-rf{overflow-x:hidden;background:var(--vbr-fond)}
.vbr-rf *{box-sizing:border-box}
.vbr-rf .topbar-in,.vbr-rf .institutions-in,.vbr-rf .bandeau-in,.vbr-rf main{max-width:820px;margin-left:auto;margin-right:auto}
.vbr-rf main{padding:32px 24px 24px}

/* Bandeau institutionnel.
   Deux registres nommés : la puissance publique et le bailleur d'un côté,
   le bureau qui conduit la mission de l'autre. Les logos sont détourés,
   ils se posent donc sur n'importe quel fond. Les hauteurs sont fixées
   logo par logo : un emblème rond et un logotype horizontal n'ont pas le
   même poids optique à hauteur égale. */
.vbr-rf .bandeau,.vbr-rf .bandeau *{box-sizing:border-box}
.vbr-rf .bandeau{background:#fff;border-bottom:1px solid #ececec}
.vbr-rf .bandeau-in{max-width:820px;margin-left:auto;margin-right:auto;
  padding:16px 24px;display:flex;gap:24px;align-items:stretch}
.vbr-rf .bandeau-col{flex:1 1 auto;min-width:0}
.vbr-rf .bandeau-droite{flex:0 0 auto;border-left:1px solid #e8e8e8;padding-left:24px}
.vbr-rf .bandeau-mention{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:#9aa1a9;margin-bottom:9px;line-height:1}
.vbr-rf .bandeau-rangee{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.vbr-rf .bandeau img{display:block;width:auto;max-width:100%;height:auto}
.vbr-rf .bandeau .l-apif{height:46px}
.vbr-rf .bandeau .l-minefi{height:50px}
.vbr-rf .bandeau .l-pacaci{height:34px}
.vbr-rf .bandeau .l-bad{height:50px}
.vbr-rf .bandeau .l-bedet{height:42px}
@media (max-width:700px){
  .vbr-rf .bandeau-in{display:block;padding:14px 16px}
  .vbr-rf .bandeau-rangee{gap:14px 18px;justify-content:center}
  .vbr-rf .bandeau-mention{text-align:center}
  /* Grille de deux colonnes pour les commanditaires : un retour à la ligne
     libre laissait le quatrième logo seul sur sa rangée. */
  .vbr-rf .bandeau-col:not(.bandeau-droite) .bandeau-rangee{
    display:grid;grid-template-columns:1fr 1fr;justify-items:center;align-items:center;gap:16px 14px}
  .vbr-rf .bandeau-droite{border-left:0;border-top:1px solid #e8e8e8;
    padding-left:0;padding-top:14px;margin-top:14px}
  /* Deux rangées de deux plutôt qu'une rangée de quatre minuscules :
     à cette largeur, un logo de 30 px de haut n'est plus lisible. */
  .vbr-rf .bandeau .l-apif{height:44px}
  .vbr-rf .bandeau .l-minefi,.vbr-rf .bandeau .l-bad{height:48px}
  .vbr-rf .bandeau .l-pacaci{height:34px}
  .vbr-rf .bandeau .l-bedet{height:40px}
}
.vbr-rf-noscript{max-width:820px;margin:32px auto;padding:26px 30px;background:#fff;
  border:1px solid #e6e4e0;border-left:3px solid #c8102e;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
.vbr-rf-noscript h2{font-family:Georgia,serif;font-size:22px;margin:0 0 12px;color:#141414}
.vbr-rf-noscript p{margin:0 0 10px;color:#3d3d3d;line-height:1.6}
.vbr-rf .piege{position:absolute!important;left:-9999px!important;height:0!important;width:0!important;overflow:hidden}
@media print{
  /* Le bandeau reste : un positionnement imprimé et remis à un tiers doit porter
     les logos de ceux qui commandent le recensement. */
  .vbr-rf .topbar,.vbr-rf .institutions,.vbr-rf .progress-wrap,.vbr-rf .nav{display:none!important}
  .vbr-rf .bandeau{border-bottom:1px solid #ccc;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .vbr-rf .bandeau-in{padding-left:0;padding-right:0}
  .vbr-rf .card{border:0;padding:0}
  .vbr-rf .score-hero{background:#141414!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
