/* Affinités Immobilier · Offre acheteurs (passeport, diagnostic, accompagnement, chasse, acheter) · v2 */
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pp-hero h1 em{color:var(--ach)}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-chips span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13.5px;font-weight:600;color:var(--text)}
.pp-chips .ic{width:17px;height:17px;color:var(--ach)}
.pp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(28px,4vw,64px);align-items:start;padding-block:clamp(32px,4vw,60px) 0}
.pp-main{display:flex;flex-direction:column;gap:clamp(36px,4.5vw,60px);min-width:0}
.pp-blk{display:flex;flex-direction:column;gap:16px;min-width:0}
.pp-blk h2,.pp-cg h2{font-family:var(--f-d);font-weight:500;font-size:clamp(30px,3.2vw,42px);line-height:1.08;margin:0;text-wrap:balance}
.pp-blk h2 em,.pp-cg h2 em{color:var(--ach)}
.pp-l{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pp-l li{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0}
.pp-l li>.ic{width:38px;height:38px;padding:9px;border-radius:50%;background:#E8F1EC;color:var(--ach);stroke-width:1.5}
.pp-l li div{display:flex;flex-direction:column;gap:4px;min-width:0}
.pp-l b{font-family:var(--f-d);font-weight:500;font-size:21px;line-height:1.15}
.pp-l span{font-size:14.5px;color:var(--muted);line-height:1.55}
.pp-l.sm{grid-template-columns:1fr}
.pp-l.sm li{padding:14px 16px;background:transparent}
.pp-l.sm li>.ic{width:30px;height:30px;padding:6px;background:var(--sand);color:var(--muted)}
.pp-l.sm b{font-family:var(--f-b);font-size:14.5px;font-weight:700;color:var(--text)}
.pp-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border-top:2px solid var(--text)}
.pp-steps li{counter-increment:s;padding:18px 16px 4px 0;display:flex;flex-direction:column;gap:6px;min-width:0}
.pp-steps li::before{content:"0" counter(s);font-family:var(--f-d);font-size:34px;line-height:1;color:var(--ach)}
.pp-steps b{font-size:15px}
.pp-steps span{font-size:14px;color:var(--muted);line-height:1.5}
.pp-side{position:sticky;top:96px;min-width:0}
.pp-card{background:var(--surface);border:1px solid var(--ink);border-radius:20px;padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px rgba(23,25,28,.07)}
.pp-head{display:flex;gap:16px;align-items:center}
.pp-badge{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(150deg,#2E6B57,#1F4B5E);color:#fff;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.pp-badge .ic{width:34px;height:34px;stroke-width:1.4}
.pp-px{font-family:var(--f-d);font-size:40px;line-height:1;font-weight:500;margin-top:4px;font-variant-numeric:lining-nums}
.pp-px small{display:block;font-family:var(--f-b);font-size:12.5px;color:var(--muted);margin-top:6px;letter-spacing:.02em}
.pp-ded{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;padding:10px 12px;background:var(--sand);border-radius:10px}
.pp-card .cta{width:100%;justify-content:center;min-height:52px}
.pp-sec{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:12.5px;color:var(--faint);line-height:1.45}
.pp-sec .ic{width:16px;height:16px;margin-top:1px}
.pp-alt{margin:0;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.pp-cg{max-width:900px}
.pp-cgl{margin:6px 0 0;padding-left:1.3em;display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:15px;line-height:1.65}
.pp-cgl b{color:var(--text)}
@media (max-width:980px){.pp-grid{grid-template-columns:1fr}.pp-side{position:static}}
@media (max-width:760px){.pp-l{grid-template-columns:1fr}.pp-steps{grid-template-columns:1fr 1fr;row-gap:8px}.pp-chips{justify-content:center}.pp-px{font-size:36px}}
/* v2 · escalier de l'offre acheteurs */
.pp-badge-diagnostic{background:linear-gradient(150deg,#1F4B5E,#2E6B57)}
.pp-badge-accompagnement{background:linear-gradient(150deg,#2E6B57,#8C6B42)}
.pp-badge-chasse{background:linear-gradient(150deg,#1F4B5E,#17191C)}
.pp-today{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px dashed var(--ach);border-radius:12px;background:#E8F1EC}
.pp-today span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ach);font-weight:700}
.pp-today b{font-size:17px}
.pp-today small{font-size:12.5px;color:var(--muted)}
.pp-steps.s6{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:10px}
.pp-bar{min-width:480px}
.pp-bar td:nth-child(n+2),.pp-bar th:nth-child(n+2){font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.pp-eng li>.ic{background:#E8F1EC;color:var(--ach)}
.esc-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:clamp(20px,3vw,32px) var(--gut) 0;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.esc-nav-all{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--espace);padding-inline:8px;text-decoration:none}
.esc-nav ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;flex:1;min-width:0}
.esc-nav a[href^="/"]:not(.esc-nav-all){display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:baseline;padding:9px 12px;border-radius:11px;text-decoration:none;color:var(--text);min-width:0}
.esc-nav i{grid-row:1/3;font-style:normal;font-family:var(--f-d);font-size:22px;color:var(--faint);line-height:1}
.esc-nav b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.esc-nav small{font-size:12px;color:var(--muted)}
.esc-nav a:hover{background:var(--sand)}
.esc-nav a[aria-current]{background:var(--ach);color:#fff}
.esc-nav a[aria-current] i,.esc-nav a[aria-current] small{color:rgba(255,255,255,.8)}
.esc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.esc-s{min-width:0}
.esc-s a{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.esc-s a:hover{border-color:var(--ach);transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,25,28,.07)}
.esc-passeport a{min-height:330px}.esc-diagnostic a{min-height:370px}.esc-accompagnement a{min-height:410px}.esc-chasse a{min-height:450px;border-color:var(--ink)}
.esc-n{display:flex;align-items:baseline;gap:10px;font-family:var(--f-d);font-size:30px;line-height:1;color:var(--ach)}
.esc-n i{font-style:normal;font-family:var(--f-b);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--espace);font-weight:700}
.esc-ic{display:inline-flex;width:46px;height:46px;border-radius:14px;align-items:center;justify-content:center;background:linear-gradient(150deg,#2E6B57,#1F4B5E);color:#fff}
.esc-ic .ic{width:25px;height:25px;stroke-width:1.4}
.esc-name{font-family:var(--f-d);font-weight:500;font-size:clamp(26px,2.4vw,32px);line-height:1.05}
.esc-px{font-family:var(--f-d);font-size:clamp(28px,2.6vw,36px);line-height:1;color:var(--gold);font-variant-numeric:lining-nums}
.esc-px small{display:block;font-family:var(--f-b);font-size:12.5px;color:var(--muted);margin-top:6px}
.esc-q{font-size:15px;color:var(--muted);line-height:1.5}
.esc-inc{margin-top:auto;font-size:12.5px;font-weight:700;color:var(--ach)}
.esc-go{font-size:14px;font-weight:700;padding-top:12px;border-top:1px solid var(--line)}
.esc-start{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 16px;border-radius:12px;background:var(--sand);font-size:15px;color:var(--text)}
.esc-start .ic{color:var(--ach);margin-top:2px}
.esc-start a{color:var(--ach);font-weight:700}
.esc-t th small{display:block;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:500;margin-top:4px}
.esc-t td:first-child{font-weight:700;color:var(--text);min-width:150px}
.esc-t td.no{color:var(--faint)}
.esc-rules{grid-template-columns:repeat(3,minmax(0,1fr))}
.pp-not a,.pp-alt a{color:var(--ach);font-weight:600}
@media (max-width:1100px){.esc{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.esc-s a{min-height:0!important}.esc-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.esc{grid-template-columns:1fr}.esc-rules{grid-template-columns:1fr}.pp-steps.s6{grid-template-columns:1fr 1fr}.esc-nav{padding:8px}.esc-nav-all{width:100%;padding:4px 6px 0}.esc-nav ol{grid-template-columns:1fr 1fr}}
/* v3 · marche 00 : la capacité */
.esc-zero{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px 26px;padding:18px 22px;border:1px dashed var(--ach);border-radius:18px;background:#E8F1EC;color:var(--text);text-decoration:none;transition:background .15s}
.esc-zero:hover{background:#DDEBE3}
.esc-zero .esc-n{font-size:30px}
.esc-zt{display:flex;flex-direction:column;gap:4px;min-width:0}
.esc-zt b{font-family:var(--f-d);font-weight:500;font-size:clamp(24px,2.2vw,30px);line-height:1.05}
.esc-zt span{font-size:14.5px;color:var(--muted);line-height:1.5}
.esc-zp{font-family:var(--f-d);font-size:clamp(26px,2.4vw,32px);color:var(--ach)}
.esc-zero .esc-go{border-top:0;padding-top:0;white-space:nowrap}
@media (max-width:760px){.esc-zero{grid-template-columns:1fr;gap:8px;padding:18px}.esc-zero .esc-go{padding-top:10px;border-top:1px solid rgba(46,107,87,.25)}}
.v-hero h1 em,.esc-vend .esc-n,.v-hero .pp-chips .ic{color:var(--vend)}
.esc-vend .esc-ic{background:linear-gradient(150deg,#8C6B42,#1F4B5E)}
.esc-vend .esc-s a:hover{border-color:var(--vend)}
.esc-vend .esc-inc{color:var(--vend)}

/* v4 · contraste de l’étape courante */
.esc-nav ol a[aria-current],.esc-nav ol a[aria-current] b{color:#fff}
.esc-nav ol a[aria-current] i,.esc-nav ol a[aria-current] small{color:rgba(255,255,255,.85)}
