/* AvantLeVote · pages Portefeuille, espace client, retour de paiement.
   Se charge après home.css et n'y change rien. */
.hero--p{padding-bottom:clamp(64px,8vw,104px)}
.hero--p h1{font-size:clamp(40px,6.4vw,84px)}
.hero--p .hero-top{max-width:1020px}
.hero--s{padding-bottom:clamp(40px,5vw,64px)}
.hero--s h1{font-size:clamp(34px,4.6vw,56px);margin-bottom:14px}
.hero--s .lead{margin-bottom:0}

/* le registre : spécimen dans le haut de page, vrai tableau dans l'espace */
.reg{position:relative;z-index:2;max-width:1020px;margin:clamp(44px,5vw,64px) auto 0;border-radius:20px;background:var(--sheet);color:var(--ink);text-align:left;
  box-shadow:0 0 0 1px rgba(235,203,142,.5),0 0 0 7px rgba(235,203,142,.08),0 60px 110px -50px rgba(0,0,0,.9);overflow:hidden}
.reg-h{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px dashed var(--line-2);font:600 11.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.reg-h b{color:var(--brass-ink);font-weight:600}
.reg table{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums}
.reg th{font:600 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:14px 24px 8px}
.reg td{padding:13px 24px;border-top:1px solid var(--line);vertical-align:middle}
.reg td:first-child{font-family:var(--display);font-size:18px;letter-spacing:-.01em}
.reg td small{display:block;font:500 12.5px/1.3 var(--sans);letter-spacing:0;color:var(--ink-2);margin-top:2px}
.reg .num{text-align:right;white-space:nowrap}
.reg tfoot td{background:linear-gradient(180deg,#FBF3E2,var(--sheet));border-top:1px solid var(--line-2);font-weight:600;padding-block:16px}
.reg tfoot .num{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;color:var(--green)}
.reg-f{margin:0;padding:12px 24px 14px;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--ink-3);text-align:center}
.tag{display:inline-flex;align-items:center;gap:6px;font:600 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:6px;white-space:nowrap}
.tag--w{background:var(--red-tint);color:var(--red)}
.tag--ok{background:var(--green-tint);color:var(--green)}
.tag--n{background:var(--paper-2);color:var(--ink-2)}
.tag--b{background:#F3E7CF;color:var(--brass-ink)}

/* formules : la ligne « pour 12 mois » et la note sous les cartes */
.t-price em{font:500 15px/1 var(--sans);font-style:normal;letter-spacing:0;color:var(--ink-2);margin-left:8px}
.tier--feat .t-price em{color:rgba(246,240,228,.66)}
.price-foot .tlink{color:var(--brass-ink)}

/* deux colonnes « en France / ailleurs » : reprend .vs de la page d'accueil */
.vs-c--fr{box-shadow:0 0 0 1.5px var(--green),0 30px 50px -40px rgba(31,107,79,.6)}
.vs-c--fr small,.vs-c--fr .i{color:var(--green)}
.vs-c--eu small,.vs-c--eu .i{color:var(--brass-ink)}
@media (min-width:860px){.vs--2{grid-template-columns:1fr 1fr}}
.pays{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.pays li{font:600 13px/1 var(--sans);padding:9px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);background:var(--sheet)}

/* ── espace client ── */
.espace{padding:clamp(36px,5vw,64px) 0 clamp(72px,9vw,120px)}
.espace .wrap{max-width:1060px}
.e-top{display:grid;gap:18px;margin-bottom:28px}
@media (min-width:900px){.e-top{grid-template-columns:.8fr 1.2fr;align-items:start}}
.card{border-radius:20px;background:var(--sheet);box-shadow:0 0 0 1px var(--line-2);padding:28px}
.card h2{font-size:clamp(23px,2.4vw,29px);line-height:1.15;letter-spacing:-.015em;margin:0 0 6px}
.card .sub{font-size:15px;color:var(--ink-2);margin:0 0 20px}
.solde{background:var(--grain-light),linear-gradient(180deg,var(--night),#1B2150);color:#F1EADB;box-shadow:0 0 0 1.5px var(--brass)}
.solde .k{font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-lt);margin:0 0 12px}
.solde .v{font-family:var(--display);font-size:clamp(64px,8vw,96px);line-height:.9;letter-spacing:-.04em;color:#fff;margin:0 0 8px;font-variant-numeric:lining-nums}
.solde .v small{font:500 17px/1 var(--sans);letter-spacing:0;color:rgba(246,240,228,.7);margin-left:10px}
.solde ul{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid rgba(235,203,142,.25);font-size:14.5px;color:rgba(246,240,228,.78)}
.solde li{margin-bottom:6px}
.solde .who{font-size:13.5px;color:rgba(246,240,228,.55);margin:14px 0 0}
.solde .btn{margin-top:18px;width:100%;font-size:15.5px;padding:15px}
.f{display:grid;gap:16px}
.f-2{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.f label{display:block;font:600 14px/1.3 var(--sans);margin:0 0 7px}
.f label span{font-weight:400;color:var(--ink-2)}
.f input[type=text],.f input[type=email],.f input[type=number],.f input[type=date],.f select{width:100%;font:500 16.5px/1.2 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:11px;padding:13px 14px}
.f input:focus,.f select:focus{outline:0;border-color:var(--brass);box-shadow:0 0 0 4px rgba(201,154,69,.2)}
.f input[type=file]{width:100%;font:500 15px/1.3 var(--sans);padding:18px 16px;border:1.5px dashed #C9B48A;border-radius:12px;background:var(--paper)}
.f .hint{font-size:13.5px;color:var(--ink-2);margin:-6px 0 0}
.f .btn{width:100%}
.f .btn[disabled]{opacity:.55;cursor:default;transform:none}
button.btn{border:0;cursor:pointer}
.msg{margin:0;padding:13px 15px;border-radius:11px;font-size:15px;line-height:1.45}
.msg--ok{background:var(--green-tint);color:var(--green)}
.msg--err{background:var(--red-tint);color:var(--red)}
.msg[hidden]{display:none}
.e-reg{margin-top:28px}
.e-reg .reg{max-width:none;margin:0;box-shadow:0 0 0 1px var(--line-2)}
.e-reg .reg td:first-child{font-size:17px}
.e-reg .reg td,.e-reg .reg th{padding-inline:18px}
.e-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 20px;margin:0 0 16px}
.e-head h2{font-size:clamp(26px,3vw,36px);margin:0}
.e-head button{font:600 14px/1 var(--sans);color:var(--brass-ink);background:none;border:0;padding:6px 0;cursor:pointer;border-bottom:1px solid currentColor}
.vide{padding:34px 24px;text-align:center;color:var(--ink-2);font-size:15.5px}
.seul{max-width:560px;margin:0 auto}
.btn[hidden]{display:none}
@media (max-width:760px){
  .reg thead{display:none}
  .reg tbody tr{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:14px 16px;border-top:1px solid var(--line)}
  .reg tbody td{padding:0;border:0}
  .reg tbody td:nth-child(1){grid-column:1/3;margin-bottom:6px}
  .reg tbody td:nth-child(2){font-size:14.5px;color:var(--ink-2)}
  .reg tbody td:nth-child(2):not(:empty)::before{content:"AG : "}
  .reg tbody td:nth-child(3){display:none}
  .reg tbody td:nth-child(4){font-weight:600}
  .reg tbody td:nth-child(5){grid-column:1/3;margin-top:6px}
  .reg tbody td:nth-child(5):empty{display:none}
  .reg tfoot tr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#FBF3E2,var(--sheet));border-top:1px solid var(--line-2)}
  .reg tfoot td{padding:0;border:0;background:none}
  .reg tfoot td:last-child{display:none}
  .reg-h{padding-inline:16px}
  .card{padding:22px 18px}
  .f-2{grid-template-columns:1fr}
}
@media print{
  header.site,footer,.e-top,.e-head button,.skip{display:none !important}
  body{background:#fff}
  .espace{padding:0}
  .hero--s{background:none;color:#000;padding:0 0 12px}
  .hero--s h1{color:#000;font-size:26px}
  .hero--s .kick,.hero--s .lead{color:#333}
  .e-reg .reg{box-shadow:none;border:1px solid #999}
}
