:root{--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--bg:#f8fafc;--panel:#f8fafc;--text:#0f172a;--muted:#475569;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#60a5fa;--accent:#d97706;--accent-hover:#b45309;--success:#059669;--danger:#dc2626;--warning:#f59e0b;--blue:#2563eb;--blue-600:#1d4ed8;--border:#e2e8f0;--border-strong:#cbd5e1;--foreground:#0f172a;--text-secondary:#475569;--bg-secondary:#f1f5f9;--gradient-primary:linear-gradient(135deg,#1e40af,#3b82f6);--gradient-accent:linear-gradient(135deg,#d97706,#f59e0b);--header-height:64px;--page-padding-x:max(20px,calc((100vw - 1200px) / 2));--scrollbar-size:8px;--scrollbar-track:transparent;--scrollbar-thumb:color-mix(in srgb,var(--primary) 30%,transparent);--scrollbar-thumb-hover:color-mix(in srgb,var(--primary) 60%,transparent)}:root[data-theme=dark]{--bg:#0f1218;--panel:#151a22;--text:#f5f7fa;--muted:#a8b3c7;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#60a5fa;--accent:#f59e0b;--accent-hover:#d97706;--success:#10b981;--danger:#ef4444;--warning:#fbbf24;--blue:#3b82f6;--blue-600:#2563eb;--border:#2a3140;--border-strong:#3d4a5c;--foreground:#f5f7fa;--text-secondary:#a8b3c7;--bg-secondary:#1a2030;--gradient-primary:linear-gradient(135deg,#3b82f6,#60a5fa);--gradient-accent:linear-gradient(135deg,#f59e0b,#fbbf24);--scrollbar-thumb:color-mix(in srgb,var(--primary-light) 35%,transparent);--scrollbar-thumb-hover:color-mix(in srgb,var(--primary-light) 65%,transparent)}*{box-sizing:border-box}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit}#root,body,html{height:100%}html{overflow-x:clip;scroll-padding-top:calc(var(--header-height) + 16px)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-corner{background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}}body{margin:0;font-size:16px;font-weight:var(--fw-regular);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:auto;background:var(--bg);color:var(--text)}.app,body{overflow-x:clip}.app{display:flex;flex-direction:column;min-height:100dvh}.main{flex:1 1;padding:0;max-width:100%;margin:0;width:100%;overflow-x:clip}.main>*{padding-left:var(--page-padding-x);padding-right:var(--page-padding-x);margin-top:0}.main>.hero-banner{padding:0;position:relative;z-index:10}.main>.desktop-only{padding-left:0!important;padding-right:0!important;margin:0!important}.main>.hero-desktop-wrapper{padding:0!important;margin:0!important}.main>.mobile-home-root{padding-left:0!important;padding-right:0!important;box-sizing:border-box;width:100%}.main>.page{padding-top:24px!important;padding-left:var(--page-padding-x)!important;padding-right:var(--page-padding-x)!important;padding-bottom:0!important}.main>.home,.main>.page{margin-top:0!important}.home section:first-child:not(.ad-banner),.home>:first-child:not(.ad-banner),.page section:first-child:not(.ad-banner),.page>:first-child:not(.ad-banner),section:first-child:not(.ad-banner){margin-top:0!important;padding-top:0!important}div.page{padding-left:0;padding-right:0;padding-bottom:0;margin:0;display:block}div.page.home{padding-left:var(--page-padding-x)!important;padding-right:var(--page-padding-x)!important;padding-bottom:0!important;margin:0!important;display:block}.btn{border:1px solid var(--border);background:#fff;color:var(--text);padding:12px 24px;border-radius:16px;cursor:pointer;font-weight:var(--fw-semibold);font-size:16px;line-height:1.5;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn:hover{border-color:#d1d5db}.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary:hover{background:var(--blue-600);border-color:var(--blue-600)}.btn-outline{background:transparent;color:var(--text);border-color:var(--border)}.btn-outline:hover{background:var(--panel);border-color:var(--blue);color:var(--blue)}.btn-ghost{background:transparent;border-color:transparent}.input{border:1px solid var(--border);border-radius:10px;padding:10px 12px;width:100%;max-width:220px;background:#fff;color:var(--text)}:root[data-theme=dark] .input{background:#0f1522;color:var(--text)}.link{color:var(--blue);text-decoration:none;font-weight:var(--fw-semibold)}.link:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:var(--fw-bold);letter-spacing:.2px}.badge.blue{background:rgba(35,75,242,.1);color:var(--blue)}.badge.gray{background:#eef0f4;color:#374151}.badge.green{background:rgba(34,197,94,.1);color:#16a34a}.badge.yellow{background:rgba(234,179,8,.1);color:#ca8a04}.badge.red{background:rgba(239,68,68,.1);color:#dc2626}:root[data-theme=dark] .badge.gray{background:rgba(42,49,64,.8);color:#a8b3c7}:root[data-theme=dark] .badge.green{background:rgba(34,197,94,.15);color:#4ade80}:root[data-theme=dark] .badge.yellow{background:rgba(234,179,8,.15);color:#fbbf24}:root[data-theme=dark] .badge.red{background:rgba(239,68,68,.15);color:#f87171}.card{border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}:root[data-theme=dark] .card{background:var(--panel)}.card-media{aspect-ratio:4/3;position:relative;flex-shrink:0}.card-media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:999px;border:1px solid hsla(0,0%,100%,.55);background:rgba(15,23,42,.78);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease;opacity:0;pointer-events:none;z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.35)}.card-gallery-nav-prev{left:10px}.card-gallery-nav-next{right:10px}.card-media:focus-within .card-gallery-nav,.card-media:hover .card-gallery-nav,.property-card:hover .card-gallery-nav{opacity:1;pointer-events:auto}.card-gallery-nav:hover{transform:translateY(-50%) scale(1.08);background:rgba(15,23,42,.95);box-shadow:0 6px 18px rgba(0,0,0,.45)}@media (hover:none){.card-gallery-nav{opacity:1;pointer-events:auto}}@media (max-width:768px){.card-gallery-nav{display:none!important}}.card-body{padding:12px;display:flex;flex-direction:column;gap:8px;flex:1 1;min-width:0;overflow:hidden;border-width:0 1px 1px;border-style:solid;border-color:var(--border);border-radius:0 0 8px 8px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title{margin:0;font-size:16px;font-weight:var(--fw-semibold);line-height:150%;color:var(--text);min-width:0;min-height:3em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word;word-break:break-word}.card-text{margin:0;color:var(--muted);flex-shrink:0}.card-row:last-child{margin-top:auto}.price{font-weight:var(--fw-semibold);color:var(--text);flex-shrink:0}.card-badges-top{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:6px;z-index:2}.badge-top{padding:2px 10px;font-weight:var(--fw-bold);letter-spacing:.5px;text-transform:uppercase;line-height:20px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;box-shadow:0 2px 8px rgba(245,158,11,.4)}.badge-category,.badge-top{display:inline-flex;align-items:center;border-radius:6px;font-size:12px}.badge-category{padding:2px 8px;font-weight:var(--fw-regular);line-height:150%;text-align:center;background:hsla(0,0%,100%,.9);color:#1e293b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:root[data-theme=dark] .badge-category{background:rgba(30,41,59,.9);color:#e2e8f0}.card-star-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;background:none;cursor:pointer;z-index:2;padding:0;display:grid;place-items:center;transition:transform .2s ease}.card-star-btn svg{width:24px;height:24px}.card-star-btn:hover{transform:scale(1.15)}.card-video-badge{position:absolute;bottom:10px;right:10px;z-index:2;display:grid;place-items:center;pointer-events:none}.card-video-badge svg{width:28px;height:28px}.card-location-text{margin:0;font-size:16px;font-weight:var(--fw-regular);line-height:150%;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-specs-row{display:flex;flex-wrap:nowrap;align-items:center;width:100%;box-sizing:border-box}.card-spec-cell{flex:0 1 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 2px;font-size:13px;font-weight:var(--fw-medium);line-height:1.4;color:var(--muted)}.card-spec-cell,.card-spec-cell span{min-width:0;white-space:nowrap;overflow:hidden}.card-spec-cell span{text-overflow:ellipsis}.card-spec-sep{flex:1 1;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:10px}.card-spec-sep:after{content:"";width:1px;height:64%;background:var(--border)}.card-spec-cell svg{color:var(--muted);flex-shrink:0}.card-price-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);min-width:0}.card-price{font-size:17.5px;font-weight:var(--fw-semibold);line-height:120%;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-details-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border:1px solid var(--blue);border-radius:8px;font-size:13px;font-weight:var(--fw-medium);line-height:150%;color:var(--blue);background:transparent;cursor:pointer;transition:background .2s,color .2s;text-decoration:none;flex-shrink:0;white-space:nowrap}.card-details-btn:hover{background:var(--blue);color:#fff}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:24px;gap:24px}.property-card.card-compact .card-media{aspect-ratio:3/2;border-radius:10px;overflow:hidden}.property-card.card-compact .card-body{padding:4px 18px 4px 8px;gap:2px;border:none;border-radius:0;overflow:hidden;min-width:0}.property-card.card-compact .card-title{font-size:13px;font-weight:var(--fw-medium);min-height:2.6em;-webkit-line-clamp:2;line-height:1.3}.property-card.card-compact .card-location-text{font-size:12px;line-height:1.3}.property-card.card-compact .card-body{container-type:inline-size}.property-card.card-compact .card-specs-row{flex-wrap:nowrap;gap:0;overflow:hidden}.property-card.card-compact .card-spec-cell{font-size:clamp(11px,7cqi,13px);gap:clamp(2px,1cqi,4px);padding:0;flex:0 0 auto;white-space:nowrap}.property-card.card-compact .card-spec-cell span{white-space:nowrap}.property-card.card-compact .card-spec-sep{flex:1 1;min-width:6px}.property-card.card-compact .card-spec-cell svg{width:clamp(10px,4cqi,12px);height:clamp(10px,4cqi,12px);flex-shrink:0}@media (max-width:768px){.property-card.card-compact .card-spec-cell svg{display:none}}.property-card.card-compact .card-price-actions{border-top:none;padding-top:2px}.property-card.card-compact .card-price{font-size:16.5px;font-weight:var(--fw-bold)}.property-card.card-compact .card-details-btn{display:none}.property-card.card-compact .card-gallery-nav{width:28px;height:28px}.property-card.card-compact .card-star-btn{width:36px;height:36px;top:4px;right:4px}.property-card.card-compact .card-star-btn svg{width:20px;height:20px}.property-card.card-compact{border-radius:10px;min-width:0;overflow:hidden;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.07)}.property-card.card-compact .card-video-badge svg{width:17px;height:17px}.property-card.card-compact .badge-category,.property-card.card-compact .badge-top{font-size:10px;padding:1px 5px;letter-spacing:.2px;border-radius:4px}.property-card.card-compact .card-badges-top{top:6px;left:6px;gap:4px}.property-card.card-compact .card-video-badge{bottom:6px;right:6px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:960px){.main>*{padding-left:var(--page-padding-x);padding-right:var(--page-padding-x)}.main>.page,div.page.home{padding-left:var(--page-padding-x)!important;padding-right:var(--page-padding-x)!important;padding-bottom:0!important;margin:0!important}}[class*=OpenMapsButton],[class*=open-in-yandex-maps],[class*=open-maps-button],[class*=openInYandexMaps],[class*=ymaps3][class*=open],a[href*="maps.yandex"][target=_blank],a[href*="yandex.ru/maps"][target=_blank]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding-bottom:40px}.main>.auth-page{padding-left:var(--page-padding-x);padding-right:var(--page-padding-x);padding-bottom:40px}.auth-container{width:100%;max-width:440px;margin:0 auto}.auth-card{border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.08)}.auth-header{text-align:center;margin-bottom:32px;position:relative}.auth-back-btn{position:absolute;left:0;top:0;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:all .2s}.auth-back-btn:hover{background:var(--panel);border-color:var(--blue);color:var(--blue)}.auth-back-btn svg{width:20px;height:20px}.auth-title{font-size:28px;font-weight:var(--fw-bold);margin:0 0 8px;color:var(--text);line-height:1.2}.auth-subtitle{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.auth-error{padding:12px 16px;background:rgba(239,68,68,.1);border:1px solid #ef4444;border-radius:8px;color:#ef4444;font-size:14px;margin-bottom:24px;text-align:center}.auth-form{gap:24px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:8px}.auth-label{font-size:14px;font-weight:var(--fw-semibold);color:var(--text)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--muted);pointer-events:none;z-index:1}.auth-input{width:100%;padding:14px 16px 14px 48px;border:1px solid var(--border);border-radius:12px;font-size:16px;background:var(--bg);color:var(--text);transition:all .2s;font-family:inherit}.auth-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,75,242,.1)}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg) inset!important;-webkit-text-fill-color:var(--text)!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.auth-phone-prefix{position:absolute;left:48px;font-size:16px;font-weight:var(--fw-medium);color:var(--text);pointer-events:none;z-index:1;font-family:inherit}.auth-input-phone{padding-left:100px!important}.auth-input-code{text-align:center;font-size:24px;font-weight:var(--fw-bold);letter-spacing:8px;padding-left:16px;padding-right:16px}.auth-hint{font-size:12px;color:var(--muted);margin:0}.auth-submit-btn{width:100%;padding:14px 20px;font-size:16px;font-weight:var(--fw-semibold);margin-top:8px}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-resend-btn{background:transparent;border:none;color:var(--blue);font-size:14px;font-weight:var(--fw-medium);cursor:pointer;padding:8px;text-align:center;transition:color .2s}.auth-resend-btn:hover{color:var(--blue-600);text-decoration:underline}.auth-resend-btn:disabled{opacity:.5;cursor:not-allowed}.auth-dev-code{padding:16px;background:rgba(35,75,242,.1);border:1px solid var(--blue);border-radius:8px;text-align:center;margin-bottom:8px}.auth-dev-code-label{font-size:12px;color:var(--muted);margin:0 0 4px}.auth-dev-code-value{font-size:24px;font-weight:var(--fw-bold);color:var(--blue);margin:0;letter-spacing:4px;font-family:Courier New,monospace}.auth-switch-text{text-align:center;font-size:14px;color:var(--muted);margin:0}.auth-switch-text .auth-resend-btn{display:inline;padding:0;font-size:14px}@media (max-width:768px){.auth-page{padding-bottom:24px;min-height:calc(100vh - 150px)}.auth-container{max-width:100%;padding:0 16px}.auth-title{font-size:24px}.auth-subtitle{font-size:14px}}@media (max-width:380px){.auth-user-type-group{grid-template-columns:1fr}}@media (max-width:960px){.main>.auth-page{padding-left:20px;padding-right:20px}}.register-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding-bottom:40px}.main>.register-page{padding-left:var(--page-padding-x);padding-right:var(--page-padding-x);padding-bottom:40px}.register-container{width:100%;max-width:500px;margin:0 auto}.register-card{border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.08)}.register-header{text-align:center;margin-bottom:24px}.register-title{font-size:24px;font-weight:var(--fw-bold);margin:0 0 8px;color:var(--text)}.register-subtitle{font-size:14px;color:var(--muted);margin:0}.register-form{gap:20px}.register-field,.register-form{display:flex;flex-direction:column}.register-field{gap:8px}.register-label{font-size:14px;font-weight:var(--fw-semibold);color:var(--text)}.field-optional{font-weight:var(--fw-regular);color:var(--muted);font-size:12px}.field-required{color:#dc2626;font-weight:var(--fw-semibold)}.field-hint{font-size:12px;color:var(--muted);margin:4px 0 0}.register-info{padding:16px;background:var(--panel);border-radius:10px;margin:8px 0}.register-phone{margin:0;font-size:14px;color:var(--text)}.register-error{padding:12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.register-loading{text-align:center;padding:40px;color:var(--muted)}.register-submit-btn{width:100%;margin-top:8px}.profile-data{display:flex;flex-direction:column;gap:12px}.profile-data-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.profile-data-item:last-child{border-bottom:none}.profile-data-label{font-weight:var(--fw-semibold);color:var(--muted);font-size:14px}.profile-data-value{color:var(--text);font-size:14px}.auth-user-type-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:4px}.auth-user-type-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:2px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);cursor:pointer;text-align:left;transition:border-color .18s,background .18s}.auth-user-type-btn:hover:not(:disabled){border-color:var(--primary)}.auth-user-type-btn--active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg))}.auth-user-type-title{font-size:14px;font-weight:var(--fw-semibold);line-height:1.2}.auth-user-type-hint{font-size:12px;color:var(--muted);line-height:1.3}.auth-user-type-btn--active .auth-user-type-hint{color:var(--primary)}@media (max-width:960px){.main>.register-page{padding-left:20px;padding-right:20px}.register-container{max-width:100%;padding:0 16px}}