/* ProprioDirect v4 */
:root {
  --c:#F7F4EE;--ink:#1A1814;--il:#5A5650;--ill:#9A9590;
  --sd:#D4CCC0;--s:#E8E2D6;
  --a:#C8501A;--al:#F0D4C8;
  --g:#2A5C45;--gl:#D4E8DF;--gd:#1e4432;
  --b:#185FA5;--bl:#E6F1FB;
  --go:#B07D2A;--gol:#FDF3DC;
  --pj:#7B3FA0;--pjl:#F0E6FA;
  --ot:#1A7A6E;--otl:#D4F0EC;
}
*{box-sizing:border-box;margin:0;padding:0;}
.pd-wrap{font-family:'DM Sans',-apple-system,sans-serif;max-width:920px;margin:0 auto;color:var(--ink);}
.pd-wrap *{box-sizing:border-box;}

/* Topbar */
.pd-topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0 1.5rem;}
.pd-logo{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;}
.pd-logo span{color:var(--a);}
.pd-topbar-r{display:flex;gap:8px;align-items:center;}
.pd-cred-btn{display:flex;align-items:center;gap:6px;background:var(--ink);color:#fff;padding:6px 14px;border-radius:99px;font-size:13px;font-weight:500;cursor:pointer;border:none;}
.pd-cred-btn i{color:#F4C430;}
.pd-btn-out{background:transparent;border:1px solid var(--sd);padding:6px 14px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-block;}

/* Hero */
.pd-hero{text-align:center;padding:1rem 0 2rem;}
.pd-eyebrow{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--a);background:var(--al);padding:3px 12px;border-radius:99px;margin-bottom:.8rem;font-weight:500;}
.pd-hero h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:.5rem;}
.pd-hero p{color:var(--il);max-width:480px;margin:0 auto 1.5rem;font-size:.95rem;line-height:1.6;}

/* Grille tarifaire */
.pd-tarif-grid{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:1.5rem;}
.pd-tarif{border:1px solid var(--sd);border-radius:10px;padding:.8rem 1.2rem;text-align:center;background:#fff;min-width:120px;position:relative;}
.pd-tarif-top{border-color:var(--go);background:var(--gol);}
.pd-tarif-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--go);color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap;}
.pd-tarif-credit{font-size:1.2rem;font-weight:700;color:var(--ink);}
.pd-tarif-label{font-size:12px;color:var(--il);margin:.3rem 0;}
.pd-tarif-ico{font-size:1.1rem;color:var(--g);}

/* Search card */
.pd-sc{background:#fff;border:1px solid var(--sd);border-radius:14px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 3px 18px rgba(26,24,20,.05);}

/* Formulaire — layout vertical */
.pd-sr{display:flex;flex-direction:column;gap:12px;margin-bottom:1rem;}

/* Ligne ville + CP + bouton */
.pd-sr-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;}
.pd-sr-row .pd-field{flex:1 1 180px;margin:0;}
.pd-field-cp{flex:0 0 130px !important;}
.pd-sr-row .pd-btn-primary{flex:0 0 auto;height:40px;white-space:nowrap;}

/* Champ pleine largeur */
.pd-field-full{width:100%;}
.pd-field-hint{font-size:11px;color:var(--ill);font-weight:400;text-transform:none;letter-spacing:0;}

