/* Dem Box : louer un box sur le site (worker du site, version 4). Charte du site : nuit, or, Clash Display et Satoshi. */
:root{
  --or:#C9A15C; --or-clair:#E3C68C; --or-pale:#F0D9A8;
  --nuit:#0D0D0F; --nuit-2:#16161A; --nuit-3:#1C1C21; --nuit-4:#24242B;
  --txt:rgba(255,255,255,.72); --txt-fort:rgba(255,255,255,.88); --txt-doux:rgba(255,255,255,.6);
  --trait:rgba(255,255,255,.08); --trait-or:rgba(201,161,92,.18);
  --vert:#6FD38E; --rouge:#FF8A80; --orange:#FFC56B;
  --titre:'Clash Display',system-ui,sans-serif; --corps:'Satoshi',system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--nuit);color:var(--txt);font-family:var(--corps);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:var(--or-clair)}a:hover{color:var(--or-pale)}
h1,h2,h3{font-family:var(--titre);color:#fff;margin:0;letter-spacing:-.005em;line-height:1.12;font-weight:700}
p{margin:0}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--or);outline-offset:3px}
.cache{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- entete du parcours --- */
.lo-tete{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding:14px 32px;border-bottom:1px solid var(--trait-or);background:var(--nuit);position:sticky;top:0;z-index:20}
.lo-logo img{height:38px;width:auto;display:block}
.lo-prog{flex:1 1 320px;min-width:0;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.lo-prog-txt{display:flex;justify-content:space-between;font-size:13px;font-weight:700}
.lo-prog-txt b{color:#fff}
.lo-barre{display:flex;gap:4px}
.lo-barre span{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.12)}
.lo-barre span.f{background:var(--or)}
.lo-liens{display:flex;gap:22px;font-size:14px;font-weight:700;align-items:center}
.lo-liens a{text-decoration:none}
.lo-liens .quitter{color:var(--txt)}

/* --- page --- */
.lo-page{width:min(1120px,100%);margin:0 auto;padding:36px 32px 72px;display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.lo-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.lo-aside{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:110px}
.lo-page.large .lo-main{flex-basis:100%}
.retour{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--txt);background:none;border:0;padding:6px 0;cursor:pointer;width:max-content}
.retour:hover{color:#fff}

.titre-etape{display:flex;align-items:center;gap:16px}
.tuile{width:52px;height:52px;border-radius:16px;background:rgba(201,161,92,.14);color:var(--or-clair);display:inline-flex;align-items:center;justify-content:center;flex:none}
.titre-etape h1{font-size:clamp(28px,4vw,36px)}
.titre-etape p{font-size:16px;margin-top:4px}

.carte{background:var(--nuit-2);border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:22px}
.carte.or{border:1.5px solid var(--or);background:radial-gradient(circle 260px at 100% 0%,rgba(240,206,138,.2),rgba(22,22,26,0) 70%),var(--nuit-2)}
.carte.fine{padding:8px 22px}
.offres-choix{display:flex;flex-direction:column;gap:12px}
.offre-choix{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;border-radius:20px;background:var(--nuit-2);border:1.5px solid rgba(255,255,255,.08);cursor:pointer;text-align:left;color:inherit}
.offre-choix.on{border-color:var(--or);background:#1A1814}
.offre-choix.complet{opacity:.5;cursor:not-allowed}
.offre-choix .radio{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.45);flex:none}
.offre-choix.on .radio{border:7px solid var(--or-clair)}
.offre-choix img{width:64px;height:64px;flex:none}
.offre-choix .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.offre-choix .txt b{color:#fff;font-size:17px}
.offre-choix .txt small{color:var(--or-clair);font-weight:700;font-size:13.5px}
.offre-choix .txt span{font-size:14px;color:var(--txt)}
.offre-choix .txt em{font-style:normal;font-size:13px;color:var(--orange);font-weight:700}
.offre-choix .prix-offre{display:flex;flex-direction:column;align-items:flex-end;flex:none}
.offre-choix .prix-offre b{font-family:var(--titre);font-size:24px;color:#fff;white-space:nowrap}
.offre-choix .prix-offre small{font-size:12.5px;color:var(--txt-doux)}
@media (max-width:560px){.offre-choix{padding:12px 14px;gap:10px}.offre-choix img{width:46px;height:46px}.offre-choix .prix-offre b{font-size:20px}}
.hero-box{border-radius:26px;overflow:hidden;background:radial-gradient(circle 300px at 88% -10%,rgba(240,206,138,.55),rgba(150,104,40,.25) 55%,rgba(12,12,14,0) 100%),linear-gradient(180deg,#17130A,#0A0A0C);padding:20px 22px;display:flex;align-items:center;gap:14px}
.hero-box img{width:132px;height:132px;flex:none;margin-left:-10px}
.hero-box .prix{font-family:var(--titre);font-size:34px;color:#fff;font-weight:700}
.hero-box small{display:block;color:rgba(255,255,255,.86);font-size:14px;font-weight:500}

/* --- montants --- */
.rg{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.rg:last-child{border-bottom:0}
.rg b{color:#fff;white-space:nowrap}
.rg small{display:block;font-size:12.5px;color:var(--txt-doux)}
.rg.total{font-size:17px}
.rg.total span{color:#fff;font-weight:700}
.rg.total b{color:var(--or-clair);font-family:var(--titre);font-size:22px}
.note{font-size:13px;color:var(--txt-doux)}

/* --- champs --- */
.champs2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.champs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.champ{display:flex;flex-direction:column;justify-content:center;gap:3px;background:var(--nuit-3);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:9px 16px;min-height:62px;position:relative}
.champ:focus-within{border-color:var(--or);box-shadow:0 0 0 3px rgba(201,161,92,.2)}
.champ label{font-size:12.5px;font-weight:600;color:var(--txt-doux)}
.champ input,.champ select{background:none;border:0;color:#fff;font-size:16.5px;padding:0;outline:none;width:100%;min-height:26px;-webkit-appearance:none;appearance:none}
.champ select{cursor:pointer;padding-right:18px}
.champ select option{color:#000}
.champ .fleche{position:absolute;right:14px;bottom:16px;pointer-events:none;color:var(--txt-doux)}
.champ-tel{display:flex;gap:10px}
.champ-tel .pays{flex:0 0 116px}
.champ.pays .pays-vu{display:flex;align-items:center;gap:7px;color:#fff;font-size:16.5px;min-height:26px;white-space:nowrap}
.champ.pays .pays-vu b{font-weight:600;font-variant-numeric:tabular-nums}
.champ.pays .pays-vu svg{margin-left:auto;color:var(--txt-doux);flex:none}
.champ.pays .drapeau{font-size:19px;line-height:1}
.champ.pays select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}
.champ-tel .num{flex:1;min-width:0}
.sous-titre-champ{font-size:13px;font-weight:700;color:var(--txt);padding-left:6px}
.etat-email{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding-left:6px;min-height:22px}
.etat-email.libre{color:var(--vert)}
.etat-email.pris{color:var(--rouge)}
.ligne-interrupteur{display:flex;align-items:center;gap:12px;padding:14px 18px}
.ligne-interrupteur .txt{flex:1;color:#fff;font-weight:600;display:flex;align-items:center;gap:10px}
.btn-i{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:none;color:rgba(255,255,255,.85);font-weight:800;font-size:13px;cursor:pointer;flex:none}
.interrupteur{width:52px;height:31px;border-radius:999px;border:0;background:rgba(255,255,255,.16);position:relative;cursor:pointer;flex:none;transition:background .15s}
.interrupteur::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;transition:left .15s}
.interrupteur[aria-checked="true"]{background:#34C759}
.interrupteur[aria-checked="true"]::after{left:23px}

.case{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:15px;line-height:1.5;color:#fff;background:var(--nuit-2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:15px 18px}
.case input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--or);flex:none;cursor:pointer}
.case small{display:block;color:var(--txt);font-size:13.5px;margin-top:6px}

/* --- messages --- */
.bloc{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;font-size:15px;line-height:1.5}
.bloc svg{flex:none;margin-top:2px}
.bloc.ok{background:rgba(111,211,142,.12);color:#DDF5E4}
.bloc.erreur{background:rgba(255,105,97,.13);color:#FFDCD9}
.bloc.info{background:rgba(255,255,255,.04);color:var(--txt-fort)}
.bloc.avis{background:rgba(255,197,107,.12);color:#FFE7C2}
#erreur:empty{display:none}

/* --- boutons --- */
.pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;padding-top:6px}
.pied .aide{font-size:14.5px;flex:1 1 220px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;transition:opacity .15s,transform .1s}
.btn:active{transform:scale(.99)}
.btn-or{background:linear-gradient(90deg,#E3C68C,#C9A15C);color:#0D0D0F;min-width:240px}
.btn-or:hover{color:#0D0D0F}
.btn-ligne{border:1px solid rgba(201,161,92,.55);color:var(--or-clair);background:transparent}
.btn-doux{background:rgba(255,255,255,.08);color:#fff}
.btn-doux:hover{color:#fff}
.btn-noir{background:#000;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.38;cursor:not-allowed}
.lien{background:none;border:0;color:var(--or-clair);font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}

/* --- e-mail a valider --- */
.attente{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 26px}
.attente .grande-tuile{width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,#F0CE8A,#C9A15C);color:#0D0D0F;display:inline-flex;align-items:center;justify-content:center}
.pilule{display:inline-flex;align-items:center;gap:12px;min-height:40px;padding:0 18px;border-radius:999px;background:rgba(227,198,140,.12);color:var(--or-pale);font-weight:700;font-size:14.5px}
.point{width:10px;height:10px;border-radius:50%;background:var(--or-clair);animation:pouls 1.6s infinite}
@keyframes pouls{0%{box-shadow:0 0 0 0 rgba(227,198,140,.55)}100%{box-shadow:0 0 0 12px rgba(227,198,140,0)}}

/* --- contrat --- */
.fenetre{position:relative;border-radius:20px;overflow:hidden;background:#FAF8F3}
.contrat-texte{height:min(56vh,460px);overflow-y:auto;padding:26px 30px 40px;color:#2A2A2F;font-size:15px;line-height:1.65}
.contrat-texte h2{font-family:var(--corps);color:#0D0D0F;font-size:20px;margin:0 0 10px}
.contrat-texte h3{font-family:var(--corps);color:#0D0D0F;font-size:15.5px;margin:18px 0 6px;font-weight:700}
.contrat-texte p{margin:0 0 10px}
.contrat-texte .fin-contrat{display:flex;justify-content:center;align-items:center;gap:8px;color:#55555C;font-weight:700;font-size:14px;padding-top:12px}
.contrat-texte .btn-doc{margin:12px 0 4px;background:#EDE8DC;color:#0D0D0F;min-height:48px;width:100%}
.fondu{position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(180deg,rgba(250,248,243,0),#FAF8F3 85%);pointer-events:none}
.lu{position:absolute;right:16px;bottom:14px;height:30px;padding:0 12px;border-radius:999px;background:#0D0D0F;color:#fff;font-size:13px;font-weight:800;display:inline-flex;align-items:center}
.exemple{background:rgba(255,197,107,.12);color:#FFE7C2;border-radius:14px;padding:12px 14px;font-size:14px}

/* --- biens interdits --- */
.grille-interdits{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.grille-interdits .carte{padding:18px}
.grille-interdits h3{font-family:var(--corps);font-size:15.5px;margin-bottom:8px;display:flex;gap:8px;align-items:center}
.grille-interdits ul{margin:0;padding-left:18px;font-size:14px;line-height:1.55}
.rangee{display:flex;align-items:center;gap:12px;width:100%;padding:14px 4px;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;text-align:left}
.rangee:last-child{border-bottom:0}
.rangee b{color:#fff;display:block;font-size:15.5px}
.rangee small{font-size:13px;color:var(--txt-doux)}
.rangee .f1{flex:1;min-width:0}

/* --- paiement --- */
.moyen{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:18px;background:var(--nuit-2);border:1.5px solid rgba(255,255,255,.08);cursor:pointer;width:100%;text-align:left}
.moyen.on{border-color:var(--or);background:#1A1814}
.moyen .radio{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.45);flex:none;margin-top:2px}
.moyen.on .radio{border:7px solid var(--or-clair)}
.moyen .txt{flex:1;display:flex;flex-direction:column;gap:4px}
.moyen .txt b{color:#fff;font-size:16px}
.moyen .txt span{font-size:14px}
.moyen .logos{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.moyen .logos img{height:26px;width:auto;border-radius:5px}
.zone-stripe{background:#fff;border-radius:16px;padding:18px;min-height:80px}
.zone-stripe .charge{color:#55555C;font-size:14px}
.securise{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt-doux)}
/* Version 12 : le virement bancaire */
.moyen .logo-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:30px;border-radius:7px;background:rgba(201,161,92,.12)}
.zone-virement{background:var(--nuit-3);border:1px solid var(--trait-or);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.zone-virement .charge{color:var(--txt-doux);font-size:14px}
.vir-etapes{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14.5px;color:var(--txt-fort)}
.vir-etapes li::marker{color:var(--or-clair);font-weight:800}
.vir-lignes{display:flex;flex-direction:column;border-radius:14px;background:var(--nuit-2);border:1px solid var(--trait)}
.vir-ligne{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--trait)}
.vir-ligne:last-child{border-bottom:0}
.vir-ligne .k{font-size:13.5px;color:var(--txt-doux)}
.vir-ligne .v{color:#fff;font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.vir-ligne.fort{background:rgba(201,161,92,.1);border-radius:0 0 13px 13px}
.vir-ligne.fort .v{color:var(--or-pale);font-size:18px;letter-spacing:.02em}
.vir-copie{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(201,161,92,.4);background:transparent;color:var(--or-clair);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.vir-copie:hover{background:rgba(201,161,92,.12)}
.vir-copie.copie-ok{background:var(--vert);border-color:var(--vert);color:#0D0D0F}
.vir-note{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--txt-doux)}
.vir-note svg{flex:none;margin-top:2px}
.vir-rappel{display:flex;flex-direction:column;gap:10px;padding:20px 22px}
.vir-rappel h2{font-size:22px}
.vir-suite{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.vir-suite li{position:relative;display:flex;gap:14px;padding:0 0 18px 0}
.vir-suite li:last-child{padding-bottom:0}
.vir-suite li:not(:last-child)::before{content:'';position:absolute;left:11px;top:24px;bottom:2px;width:2px;background:var(--trait)}
.vir-suite li.fait:not(:last-child)::before{background:rgba(111,211,142,.5)}
.vir-suite .pt{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;background:var(--nuit-2)}
.vir-suite li.fait .pt{background:var(--vert);border-color:var(--vert)}
.vir-suite li.encours .pt{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,197,107,.15)}
.vir-suite b{display:block;color:#fff;font-size:15px}
.vir-suite small{display:block;font-size:13px;color:var(--txt-doux)}
@media (max-width:560px){
  .vir-ligne{grid-template-columns:minmax(0,1fr) auto;padding:10px 8px 10px 14px}
  .vir-ligne .k{grid-column:1 / -1;margin-bottom:-6px}
  .vir-copie span{display:none}
  .vir-copie{width:38px;padding:0;justify-content:center}
}

/* --- signature et code --- */
.cadre-signature{position:relative;height:230px;border-radius:20px;background:#FAF8F3;border:2px dashed rgba(201,161,92,.6);touch-action:none;overflow:hidden}
.cadre-signature canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
.cadre-signature .ligne-sig{position:absolute;left:24px;right:24px;bottom:40px;height:1px;background:rgba(0,0,0,.18);pointer-events:none}
.cadre-signature .invite-sig{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8A8A90;font-size:15px;pointer-events:none}
.code-saisie{display:flex;justify-content:center}
.code-saisie input{width:min(340px,100%);text-align:center;font-size:34px;letter-spacing:.42em;font-weight:700;background:var(--nuit-3);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px 0 14px .42em;color:#fff;font-variant-numeric:tabular-nums}
.code-saisie input:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(201,161,92,.2)}

/* --- pdf --- */
.cadre-pdf{width:100%;height:min(70vh,640px);border:0;border-radius:18px;background:#fff}

/* --- piece d'identite --- */
.choix{display:inline-flex;padding:4px;border-radius:999px;background:var(--nuit-3);gap:4px}
.choix button{border:0;background:none;color:rgba(255,255,255,.75);font-weight:700;font-size:14.5px;min-height:42px;padding:0 20px;border-radius:999px;cursor:pointer}
.choix button[aria-pressed="true"]{background:#fff;color:#0D0D0F}
.deux{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}
.deux>*{flex:1 1 360px;min-width:0}
.depots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.depot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:160px;border-radius:16px;border:2px dashed rgba(201,161,92,.45);background:rgba(255,255,255,.03);padding:14px;cursor:pointer;overflow:hidden}
.depot:focus-within{border-color:var(--or)}
.depot b{color:#fff}
.depot small{font-size:13px}
.depot input{position:absolute;inset:0;opacity:0;cursor:pointer}
.depot img.apercu{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.depot.rempli{border-style:solid;border-color:var(--vert)}
.depot .badge{position:relative;z-index:1;background:rgba(13,13,15,.82);color:#DDF5E4;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}
.qr{width:136px;height:136px;border-radius:12px;background:#fff;padding:6px;flex:none;display:flex;align-items:center;justify-content:center}
.qr svg,.qr img{width:100%;height:100%;display:block}

/* --- fin --- */
.fin-hero{position:relative;overflow:hidden;border-radius:28px;background:radial-gradient(circle 340px at 90% -10%,rgba(240,206,138,.5),rgba(150,104,40,.22) 55%,rgba(12,12,14,0) 100%),linear-gradient(180deg,#17130A,#0A0A0C);padding:30px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.fin-hero .txt{flex:999 1 380px;min-width:0;display:flex;flex-direction:column;gap:12px}
.fin-hero h1{font-size:clamp(30px,4.6vw,44px)}
.fin-hero img{width:190px;height:190px;flex:1 1 150px;max-width:190px}
.etiquette{display:inline-flex;align-items:center;gap:8px;width:max-content;min-height:30px;padding:0 13px;border-radius:999px;font-size:13.5px;font-weight:800}
.etiquette.attente{background:rgba(255,149,0,.18);color:var(--orange);flex-direction:row;align-items:center;text-align:left;padding:0 13px;gap:8px}
.etiquette.ok{background:rgba(111,211,142,.16);color:var(--vert)}
.rg-fin{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.rg-fin:last-child{border-bottom:0}
.rg-fin .ic{width:38px;height:38px;border-radius:12px;background:rgba(201,161,92,.14);color:var(--or-clair);display:inline-flex;align-items:center;justify-content:center;flex:none}
.rg-fin .t{flex:1;min-width:0}
.rg-fin .t b{color:#fff;display:block}
.rg-fin .t small{font-size:13px;color:var(--txt-doux)}
.boutiques{display:flex;flex-wrap:wrap;gap:10px}
.boutique{display:inline-flex;flex-direction:column;justify-content:center;min-height:48px;padding:0 18px;border-radius:14px;background:#fff;color:#0D0D0F;text-decoration:none;font-weight:700;font-size:14px;line-height:1.1}
.boutique small{font-size:10.5px;font-weight:600}
.boutique:hover{color:#0D0D0F}

/* --- connexion et fenetres --- */
.voile{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
.fenetre-doc{background:var(--nuit-2);border-radius:24px;width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.fenetre-doc header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.fenetre-doc header h2{font-size:20px}
.fenetre-doc .corps{overflow-y:auto;padding:20px 24px;color:var(--txt-fort);font-size:15px;line-height:1.65}
.fenetre-doc .corps h3{font-family:var(--corps);font-size:16px;margin:16px 0 6px}
.fenetre-doc .corps p,.fenetre-doc .corps li{margin:0 0 8px}
.rond{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);border:0;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}

.app-mini{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);text-decoration:none;color:var(--txt-fort);font-size:14px;line-height:1.4}
.app-mini span.f1{flex:1}
.app-mini b{color:var(--or-clair)}
.chargement{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--txt)}
.roue{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--or);animation:tourne .8s linear infinite;margin-right:12px}
@keyframes tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.point,.roue{animation:none}}

/* --- telephone --- */
.seulement-tel{display:none}
@media (max-width:959px){
  .lo-aside{display:none}
  .seulement-tel{display:block}
  .seulement-ordi{display:none!important}
}
@media (max-width:640px){
  .lo-tete{padding:12px 16px;gap:10px 14px;justify-content:space-between}
  .lo-logo img{height:30px}
  .lo-liens{gap:14px;font-size:13.5px}
  .lo-liens .tel-txt{display:none}
  .lo-prog{flex-basis:100%;order:3}
  .lo-page{padding:22px 16px 48px;gap:24px}
  .champs2,.depots{grid-template-columns:minmax(0,1fr)}
  .champs3{gap:8px}
  .champ{padding:9px 12px}
  .champ-tel .pays{flex-basis:106px}
  .pied{flex-direction:column-reverse;align-items:stretch}
  .pied .btn{width:100%;min-width:0}
  .hero-box img{width:108px;height:108px}
  .hero-box .prix{font-size:28px}
  .contrat-texte{padding:20px 18px 36px}
  .fin-hero{padding:24px 20px}
  .fin-hero img{max-width:130px;height:130px}
  .qr{width:120px;height:120px}
}

/* --- version 5 : compris dans le prix, photos du centre --- */
.sur-titre{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:10px}
.inclus{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.inclus li{display:flex;gap:12px;align-items:flex-start;background:var(--nuit-2);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px}
.inclus .ic-inclus{width:40px;height:40px;border-radius:12px;background:rgba(201,161,92,.14);display:inline-flex;align-items:center;justify-content:center;flex:none}
.inclus b{display:block;color:#fff;font-size:14.5px;line-height:1.3}
.inclus small{display:block;font-size:13px;color:var(--txt-doux);margin-top:3px;line-height:1.35}
.inclus.compact{grid-template-columns:minmax(0,1fr);gap:0}
.inclus.compact li{background:none;border:0;border-radius:0;padding:7px 0;align-items:center;gap:12px}
.inclus.compact .ic-inclus{width:32px;height:32px;border-radius:10px}
.inclus.compact b{font-size:14px;font-weight:600;color:var(--txt-fort)}
.centre{padding:14px}
.centre .photos{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(2,64px);gap:6px}
.centre .photos img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block;background:var(--nuit-3)}
.centre .photos img:first-child{grid-row:span 2}
.centre-txt{display:flex;flex-direction:column;gap:4px;padding:12px 4px 2px;font-size:14px}
.centre-txt b{color:#fff}
.centre-txt a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700}

/* --- version 6 : les biens interdits en pictogrammes, comme dans l'app --- */
.liste-interdits{display:flex;flex-direction:column;gap:16px}
.cat-int h3{font-family:var(--corps);font-size:15px;font-weight:600;color:var(--txt-fort);margin:0 0 10px 4px}
.tuiles-int{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tuile-int{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--nuit-2);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:14px 8px 12px;min-height:128px}
.rond-int{position:relative;width:58px;height:58px;border-radius:50%;background:rgba(255,105,97,.12);display:inline-flex;align-items:center;justify-content:center;flex:none}
.pastille-int{position:absolute;top:-4px;right:-6px;width:24px;height:24px;border-radius:50%;background:#FF3B30;border:2px solid var(--nuit-2);display:inline-flex;align-items:center;justify-content:center}
.tuile-int .lib{font-size:13px;font-weight:500;color:#fff;line-height:1.3}

/* --- ordinateur : tout tient dans l'ecran, sans faire defiler la page (version 5) --- */
@media (min-width:960px){
  html{background:var(--nuit)}
  body{background:radial-gradient(900px 520px at 92% 100%,rgba(201,161,92,.11),rgba(13,13,15,0) 70%),radial-gradient(700px 420px at 0% 0%,rgba(201,161,92,.05),rgba(13,13,15,0) 70%),var(--nuit)}
  .lo-tete{height:72px;padding:0 36px;flex-wrap:nowrap}
  .lo-page{width:min(1260px,100%);display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:center;padding:24px 36px;min-height:calc(100vh - 72px)}
  .lo-page.large{grid-template-columns:minmax(0,1fr);width:min(1100px,100%)}
  .lo-main{gap:14px}
  .lo-aside{position:static;gap:14px}
  .titre-etape h1{font-size:34px}
  .titre-etape p{font-size:15.5px;margin-top:2px}
  .tuile{width:50px;height:50px;border-radius:15px}
  .hero-box{padding:16px 24px;gap:18px}
  .hero-box img{width:116px;height:116px}
  .hero-box .prix{font-size:38px}
  .champ{min-height:56px;padding:7px 16px}
  .champ input,.champ select{font-size:16px}
  .ligne-interrupteur{padding:10px 16px}
  .case{padding:13px 16px}
  .btn{min-height:52px}
  .attente{padding:26px 22px;gap:12px}
  .attente .grande-tuile{width:76px;height:76px}
  .contrat-texte{height:calc(100vh - 430px);min-height:260px}
  .cadre-signature{height:clamp(170px,calc(100vh - 560px),260px)}
  .cadre-pdf{height:calc(100vh - 330px);min-height:320px}
  .carte{padding:18px 20px}
  .lo-aside .rg{padding:8px 0;font-size:14.5px}
  .lo-main>*,.lo-aside>*{flex-shrink:0}
  .liste-interdits{max-height:calc(100vh - 580px);min-height:180px;overflow-y:auto;border-radius:20px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.02);padding:12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
  .liste-interdits .tuiles-int{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tuile-int{min-height:118px;padding:12px 8px 10px}
  .docs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:4px 18px}
  .docs .rangee{border-bottom:0;padding:10px 4px}
  .cadre-pdf{height:calc(100vh - 420px);min-height:300px}
  .fin-hero{padding:16px 26px}
  .fin-hero img{width:110px;height:110px;max-width:110px}
  .fin-hero h1{font-size:34px}
  .rg-fin{padding:9px 0}
}
@media (min-width:960px) and (min-height:640px){
  html,body{height:100%;overflow:hidden}
  .lo-page{height:calc(100vh - 72px);min-height:0}
  .lo-main,.lo-aside{max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;padding:4px}
}

/* Version 8 : badges des boutiques */
.badges{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.badges img{height:44px;width:auto;display:block}.badge-lien{display:block;border-radius:9px;transition:transform .15s}.badge-lien:hover{transform:translateY(-2px)}
.promo{display:flex;gap:10px;align-items:center;margin:2px 0 4px}
.promo input{flex:1;min-width:0;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;padding:0 14px;font:inherit;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.promo input:focus{outline:none;border-color:#E3C68C}
.promo.appliquee{padding:12px 14px;border-radius:16px;background:rgba(227,198,140,.1);border:1px dashed rgba(227,198,140,.55)}
.promo.appliquee b{display:block;color:#fff;letter-spacing:.05em}
.promo.appliquee small{display:block;color:rgba(255,255,255,.65);font-size:13px}
.promo-lien{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0 0 4px;color:#E3C68C}
.prix-barre{color:rgba(255,255,255,.45);font-weight:500;margin-right:4px}
.rg.remise-promo b{color:#7CEB98}
.bloc.avis.gratuit{border-color:rgba(124,235,152,.35);background:rgba(48,196,141,.1)}
/* Site v10 : le selfie a cote de la piece */
.depots.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.depots.trois .depot b{font-size:15px}
@media (max-width:640px){.depots.trois{grid-template-columns:minmax(0,1fr)}}
