
:root{
  --nuit:#0F1B33; --nuit-fonce:#0A1424; --or:#D9A942; --or-clair:#E5BE6C;
  --or-pale:#EFD293; --creme:#FAF9F6; --creme-sombre:#E7E4DC; --bleu-doux:#DCE3ED;
  --alerte:#AC4C33; --vert:#0F6E5C;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--nuit);color:var(--creme);font-family:var(--serif);
     line-height:1.6;-webkit-font-smoothing:antialiased}
.enveloppe{max-width:760px;margin:0 auto;padding:0 20px}
header{padding:56px 0 40px;text-align:center;border-bottom:1px solid rgba(217,169,66,.22)}
h1{font-size:clamp(30px,5.6vw,46px);line-height:1.15;font-weight:700;letter-spacing:-.02em}
h1 em{font-style:normal;color:var(--or)}
.chapeau{margin-top:18px;font-size:clamp(16px,2.4vw,19px);color:var(--bleu-doux);max-width:600px;margin-inline:auto}
.surtitre{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
          color:var(--or);margin-bottom:16px}
form{margin:34px 0 8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
select{font-family:var(--serif);font-size:17px;padding:14px 16px;border-radius:8px;
       border:1px solid rgba(217,169,66,.45);background:var(--nuit-fonce);color:var(--creme);
       min-width:230px;max-width:100%}
select:focus{outline:2px solid var(--or);outline-offset:2px}
select:disabled{opacity:.45}
#resultat{margin:36px 0 8px}
.carte{background:var(--nuit-fonce);border:1px solid rgba(217,169,66,.35);border-radius:14px;
       padding:30px 26px;text-align:center}
.carte .ville{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--or-pale)}
.taux{font-size:clamp(48px,11vw,76px);font-weight:700;line-height:1.05;color:var(--creme);margin:6px 0 2px}
.legende{font-size:14px;color:var(--bleu-doux)}
.contre{margin-top:26px;padding-top:24px;border-top:1px solid rgba(217,169,66,.22)}
.verdict{font-size:clamp(20px,3.6vw,26px);font-weight:700;line-height:1.35;margin:14px 0}
.verdict strong{color:var(--or)}
.chiffre-bas{font-family:var(--mono);font-size:clamp(22px,5vw,32px);color:var(--or-clair)}
.rang{margin-top:22px;font-size:15px;color:var(--bleu-doux)}
.rang b{color:var(--creme)}
.pivot{margin-top:34px;background:rgba(217,169,66,.07);border-left:3px solid var(--or);
       border-radius:0 10px 10px 0;padding:22px 22px;text-align:left}
.pivot h2{font-size:19px;margin-bottom:10px}
.pivot p{font-size:16px;color:var(--bleu-doux)}
.actions{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.bouton{display:inline-block;font-family:var(--serif);font-size:16px;font-weight:600;
        padding:14px 24px;border-radius:9px;border:1px solid var(--or);cursor:pointer;
        text-decoration:none;background:var(--or);color:var(--nuit)}
.bouton.secondaire{background:transparent;color:var(--or-clair)}
.note{margin:44px 0 0;font-size:13.5px;color:#9AA8BE;border-top:1px solid rgba(255,255,255,.08);padding-top:22px}
.note b{color:var(--creme-sombre)}
footer{padding:34px 0 60px;text-align:center;font-size:14px;color:#8794A8}
footer a{color:var(--or-clair)}
.masque{display:none}

.socle{margin:52px 0 0;border-top:1px solid rgba(217,169,66,.22);padding-top:40px}
.socle h2{font-size:clamp(21px,3.4vw,27px);margin:36px 0 14px;line-height:1.25}
.socle h2:first-child{margin-top:0}
.socle h3{font-size:17px;margin:24px 0 6px;color:var(--or-pale)}
.socle p{font-size:16px;color:var(--bleu-doux);margin-bottom:12px}
.socle strong{color:var(--creme)}
.socle a{color:var(--or-clair)}
.socle table{width:100%;border-collapse:collapse;margin:18px 0 8px;font-size:14.5px;display:block;overflow-x:auto}
.socle th{text-align:left;font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
          text-transform:uppercase;color:var(--or);border-bottom:1px solid rgba(217,169,66,.3);
          padding:8px 12px 8px 0;white-space:nowrap}
.socle td{padding:8px 12px 8px 0;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}
.socle td:nth-child(2),.socle td:nth-child(4){font-family:var(--mono);white-space:nowrap}
.socle .dep{font-family:var(--mono);font-size:11px;color:#8794A8}

.offre{margin:34px 0 0;background:rgba(217,169,66,.06);border:1px solid rgba(217,169,66,.3);
       border-radius:14px;padding:26px 24px}
.offre h3{font-size:19px;margin-bottom:18px;color:var(--creme)}
.offre .deux{display:flex;gap:18px;flex-wrap:wrap}
.offre .o{flex:1 1 240px;background:var(--nuit-fonce);border:1px solid rgba(217,169,66,.25);
          border-radius:11px;padding:20px 18px;text-align:left}
.offre .prix{font-family:var(--mono);font-size:30px;font-weight:700;color:var(--or)}
.offre .nom{font-weight:700;margin:2px 0 8px;color:var(--creme)}
.offre .o p{font-size:14.5px;color:var(--bleu-doux);margin-bottom:14px}
.offre .o .bouton{display:block;text-align:center;font-size:15px;padding:11px 16px}
.offre .reserve{margin-top:18px;font-size:14px;color:#9AA8BE;text-align:left}
.offre .reserve strong{color:var(--creme-sombre)}
