:root{--font-title:"Inter Tight", "Inter", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--purple:#7c3aed;--purple-dark:#6d28d9;--purple-light:#f0eeff;--coral:#ff6b6b;--dark:#0a0a0a;--gray:#557;--light-gray:#888;--border:#d0cce8;--section-border:#e0dcef;--bg:#fdfcff;--bg-section:#f0eeff;--card-shadow:0 2px 8px #7c3aed14;--text:#0a0a0a;--text-muted:#335;--text-dim:#668;--card-bg:#fff;--input-bg:#7c3aed0a;--navbar-bg:#fdfcfff0;--warning:#f59e0b;--warning-bg:#f59e0b14;--warning-text:#b87a00;--warning-border:#f59e0b59;--error:#ef4444;--error-text:#c33;--coral-bg:#ff6b6b14;--coral-border:#ff6b6b59;--bg-primary-dark:#080612;--admin-bg:#f7f7fb;--bg-primary:#fdfcff;--bg-secondary:#f0eeff;--bg-card:#fff;--text-primary:#0a0a0a;--text-secondary:#335;--agent-color:#2563eb;--agent-bg:#2563eb14;--notaire-color:#d97706;--notaire-bg:#d9770614;--notaire-border:#d9770633;--role-color:#7c3aed;--role-light:#7c3aed14;--role-medium:#7c3aed26;--role-border:#7c3aed40;--role-shadow:#7c3aed73;--text-xs:clamp(10px, 1.8vw, 11px);--text-sm:clamp(11px, 2vw, 13px);--text-base:clamp(14px, 2.2vw, 15px);--text-md:clamp(15px, 2.5vw, 17px);--text-lg:clamp(17px, 2.8vw, 20px);--text-xl:clamp(20px, 3.5vw, 26px);--text-2xl:clamp(24px, 4vw, 34px);--text-3xl:clamp(28px, 5vw, 44px);--text-4xl:clamp(32px, 6vw, 60px);--sp-1:clamp(4px, .8vw, 8px);--sp-2:clamp(8px, 1.5vw, 16px);--sp-3:clamp(12px, 2vw, 20px);--sp-4:clamp(16px, 2.5vw, 28px);--sp-5:clamp(24px, 4vw, 48px);--sp-6:clamp(36px, 5vw, 64px);--sp-7:clamp(52px, 7vw, 96px)}[data-theme=dark]{--bg:#111114;--bg-section:#18181c;--card-bg:#212126;--text:#f5f5f6;--text-muted:#a0a0b0;--text-dim:#666675;--border:#ffffff14;--section-border:#ffffff0f;--card-shadow:none;--input-bg:#ffffff0d;--navbar-bg:#111114f0;--purple-light:#7c3aed1f;--warning-bg:#f59e0b1f;--warning-text:#d4a017;--warning-border:#f59e0b4d;--coral-bg:#ff6b6b1a;--coral-border:#ff6b6b4d;--admin-bg:#18181c;--bg-primary:#111114;--bg-secondary:#18181c;--bg-card:#212126;--text-primary:#f5f5f6;--text-secondary:#a0a0b0;--text-muted-alias:#666675;--border-color:#ffffff14;--border-hover:#ffffff26}:root{--hp-bg:#fbfbfa;--hp-bg-card:#fff;--hp-bg-alt:#f4f4f5;--hp-ink:#09090b;--hp-ink-soft:#27272a;--hp-ink-muted:#71717a;--hp-divider:#e4e4e7;--hp-divider-strong:#d4d4d8;--hp-red:#ef4444;--hp-blue:#2563eb;--hp-green:#16a34a;--hp-amber:#d97706;--hp-violet:#7c3aed;--hp-admin:var(--hp-green);--hp-green-border:#16a34a40;--hp-admin-bg:var(--hp-green-bg);--hp-admin-border:var(--hp-green-border);--category-studio:#00d4aa;--category-studio-bg:#00d4aa1a;--category-studio-text:#009978;--hp-red-bg:#ef444414;--hp-blue-bg:#2563eb14;--hp-green-bg:#16a34a14;--hp-amber-bg:#d9770614;--hp-violet-bg:#7c3aed14;--hp-red-on-dark:#f87171;--hp-blue-on-dark:#60a5fa;--hp-green-on-dark:#4ade80;--hp-avatar-bg:#1e293b;--hp-medal-gold:#e8b923;--hp-medal-silver:#a8a8b3;--hp-medal-bronze:#c08b5a;--hp-radius:6px;--hp-radius-btn:8px;--hp-radius-card:12px;--hp-radius-pill:9999px;--hp-shadow-card:0 1px 2px #0000000a, 0 1px 3px #0000000f;--hp-shadow-lift:0 4px 12px #00000014, 0 2px 4px #0000000a;--hp-overlay-dark:#09090ba6;--hp-shadow-pulse-red:0 0 0 3px #ef444433}[data-theme=dark]{--hp-bg:#09090b;--hp-bg-card:#18181b;--hp-bg-alt:#ffffff0f;--hp-ink:#fafafa;--hp-ink-soft:#d4d4d8;--hp-divider:#27272a;--hp-divider-strong:#3f3f46;--hp-red-bg:#ef444426;--hp-blue-bg:#2563eb26;--hp-green-bg:#16a34a26}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior-x:none;max-width:100%;overflow-x:hidden}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:var(--text-base);-webkit-font-smoothing:antialiased;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;max-width:100vw;min-height:100vh;line-height:1.6;transition:background .3s,color .3s;overflow-x:clip}input,textarea,select{min-width:0}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-title);color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer}img{max-width:100%;display:block}ul{list-style:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}@media (width<=767px){.reveal,.reveal:not(.visible),.reveal.visible{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.reveal{transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.reveal:not(.visible){opacity:0;transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.page-enter{animation:.3s both pageIn}@media (width<=767px){.page-enter{animation:none}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--border) 25%, #c8c4dc66 50%, var(--border) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer}.card{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--card-shadow);border-radius:16px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .3s}@media (hover:hover){.card:hover{border-color:#c4beff;transform:translateY(-6px);box-shadow:0 16px 40px #7c3aed1f}}.btn{font-family:var(--font-body);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:none;border-radius:22px;justify-content:center;align-items:center;gap:8px;min-width:44px;height:44px;padding:0 24px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--role-color);color:#fff;box-shadow:0 2px 12px var(--role-shadow)}@media (hover:hover){.btn-primary:hover{background:color-mix(in srgb, var(--role-color) 85%, #000);box-shadow:0 8px 20px var(--role-shadow);transform:translateY(-2px)}}.btn-primary:active{transition:transform 50ms;transform:scale(.97)}.btn-secondary{color:var(--role-color);border:1.5px solid var(--border);background:0 0}@media (hover:hover){.btn-secondary:hover{border-color:var(--role-color);background:var(--role-light)}}.btn-teal{background:var(--hp-admin);color:#fff;font-weight:700}@media (hover:hover){.btn-teal:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-white:hover{background:#f0eeff;transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed59}}.btn-white{color:var(--purple);background:#fff;font-weight:700}.btn-white:active{transition:transform 50ms;transform:scale(.97)}.btn-lg{height:52px;padding:0 32px;font-size:16px}.btn-full{width:100%}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-body);letter-spacing:.01em}.form-input,.form-select{background:var(--input-bg);border:1.5px solid var(--border);width:100%;height:48px;color:var(--text);font-family:var(--font-body);-webkit-appearance:none;border-radius:10px;outline:none;padding:0 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}textarea.form-input{height:auto;padding:12px 14px}.form-input::placeholder{color:var(--text-dim)}.form-input:focus,.form-select:focus{border-color:var(--role-color);box-shadow:0 0 0 3px var(--role-light)}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238B82A7' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select option{background:var(--bg);color:var(--text)}.badge-type{letter-spacing:.03em;border-radius:100px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-Appartement{color:var(--purple);background:#7c3aed1a}.badge-Villa{color:#e05252;background:#ff6b6b1a}.badge-Studio{background:var(--category-studio-bg);color:var(--category-studio-text)}.badge-Bureau{color:#b87a00;background:#ffb0201f}.badge-Local{color:#2770a6;background:#3498db1a}.badge-Terrain{color:#1e8449;background:#27ae601a}.badge-level{border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.badge-Débutant{color:#a06428;background:#a064281a}.badge-Actif{color:var(--purple);background:#7c3aed1a}.badge-Pro{color:#b8860b;background:#b8860b1a}.badge-Expert{color:#5c3ccc;background:#5c3ccc1f}.pill{background:var(--purple-light);color:var(--purple);border-radius:100px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.pill-teal{background:var(--hp-admin-bg);color:var(--hp-admin)}.pill-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.pill-dot.teal{background:var(--hp-admin)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.section{padding:clamp(52px,8vw,96px) 0}.section-alt{background:var(--bg-section)}.section-header{text-align:center;margin-bottom:clamp(28px,5vw,48px)}.section-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);font-size:11px;font-weight:700;font-family:var(--font-body);margin-bottom:12px;display:inline-block}.section-title{font-family:var(--font-title);color:var(--text);letter-spacing:-.02em;text-align:center;margin-bottom:clamp(16px,3vw,32px);font-size:clamp(22px,4vw,40px);font-weight:800;line-height:1.15}.section-sub{color:var(--text-muted);font-size:clamp(13px,2.2vw,15px);line-height:1.6;font-family:var(--font-body);margin-top:10px}.price-tag{font-family:var(--font-title);color:var(--purple);letter-spacing:-.02em;font-weight:800}.avatar{background:linear-gradient(135deg, var(--purple-light), #7c3aed33);font-family:var(--font-title);color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:44px;height:44px;font-size:16px}.avatar-lg{width:80px;height:80px;font-size:28px}.avatar-xl{width:120px;height:120px;font-size:40px}.dafi-range{appearance:none;cursor:pointer;border-radius:100px;outline:none;width:100%;height:5px}.dafi-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--range-thumb-color,var(--purple));width:22px;height:22px;box-shadow:0 0 0 3px var(--range-thumb-shadow,#7c3aed40);cursor:pointer;border:3px solid #fff;border-radius:50%;transition:box-shadow .2s}.dafi-range::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px var(--range-thumb-shadow,#7c3aed4d)}.dafi-range::-moz-range-thumb{background:var(--range-thumb-color,var(--purple));width:22px;height:22px;box-shadow:0 0 0 3px var(--range-thumb-shadow,#7c3aed40);cursor:pointer;border:3px solid #fff;border-radius:50%}.faq-item{border:1.5px solid var(--border);border-radius:12px;margin-bottom:8px;transition:border-color .2s;overflow:hidden}.faq-item.open{border-color:var(--purple)}.faq-q{text-align:left;background:var(--card-bg);width:100%;font-family:var(--font-body);color:var(--text);cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:16px 20px;font-size:14px;font-weight:600;transition:background .2s;display:flex}@media (hover:hover){.faq-q:hover{background:var(--purple-light)}}.faq-icon{color:var(--purple);flex-shrink:0;font-size:20px;transition:transform .3s}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{background:var(--card-bg);max-height:0;transition:max-height .35s,padding .35s;overflow:hidden}.faq-item.open .faq-answer{max-height:300px;padding:0 20px 16px}.faq-answer p{color:var(--text-muted);font-size:14px;line-height:1.65}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--card-bg);border-radius:20px;width:100%;max-width:460px;max-height:90vh;padding:clamp(20px,4vw,32px);animation:.25s cubic-bezier(.25,.46,.45,.94) scaleIn;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0003}@keyframes scaleIn{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.modal-close{background:var(--bg-section);cursor:pointer;width:36px;height:36px;color:var(--text-muted);-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}@media (hover:hover){.modal-close:hover{color:var(--purple);background:#7c3aed1a}}.cookie-banner{z-index:9999!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.8fr;align-items:start;gap:40px;padding:clamp(32px,5vw,52px) 0 clamp(24px,4vw,36px);display:grid}.footer-col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700;font-family:var(--font-body);margin-bottom:14px}@media (width<=1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 40px}.footer-brand{grid-column:1/-1}}@media (width<=768px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px 20px;padding:28px 0 20px}.footer-brand{grid-column:1/-1;display:block}.footer-grid>div:last-child{grid-column:1/-1}}@media (width<=400px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:1}}.dafi-footer{background:var(--bg);border-top:1px solid var(--border);font-family:var(--font-body)}[data-theme=dark] .dafi-footer{border-top-color:#e0dcef1f}.dafi-footer svg text{fill:var(--purple)}[data-theme=dark] .dafi-footer svg text{fill:#fff}.progress-bar{justify-content:center;align-items:center;gap:0;margin-bottom:40px;display:flex}.progress-step{align-items:center;display:flex}.progress-dot{border:2px solid var(--border);background:var(--card-bg);width:34px;height:34px;color:var(--text-dim);font-size:12px;font-weight:700;font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.progress-dot.active{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 0 0 4px #7c3aed26}.progress-dot.done{background:var(--hp-admin);border-color:var(--hp-admin);color:#fff}.progress-line{background:var(--border);flex-shrink:0;width:40px;height:2px;transition:background .3s}.progress-line.done{background:var(--purple)}.progress-track{background:var(--border);border-radius:100px;height:4px;overflow:hidden}.progress-fill{background:var(--purple);border-radius:100px;height:100%;transition:width .4s}@keyframes confettiFly{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}to{transform:translateY(var(--cy,-120px)) translateX(var(--cx,0px)) rotate(var(--cr,360deg)) scale(.5);opacity:0}}.confetti-piece{pointer-events:none;width:8px;height:8px;animation:confettiFly 1s ease-out var(--cd,0s) both;border-radius:2px;position:absolute}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#7c3aed4d;border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--purple)}.r-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.5vw,16px);display:grid}@media (width<=1024px){.r-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.r-grid-4{grid-template-columns:1fr}}.r-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,20px);display:grid}@media (width<=768px){.r-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.r-grid-3{grid-template-columns:1fr}}.r-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,20px);display:grid}@media (width<=640px){.r-grid-2{grid-template-columns:1fr}}.r-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.r-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}.r-dash{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=768px){.r-dash{grid-template-columns:1fr}}.r-dash-aside{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}@media (width<=1024px){.r-dash-aside{grid-template-columns:1fr}}.r-grid-4>*,.r-grid-3>*,.r-grid-2>*,.r-kpi>*,.r-dash>*,.r-dash-aside>*{box-sizing:border-box;min-width:0}.r-page{max-width:1100px;font-family:var(--font-body);margin:0 auto;padding:clamp(20px,4vw,40px) clamp(16px,3vw,32px) 80px}.r-container{max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}.r-flex{flex-wrap:wrap;align-items:center;gap:clamp(8px,1.5vw,16px);display:flex}.r-flex-center{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.r-stack{flex-direction:column;gap:12px;display:flex}.r-truncate{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.r-title{letter-spacing:-.02em;font-size:clamp(20px,3vw,28px);font-weight:700}.r-subtitle{font-size:clamp(15px,2vw,18px);font-weight:600}.r-body{font-size:clamp(13px,1.8vw,15px);line-height:1.65}.r-img{object-fit:cover;width:100%;height:100%;display:block}.r-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;min-width:0;padding:clamp(16px,2.5vw,22px);overflow:hidden}@media (width<=480px){.r-kpi{gap:8px}.r-page{padding-left:12px;padding-right:12px}.r-card{border-radius:12px;padding:14px}}@media (width<=768px){.dash-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-2col{grid-template-columns:1fr}.dash-4col{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-3col{grid-template-columns:1fr}.dash-3col>div{border-bottom:1px solid var(--border);border-right:none!important;padding:12px 0!important}.dash-3col>div:last-child{border-bottom:none}}@media (width<=480px){.hide-xs{display:none!important}}@media (width<=640px){.hide-sm{display:none!important}}@media (width<=768px){.hide-mobile,.hide-md,.hide-on-mobile{display:none!important}}@media (width<=1024px){.hide-lg{display:none!important}}@media (width>=481px){.show-xs-only{display:none!important}}@media (width>=641px){.show-sm-only{display:none!important}}@media (width>=769px){.hide-desktop,.show-on-mobile{display:none!important}}@media (width>=1025px){.show-lg-only{display:none!important}}@media (width<=768px){.view-label{display:none}.pagination-num,.filters-desktop-bar{display:none!important}}.filters-mobile-trigger{display:flex}@media (width>=769px){.filters-mobile-trigger{display:none!important}}.mobile-header{display:none}@media (width<=767px){.mobile-header{display:flex!important}main{padding-top:0}}.text-left{text-align:left!important}.text-center{text-align:center!important}.section-header.left{text-align:left}@keyframes heartBeat{0%{transform:scale(1)}30%{transform:scale(1.45)}60%{transform:scale(.9)}to{transform:scale(1)}}@keyframes heartRemove{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes particleFloat{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--px,0px), var(--py,-24px)) scale(0);opacity:0}}.heart-add{animation:.35s cubic-bezier(.25,.46,.45,.94) both heartBeat}.heart-remove{animation:.25s both heartRemove}.fav-particle{pointer-events:none;width:5px;height:5px;animation:particleFloat .55s ease-out var(--pd,0s) both;background:#ff6b6b;border-radius:50%;position:absolute}.history-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:6px;display:flex;overflow-x:auto}.history-strip::-webkit-scrollbar{display:none}.map-container{border:1.5px solid var(--border);background:linear-gradient(160deg,#e8e4f8 0%,#f0eeff 100%);border-radius:16px;width:100%;height:500px;position:relative;overflow:hidden}.map-marker{border:2px solid var(--purple);color:var(--purple);cursor:pointer;white-space:nowrap;z-index:1;background:#fff;border-radius:100px;padding:4px 10px;font-size:12px;font-weight:700;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s,color .15s;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 8px #0000001f}@media (hover:hover){.map-marker:hover,.map-marker.active{background:var(--purple);color:#fff;z-index:10;transform:translate(-50%,-100%)scale(1.1)}}.map-marker.active{background:var(--purple);color:#fff;z-index:10;transform:translate(-50%,-100%)scale(1.1)}.map-popup{z-index:20;background:var(--card-bg);border-radius:12px;width:200px;padding:0;animation:.2s scaleIn;position:absolute;overflow:hidden;transform:translate(-50%,calc(-100% - 48px));box-shadow:0 8px 24px #00000024}@media (width<=768px){.map-container{border-radius:12px;height:320px}}@media (width<=480px){.map-container{height:260px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes navMenuIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.modal-overlay{align-items:flex-end;padding:0}.modal-card{max-width:100%;padding:24px 20px;padding-bottom:max(24px, env(safe-area-inset-bottom,16px));border-radius:24px 24px 0 0;animation:.32s cubic-bezier(.25,.46,.45,.94) slideUp}}.city-pills{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}@media (width<=768px){.city-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px;overflow-x:auto}.city-pills::-webkit-scrollbar{display:none}.city-pills button{flex-shrink:0}}.grid-stats{grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,20px);display:grid}@media (width<=640px){.grid-stats{grid-template-columns:repeat(2,1fr)}.grid-stats>:last-child:nth-child(odd){grid-column:1/-1;width:100%;max-width:calc(50% - 6px);margin:0 auto}}@media (width<=380px){.grid-stats{grid-template-columns:1fr}.grid-stats>:last-child:nth-child(odd){max-width:100%}}.grid-cards-3{grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);display:grid}@media (width<=1024px){.grid-cards-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-cards-3{grid-template-columns:1fr}}.grid-cards-2{grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,24px);display:grid}@media (width<=640px){.grid-cards-2{grid-template-columns:1fr}}.grid-annonces{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(14px,2vw,20px);display:grid}@media (width<=1280px){.grid-annonces{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.grid-annonces{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-annonces{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.grid-annonces .badge-type{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden;padding:2px 7px!important;font-size:10px!important}}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(14px,2vw,24px);display:grid}@media (width<=768px){.badges-grid{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.badges-grid::-webkit-scrollbar{display:none}.badges-grid>.card{flex-shrink:0;min-width:240px}}.notaires-filters{text-align:left;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin-top:28px;display:grid}@media (width<=768px){.notaires-filters{grid-template-columns:1fr}}@media (width<=480px){.notaires-filters{gap:8px}}.hero-padding{padding:clamp(48px,8vw,80px) 0 clamp(36px,6vw,64px)}@media (width<=480px){.progress-line{width:20px}.progress-dot{width:28px;height:28px;font-size:11px}}.dashboard-declare-wrap{margin-bottom:32px}@media (width<=768px){.dashboard-declare-wrap{z-index:998;padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom,12px));background:var(--bg);border-top:1px solid var(--border);margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000012}.dashboard-declare-wrap button{background:var(--purple)!important;color:#fff!important;border:none!important;border-radius:12px!important;font-size:15px!important;font-weight:700!important}.dashboard-content{padding-bottom:120px!important}.messages-layout{grid-template-columns:1fr!important}.messages-panel-hidden{display:none!important}}[data-theme=dark] .form-select,[data-theme=dark] .form-input{background-color:var(--card-bg)}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A0A0B0' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.annonce-badge-type{color:#333;-webkit-backdrop-filter:blur(4px);white-space:nowrap;background:#ffffffeb;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600}[data-theme=dark] .annonce-badge-type{color:var(--text-muted);background:#1e1e28e0}.annonce-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=1024px){a,button,[role=button],[tabindex="0"]{-webkit-tap-highlight-color:transparent}.bottom-bar-mobile{padding-bottom:max(16px, env(safe-area-inset-bottom,16px))}}@media (width<=768px){body{padding-bottom:env(safe-area-inset-bottom,0px)}}:focus-visible{outline:3px solid var(--purple);outline-offset:2px}@media (width<=380px){.btn{padding:0 18px;font-size:13px}.btn-lg{height:48px;padding:0 24px;font-size:15px}.form-input,.form-select{height:44px;font-size:14px}.card{border-radius:12px}.modal-card{padding:20px 16px}}.dash-kpi{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-2col{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dash-4col{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-3col{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dash-kpi>*,.dash-2col>*,.dash-4col>*,.dash-3col>*{box-sizing:border-box;min-width:0}@media (width<=768px){.dash-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-2col{grid-template-columns:1fr}.dash-4col{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-3col{grid-template-columns:1fr}.dash-3col>div{border-bottom:1px solid var(--border);border-right:none!important;padding:12px 0!important}.dash-3col>div:last-child{border-bottom:none}}.bottom-nav{display:none}@media (width<=767px){.bottom-nav{z-index:500;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--hp-bg-card);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0);box-shadow:0 -4px 16px #00000012}}.bottom-nav-tab{color:var(--hp-ink-soft);font-family:var(--font-body);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:10px;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.bottom-nav-tab.active{color:var(--role-color)}.bottom-nav-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:relative}.bottom-nav-tab.active .bottom-nav-icon{background:var(--role-light)}.bottom-nav-badge{background:var(--coral);border:2px solid var(--bg-card);border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}@media (width<=767px){main{padding-bottom:80px}.modal-overlay{padding-bottom:64px!important}.modal-card{max-height:calc(100vh - 64px)!important;padding-bottom:max(24px, calc(env(safe-area-inset-bottom,0px) + 72px))!important;overflow-y:auto!important}.hero-ai-search{display:none!important}}.role-selector{justify-content:center;gap:12px;display:flex}@media (width<=767px){.role-selector{flex-direction:column}.role-selector button{width:100%}}@media (width<=639px){.footer-newsletter{display:none!important}}@media (width<=767px){nav:not(.bottom-nav),footer{display:none!important}}@keyframes onboardingIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.onboarding-screen{animation:.25s cubic-bezier(.25,.46,.45,.94) both onboardingIn}.grid-annonces>*{box-sizing:border-box;min-width:0;overflow:hidden}