/* Cases à cocher type de logement */
.pd-checkboxes{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.pd-check{cursor:pointer;display:inline-flex;}
.pd-check input[type="checkbox"]{display:none;}
.pd-check span{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;
  border:1.5px solid var(--sd);background:var(--c);
  color:var(--il);transition:all .15s ease;user-select:none;line-height:1;
}
.pd-check span i{font-size:14px;}
.pd-check.active span,
.pd-check input:checked + span{
  background:var(--ink);color:#fff;border-color:var(--ink);
}
.pd-check:not(.active) span:hover{border-color:var(--ink);color:var(--ink);}

.pd-field{display:flex;flex-direction:column;gap:4px;}
.pd-field label{font-size:11px;font-weight:500;color:var(--il);letter-spacing:.05em;text-transform:uppercase;}
.pd-field input{background:var(--c);border:1px solid var(--sd);border-radius:7px;padding:9px 12px;font-size:14px;color:var(--ink);outline:none;width:100%;}
.pd-field input:focus{border-color:var(--ink);}
.pd-btn-primary{background:var(--ink);color:#fff;border:none;border-radius:7px;padding:0 16px;height:40px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.pd-btn-primary:hover{background:#2c2a26;}

/* Sources toggles */
.pd-src-toggles{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem;}
.pd-tog{padding:5px 11px;border-radius:99px;border:1px solid var(--sd);background:transparent;font-size:12px;font-weight:500;cursor:pointer;color:var(--ill);display:flex;align-items:center;gap:4px;transition:all .15s;}
.pd-tog-p.active{background:var(--bl);border-color:#b5d4f4;color:var(--b);}
.pd-tog-g.active{background:var(--gl);border-color:#9FE1CB;color:var(--g);}
.pd-tog-j.active{background:var(--pjl);border-color:#d4b3f0;color:var(--pj);}

/* OT row */
.pd-ot-row{border-top:1px solid var(--sd);padding-top:1rem;margin-top:.5rem;}
.pd-ot-label{font-size:12px;font-weight:500;color:var(--ot);display:flex;align-items:center;gap:5px;margin-bottom:.5rem;}
.pd-ot-inputs{display:flex;gap:8px;align-items:center;}
.pd-ot-inputs input{flex:1;background:var(--c);border:1px solid var(--sd);border-radius:7px;padding:8px 12px;font-size:13px;color:var(--ink);outline:none;}
.pd-ot-inputs input:focus{border-color:var(--ot);}
.pd-btn-ot{background:var(--ot);color:#fff;border:none;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.pd-ot-hint{font-size:11px;color:var(--ill);margin-top:5px;}
.pd-sc-note{font-size:12px;color:var(--ill);margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--sd);}

/* Loading */
.pd-loading{text-align:center;padding:2.5rem 1rem;}
.pd-spinner{width:40px;height:40px;border:3px solid var(--sd);border-top-color:var(--ink);border-radius:50%;animation:pd-spin .85s linear infinite;margin:0 auto 1rem;}
@keyframes pd-spin{to{transform:rotate(360deg);}}
.pd-lt{font-size:1.1rem;font-weight:600;margin-bottom:4px;}
.pd-lsub{font-size:13px;color:var(--il);margin-bottom:1.2rem;}
.pd-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:420px;margin:0 auto;}
.pd-step{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ill);padding:7px 11px;border-radius:7px;}
.pd-step.active{color:var(--ink);background:var(--s);}
.pd-step.done{color:var(--g);background:var(--gl);}
.pd-pbar{height:4px;background:var(--sd);border-radius:2px;margin-top:1rem;overflow:hidden;max-width:420px;margin-left:auto;margin-right:auto;}
.pd-pfill{height:100%;background:var(--ink);border-radius:2px;width:0%;transition:width .5s ease;}

/* Results */
.pd-rbar{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:1rem;}
.pd-rtitle{font-size:1.2rem;font-weight:600;}
.pd-rsub{font-size:12px;color:var(--il);margin-top:2px;}
.pd-rbtns{display:flex;gap:7px;}
.pd-btn-sm{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;border:1px solid var(--sd);background:#fff;font-size:12px;font-weight:500;cursor:pointer;color:var(--ink);}
.pd-btn-sm:hover{background:var(--s);}
.pd-btn-exp{background:var(--g);color:#fff;border-color:var(--g);}
.pd-btn-exp:hover{background:var(--gd);}

/* Chips & filters */
.pd-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:.8rem;}
.pd-chip{display:flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:500;}
.ch-t{background:var(--s);color:var(--ink);}
.ch-p{background:var(--bl);color:var(--b);}
.ch-g{background:var(--gl);color:var(--g);}
.ch-j{background:var(--pjl);color:var(--pj);}
.ch-ot{background:var(--otl);color:var(--ot);}
.ch-e{background:var(--gol);color:var(--go);}
.pd-fbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem;}
.pd-fbt{padding:4px 11px;border-radius:99px;border:1px solid var(--sd);background:transparent;font-size:12px;cursor:pointer;color:var(--ill);display:flex;align-items:center;gap:4px;}
.pd-fbt.active{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ══════════════════════════════════════════════════
   CARTE RÉSULTAT — avec masquage flou
══════════════════════════════════════════════════ */
.pd-card{background:#fff;border:1px solid var(--sd);border-radius:11px;padding:1.1rem 1.3rem;margin-bottom:10px;animation:pd-fu .3s ease both;transition:box-shadow .15s;}
@keyframes pd-fu{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.pd-card:hover{box-shadow:0 3px 16px rgba(26,24,20,.07);}
.pd-card.enriched{border-left:3px solid var(--go);}

.pd-ch{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:7px;gap:8px;}

/* Zone masquée — blur CSS complet */
.pd-masked-zone{
  background:var(--c);
  border:1px solid var(--sd);
  border-radius:8px;padding:.8rem 1rem;
  margin-bottom:.8rem;
  position:relative;overflow:hidden;
  min-height:70px;
}
/* Overlay cadenas centré */
.pd-blur-overlay{
  position:absolute;inset:0;z-index:3;
  display:flex;align-items:center;justify-content:center;
  gap:6px;font-size:12px;font-weight:500;color:var(--il);
  background:rgba(247,244,238,.15);
  cursor:default;
}
.pd-blur-overlay i{font-size:16px;color:var(--ill);}
/* Contenu réel — flou total, illisible, non sélectionnable, non copiable */
.pd-blur-content{
  filter:blur(7px);
  -webkit-filter:blur(7px);
  user-select:none;
  -webkit-user-select:none;
  pointer-events:none;
}
/* SIREN dans la zone révélée — style discret */
.pd-siren{font-size:11px;color:var(--ill);margin-top:3px;display:flex;align-items:center;gap:3px;}
.pd-masked-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.pd-masked-addr{font-size:12px;color:var(--il);}

/* Zone révélée palier 1 */
.pd-rv1{background:#fff;border:1px solid var(--sd);border-radius:8px;padding:.8rem 1rem;margin-bottom:.8rem;}
.pd-rv1-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.pd-rv1-addr{font-size:12px;color:var(--il);display:flex;align-items:center;gap:4px;}

/* Zone contacts */
.pd-contacts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:.8rem;}
.pd-contact-row{display:flex;align-items:center;gap:6px;}

/* Badge contact masqué */
.pd-cbadge{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .15s;}
.pd-cbadge-email{background:var(--bl);color:var(--b);}
.pd-cbadge-email:hover{background:#d0e8f8;}
.pd-cbadge-phone{background:var(--gl);color:var(--g);}
.pd-cbadge-phone:hover{background:#c0e0d4;}
.pd-cbadge-locked{background:var(--s);color:var(--ill);cursor:default;}

/* Contact révélé */
.pd-contact-revealed{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;}
.pd-contact-revealed.email{color:var(--b);}
.pd-contact-revealed.phone{color:var(--g);}
.pd-contact-na{font-size:12px;color:var(--ill);font-style:italic;}

/* Pills sources */
.pd-pills{display:flex;gap:3px;flex-wrap:wrap;flex-shrink:0;}
.pd-pill{font-size:10px;padding:2px 7px;border-radius:99px;font-weight:500;white-space:nowrap;}
.pp-p{background:var(--bl);color:var(--b);}
.pp-g{background:var(--gl);color:var(--g);}
.pp-j{background:var(--pjl);color:var(--pj);}
.pp-ot{background:var(--otl);color:var(--ot);}
.pp-e{background:var(--gol);color:var(--go);}
.pp-f{background:#EAF3DE;color:#3B6D11;}

/* Boutons action */
.pd-card-act{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-left:.5rem;}
.pd-rating{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--ill);}
.pd-btn-reveal{background:var(--a);color:#fff;border:none;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.pd-btn-reveal:hover{background:#a83d12;}
.pd-btn-reveal.level2{background:var(--b);}
.pd-btn-reveal.level2:hover{background:#0e3d73;}
.pd-btn-reveal:disabled{background:var(--sd);color:var(--ill);cursor:default;}
.pd-rnote{font-size:10px;color:var(--ill);text-align:right;}

/* Liens externes */
.pd-extlinks{display:flex;gap:10px;margin-top:6px;}
.pd-el{font-size:11px;color:var(--b);text-decoration:none;display:flex;align-items:center;gap:3px;}
.pd-el:hover{text-decoration:underline;}

/* Modal */
.pd-mo{position:fixed;inset:0;background:rgba(26,24,20,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;}
.pd-md{background:#fff;border-radius:14px;padding:2rem;max-width:420px;width:100%;position:relative;}
.pd-md h3{font-size:1.3rem;font-weight:700;margin-bottom:.3rem;}
.pd-md>p{font-size:13px;color:var(--il);margin-bottom:1rem;line-height:1.6;}
.pd-mc{position:absolute;top:1rem;right:1rem;background:var(--c);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--il);}

/* Paliers dans modal */
.pd-paliers{display:flex;gap:8px;margin-bottom:1.2rem;flex-wrap:wrap;}
.pd-palier{background:var(--c);border:1px solid var(--sd);border-radius:7px;padding:6px 12px;font-size:12px;display:flex;align-items:center;gap:6px;}
.pd-pal-n{font-weight:700;color:var(--a);}

/* Packs */
.pd-packs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:1rem;}
.pd-pack{border:2px solid var(--sd);border-radius:10px;padding:.85rem .7rem;text-align:center;cursor:pointer;transition:border-color .15s;position:relative;}
.pd-pack:hover,.pd-pack.active{border-color:var(--ink);}
.pd-pack-pop{border-color:var(--b);}
.pd-pbadge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--a);color:#fff;font-size:10px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap;}
.pd-pn{font-size:11px;color:var(--il);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.pd-pc{font-size:1.5rem;font-weight:700;}
.pd-pc small{font-size:.7rem;font-weight:400;color:var(--il);}
.pd-pp{font-size:13px;font-weight:500;margin-top:3px;}
.pd-pu{font-size:11px;color:var(--ill);}
.pd-btn-pay{width:100%;background:var(--ink);color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:.5rem;}
.pd-secure{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--ill);margin-top:8px;}
.pd-alert{padding:10px 14px;background:var(--gl);color:var(--g);border-radius:7px;margin-bottom:1rem;font-size:13px;}
.pd-alert a{color:var(--b);}
.pd-success{background:var(--gl);}
.pd-toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);background:var(--g);color:#fff;padding:10px 20px;border-radius:99px;font-size:13px;font-weight:500;z-index:99999;}

@media(max-width:640px){
  .pd-sr{grid-template-columns:1fr;}
  .pd-packs{grid-template-columns:1fr;}
  .pd-steps{grid-template-columns:1fr;}
  .pd-ot-inputs{flex-direction:column;}
  .pd-tarif-grid{gap:6px;}
}

/* ══ AVANTAGES HERO ══════════════════════════════════════ */
.pd-avantages{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:1.5rem;}
.pd-avantage{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--sd);border-radius:99px;padding:7px 16px;font-size:13px;color:var(--il);}
.pd-avantage i{font-size:16px;color:var(--a);}
.pd-avantage strong{color:var(--ink);}
.pd-tarif-sub{font-size:11px;color:var(--ill);margin-top:2px;}
.pd-hero-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:1rem;}
.pd-hero-link{font-size:12px;color:var(--b);text-decoration:none;display:flex;align-items:center;gap:4px;opacity:.8;transition:opacity .15s;}
.pd-hero-link:hover{opacity:1;text-decoration:underline;}
.pd-hero-sep{color:var(--ill);font-size:12px;}

/* ══ SEARCH FOOTER ══════════════════════════════════════ */
.pd-src-label{font-size:11px;color:var(--ill);text-transform:uppercase;letter-spacing:.06em;font-weight:500;}
.pd-sc-footer{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--sd);}
.pd-sc-sep{color:var(--ill);font-size:11px;}
.pd-sc-note{font-size:12px;color:var(--ill);display:flex;align-items:center;gap:4px;}
.pd-sc-link{text-decoration:none;color:var(--b) !important;}
.pd-sc-link:hover{text-decoration:underline;}
.pd-ot-help{font-size:11px;color:var(--b);text-decoration:none;margin-left:8px;opacity:.8;}
.pd-ot-help:hover{opacity:1;text-decoration:underline;}

/* ══ MODAL LÉGAL ════════════════════════════════════════ */
.pd-modal-legal{font-size:11px;color:var(--ill);text-align:center;margin-top:10px;line-height:1.6;}
.pd-modal-legal a{color:var(--b);text-decoration:none;}
.pd-modal-legal a:hover{text-decoration:underline;}

/* ══ FOOTER PROFESSIONNEL ═══════════════════════════════ */
.pd-footer{margin-top:3rem;border-top:2px solid var(--sd);background:var(--ink);}
.pd-footer-top{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:2rem;max-width:900px;margin:0 auto;}
.pd-footer-brand{color:#fff;}
.pd-footer-logo{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.4rem;}
.pd-footer-logo span{color:var(--pd-a);}
.pd-footer-tagline{font-size:13px;color:#aaa;margin-bottom:.6rem;line-height:1.5;}
.pd-footer-legal-id{font-size:11px;color:#777;line-height:1.6;}
.pd-footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.pd-footer-col{display:flex;flex-direction:column;gap:6px;}
.pd-footer-col-title{font-size:11px;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.pd-footer-col a{font-size:12px;color:#ccc;text-decoration:none;line-height:1.6;transition:color .15s;}
.pd-footer-col a:hover{color:#fff;}
.pd-footer-bottom{border-top:1px solid #333;padding:1rem 2rem;max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.pd-footer-bottom-left{font-size:11px;color:#666;}
.pd-footer-bottom-right{font-size:11px;color:#666;display:flex;align-items:center;gap:5px;}

@media(max-width:640px){
  .pd-footer-top{grid-template-columns:1fr;}
  .pd-footer-cols{grid-template-columns:1fr;}
  .pd-avantages{gap:8px;}
  .pd-avantage{font-size:12px;padding:5px 12px;}
}