: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>.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}}.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;align-items:center;gap:0}.card-spec-cell,.card-specs-main{flex:1 1;display:flex;align-items:center;min-width:0}.card-spec-cell{justify-content:center;gap:8px;padding:0;font-size:14px;font-weight:var(--fw-medium);line-height:150%;color:var(--muted);white-space:nowrap}.card-spec-cell:not(:last-child){border-right:1px solid var(--border)}.card-specs-main+.card-spec-cell--floor{border-left:1px solid var(--border)}.card-spec-cell--floor{flex:0 0 auto;justify-content:flex-end;padding:0 8px;margin-left:auto}.card-spec-cell svg{color:#94a3b8;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:18px;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:6px 14px;border:1px solid var(--blue);border-radius:14px;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}@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}}