*,
*::before,
*::after{
box-sizing:border-box;
}

:root{
--rd-bg:#f4f7fb;
--rd-surface:#ffffff;
--rd-surface-soft:#f7f9fc;
--rd-surface-blue:#eef4ff;
--rd-surface-sky:#eef8ff;
--rd-border:#e5edf7;
--rd-border-soft:#edf2f7;
--rd-text:#172033;
--rd-text-strong:#10213d;
--rd-text-muted:#64748b;
--rd-primary:#0f2f86;
--rd-primary-2:#1d4ed8;
--rd-sky-1:#aee3ff;
--rd-sky-2:#76c9ff;
--rd-sky-text:#083b66;
--rd-success:#16a34a;
--rd-warning:#f59e0b;
--rd-danger:#dc2626;
--rd-shadow-card:0 16px 46px rgba(15,23,42,.08);
--rd-shadow-card-hover:0 18px 52px rgba(15,23,42,.10);
--rd-shadow-soft:0 10px 26px rgba(15,23,42,.07);
--rd-shadow-sky:0 12px 28px rgba(118,201,255,.28);
--rd-radius-xl:24px;
--rd-radius-lg:20px;
--rd-radius-md:16px;
--rd-radius-sm:14px;
--rd-radius-pill:999px;
--rd-transition:.18s ease;
}

*,
*::before,
*::after{
box-sizing:border-box;
}

html{
-webkit-text-size-adjust:100%;
}

body{
margin:0;
background:var(--rd-bg);
color:var(--rd-text);
font-family:Arial,sans-serif;
}

img{
max-width:100%;
}

a,
button{
transition:all var(--rd-transition);
}

.page{
max-width:1280px;
margin:0 auto;
padding:28px 18px 60px;
}

.card,
.property-main,
.property-sidebar-card,
.filter-panel,
.hero,
.empty{
background:var(--rd-surface) !important;
border-radius:var(--rd-radius-xl) !important;
box-shadow:var(--rd-shadow-card) !important;
}

.card{
overflow:hidden !important;
}

.card:hover{
transform:translateY(-2px);
box-shadow:var(--rd-shadow-card-hover) !important;
}

.hero{
background:linear-gradient(135deg,#ffffff,#eef4ff) !important;
}

.hero h1,
.results-head h2,
.property-title,
.property-sidebar-card h3,
.property-section h2,
.title a{
color:var(--rd-text-strong) !important;
}

.hero p,
.results-head p,
.meta,
.property-location,
.property-note,
.property-description,
.filter-label,
.contact-label,
.property-contact-hint{
color:var(--rd-text-muted) !important;
}

.hero-stat,
.property-spec,
.property-detail-row,
.property-meta-item,
.property-quick-item{
background:var(--rd-surface-soft) !important;
border:1px solid transparent;
border-radius:var(--rd-radius-md) !important;
}

.hero-stat strong,
.price,
.property-price{
color:var(--rd-primary) !important;
font-weight:800 !important;
}

.hero-stat span,
.property-spec small,
.property-detail-row span,
.property-meta-item small,
.property-quick-item span{
color:var(--rd-text-muted) !important;
}

.property-spec strong,
.property-detail-row strong,
.property-meta-item strong,
.property-quick-item strong{
color:var(--rd-text) !important;
}

.btn,
.property-btn,
.card-btn{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:0 16px;
border:0;
border-radius:var(--rd-radius-sm) !important;
font-weight:800 !important;
text-decoration:none !important;
cursor:pointer;
box-shadow:none;
}

.btn:hover,
.property-btn:hover,
.card-btn:hover{
transform:translateY(-1px);
}

.btn-primary,
.property-btn.primary,
.card-btn-details{
background:linear-gradient(135deg,var(--rd-primary),var(--rd-primary-2)) !important;
color:#fff !important;
box-shadow:var(--rd-shadow-soft);
}

.btn-primary:hover,
.property-btn.primary:hover,
.card-btn-details:hover{
box-shadow:0 14px 30px rgba(15,47,134,.22);
}

.btn-soft,
.property-btn.soft{
background:var(--rd-surface-blue) !important;
color:var(--rd-primary) !important;
border:1px solid #d7e5ff;
}

.btn-soft:hover,
.property-btn.soft:hover{
background:#e4efff !important;
}

.property-btn.ghost{
background:#f8fafc !important;
color:#334155 !important;
border:1px solid var(--rd-border);
}

.property-btn.ghost:hover{
background:#f1f5f9 !important;
}

.property-call-pill,
.card-call-pill{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:50px;
padding:0 18px;
border-radius:var(--rd-radius-pill) !important;
background:linear-gradient(135deg,var(--rd-sky-1),var(--rd-sky-2)) !important;
color:var(--rd-sky-text) !important;
text-decoration:none !important;
font-weight:800 !important;
box-shadow:var(--rd-shadow-sky) !important;
border:1px solid rgba(118,201,255,.15);
}

.property-call-pill:hover,
.card-call-pill:hover{
transform:translateY(-1px);
box-shadow:0 16px 30px rgba(118,201,255,.40) !important;
}

.property-call-pill-icon,
.card-call-pill-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:24px;
height:24px;
border-radius:50%;
background:rgba(255,255,255,.42) !important;
font-size:14px;
line-height:1;
}

