﻿html, body { overflow-x: hidden; }
body { font-family: 'Roboto', sans-serif; line-height: 1.6; color: var(--primary-gray-dark); background: var(--white); }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.wrap { flex-wrap: wrap; }
.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.grid-auto { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 12px; }
.radius-8 { border-radius: 8px; }
.radius-12 { border-radius: 12px; }
.radius-20 { border-radius: 20px; }
.shadow-sm { box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.shadow-md { box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.shadow-lg { box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.btn, .filterbtn, .savebtn, .droptoggle, .widebtn { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--border-mid); background: var(--white); color: var(--primary-gray-dark); cursor: pointer; }
.btn:hover, .filterbtn:hover, .savebtn:hover, .droptoggle:hover, .widebtn:hover { background: #f8f9fa; }
.btnstack { display:flex; flex-direction:column; gap:8px; }
.chip, .chipbtn { border:none; background:#eee; color:var(--primary-gray-dark); padding:6px 12px; border-radius:999px; font-weight:600; cursor:pointer; }
.chip:hover, .chipbtn:hover { background:#f1f3f5; }
.h6.mb-2 { font-size: 20px; font-weight:700; color:var(--primary-gray-dark); }
.h6.mt-3.mb-2 { margin-top: 30px !important; font-size:20px; font-weight:700; color:var(--primary-gray-dark); }
.properties-page .list-col h6.mb-3 { margin-top: 20px; }
.advertising .p-4 { padding: 1.5rem !important; }
.advertising .mb-0 { margin-bottom: 0 !important; }

* { margin: 0; padding: 0; box-sizing: border-box; }

:root { --primary-red:#DE1620; --primary-red-dark:#C0141A; --primary-orange:#FA783A; --primary-orange-hover:#E66A2A; --primary-gradient:linear-gradient(180deg,#DE1620 0%,#FA783A 100%); --primary-gradient-hover:linear-gradient(180deg,#C0141A 0%,#E66A2A 100%); --primary-gray-light:#d9d9d9; --primary-gray-dark:#252525; --primary-light-gray:#f5f5f5; --white:#fff; --black:#000; --text-666:#666; --text-999:#999; --border:#e5e5e5; --border-weak:#eee; --border-mid:#ddd; --muted:#6c757d; --overlay-dark:rgba(0,0,0,0.8); --overlay-light:rgba(0,0,0,0.3); --shadow-dark:rgba(0,0,0,0.5); --detail-header-offset:60px; --detail-topbar-offset:48px; --detail-topbar-bg:#111; }

.flex { display: flex; }
.round-full { border-radius: 999px; }
.px-0 { padding-left: 0 !important; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.btn--primary, .contact-send { background: var(--primary-orange); color: var(--white); border: none; border-radius: 10px; }
.btn--primary:hover, .contact-send:hover { background: var(--primary-orange-hover); }

.filter-bar { position: sticky; margin-top: 60px; z-index: 3000; background: var(--white); overflow: visible; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); box-shadow: 0 2px 8px rgba(0,0,0,0.04); padding: 10px 50px; }
.filter-bar .container { max-width: 100%; }
.filtersrow { display:flex; align-items:center; gap:12px; flex-wrap:wrap; overflow:visible; }
.searchbox { display:flex; align-items:center; max-width: 340px; border:1px solid var(--border-mid); border-radius: 999px; background:var(--white); padding: 0 8px; height: 36px; }
.searchicon { color:var(--muted); display:flex; align-items:center; justify-content:center; width:28px; }
.searchinput { flex:1 1 auto; min-width:0; border:none; outline:none; padding: 0 8px; font-size:16px; color:var(--primary-gray-dark); }
.filterdrop { position: relative; }
.dropmenu { display:none; position:absolute; top: calc(100% + 6px); left:0; min-width:260px; background:var(--white); border:1px solid var(--border); border-radius:8px; padding:12px; box-shadow:0 6px 18px rgba(0,0,0,.08); z-index:4000; }
.dropmenu.open { display:block; }
.rowline { display:flex; gap:8px; margin-bottom:8px; }
.rowbetween { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }
.numinput { width:110px; border:1px solid var(--border-mid); border-radius:8px; padding:6px 8px; outline:none; }
.numinput:focus { border-color:#d0d0d0; box-shadow:none; }

.listpane { overflow:auto; padding: 12px; }
.listtitle { margin: 12px 12px; font-weight:700; }
.listing { display:flex; flex-direction:column; gap:12px; }
.header { padding: 15px 50px; display: flex; justify-content: space-between; align-items: center; }
.header-left { display: flex; align-items: center; gap: 20px; flex: 1; }
.logo { display: flex; align-items: center; justify-content: center; flex: 1; }
.logo-image { height: 50px; width: auto; max-width: 200px; object-fit: contain; }
.header-nav { display: flex; gap: 30px; align-items: center; flex: 1; justify-content: flex-end; }
.nav-link { text-decoration: none; color: white; font-weight: 500; transition: color 0.3s; }
.header.scrolled .logo-image { filter: drop-shadow(0 2px 10px rgba(0,0,0,0.5)); }
.signup-btn:hover { background: var(--primary-red-dark); }
.hamburger-menu { background: transparent; color: white; padding: 8px 12px; border-radius: 5px; text-shadow: none; border: none; font-size: 18px; cursor: pointer; transition: background 0.3s; }
.hamburger-menu:hover { background: rgba(0,0,0,0.2); }
.language-btn { background: var(--white); color: var(--primary-gray-dark); padding: 8px 12px; border-radius: 20px; text-shadow: none; border: none; cursor: pointer; font-size: 14px; display: flex; align-items: center; gap: 8px; transition: all 0.3s; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.language-btn:hover { background: #f0f0f0; color: var(--primary-gray-dark); box-shadow: 0 3px 8px rgba(0,0,0,0.15); }
.header.scrolled .language-btn { background: var(--white) !important; color: var(--primary-gray-dark) !important; text-shadow: none !important; box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important; }
.header.scrolled .language-btn:hover { background: #f0f0f0 !important; color: var(--primary-gray-dark) !important; box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important; }
.language-selector { position: relative; }
.language-menu { display:none; position:absolute; top: calc(100% + 6px); right: 0; background:var(--white); border:1px solid var(--border); border-radius:8px; min-width: 150px; box-shadow: 0 6px 18px rgba(0,0,0,.12); padding:6px; z-index: 2200; }
.language-menu.open { display:block; }
.language-option { list-style:none; padding:8px 10px; border-radius:6px; cursor:pointer; color:var(--primary-gray-dark); font-family:'Roboto', sans-serif; }
.language-option:hover { background:var(--primary-light-gray); }
main > section { scroll-margin-top: 100px; }
.hero { margin-top: 0; color: white; min-height: 60vh !important; max-height: 60vh !important; height: 60vh !important; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; padding-top: 80px; overflow: hidden; }
.banner-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.banner-picture { display: block; }
.mobile-middle-banner { display: none; width: 100%; height: auto; border-radius: 12px; margin: 16px 0; }
.hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(var(--overlay-light), var(--overlay-light)); z-index: 0; }
.hero-content { max-width: 800px; padding: 0 20px; position: relative; z-index: 2; }
.hero-title { font-family: 'Montserrat', sans-serif; font-size: 40px; font-weight: 400; line-height: 65px; letter-spacing: 1.2px; color: #FFF; text-align: center; width: 100%; max-width: 1724px; height: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.hero-title .first-part { font-family: 'Montserrat', sans-serif; font-size: 40px; font-weight: 400; line-height: 65px; letter-spacing: 1.2px; color: #FFF; text-align: center; margin-bottom: 0; }
.hero-title .second-part { font-family: 'Montserrat', sans-serif; font-size: 52px; font-weight: 700; line-height: 65px; letter-spacing: 1.56px; color: #FFF; text-align: center; margin-top: 0; }
.search-container { display: flex; max-width: 800px; margin: 20px auto 100px auto; background: var(--white); border-radius: 50px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.3); border: 2px solid var(--border-mid); padding: 2px; }
.search-input { flex: 1; padding: 15px 15px; border: none; outline: none; font-size: 16px; color: var(--primary-gray-dark); background: var(--white); font-family: 'Roboto', sans-serif; font-weight: 400; }
.search-input::placeholder { color: var(--text-999); }
.search-btn { background: var(--primary-gradient); border: none; color: white; cursor: pointer; font-size: 18px; transition: all 0.3s; font-family: 'Roboto', sans-serif; font-weight: 500; position: relative; overflow: hidden; border-radius: 50px; display: flex; align-items: center; justify-content: center; margin: 5px; padding: 15px 15px; }
.search-btn:hover { background: var(--primary-gradient-hover); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(222, 22, 32, 0.4); }
.search-btn:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(222, 22, 32, 0.3); }
.featured-properties { padding: 80px 0; background: var(--white); }
.section-title { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 36px; margin-bottom: 40px; color: var(--primary-gray-dark); position: relative; line-height: 1.2; }
.properties-carousel { position: relative; display: flex; gap: 20px; }
.carousel-btn { display: none; }
.grid, .properties-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; flex: 1; }
.property-card { background: var(--white); border: 1px solid var(--primary-gray-light); border-radius: 15px; overflow: hidden; box-shadow: none; transition: none; border-top: 4px solid transparent; }
.property-image { position: relative; height: 250px; overflow: hidden; }
.property-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.property-card:hover .property-image img { transform: scale(1.06); }
.property-card:hover { border-top-color: transparent; }
.property-actions { position: absolute; top: 15px; right: 15px; display: flex; gap: 5px; }
.action-btn, .icon-btn { background: rgba(255,255,255,0.8); border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s; font-family: 'Roboto', sans-serif; font-weight: 500; }
.action-btn:hover, .icon-btn:hover { background: var(--primary-orange) !important; color: #fff !important; }
.property-info { padding: 15px; display: flex; flex-direction: column; align-items: flex-start; }
.property-name { font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 1.2rem; margin-bottom: 0; color: var(--primary-gray-dark); }
.property-pricing-details { display:flex; flex-direction: column; align-items:flex-start; gap:4px; }
.property-price { font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 1.2rem; color: var(--primary-gray-dark); margin-bottom: 0; }
.property-details { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 14px; color: var(--text-666); margin-bottom: 0; }
.action-btn .fa-thumbs-down.is-selected { color: var(--primary-orange) !important; }
.advertising { background: var(--white); }
.advertising .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; margin-top: 3rem !important; margin-bottom: 3rem !important; }
.advertising .section-title { text-align: center; }
.ad-row { display: flex; flex-wrap: wrap; margin-right: 0; margin-left: 0; }
.advertising .col-md-6 { flex: 0 0 auto; width: 50%; }
.advertising .d-flex { display: flex; }
.advertising .flex-column { flex-direction: column; }
.advertising .justify-content-center { justify-content: center; }
.advertising .align-items-start { align-items: flex-start; }
.advertising .text-block { background: var(--primary-light-gray); }
.advertising .lead { font-size: 1.25rem; font-weight: 300; }
.advertising .responsive-desc { line-height: 1.6; color: var(--text-666); }
.ad-image-col { flex: 0 0 auto; width: 50%; overflow: hidden; }
.ad-image-col img { width: 100%; height: 100%; object-fit: cover; display: block; }
.advertising .ad-image-col img { height: 260px !important; width: 100% !important; object-fit: cover !important; display: block; }
.ad-heading { font-weight: 600; margin-bottom: 10px; font-size: 30px; }
.advertising .img-fluid { max-width: 100%; height: auto; }
.advertising .w-100 { width: 100% !important; }
.advertising .h-100 { height: 100% !important; }
.advertising .object-fit-cover img { object-fit: cover; }
.ad-text-panel { flex: 0 0 auto; width: 50%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-right: 50px; padding-left: 50px; background: var(--primary-light-gray); }
.partners { padding: 60px 0; background: var(--white); }
.partners-logos { display: flex; align-items: center; gap: 40px; margin-bottom: 30px; overflow: hidden; position: relative; }
.partners-logos .track { display: flex; align-items: center; gap: 40px; will-change: transform; animation: none; transition: transform 400ms ease; }
.partner-logo { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 1.5rem; color: var(--primary-gray-dark); letter-spacing: 2px; }
.partners-dots { display: flex; justify-content: center; gap: 10px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border-mid); cursor: pointer; transition: background 0.3s; }
.dot.active { background: var(--primary-red); }
.footer { background: #f8f9fa; padding: 60px 0 30px; position: relative; border-top: 4px solid var(--primary-gradient); }
.footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.footer-logo .logo-image { height: 40px; max-width: 150px; }
.footer-mission { font-family: 'Roboto', sans-serif; font-weight: 400; color: var(--text-666); line-height: 1.6; margin-bottom: 30px; }
.social-icons { display: flex; gap: 15px; }
.social-icon { width: 40px; height: 40px; background: var(--border-mid); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-666); text-decoration: none; transition: all 0.3s; }
.social-icon:hover { background: var(--primary-red); color: white; }
.footer-title { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 1.2rem; margin-bottom: 20px; color: var(--primary-gray-dark); }
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { font-family: 'Roboto', sans-serif; font-weight: 400; color: var(--text-666); text-decoration: none; transition: color 0.3s; }
.footer-links a:hover { color: var(--primary-red); }
.contact-info { display: flex; flex-direction: column; gap: 15px; }
.contact-item { display: flex; align-items: center; gap: 10px; font-family: 'Roboto', sans-serif; font-weight: 400; color: var(--text-666); }
.contact-item i { color: var(--primary-red); }
.footer-bottom { text-align: center; padding-top: 30px; border-top: 1px solid var(--border-mid); }
.copyright { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 14px; color: var(--text-666); }
.scroll-to-top { position: fixed; bottom: 30px; left: 30px; width: 50px; height: 50px; background: var(--border-mid); border: none; border-radius: 5px; cursor: pointer; color: var(--text-666); font-size: 18px; transition: all 0.3s; z-index: 1000; font-family: 'Roboto', sans-serif; font-weight: 500; }
.scroll-to-top:hover { background: var(--primary-red); color: white; }
table { border:1px solid var(--border-weak); }
thead.table-light { background:#f6f6f6; }
table td, table th { padding: .75rem .75rem; }
.card { border:1px solid #eaeaea; border-radius: 8px; }
.badge, .promo-badge { display: inline-block; font-weight: 600; border-radius: 999px; padding: 2px 8px; font-size: 12px; }
.contact-modal { position: fixed; inset: 0; display: none; z-index: 4000; }
.contact-modal.open { display: block; }
.contact-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.contact-dialog { position: relative; z-index: 1; max-width: 520px; width: 92%; margin: 8vh auto; background:var(--white); border-radius:12px; box-shadow: 0 20px 60px rgba(0,0,0,.25); padding: 20px; }
.contact-close { position:absolute; top:10px; right:10px; background:transparent; border:none; color:#888; font-size:18px; cursor:pointer; }
.contact-title { margin: 4px 0 12px; text-align:center; font-weight:800; color:var(--primary-gray-dark); }
.contact-form { display:flex; flex-direction:column; gap:10px; }
.contact-form .field { display:flex; flex-direction:column; gap:6px; }
.contact-input { width: 100%; box-sizing: border-box; border:1px solid var(--border-mid); border-radius:8px; padding:12px 12px; font-size:14px; background:var(--white); color:var(--primary-gray-dark); transition:border-color .15s ease, box-shadow .15s ease; }
.contact-input::placeholder { color: var(--muted); }
.contact-input:hover { border-color:#d0d0d0; }
.contact-input:focus { border-color: var(--primary-orange); box-shadow: 0 0 0 3px rgba(250,120,58,0.12); outline: none; }
.auth-password .contact-input { padding-right: 64px; }
.contact-send { background:var(--primary-orange); color:#fff; border:none; border-radius:10px; padding:8px 10px; font-weight:500; font-size:14px; cursor:pointer; }
.contact-send:hover { background:var(--primary-orange-hover); }
.login-hero { position: relative; min-height: 100vh; display:flex; align-items:center; justify-content:center; }
.login-hero .banner-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.login-overlay { position:absolute; inset:0; background: rgba(0,0,0,.35); z-index:-1; }
.auth-modal { position: relative; width: 92%; max-width: 520px; background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.2); padding: 24px; }
.auth-close { position:absolute; top:10px; right:10px; border:none; background:transparent; color:#888; font-size:18px; cursor:pointer; }
.auth-title { text-align:center; font-family:'Roboto', sans-serif; font-weight:800; color:var(--primary-gray-dark); margin: 8px 0 16px; }
.auth-social { display:flex; flex-direction:column; gap:10px; }
.auth-social-btn { display:flex; align-items:center; gap:10px; width:100%; border:1px solid var(--border); background:var(--white); color:var(--primary-gray-dark); padding:10px 12px; border-radius:8px; cursor:pointer; font-weight:600; }
.auth-social-btn i { width:20px; text-align:center; }
.auth-social-btn:hover { background:#f8f9fa; }
.auth-divider { display:flex; align-items:center; justify-content:center; color:var(--muted); margin:14px 0; position:relative; }
.auth-divider::before, .auth-divider::after { content:""; flex:1; height:1px; background:var(--border-weak); }
.auth-divider span { padding:0 10px; font-size:12px; color:var(--muted); }
.auth-form { display:flex; flex-direction:column; gap:10px; }
.auth-input { width:100%; border:1px solid var(--border-mid); border-radius:8px; padding:12px 12px; font-size:14px; outline:none; background:var(--white); color:var(--primary-gray-dark); transition:border-color .15s ease, box-shadow .15s ease; }
.auth-input::placeholder { color: var(--muted); }
.auth-input:hover { border-color:#d0d0d0; }
.auth-input:focus { border-color: var(--primary-orange); box-shadow: 0 0 0 2px rgba(250,120,58,0.10); }
.auth-password { position: relative; }
.auth-password .auth-input { padding-right:64px; }
.auth-show { position:absolute; top:50%; right:10px; transform:translateY(-50%); border:none; background:transparent; color:var(--muted); cursor:pointer; font-weight:600; }
.auth-submit { background: var(--primary-orange) !important; color:#fff; border:none; border-radius:8px; padding:12px; font-weight:700; cursor:pointer; }
.auth-submit:hover { background: var(--primary-orange-hover) !important; }
.auth-meta { display:flex; justify-content:flex-end; }
.auth-link { color:var(--primary-orange); text-decoration:none; font-weight:700; }
.auth-link.small { font-size:12px; }
.auth-note { text-align:center; color:var(--muted); margin-top:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.auth-sub { text-align:center; color:var(--muted); margin: -6px 0 12px; font-size: 12px; }
.auth-row { display:flex; gap:10px; }
.auth-row .auth-input { flex:1 1 0; }
.auth-legal { text-align:center; color:var(--muted); font-size:12px; margin-top:8px; }
.auth-legal .auth-link { font-weight:600; }
.property-header { display:flex; align-items:center; justify-content: flex-start; gap:10px; padding-right: 20px; }
.property-header .message-btn { margin-left: auto; }
.message-btn { all: unset; }
.message-btn:hover { background:#f1f3f5 !important; }
.message-btn i { font-size: 14px; line-height: 1; }
.price-row { display:flex; align-items:center; gap:8px; }
.promo-badge { background:#f7b79b; color:#252525; border-radius:999px; padding:2px 8px; font-size:12px; font-weight:700; text-transform: lowercase; }
.detail-gallery img { width:100%; height:100%; object-fit: cover; }
.detail-gallery { width: 100%; padding: 0; }
.detail-topbar { position: sticky; top: var(--detail-header-offset, 60px); z-index: 3100; background: var(--detail-topbar-bg); color: var(--white); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 12px 20px; }
.detail-topbar .h5, .detail-topbar .text-muted { color:#fff !important; opacity:.9; }
.detail-topbar .h4 { color:#fff; font-weight: 700; }
.detail-content { max-width: 1200px; margin: 0 auto; padding: 1.5rem 20px; }
.promo-banner { text-align: center; }
.detail-3dtour img { display:block !important; width: 100% !important; height: auto;}
.contact-card { box-shadow: 0 6px 20px rgba(0,0,0,0.04); border:1px solid var(--border-weak); border-radius:12px; padding: 15px!important; width: 100%; margin: 0; }
.contact-card h3 { font-weight:500; color:var(--primary-gray-dark); text-align:center; }
.contact-card .lang-select { border:1px solid var(--primary-orange); background:var(--white); color:var(--primary-orange); border-radius:10px; padding:8px 10px; display:flex; align-items:center; justify-content:space-between; font-weight:500; font-size:14px; }
.contact-card .lang-select:hover { background:#fff5f0; }
.contact-card .send-btn { background:#fa783a; color:#fff; border:none; border-radius:10px; padding:8px 10px; font-weight:500; font-size:14px; }
.contact-card .send-btn:hover { background:#e66a2a; }
.contact-card .phone-note { text-align:center; margin-top:8px; }

.policy-section { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--white); margin:16px 0; }
.policy-header { background:#eee; color:var(--primary-gray-dark); font-weight:700; padding:10px 12px; border-bottom:1px solid var(--border); }
.policy-body { padding:14px; }
/* Unified list class */
.list-auto { padding-left:18px; }
.list-auto li { margin-bottom:6px; }
/* Unified: -> 1 col default; 2 cols when 6+ items */
.detail-page .list-auto { display: grid; grid-template-columns: 1fr; gap: 6px 16px; }
.detail-page .list-auto--spaced { margin: 10px; }
@supports selector(:has(*)) {
  .detail-page .list-auto:has(li:nth-child(n+4)) { grid-template-columns: 1fr 1fr; }
  @media (max-width: 576px) {
    .detail-page .list-auto { grid-template-columns: 1fr; }
  }
}
@supports not selector(:has(*)) {
  @media (min-width: 992px) {
    .detail-page .list-auto { grid-template-columns: 1fr 1fr; }
  }
}
.detail-page .policy-section .policy-body .row { display:grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap:0; }
.detail-floorplans-ui .plan-filters { display:flex; gap:10px; padding-top: 30px; }
.detail-floorplans-ui .pill { background:#f1f3f5; border:none; color:#252525; padding:6px 12px; border-radius:999px; font-weight:600; cursor:pointer; }
.detail-floorplans-ui .pill.active { background:#252525; color:#fff; }
.detail-floorplans-ui .group-title { font-weight:700; margin:14px 0 10px; color:#252525; }
.detail-floorplans-ui .plan-card { box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.detail-floorplans-ui .plan-summary { display:flex; align-items:center; gap:12px; padding:12px 14px; position: relative; }
.detail-floorplans-ui .plan-thumb { width:64px; height:64px; border-radius:12px; background:#eee; }
.detail-floorplans-ui .plan-info .name { font-weight:700; color:#252525; }
.detail-floorplans-ui .plan-info .range { color:#6c757d; font-size:14px; }
.detail-floorplans-ui .plan-info .size { color:#6c757d; font-size:14px; }
.detail-floorplans-ui .plan-toggle { margin-left:auto; background:none; border:none; color:#fa783a; font-weight:700; cursor:pointer; padding: 4px 10px; border-radius:6px; transition: background 180ms ease; font-size:14px; line-height:1.1; }
.detail-floorplans-ui .plan-toggle:hover, .detail-floorplans-ui .plan-toggle:focus { background: rgba(250,120,58,0.1); outline: none; }
.detail-floorplans-ui .plan-toggle .caret { display:inline-block; transition: transform 200ms ease; font-size:1em; line-height:1; vertical-align:middle; }
.detail-floorplans-ui .plan-card.expanded .plan-toggle .caret { transform: rotate(180deg); }
.detail-floorplans-ui .plan-card.expanded .plan-toggle { color:#fa783a; }
.detail-floorplans-ui .plan-rows { border-top:1px solid #f1f1f1; overflow: hidden; height: 0; transition: height 220ms ease; }
.detail-floorplans-ui .plan-card:not(.expanded) .plan-rows { border-top: 0; }
.detail-floorplans-ui .plan-table { width:100%; border-collapse: collapse; }
.detail-floorplans-ui .plan-table tr { border-top:1px solid #f1f1f1; }
.detail-floorplans-ui .plan-table td { padding:12px 14px; }
.detail-floorplans-ui .plan-table td.price, .detail-floorplans-ui .plan-table td.sqft, .detail-floorplans-ui .plan-table td.status { text-align:right; }
.detail-floorplans-ui .plan-row { display:grid; grid-template-columns: 1fr 120px 140px 140px; align-items:center; gap:20px; padding:15px; border-top:1px solid #f1f1f1; }
.advertising-banner img { width:100%; height:auto; display:block; border-radius:6px; }
.detail-page .edu-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.detail-page .nearby-card { display:flex; gap:10px; align-items:flex-start; border:1px solid #eee; border-radius:8px; padding:10px 12px; background:#fff; }
.detail-page .nearby-badge { width:36px; height:36px; border-radius:50%; background:#eef2ff; color:#252525; font-size:12px; display:flex; align-items:center; justify-content:center; font-weight:700; }
.detail-page .nearby-title { font-weight:700; color:#252525; }
.detail-page .nearby-sub { color:#6c757d; }
.detail-page .nearby-meta { color:#6c757d; font-size:12px; }
.map-list-wrap { height: calc(100vh - 140px); }
.map-col { flex:0 0 65%; max-width:65%; border-right:1px solid #eee; }
.list-col { flex:0 0 35%; max-width:35%; }
#map { width:100%; height:100%; }
.filter-bar .filtersrow { flex-wrap: wrap; overflow: visible; }

@media (max-width: 480px) { .logo-image { height: 35px; max-width: 120px; }
.hero { min-height: 60vh !important; max-height: 60vh !important; height: 60vh !important; padding-top: 50px; }
.hero-title { font-size: 28px; line-height: 45px; height: auto; padding: 15px; }
.hero-title .first-part { font-size: 28px; line-height: 45px; }
.hero-title .second-part { font-size: 36px; line-height: 45px; }
.section-title { font-size: 24px; margin-bottom: 10px; }
.advertising-title { font-size: 2rem; } }

@media (min-width: 992px) { .detail-page .feature-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .detail-page .feature-tiles .feature-tile { width: auto; max-width: none; } }

@media (max-width: 576px) { .search-container { width: calc(100% - 40px); max-width: none; border-radius: 30px; margin: 20px auto 100px auto; box-shadow: 0 10px 30px rgba(0,0,0,0.25); flex-direction: row; align-items: center; }
  .search-input { padding: 12px 16px; font-size: 14px; }
  .search-btn { width: 44px; height: 44px; margin: 3px; border-radius: 50%; padding: 0; } }
.home-page main, .detail-page main, .login-page main { padding-top: var(--detail-header-offset, 80px); }

.home-page .header { position: fixed; top: 0; left: 0; right: 0; z-index: 1001; background: transparent; }
.home-page .header.scrolled { background: rgba(0, 0, 0, 0.3) !important; box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important; backdrop-filter: blur(10px) !important; }
.home-page .header.scrolled .hamburger-menu, .home-page .header.scrolled .nav-link { color: white !important; }
.home-page .header.scrolled .language-btn { background: var(--white) !important; color: var(--primary-gray-dark) !important; }
.home-page .header.scrolled .hamburger-menu:hover { background: rgba(0,0,0,0.5) !important; }
.home-page .header.scrolled .language-btn:hover { background: #f0f0f0 !important; }
.home-page .header.scrolled .nav-link:hover { color: var(--primary-red) !important; }
.home-page .header.scrolled .signup-btn { background: var(--primary-red) !important; color: white !important; text-shadow: none !important; }
.home-page .header.scrolled .signup-btn:hover { background: var(--primary-red-dark) !important; }
.home-page .header.scrolled .logo-image { filter: drop-shadow(0 2px 10px rgba(0,0,0,0.5)) !important; }
.properties-page .header, .detail-page .header { padding: 15px 50px; background: #fff; border-bottom: 1px solid #e5e5e5; }
.properties-page .header.scrolled { background:#fff !important; box-shadow:none !important; backdrop-filter:none !important; border-bottom:1px solid #e5e5e5; }
.properties-page .hamburger-menu, .detail-page .hamburger-menu { color: #252525 !important; background: transparent !important; }
.properties-page .hamburger-menu:hover, .detail-page .hamburger-menu:hover { background: rgba(0,0,0,0.06) !important; }
.properties-page .language-btn, .detail-page .language-btn { border: 1px solid #ddd !important; box-shadow: none !important; background: #fff !important; color: var(--primary-gray-dark) !important; }
.properties-page .logo-image, .detail-page .logo-image { height: 32px !important; }
.properties-page .filter-bar { margin-top: 0; }
.properties-page .product-card .property-image { overflow: hidden; }
.properties-page .product-card .property-image img { transition: transform 0.35s ease; display: block; }
.properties-page .product-card:hover .property-image img { transform: scale(1.06); }
.properties-page .property-price { font-family:'Roboto', sans-serif; font-weight:600; font-size:1.2rem; color: var(--primary-gray-dark); margin-bottom:0; }
.properties-page .map-list-wrap { display: flex !important; align-items: stretch; height: calc(100vh - 140px); }
.properties-page .map-col { flex: 1 1 auto !important; min-width: 0; border-right:1px solid #eee; }
.properties-page .list-col { flex:0 0 35%; max-width:35%; }
.detail-page .feature-tiles { gap: 16px; }
.detail-page .feature-tiles .feature-tile { background:#f4f4f4; border:1px solid var(--border); border-radius:8px; padding:14px 18px; min-width:0; text-align:center; }
.detail-page .feature-tiles .feature-tile i { display:block; font-size:20px; margin-bottom:8px; color:#252525; }
.detail-page #detail-map { border:1px solid var(--border); border-radius: 8px; }
.detail-page #detail-map { height: 300px; }
.detail-page .score-cards { display:flex; gap:10px; flex-wrap:wrap; }
.detail-page .score-card { display:flex; flex-direction:column; align-items:flex-start; gap:2px; flex: 0 0 30%; max-width: 30%; }
.detail-page .score-card .score-icon { width:40px; height:40px; border-radius:50%; background:#eaf7f0; display:flex; align-items:center; justify-content:center; font-size:18px; color:#2f855a; }
.detail-page .score-card .score-label { color:var(--muted); font-size:12px; }
.detail-page .score-card .score-value { color:#1f2937; }
.detail-page .score-card .score-desc { color:var(--muted); font-size:12px; }
.detail-page .poi-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.detail-page .poi-card { display:grid; grid-template-columns:24px 1fr auto; align-items:center; gap:10px; border:1px solid var(--border-weak); border-radius:8px; padding:10px 12px; background:#fff; }
.detail-page .poi-dot { width:14px; height:14px; border-radius:50%; background:#14b8a6; }
.detail-page .poi-title { font-weight:700; color:#252525; }
.detail-page .poi-sub { color:var(--muted); font-size:12px; }
.detail-page .poi-dist { color:var(--muted); font-size:12px; }
.detail-page .detail-gallery { background:#000; }
.detail-page .detail-hero { width:100%; }
.detail-page .detail-hero img { width:100%; height:auto; display:block; }
.detail-page .detail-sidebar { height: auto; margin-top: 15px; padding: 15px !important; }
.detail-page .detail-stats .stats-bar { margin-top: 15px; background:#fff; border:1px solid var(--border); border-radius:8px; display:grid; grid-template-columns: repeat(4, 1fr); gap:0; padding:24px 20px; }
.detail-page .detail-stats .stats-item { text-align:center; position:relative; }
.detail-page .detail-stats .stats-item:not(:last-child)::after { content:""; position:absolute; top:10%; right:0; width:1px; height:80%; background:#ededed; }
.detail-page .detail-stats .stats-label { color:var(--muted); font-size:12px; line-height:1.2; margin-bottom:4px; }
.detail-page .detail-stats .stats-value { color:#252525; font-weight:700; font-size:16px; }
.detail-page .promo-banner { margin-top:15px; border:2px dashed #f7b79b; background:#fff6f2; border-radius:8px; padding:12px 10px; }
.detail-page .promo-banner .promo-title { font-weight:700; font-size:16px; color:#252525; }
.detail-page .promo-banner .promo-subtitle { color:#252525; opacity:.8; }
.detail-page #pet-policy .pet-policy-mobile { display: none; }
.detail-page #pet-policy .pet-pills { display:flex; gap:8px; margin-bottom:8px; }
.detail-page #pet-policy .pet-pill { border:none; background:#eee; color:#252525; padding:6px 12px; border-radius:999px; font-weight:700; }
.detail-page #pet-policy .pet-pill.active { background:#252525; color:#fff; }
.detail-page #pet-policy .pet-list { display:none; }
.detail-page #pet-policy .pet-list.active { display:block; }
.detail-page .unique-features-mobile { display: none; }
.detail-page .unique-features-mobile .unique-list { list-style: disc; padding-left: 18px; color:var(--muted); }
.detail-page .unique-features-mobile .unique-list.more { display: none; margin-top: 6px; }
.detail-page .unique-features-mobile .unique-show-more { background: none; border: none; color: var(--primary-orange); font-weight: 700; padding: 0; margin-top: 8px; }
.detail-page .unique-features-mobile .mobile-special-offer { display:flex; align-items:flex-start; gap:10px; background:#fff6f2; border:2px dashed #f7b79b; border-radius:10px; padding:12px; color:#252525; }
.detail-page .unique-features-mobile .mobile-special-offer .offer-icon { width:28px; height:28px; border-radius:50%; background:#fff0e8; display:flex; align-items:center; justify-content:center; color:#fa783a; }
.detail-page .unique-features-mobile .mobile-special-offer .offer-title { font-weight:700; }
.detail-page .unique-features-mobile .mobile-special-offer .offer-text { color:#252525; opacity:.8; }
.detail-page .toprow { display:flex; align-items:center; justify-content: space-between; gap:12px; flex-wrap: wrap; margin-top:20px; margin-bottom:20px; }
.detail-page .title5 { font-size: 1.25rem; font-weight:700; color:#fff; margin:0; }
.detail-page .title4 { font-size: 1.5rem; font-weight:800; color:#fff; margin:0; }
.detail-page .muted { color:#fff; opacity:.9; font-size: .875rem; }
.detail-page .right { text-align: right; }
.detail-page .gridrow { display:flex; gap: 1.5rem; flex-wrap: wrap; }
.detail-page .maincol { flex: 1 1 100%; max-width: 100%; }
.detail-page .sidecol { flex: 1 1 100%; max-width: 100%; }
.detail-page .header { position: fixed; top: 0; left: 0; right: 0; z-index: 3200; background:#fff; border-bottom:1px solid #e5e5e5; }
.detail-page .header.scrolled { background: #fff !important; box-shadow: none !important; backdrop-filter: none !important; border-bottom: 1px solid #e5e5e5 !important; }
.detail-page .header.scrolled .hamburger-menu, .detail-page .header.scrolled .language-btn, .detail-page .header.scrolled .nav-link { color: #252525 !important; }
.detail-page .header.scrolled .hamburger-menu:hover, .detail-page .header.scrolled .language-btn:hover { background: rgba(0,0,0,0.06) !important; }
.detail-page .header.scrolled .nav-link:hover { color: var(--primary-red) !important; }
.detail-page .header.scrolled .signup-btn { background: var(--primary-red) !important; color: white !important; text-shadow: none !important; }
.detail-page .header.scrolled .signup-btn:hover { background: var(--primary-red-dark) !important; }
.detail-page .header.scrolled .logo-image { filter: none !important; }
.login-page .header { position: fixed; top:0; left:0; right:0; z-index: 1001; }
@media (max-width: 576px) {
  .filter-bar .filtersrow { gap: 8px; }
  .filter-bar .searchbox { flex: 1 1 auto; min-width: 0; }
  .properties-page .filter-bar .dropdown { display: none !important; }
  .mobile-middle-banner { display: block; }
  /* removed unused .mobile-top-features */
  .header { padding: 10px 16px; align-items:center; position: relative; margin-bottom: -60px; }
  .header-nav { display: none; position: absolute; top: 100%; left: 16px; right: auto; background: var(--overlay-dark); border-radius: 8px; padding: 8px 12px; flex-direction: column; gap: 8px; z-index: 2000; }
  .header-nav a { color: #fff; }
  .header-nav.open { display: flex; }
  .header-left { display:flex; align-items:center; gap:10px; }
  .logo { display:flex; justify-content: center; align-items: center; justify-self: center; position: absolute; left: 50%; transform: translateX(-50%); z-index: 1500; }
  .hamburger-menu, .language-btn { display:flex; align-items:center; height: 32px; }
  .logo-image { height: 35px; max-width: 120px; }
  .language-btn { padding: 6px 10px; font-size: 12px; }
  .language-btn .language-text { display: none; }
  .hero { min-height: 100vh !important; height: 100vh !important; max-height: none !important; padding-top: 60px; }
  .hero-content { padding: 0 24px; }
  .hero-title { padding: 10px 0; }
  .hero-title .first-part { font-weight: 400; }
  .hero-title .second-part { font-weight: 700; }
  .search-container { width: calc(100% - 40px); max-width: none; border-radius: 30px; margin: 20px auto 100px auto; box-shadow: 0 10px 30px rgba(0,0,0,0.25); flex-direction: row; align-items: center; }
  .search-input { padding: 12px 16px; font-size: 14px; }
  .search-btn { width: 44px; height: 44px; margin: 3px; border-radius: 50%; padding: 0; }
  .property-image { height: 200px; }
  .featured-properties { padding: 30px 0; }
  .advertising .ad-row { display: flex; flex-direction: column; gap: 12px; }
  .advertising .ad-row > div:nth-child(1) { order: 2; }
  .advertising .ad-row > div:nth-child(2) { order: 1; }
  .advertising .ad-row > div:nth-child(3) { order: 3; }
  .advertising .ad-row > div:nth-child(4) { order: 4; }
  .advertising .ad-image-col, .advertising .ad-text-panel { width: 100%; padding-left: 0; padding-right: 0; }
  .advertising .ad-image-col img { height: 200px !important; width: 100% !important; display: block; border-radius: 8px 8px 0 0; }
  .advertising .ad-text-panel { background: #f5f5f5; padding: 16px; border-radius: 0 0 8px 8px; margin-top: -20px; }
  .advertising .ad-heading { font-size: 20px; margin-bottom: 6px; }
  .advertising .responsive-desc { font-size: 14px; color: var(--muted); }
  .footer { padding: 40px 0 20px; }
  .footer-content { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .footer-logo { justify-content: center; }
  .footer-mission { margin-bottom: 16px; }
  .social-icons { justify-content: center; gap: 12px; }
  .social-icon { width: 36px; height: 36px; }
  .footer-title { margin-bottom: 12px; }
  .footer-links { padding: 0; margin: 0 auto; display: inline-block; text-align: left; }
  .properties-page .header { padding: 10px 16px !important; position: sticky !important; top: 0; z-index: 3200; }
  .filter-bar { padding: 10px 16px !important; position: sticky; margin-top: 60px !important; z-index: 3190; background: #fff; }
  .properties-page .filter-bar .container { padding-left: 0px !important; padding-right: 0px !important; }
  .filters-btn { height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; }
  .properties-page .map-col { display: none !important; }
  .properties-page .list-col { flex: 1 1 auto !important; max-width: 100% !important; border-right: none !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  .properties-page .map-list-wrap { height: auto !important; }
  .properties-page .floating-map-btn { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); background: var(--primary-gradient); color: #fff; border: none; border-radius: 999px; padding: 10px 18px; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 8px 20px rgba(0,0,0,0.2); z-index: 3300; font-weight: 600; }
  .properties-page .floating-map-btn i { font-size: 14px; }
  .properties-page.show-map .list-col { display: none !important; }
  .properties-page.show-map { overflow: hidden; }
  .properties-page.show-map .map-list-wrap { position: fixed; top: var(--map-top-offset, 108px); left: 0; right: 0; bottom: 0; height: auto !important; width: 100vw !important; display: block !important; z-index: 3100; }
  .properties-page.show-map .map-col { display: block !important; height: 100%; width: 100vw !important; }
  .properties-page.show-map #map { position: absolute; inset: 0; height: 100% !important; width: 100% !important; }
  .detail-topbar { padding: 12px 16px; }
  .detail-topbar .h5 { font-size: 18px; font-weight: 700; }
  .detail-topbar .text-muted.small { font-size: 12px; opacity: .9; }
  .detail-topbar .h4 { font-size: 22px; font-weight: 800; }
  .detail-unique { margin-top: -50px; padding: 10px 16px; }
  .unique-features-mobile .unique-list { font-size: 14px; }
  .unique-features-mobile .unique-show-more { font-size: 14px; }
  .unique-features-mobile .mobile-special-offer { margin: 10px 0 0; }
  .detail-floorplans-ui .plan-filters { gap: 8px; }
  .detail-floorplans-ui .pill { font-size: 12px; padding: 6px 10px; }
  .detail-floorplans-ui .plan-card { border-radius: 10px; }
  /* removed duplicate mobile override for .plan-row to avoid conflicts with the @media (max-width: 768px) rule below */
  .feature-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .feature-tiles .feature-tile:nth-child(n+5) { display: none !important; }
  .feature-tiles .feature-tile { background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow: 0 2px 6px rgba(0,0,0,0.08); padding:12px; }
  .feature-tiles .feature-tile i { font-size: 18px; margin-bottom: 6px; color:#252525; }
  .feature-tiles .feature-tile > div { font-weight: 600; color:#252525; }
  .list-col.overflow-auto.p-3 { max-width: none !important; width: auto !important; flex: 1 1 auto !important; }
  .detail-page .edu-grid { grid-template-columns: 1fr !important; }
  .detail-page #pet-policy .pet-policy-mobile { display:block; }
  .detail-page #pet-policy .pet-policy-desktop { display:none; }
  .detail-page .unique-desktop { display: none; }
  .detail-page .unique-features-mobile { display: block; }
  .detail-page .detail-content aside, .detail-page .detail-sidebar { display: none !important; }
  .detail-page .detail-content .col-lg-8 { padding: 0px 10px; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
  .detail-page .detail-stats { display: none !important; }
  .detail-floorplans-ui .plan-table td.sqft { font-size:12px; color:var(--muted); }
  .detail-floorplans-ui .plan-summary { padding: 12px 14px; }
  .detail-floorplans-ui .plan-info .name { font-size: 14px; font-weight: 700; }
  .detail-floorplans-ui .plan-info .range, .detail-floorplans-ui .plan-info .size { font-size: 12px; color:var(--muted); }
  .detail-floorplans-ui .plan-toggle { color:#fa783a; font-weight:700; padding: 0 4px; }
  .auth-modal { padding:16px; border-radius:10px; }
  .auth-title { font-size:18px; }
  .auth-row { flex-direction:column; }
  .language-selector { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
  .contact-dialog { margin: 12vh auto; padding:16px; }
  .filter-bar .container { padding-left: 16px !important; padding-right: 16px !important; }
  .filtersrow { gap: 8px; }
  .searchbox { flex: 1 1 auto; min-width: 0; }
  .filterbtn, .savebtn { white-space: nowrap; }
  .filterdrop { display: none; }
  .map-col { display:none !important; }
  .list-col { flex: 1 1 auto !important; max-width: 100% !important; border-right: none !important; min-width: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  .map-list-wrap { height:auto !important; }
  .list-col.listpane { max-width: none !important; width: auto !important; flex: 1 1 auto !important; }
}
@media (min-width: 577px) {
  /* removed unused .mobile-top-features */
  .hamburger-menu { display: none !important; }
  .properties-page .nav-link, .detail-page .nav-link { color: #252525 !important; }
  .properties-page .nav-link:hover, .detail-page .nav-link:hover { color: var(--primary-red) !important; }
  .detail-page .detail-unique h2.h6 { display: none; }
}
@media (max-width: 768px) {
  .header { flex-direction: row; align-items: center; gap: 10px; padding: 10px 16px; }
  .header-left { order: 1; flex: 0 0 auto; display:flex; align-items:center; gap:10px; }
  .logo { order: 2; flex: 1; display:flex; justify-content:center; }
  .header-nav { order: 3; flex: 0 0 auto; display:flex; gap: 16px; }
  .nav-link { font-size: 14px; }
  .logo-image { height: 40px; max-width: 150px; }
  .hero { min-height: 60vh !important; max-height: 60vh !important; height: 60vh !important; padding-top: 60px; }
  .hero-title { font-size: 32px; line-height: 50px; height: auto; padding: 20px; }
  .hero-title .first-part { font-size: 32px; line-height: 50px; }
  .hero-title .second-part { font-size: 42px; line-height: 50px; }
  .search-container { flex-direction: column; border-radius: 15px; }
  .search-input { padding: 15px 50px; }
  .search-btn { padding: 15px 50px; border-radius: 0 0 15px 15px; }
  .partners-logos { flex-direction: column; gap: 20px; }
  .grid, .properties-grid { grid-template-columns: 1fr; }
  .carousel-btn { display: none; }
  .section-title { font-size: 36px; }
  .advertising-title { font-size: 2rem; }
  .detail-floorplans-ui .plan-row { grid-template-columns: 1fr 100px; grid-template-areas: "name price" "sqft available"; }
}
@media (max-width: 992px) {
  .header { padding: 10px 20px; }
  .header-nav { gap: 16px; }
  .nav-link { font-size: 14px; }
  .logo-image { height: 40px; }
  .language-btn { padding: 6px 10px; font-size: 12px; }
  .filter-bar .container { padding-left: 20px; padding-right: 20px; }
  .map-col, .list-col { flex:0 0 100%; max-width:100%; }
  .map-list-wrap { height:auto; }
  .list-col { border-top:1px solid var(--border-weak); }
}
@media (min-width: 992px) {
  .detail-page .detail-gallery .col-lg-8 { padding-right: .5rem; }
  .detail-page .detail-gallery .col-lg-4 { padding-left: .5rem; }
  .detail-page .detail-content .col-lg-8 { flex: 0 0 75%; max-width: 75%; }
  .detail-page .detail-content .col-lg-4 { flex: 0 0 25%; max-width: 25%; }
  .detail-page .gridrow { flex-wrap: nowrap; align-items: flex-start; }
  .detail-page .maincol { flex: 0 0 calc(75% - .75rem); max-width: calc(75% - .75rem); order: 1; }
  .detail-page .sidecol { flex: 0 0 calc(25% - .75rem); max-width: calc(25% - .75rem); order: 2; }
  .detail-page .detail-content aside, .detail-page .detail-sidebar { display:block !important; }
  .detail-page .edu-grid { grid-template-columns:1fr 1fr; }
  .detail-page .poi-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 1920px) {
  .hero-title { width: 100%; max-width: 1724px; }
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Roboto:wght@300;400;500;700;900&display=swap');
@keyframes partners-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .partners-logos .track { animation: none; }
}

.detail-page .property-description { padding-bottom: 10px; }
/* Home (index): keep pill-style search button on small screens */
@media (max-width: 768px) {
  .home-page .search-container { border-radius: 30px; }
  .home-page .search-btn { padding: 12px 16px; border-radius: 30px; width: auto; height: auto; }
}
@media (max-width: 576px) {
  .home-page .search-container { border-radius: 30px; }
  .home-page .search-btn { padding: 12px 16px; border-radius: 30px; width: auto; height: auto; margin: 3px 5px; }
}

/* Home (index): keep input and button aligned in one row on mobile */
@media (max-width: 768px) {
  .home-page .search-container { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; }
  .home-page .search-input { flex: 1 1 auto; min-width: 0; }
  .home-page .search-btn { flex: 0 0 auto; }
}