.filter-chip,
.filter-link,
.clear-link{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 14px;
border-radius:999px;
font-weight:700;
font-size:14px;
text-decoration:none;
border:1px solid transparent;
}

.filter-chip{
background:linear-gradient(135deg,var(--rd-primary),var(--rd-primary-2)) !important;
color:#fff !important;
border-color:transparent !important;
}

.filter-link{
background:#f1f5f9 !important;
color:#334155 !important;
border-color:transparent !important;
}

.filter-link:hover{
background:#e8eef7 !important;
}

.clear-link{
background:#fff !important;
color:#334155 !important;
border-color:#d9e2ee !important;
}

.tag,
.property-chip,
.card-badge{
display:inline-flex;
align-items:center;
border-radius:var(--rd-radius-pill) !important;
font-weight:800 !important;
}

.tag,
.property-chip{
background:var(--rd-surface-blue) !important;
color:var(--rd-primary) !important;
}

.card-badge{
background:rgba(255,255,255,.92) !important;
color:var(--rd-primary) !important;
backdrop-filter:blur(8px);
}

.property-status-badge{
border-radius:var(--rd-radius-pill) !important;
font-weight:800 !important;
}

.property-contact-top,
.contact-box{
background:linear-gradient(135deg,var(--rd-surface-sky),#dceeff) !important;
border:1px solid #cfe4ff !important;
border-radius:18px !important;
}

.property-contact-label,
.contact-label{
color:#6284ae !important;
font-size:11px;
font-weight:800;
letter-spacing:.04em;
text-transform:uppercase;
}

.property-contact-name,
.contact-name{
color:var(--rd-text-strong) !important;
font-weight:800 !important;
}

.property-contact-phone,
.contact-phone{
color:#2c679f !important;
font-weight:700 !important;
}

.card-arrow-chip{
display:inline-flex;
align-items:center;
justify-content:center;
width:38px;
height:38px;
border-radius:50% !important;
background:var(--rd-surface-blue) !important;
color:var(--rd-primary) !important;
font-size:20px;
font-weight:800;
flex-shrink:0;
}

.card-photo-count{
background:rgba(15,23,42,.58) !important;
color:#fff !important;
border-radius:var(--rd-radius-pill) !important;
backdrop-filter:blur(6px);
}

.card-dot{
background:rgba(255,255,255,.55);
}

.card-dot.is-active{
background:#ffffff;
}

.no-image,
.property-main-empty{
background:linear-gradient(135deg,#eaf0f8,#dbe6f5) !important;
color:#61708a !important;
font-weight:700 !important;
}

.property-gallery,
.property-section,
.link-row{
border-color:var(--rd-border-soft) !important;
}

.link-row span{
color:var(--rd-primary) !important;
font-weight:700 !important;
}

.card-actions,
.property-actions{
align-items:stretch;
}

.card-btn:focus-visible,
.property-btn:focus-visible,
.btn:focus-visible,
.card-call-pill:focus-visible,
.property-call-pill:focus-visible,
.filter-link:focus-visible,
.filter-chip:focus-visible,
.clear-link:focus-visible{
outline:3px solid rgba(15,47,134,.18);
outline-offset:2px;
}

@media (max-width:760px){
.card,
.property-main,
.property-sidebar-card,
.filter-panel,
.hero,
.empty{
border-radius:22px !important;
}

.btn,
.property-btn,
.card-btn,
.property-call-pill,
.card-call-pill{
    min-height:50px;
}

}

@media (max-width:640px){
.hero{
padding:18px !important;
}

.filter-panel{
    padding:14px !important;
}

.property-contact-phone,
.contact-phone{
    display:none !important;
}

}