/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --primary: #c8840a;
  --primary-dark: #a06807;
  --primary-light: #f5a623;
  --dark: #1a1a2e;
  --dark2: #16213e;
  --text: #3a3a3a;
  --text-light: #6b7280;
  --bg: #f9f7f4;
  --white: #ffffff;
  --border: #e5e7eb;
  --shadow: 0 4px 24px rgba(0,0,0,0.08);
  --shadow-md: 0 8px 40px rgba(0,0,0,0.12);
  --radius: 12px;
  --font-head: 'Playfair Display', serif;
  --font-body: 'DM Sans', sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--text); background: var(--bg); line-height: 1.6; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 80px 0; }
.section-header { text-align: center; margin-bottom: 50px; }
.section-header h2 { font-family: var(--font-head); font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--dark); margin: 8px 0 12px; }
.section-header p { color: var(--text-light); max-width: 560px; margin: 0 auto; }
.section-tag { display: inline-block; background: rgba(200,132,10,0.12); color: var(--primary); font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; padding: 5px 14px; border-radius: 20px; }

/* ===== TOPBAR ===== */
.topbar { background: var(--dark); color: rgba(255,255,255,0.85); font-size: 0.82rem; padding: 8px 0; }
.topbar-inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.topbar span { display: flex; align-items: center; gap: 6px; }
.topbar i { color: var(--primary-light); }

/* ===== HEADER ===== */
.header { background: var(--white); box-shadow: 0 2px 16px rgba(0,0,0,0.06); position: sticky; top: 0; z-index: 1000; transition: background 0.3s; }
.header.scrolled { background: rgba(255,255,255,0.97); backdrop-filter: blur(10px); }
.nav-container { display: grid; grid-template-columns: max-content minmax(0,1fr) max-content max-content; align-items: center; height: 70px; gap: 14px; }
.logo { display:flex; align-items:center; width:110px; height:70px; min-width:110px; overflow:hidden; }
.site-logo-image { width:110px; max-width:none; height:auto; margin:0; }
.logo-stm { color: var(--primary); }
.logo-pro { color: var(--dark); }
.nav{min-width:0;justify-self:center;max-width:100%;overflow:hidden}
.nav-links { display: flex; align-items: center; justify-content:center; gap: 6px; min-width:0; max-width:100%; }
.nav-links li{min-width:0}
.nav-links a { display:block; max-width:136px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size: 0.88rem; font-weight: 500; color: var(--text); padding: 6px 10px; border-radius: 6px; transition: all 0.2s; }
.nav-links a:hover, .nav-links a.active { color: var(--primary); background: rgba(200,132,10,0.08); }
.nav-links a.nav-highlight{color:#9a6200;background:rgba(200,132,10,.12);font-weight:700;border:1px solid rgba(200,132,10,.28)}
.nav-links a.nav-highlight:hover,.nav-links a.nav-highlight.active{color:#fff;background:var(--primary);border-color:var(--primary)}
.nav-links .nav-auth{display:none!important}
.header-account{display:flex;align-items:center;justify-content:flex-end;min-width:0;position:relative}
.header-auth-actions{display:flex;align-items:center;gap:8px}
.header-auth-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--dark);font-size:.86rem;font-weight:800;white-space:nowrap;transition:all .2s}
.header-auth-primary{background:var(--dark);border-color:var(--dark);color:#fff}
.header-auth-link:hover{border-color:var(--primary);color:var(--primary);background:#fff8ec}
.header-auth-primary:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-lang{display:inline-flex;align-items:center;justify-content:center;width:62px;min-height:34px;padding:6px 8px;background:#ffefc2;border:1px solid rgba(200,132,10,.24);border-radius:8px;font:800 .78rem var(--font-body);color:#000;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn-lang:hover{background:#ffe3a1;color:#000}
.account-dropdown{position:relative;display:flex;align-items:center;gap:8px}
.account-avatar-link{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#1f2937,#c8840a);color:#fff;font:900 .95rem var(--font-body);text-decoration:none;box-shadow:0 8px 18px rgba(15,23,42,.16),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .18s,box-shadow .18s}
.account-avatar-link:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.2),inset 0 0 0 1px rgba(255,255,255,.22)}
.account-toggle{display:inline-flex;align-items:center;gap:8px;width:clamp(96px,12vw,150px);min-height:38px;padding:8px 10px;border:1px solid rgba(200,132,10,.3);border-radius:10px;background:#fff8ec;color:var(--dark);font:800 .88rem var(--font-body);cursor:pointer;position:relative}
.account-toggle.has-alerts{border-color:#dc2626;background:#fff7ed;box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.account-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-toggle i{font-size:.7rem;color:var(--text-light)}
.account-alert-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:.68rem;line-height:1;font-weight:900;box-shadow:0 0 0 2px #fff}
.account-alert-badge[hidden]{display:none!important}
.account-menu{position:absolute;right:0;top:calc(100% + 10px);width:286px;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:1200}
.account-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
.account-menu a,.account-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:700 .88rem var(--font-body);text-align:left;cursor:pointer}
.account-menu a:hover,.account-menu button:hover{background:#fff8ec;color:var(--primary)}
.account-menu-count{display:inline-grid;place-items:center;min-width:25px;height:25px;margin-left:auto;padding:0 7px;border-radius:999px;background:#fff0d0;color:#875500;font-size:.72rem;font-weight:900}
.account-watchlist-link:hover .account-menu-count{background:var(--primary);color:#fff}
.account-menu button{color:#b42318}
.account-notifications{border-bottom:1px solid var(--border);padding:4px 0 8px;margin-bottom:6px}
.account-notifications-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px 8px}
.account-notifications-head strong{font-size:.82rem;color:var(--dark)}
.account-notifications-head a{display:inline-flex;width:auto;min-height:auto;padding:0;border-radius:0;color:var(--primary);font-size:.75rem;font-weight:900}
.account-notifications-head a:hover{background:transparent;color:var(--primary-dark)}
.account-notifications-list{display:grid;gap:5px}
.account-notification-item{display:grid!important;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:8px;min-height:auto!important;padding:8px!important;border:1px solid transparent!important;background:#f8fafc!important}
.account-notification-item:hover{border-color:rgba(200,132,10,.28)!important;background:#fff8ec!important}
.account-notification-dot{width:8px;height:8px;border-radius:999px;background:#64748b;margin-top:6px}
.account-notification-item.success .account-notification-dot{background:#16a34a}
.account-notification-item.pending .account-notification-dot{background:#d97706}
.account-notification-item.urgent .account-notification-dot{background:#dc2626}
.account-notification-item span:last-child{display:grid;gap:2px;min-width:0}
.account-notification-item strong{color:var(--dark);font-size:.8rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-notification-item small{color:var(--text-light);font-size:.72rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.account-notifications-empty{display:block;padding:8px 10px;color:var(--text-light);font-size:.8rem}
.btn-enquiry { background: var(--primary); color: var(--white); padding: 9px 22px; border-radius: 8px; font-size: 0.88rem; font-weight: 600; transition: all 0.2s; white-space: nowrap; }
.btn-enquiry:hover { background: var(--primary-dark); transform: translateY(-1px); }
.hamburger { display: none; flex-direction: column; align-items:center; justify-content:center; gap: 5px; width:40px; height:40px; cursor: pointer; background: #fff8ec; border: 1px solid rgba(200,132,10,.28); border-radius:10px; padding: 0; }
.hamburger span { width: 24px; height: 2px; background: var(--dark); border-radius: 2px; transition: all 0.3s; display: block; }
@media(max-width:1120px){
  .nav-container{gap:10px;grid-template-columns:max-content minmax(0,1fr) max-content max-content}
  .logo{width:100px;min-width:100px}
  .site-logo-image{width:100px}
  .nav-links{gap:3px}
  .nav-links a{max-width:106px;font-size:.78rem;padding:6px 7px}
  .header-auth-link{padding:7px 10px;font-size:.8rem}
  .account-toggle{width:112px}
  .btn-lang{width:54px;font-size:.72rem}
}
@media(max-width:900px){
  .nav-container{height:64px;grid-template-columns:minmax(0,1fr) max-content max-content}
  .logo{width:94px;height:62px;min-width:94px}
  .site-logo-image{width:94px}
  .hamburger{display:flex;position:relative;z-index:1002}
  .hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger.active span:nth-child(2){opacity:0}
  .hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav{position:absolute;left:0;right:0;top:64px;background:#fff;border-top:1px solid var(--border);box-shadow:0 16px 34px rgba(15,23,42,.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:1001;max-height:calc(100vh - 64px);overflow-y:auto;max-width:none}
  .nav.open{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 20px;align-items:stretch}
  .nav-links li{min-width:0}
  .nav-links a{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;max-width:none;padding:11px 10px;text-align:center;white-space:normal;line-height:1.25;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--dark);font-weight:700;box-shadow:0 4px 16px rgba(15,23,42,.06)}
  .nav-links a.nav-highlight{background:#fff7e8;border-color:rgba(200,132,10,.34);color:#8a5900}
}
@media(max-width:520px){
  .topbar-inner{justify-content:center;text-align:center}
  .nav-links{grid-template-columns:1fr;padding:12px 16px}
  .logo{width:88px;height:58px;min-width:88px}
  .site-logo-image{width:88px}
  .nav-container{gap:8px;padding:0 12px}
  .header-auth-actions{gap:5px}
  .header-auth-link{min-height:32px;padding:6px 8px;font-size:.74rem;border-radius:8px}
  .account-avatar-link{width:34px;height:34px;border-radius:10px;font-size:.82rem}
  .account-toggle{width:86px;min-height:34px;padding:7px 8px;font-size:.74rem}
  .btn-lang{width:44px;min-height:32px;padding:5px;font-size:.68rem}
  .account-menu{right:-44px;width:min(286px,calc(100vw - 24px))}
}

/* ===== INNER PAGE SHARED LAYOUT ===== */
.page-hero { background: linear-gradient(135deg, var(--dark) 0%, var(--dark2) 72%, #0f3460 100%); color: var(--white); padding: 42px 0; position: relative; overflow: hidden; }
.page-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 78% 24%, rgba(200,132,10,.24), transparent 34%); pointer-events: none; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-family: var(--font-head); font-size: clamp(1.7rem, 3vw, 2.45rem); margin-bottom: 8px; line-height: 1.08; }
.page-hero p { max-width: 680px; color: rgba(255,255,255,.78); font-size: .94rem; line-height: 1.55; }
.post-ad-hero{padding:28px 0}
.post-ad-section{padding-top:32px}
.property-list-hero{padding:18px 0}
.property-list-hero-inner{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(520px,1.3fr);gap:34px;align-items:center}
.property-list-hero-copy{min-width:0}
.property-list-hero-search{margin:0;justify-self:stretch}
.property-list-hero-search.semantic-search-shell-v2{display:block;padding:14px}
.contact-section { padding: 72px 0; background: var(--white); }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr); gap: 42px; align-items: start; }
.contact-info h2 { font-family: var(--font-head); font-size: clamp(1.7rem, 3vw, 2.35rem); color: var(--dark); margin: 12px 0 14px; line-height: 1.18; }
.contact-info > p { color: var(--text-light); line-height: 1.8; margin-bottom: 24px; }
.contact-form { background: var(--white); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); padding: 30px; }
.contact-form h3 { font-family: var(--font-head); color: var(--dark); font-size: 1.35rem; margin-bottom: 22px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; color: var(--dark); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.form-group input, .form-group select, .form-group textarea { width: 100%; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); color: var(--text); font-family: var(--font-body); font-size: .95rem; padding: 13px 14px; outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
.form-group textarea { min-height: 120px; resize: vertical; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--primary); background: var(--white); box-shadow: 0 0 0 4px rgba(200,132,10,.12); }
.form-group input[readonly] { background: #f5f0e7; color: var(--muted); cursor: not-allowed; }
.form-group > label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; gap: 10px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--text); line-height: 1.5; }
.form-group input[type="checkbox"] { width: auto; margin-top: 4px; accent-color: var(--primary); }
.post-ad-section .contact-form{padding:22px}
.post-ad-section .contact-form h3{margin-bottom:14px}
.post-ad-section .form-row{gap:12px}
.post-ad-section .form-group{margin-bottom:10px}
.post-ad-section .form-group label{margin-bottom:5px}
.post-ad-section .form-group input,.post-ad-section .form-group select,.post-ad-section .form-group textarea{padding:10px 12px;border-radius:10px}
.post-ad-section .form-group textarea{min-height:96px}
.post-ad-section .form-section-title{margin:18px 0 10px;padding-bottom:6px}
.auth-page-section{min-height:calc(100vh - 110px);padding:70px 0;background:linear-gradient(135deg,#fff8ec 0%,#fff 48%,#f7efe2 100%)}
.auth-page-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,440px);gap:44px;align-items:center}
.auth-copy h1{font-family:var(--font-head);font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;color:var(--dark);margin:16px 0}
.auth-copy p{color:var(--text-light);font-size:1rem;line-height:1.7;max-width:560px}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px rgba(34,24,7,.12);padding:28px}
.auth-card h2{font-family:var(--font-head);font-size:1.75rem;color:var(--dark);margin:0 0 8px}
.auth-card>p{color:var(--text-light);font-size:.9rem;margin:0 0 18px}
.auth-google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--dark);font-weight:800;text-decoration:none;transition:.2s ease}
.auth-google-button:hover{border-color:#d1d5db;box-shadow:0 8px 18px rgba(17,24,39,.08);transform:translateY(-1px)}
.auth-google-button .fa-google{color:#ea4335}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--text-light);font-size:.82rem;font-weight:800;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--border)}
.auth-submit{width:100%;border:none;cursor:pointer;text-align:center;margin-top:4px}
.auth-submit:disabled{opacity:.7;cursor:wait}
.btn-submit:disabled{opacity:.7;cursor:wait}
.auth-message{min-height:20px;margin-top:12px;font-size:.88rem;line-height:1.4}
.auth-message-success{color:#15803d}
.auth-message-error{color:#b42318}
.auth-card .form-error{display:block;color:#b42318;font-size:.78rem;margin-top:5px;min-height:16px}
.auth-card input.auth-field-invalid{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.12);background:#fff8f7}
.auth-reset-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.auth-reset-link{border:0;background:transparent;color:var(--primary);font-weight:800;cursor:pointer;padding:0}
.auth-reset-fields{display:grid;gap:10px;margin-top:12px}.auth-reset-fields p{margin:0;color:var(--text-light);font-size:.86rem}.auth-reset-send,.auth-reset-submit{width:100%}
.auth-alt{margin-top:14px;color:var(--text-light);font-size:.9rem;text-align:center}
.auth-alt a{color:var(--primary);font-weight:800}
.profile-section{padding:54px 0;background:var(--bg);min-height:calc(100vh - 110px)}
.profile-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
.profile-sidebar,.profile-panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:22px}
.profile-sidebar{position:sticky;top:90px}
.profile-sidebar h1{font-family:var(--font-head);font-size:1.8rem;color:var(--dark);margin-bottom:14px}
.profile-summary{display:grid;gap:3px;padding:14px;border-radius:12px;background:#fff8ec;color:var(--text);margin-bottom:14px}
.profile-summary strong{color:var(--dark)}
.profile-summary span{color:var(--text-light);font-size:.9rem}
.profile-side-link{display:flex;align-items:center;gap:10px;min-height:42px;border-radius:10px;padding:10px 12px;color:var(--text);font-weight:800}
.profile-side-link[hidden],.profile-panel[hidden]{display:none!important}
.profile-side-link:hover{background:#fff8ec;color:var(--primary)}
.profile-main{display:grid;gap:22px}
.profile-panel{content-visibility:auto;contain-intrinsic-size:1px 260px}
.profile-panel h2{font-family:var(--font-head);font-size:1.55rem;color:var(--dark);margin-bottom:14px}
.profile-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.profile-panel-head h2{margin-bottom:0}.profile-count-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:5px 10px;background:#fff8ec;color:var(--primary);font-size:.78rem;font-weight:900;border:1px solid rgba(200,132,10,.22);white-space:nowrap}.profile-activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.profile-activity-stat{display:grid;gap:2px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);text-decoration:none;color:var(--text)}.profile-activity-stat:hover{border-color:var(--primary);background:#fff8ec}.profile-activity-stat strong{font-size:1.35rem;color:var(--dark);line-height:1}.profile-activity-stat span{font-size:.78rem;color:var(--text-light);font-weight:800}.profile-activity-list{display:grid;gap:10px}.profile-activity-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:13px;border:1px solid var(--border);border-radius:10px;background:#fff;text-decoration:none;color:var(--text)}.profile-activity-item:hover{border-color:var(--primary);background:#fff8ec}.profile-activity-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#3746a3}.profile-activity-item.success .profile-activity-icon{background:#eef8f2;color:#176b35}.profile-activity-item.pending .profile-activity-icon{background:#fff7e6;color:#8a5a00}.profile-activity-item.urgent .profile-activity-icon{background:#fff1f0;color:#b42318}.profile-activity-copy{display:grid;gap:3px;min-width:0}.profile-activity-copy strong{color:var(--dark);line-height:1.3}.profile-activity-copy span{color:var(--text-light);font-size:.9rem;line-height:1.45}.profile-activity-copy small{color:#8b94a5;font-size:.76rem;font-weight:800}
.profile-nav-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;border-radius:999px;background:#fff0d0;color:#875500;font-size:.7rem;font-weight:900}
.profile-activity-group{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.profile-activity-group+.profile-activity-group{margin-top:12px}
.profile-activity-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-light);font-size:.78rem;font-weight:900}
.profile-activity-group-title{display:flex;align-items:center;gap:8px;color:var(--dark);font-size:.92rem}
.profile-activity-group-title i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#fff8ec;color:var(--primary);font-size:.8rem}
.profile-activity-group-list{display:grid;gap:10px}
.profile-activity-group-list>p{margin:0;padding:12px;border:1px dashed var(--border);border-radius:10px;background:#fff;color:var(--text-light)}
.profile-section{background:linear-gradient(180deg,#fffaf1 0%,#f8fafc 280px,#f8fafc 100%)}
.profile-grid{grid-template-columns:320px minmax(0,1fr);gap:24px;min-width:0;width:100%}
.profile-sidebar{border-radius:12px;background:#111827;color:#fff;border:0;box-shadow:0 22px 55px rgba(15,23,42,.18);padding:20px}
.profile-sidebar h1{color:#fff;font-size:1.55rem;margin-bottom:14px}
.profile-summary{justify-items:start;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;margin-bottom:14px}
.profile-summary .profile-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#c8840a;color:#fff;font-weight:900;letter-spacing:.02em}
.profile-summary strong{color:#fff;font-size:1.02rem}.profile-summary span{color:rgba(255,255,255,.72);overflow-wrap:anywhere}
.profile-summary span i{width:16px;color:#f2b84b;margin-right:6px}
.profile-sidebar .profile-details{grid-template-columns:1fr;gap:8px;margin-bottom:16px}
.profile-sidebar .profile-details div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);border-radius:9px;padding:10px 12px}
.profile-sidebar .profile-details strong{color:rgba(255,255,255,.5);font-size:.68rem}.profile-sidebar .profile-details span{color:#fff;overflow-wrap:anywhere}
.profile-side-nav{display:grid;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.profile-side-link{color:rgba(255,255,255,.8);border:1px solid transparent;border-radius:9px}
.profile-side-link:hover,.profile-side-link.active{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}
.profile-side-link i{width:18px;color:#f2b84b}
.profile-main{gap:18px;min-width:0;width:100%;max-width:100%}
.profile-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;max-width:100%;padding:22px;border-radius:12px;background:#fff;border:1px solid var(--border);box-shadow:0 16px 38px rgba(15,23,42,.08)}
.profile-dashboard-hero>div{min-width:0;max-width:100%}
.profile-dashboard-kicker{display:block;color:var(--primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}
.profile-dashboard-hero h2{font-family:var(--font-head);font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.05;color:var(--dark);margin:0}
.profile-dashboard-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.profile-dashboard-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 13px;border-radius:9px;border:1px solid var(--border);background:#fff;color:var(--dark);font-weight:900;text-decoration:none}
.profile-dashboard-action.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.profile-dashboard-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.1)}
.profile-panel{min-width:0;max-width:100%;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 16px 36px rgba(15,23,42,.07);padding:20px;background:#fff}
.profile-panel-head{padding-bottom:12px;border-bottom:1px solid var(--border)}
.profile-activity-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.profile-activity-stat{background:#fff;border-radius:10px;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.profile-activity-stat strong{font-size:1.55rem}
.profile-activity-group{background:#f8fafc;border-radius:10px}
.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-details div{padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.profile-details strong,.profile-details span{display:block}
.profile-details strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);margin-bottom:3px}
.watchlist-items{display:grid;gap:10px}
.profile-loading-card{display:grid;gap:10px;padding:15px;border:1px solid var(--border);border-radius:10px;background:#fff}
.profile-loading-line{display:block;width:70%;height:13px;border-radius:999px;background:linear-gradient(90deg,#eceff3 0%,#f8fafc 50%,#eceff3 100%);background-size:200% 100%;animation:profileShimmer 1.15s linear infinite}
.profile-loading-line.wide{width:92%;height:16px}.profile-loading-line.short{width:48%}
@keyframes profileShimmer{to{background-position:-200% 0}}
.watchlist-card{display:block;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.watchlist-card:hover{border-color:var(--primary);background:#fff8ec}
.watchlist-card strong,.watchlist-card span{display:block}
.watchlist-card span{color:var(--text-light);font-size:.9rem;margin-top:3px}
.profile-saved-property-card{min-width:0;max-width:100%;overflow:hidden;color:var(--text);text-decoration:none}
.profile-saved-property-card>strong,.profile-saved-property-card>span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.profile-saved-property-card>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--dark);line-height:1.35;max-height:2.7em}
.profile-saved-property-card>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;max-height:2.8em}
.profile-property-card{display:grid;gap:10px}.profile-property-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.profile-property-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.profile-property-action{border:1px solid var(--primary);border-radius:8px;background:#fff8ec;color:var(--primary);font-weight:800;font-size:.82rem;padding:8px 10px;cursor:pointer;white-space:nowrap;text-decoration:none}.profile-property-note{margin:0;padding:10px 12px;border-radius:10px;background:#fff7e6;color:#8a5a00;font-size:.9rem;line-height:1.45}.profile-property-note-error{background:#fff1f0;color:#b42318}.profile-agent-notice{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:#eef8f2;border:1px solid #b8e5c6;color:#176b35;font-size:.9rem;line-height:1.45}.profile-agent-notice p{margin:0;color:#176b35}.profile-agent-notice div{display:flex;gap:8px;flex-wrap:wrap}.profile-agent-notice a{color:#176b35;font-weight:800;text-decoration:none}.profile-property-details,.profile-property-track{display:grid;gap:5px;padding:12px;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}.profile-property-details[hidden],.profile-property-track[hidden]{display:none!important}.profile-property-details p{margin:4px 0 0;color:var(--text);font-size:.9rem;line-height:1.55}.profile-property-track .agent-journey{margin-top:0}
.profile-suggested-properties{gap:10px}.profile-suggested-property{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text)}.profile-suggested-property>a{display:grid;gap:3px;color:var(--text);text-decoration:none}.profile-suggested-property strong{color:var(--primary)}.profile-suggested-property span,.profile-suggested-property small{color:var(--text-light);font-size:.86rem}
.profile-property-card,.profile-property-main,.profile-property-main>div:first-child,.profile-property-details,.profile-property-track,.profile-agent-notice,.profile-suggested-property,.profile-activity-item,.profile-activity-copy,.profile-activity-list,.profile-activity-group,.profile-activity-group-list,.watchlist-items,.agent-assignment-card,.agent-assignment-head,.agent-assignment-details,.agent-journey,.profile-resubmit-form,.profile-resubmit-form .form-group{min-width:0;max-width:100%}
.profile-property-main>div:first-child{flex:1 1 auto}.profile-property-actions{flex:0 1 240px}.profile-property-action{max-width:100%;overflow-wrap:anywhere;white-space:normal}
.profile-property-card strong,.profile-property-card span,.profile-property-card small,.profile-property-card p,.profile-property-details,.profile-property-details p,.profile-agent-notice,.profile-agent-notice p,.profile-suggested-property strong,.profile-suggested-property span,.profile-suggested-property small,.profile-activity-copy strong,.profile-activity-copy span,.profile-activity-copy small,.agent-assignment-head strong,.agent-assignment-head span,.agent-journey strong,.agent-journey span{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.profile-property-main>div:first-child>strong,.profile-suggested-property strong,.agent-assignment-head strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-property-main>div:first-child>span,.profile-suggested-property span,.agent-assignment-head span:not(.agent-status-pill){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-property-details p{max-height:9.5em;overflow:auto}
.profile-resubmit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.profile-resubmit-form .form-group{margin:0}.profile-resubmit-guidance{grid-column:1/-1;margin:0;color:var(--text-light);font-size:.88rem}.profile-resubmit-wide{grid-column:1/-1}.profile-resubmit-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-resubmit-message{font-size:.88rem;color:var(--text-light)}.profile-resubmit-message.is-success{color:#15803d}.profile-resubmit-message.is-error{color:#b42318}.profile-resubmit-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.profile-resubmit-images img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.profile-property-empty{margin:0;color:var(--text-light);font-size:.88rem}
.agent-assignment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-bottom:4px;min-width:0}
.agent-assignment-summary span{display:flex;gap:4px;min-width:0;padding:7px 9px;border-radius:999px;background:#fff8ec;border:1px solid rgba(200,132,10,.2);font-size:.78rem;color:#6b5435;overflow:hidden}
.agent-assignment-summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}
.agent-assignment-summary span:last-child{grid-column:1/-1;border-radius:10px}
.agent-assignment-summary span:last-child strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
.agent-performance-card{--rating-color:#98a2b3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:4px 0 12px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--rating-color) 28%,#fff);border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--rating-color) 10%,#fff),#fff);box-shadow:0 10px 24px color-mix(in srgb,var(--rating-color) 12%,transparent)}
.agent-performance-card.good{--rating-color:#23864e}.agent-performance-card.average{--rating-color:#d58b18}.agent-performance-card.low{--rating-color:#d64545}.agent-performance-card.new{--rating-color:#667085}
.agent-performance-rating{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px 10px;min-width:0}
.agent-performance-rating .agent-five-stars{grid-column:1/-1}
.agent-performance-rating>strong{color:var(--rating-color);font-size:1.35rem;line-height:1}
.agent-performance-rating>span,.agent-performance-sold>span{color:var(--text-light);font-size:.75rem;font-weight:700}
.agent-five-stars{display:inline-flex;gap:3px;color:#d8dde5;font-size:1.18rem;line-height:1}
.agent-display-star{background:linear-gradient(90deg,var(--rating-color) var(--star-fill),#d8dde5 var(--star-fill));-webkit-background-clip:text;background-clip:text;color:transparent}
.agent-performance-sold{display:grid;gap:2px;min-width:92px;padding-left:18px;border-left:1px solid color-mix(in srgb,var(--rating-color) 24%,#ddd);text-align:center}
.agent-performance-sold>strong{color:var(--dark);font-size:1.45rem;line-height:1}
.agent-assignment-card{display:grid;gap:12px;padding:16px;border:1px solid var(--border);border-radius:10px;background:#fff}
.agent-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.agent-assignment-head div{display:grid;gap:3px;min-width:0}
.agent-assignment-head strong{color:var(--dark);line-height:1.3}
.agent-assignment-head span:not(.agent-status-pill){color:var(--text-light);font-size:.84rem;line-height:1.45}
.agent-assignment-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.agent-assignment-details{display:grid;gap:12px}
.agent-assignment-details[hidden]{display:none!important}
.agent-status-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f1e3c7;color:#60430f;font-size:.75rem;font-weight:900;text-transform:uppercase}
.agent-status-pill.approved{background:#e8f7ed;color:#176b35}
.agent-status-pill.sold{background:#eef2f7;color:#475467}
.agent-status-pill.pending{background:#fff4db;color:#8a5900}.agent-status-pill.completed{background:#e8f7ed;color:#176b35}
.agent-assignment-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-light);font-size:.8rem}
.agent-assignment-meta span{min-width:0;max-width:100%;padding:6px 8px;border-radius:8px;background:var(--bg);overflow-wrap:anywhere;word-break:break-word}
.agent-site-location{display:grid;gap:12px;padding:14px;border:1px solid rgba(200,132,10,.18);border-radius:14px;background:linear-gradient(145deg,#fffdf8,#fff8ec)}
.agent-site-location>strong{color:var(--dark);font-size:.88rem}
.agent-site-location dl{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:7px 12px;margin:0}
.agent-site-location dt{color:var(--text-light);font-size:.76rem;font-weight:700}
.agent-site-location dd{min-width:0;margin:0;color:var(--dark);font-size:.8rem;font-weight:700;overflow-wrap:anywhere}
.agent-site-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.agent-map-link{position:relative;isolation:isolate;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px 13px;border:1px solid rgba(33,115,70,.2);border-radius:13px;background:linear-gradient(135deg,#f0fff7 0%,#fff 52%,#edf9f2 100%);color:#155d38;text-decoration:none;box-shadow:0 8px 20px rgba(21,93,56,.08);overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
.agent-map-link:before{content:"";position:absolute;z-index:-1;width:110px;height:110px;right:-70px;top:-75px;border-radius:50%;background:rgba(42,145,83,.13);transition:transform .3s ease}
.agent-map-link:hover{transform:translateY(-3px);border-color:rgba(33,115,70,.45);background:linear-gradient(135deg,#e9fff3,#fff 48%,#e3f7ec);box-shadow:0 15px 30px rgba(21,93,56,.17)}
.agent-map-link:hover:before{transform:scale(1.35)}
.agent-map-link:focus-visible{outline:3px solid rgba(42,145,83,.28);outline-offset:3px}
.agent-map-link-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#23864e,#36ad69);color:#fff;font-size:1rem;box-shadow:0 8px 16px rgba(35,134,78,.22)}
.agent-map-link-copy{display:grid;gap:2px;min-width:0}
.agent-map-link-copy small{color:#53806a;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.agent-map-link-copy strong{color:#155d38;font-size:.84rem;overflow-wrap:anywhere}
.agent-map-link-arrow{color:#2a9153;font-size:.78rem;transition:transform .22s ease}
.agent-map-link:hover .agent-map-link-arrow{transform:translate(2px,-2px)}
.agent-site-sketch-btn{min-height:48px;border:1px solid rgba(200,132,10,.24);border-radius:13px;background:#fff;color:var(--primary);font:800 .8rem var(--font-body);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.agent-site-sketch-btn:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 10px 20px rgba(200,132,10,.14)}
.agent-rating-card{display:grid;gap:10px}.agent-rating-form{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fffdf8}.agent-rating-stars{display:flex;gap:7px;align-items:center}.agent-rating-stars label{position:relative;display:flex;align-items:center;gap:2px;cursor:pointer;color:#d7dce5}.agent-rating-stars input{position:absolute;opacity:0}.agent-rating-stars span{font-size:1.65rem;line-height:1;color:#d7dce5}.agent-rating-stars input:checked+span,.agent-rating-stars label:has(input:checked) span{color:#e09b18}.agent-rating-stars em{font-size:.7rem;color:var(--text-light);font-style:normal}.agent-rating-tags{display:flex;gap:7px;flex-wrap:wrap}.agent-rating-tags label{padding:6px 8px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-light);font-size:.76rem;cursor:pointer}.agent-rating-tags input{accent-color:var(--primary)}.agent-rating-form textarea{width:100%;min-height:70px;border:1px solid var(--border);border-radius:8px;padding:9px;font:inherit;resize:vertical}.agent-rating-form small{color:#b42318;min-height:1em}
.agent-rating-widget{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.agent-rating-widget h3{margin:0;color:var(--dark);font-family:var(--font-head);font-size:1.3rem}.agent-rating-widget p{margin:0;color:var(--text-light);font-size:.88rem;line-height:1.5}.agent-rating-period-tabs{display:flex;gap:7px}.agent-rating-period-tabs button{border:1px solid var(--border);border-radius:999px;background:#fff;padding:7px 11px;color:var(--text-light);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.agent-rating-period-tabs button.is-active{background:#fff8ec;color:var(--primary);border-color:rgba(200,132,10,.32)}.agent-leaderboard{display:grid;gap:7px}.agent-leaderboard>p{padding:10px;border-radius:8px;background:var(--bg);font-size:.8rem}.agent-leaderboard-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:#fff}.agent-leaderboard-rank{font-weight:900;color:var(--primary)}.agent-leaderboard-row strong{display:block;color:var(--dark);font-size:.82rem;overflow-wrap:anywhere}.agent-leaderboard-row small{display:block;color:var(--text-light);font-size:.7rem;overflow-wrap:anywhere}.agent-leaderboard-row b{color:#c27b08;font-size:.82rem;white-space:nowrap}.agent-feedback-form{display:grid;gap:8px;margin-top:8px;padding:12px;border-radius:10px;background:#fff8ec;border:1px solid rgba(200,132,10,.2)}.agent-feedback-form[hidden]{display:none!important}.agent-feedback-form label[for]{font-size:.76rem;font-weight:800;color:var(--text-light)}.agent-feedback-form select,.agent-feedback-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:9px;font:inherit;background:#fff}.agent-feedback-form textarea{min-height:65px;resize:vertical}.agent-feedback-stars{display:flex;gap:5px}.agent-feedback-stars label{position:relative;cursor:pointer}.agent-feedback-stars input{position:absolute;opacity:0}.agent-feedback-stars span{font-size:1.55rem;color:#d7dce5}.agent-feedback-stars label:has(input:checked) span{color:#e09b18}.agent-feedback-tags{display:flex;flex-wrap:wrap;gap:5px}.agent-feedback-tags label{padding:5px 7px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:.7rem;cursor:pointer}.agent-feedback-tags input{accent-color:var(--primary)}.agent-feedback-form small{min-height:1em;color:#8a5900;font-size:.76rem}
.agent-leaderboard-row{grid-template-columns:28px 38px minmax(0,1fr) auto}.agent-leaderboard-icon,.agent-feedback-agent-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff3d8;color:#9a650b}.agent-leaderboard-agent{min-width:0}.agent-leaderboard-score{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:end;gap:2px;color:#e09b18;text-align:right}.agent-leaderboard-score>b{font-size:.95rem}.agent-leaderboard-score>small{grid-column:1/-1;color:var(--text-light);white-space:nowrap}.agent-feedback-agent{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border-radius:9px;background:#fff;border:1px solid var(--border)}.agent-feedback-agent[hidden]{display:none!important}.agent-feedback-agent strong{display:block;color:var(--dark);font-size:.85rem}.agent-feedback-agent small{display:block;color:var(--text-light);font-size:.72rem}.agent-feedback-form>label:not([for]){font-size:.76rem;font-weight:850;color:var(--dark);margin-top:3px}
.agent-leaderboard-score .agent-five-stars{font-size:.72rem;gap:1px}
.agent-leaderboard-row.is-monthly-reward{border-color:#e5bd62;background:linear-gradient(135deg,#fffdf7,#fff6dc);box-shadow:0 5px 15px rgba(171,111,5,.08)}
.agent-monthly-reward{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fff0bd;color:#825400;font-size:.62rem;font-style:normal;font-weight:850;line-height:1.2}
.agent-monthly-reward i{color:#c08009}
.agent-journey{display:grid;gap:0;margin-top:2px}
.agent-journey-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:0 0 14px}
.agent-journey-item:before{content:"";position:absolute;left:7px;top:18px;bottom:0;width:2px;background:#eadcc4}
.agent-journey-item:last-child{padding-bottom:0}
.agent-journey-item:last-child:before{display:none}
.agent-journey-dot{width:16px;height:16px;border-radius:50%;background:#d9c8a8;border:3px solid #fff;box-shadow:0 0 0 1px #d9c8a8;margin-top:2px;z-index:1}
.agent-journey-item.done .agent-journey-dot{background:#2f855a;box-shadow:0 0 0 1px #2f855a}
.agent-journey-item.rejected .agent-journey-dot{background:#d92d20;box-shadow:0 0 0 1px #d92d20}
.agent-journey-item.in-progress .agent-journey-dot{background:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.agent-journey-item strong{display:block;color:var(--dark);font-size:.86rem}
.agent-journey-item small{display:block;color:var(--text-light);font-size:.74rem;margin-top:1px}
.agent-journey-item p{margin:3px 0 0;color:var(--text-light);font-size:.8rem;line-height:1.45}
.btn-submit { display: inline-flex; align-items: center; justify-content: center; width: 100%; border: none; border-radius: 999px; background: var(--primary); color: var(--dark); padding: 14px 24px; font-family: var(--font-body); font-weight: 800; font-size: .95rem; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.btn-submit:hover { background: var(--primary-light); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(200,132,10,.25); }
.form-success { display: none; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: rgba(47,133,90,.12); color: #2f855a; font-weight: 700; font-size: .9rem; }
.quick-enquiry-form .form-error{display:block;min-height:17px;margin-top:5px;font-size:.76rem}
.quick-enquiry-form input.quick-enquiry-field-invalid,.quick-enquiry-form textarea.quick-enquiry-field-invalid{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12);background:#fff8f7}
.quick-enquiry-status{display:none;margin-top:12px;padding:11px 12px;border-radius:9px;font-size:.84rem;font-weight:700;line-height:1.45}
.quick-enquiry-status.success{display:block;background:#e8f7ed;color:#176b35}
.quick-enquiry-status.error{display:block;background:#fff0ef;color:#b42318}
.form-section-title { color: var(--primary); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin: 28px 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.form-section-title:first-child { margin-top: 0; }
.form-help { display: block; color: var(--text-light); font-size: .8rem; margin-top: 8px; }
.input-with-unit { display: grid; grid-template-columns: minmax(0, 1fr) 118px; gap: 10px; }
.input-with-unit input, .input-with-unit select { min-width: 0; }
.post-ad-listing-title{width:100%;max-width:none}
.price-structured-field{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid rgba(200,132,10,.24);border-radius:12px;background:#fffaf1}
.price-control-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.55fr) minmax(160px,.8fr);gap:10px;min-width:0}
.price-control-grid input,.price-control-grid select{min-width:0}
.price-flags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.price-flags label{display:inline-flex!important;align-items:center;gap:7px;margin:0;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.2;cursor:pointer;contain:layout paint;isolation:isolate}
.price-flags input[type="checkbox"]{appearance:none;-webkit-appearance:none;position:relative;display:inline-grid;place-items:center;width:15px!important;height:15px;min-width:15px;margin:0!important;padding:0;border:1.5px solid #c8b58d;border-radius:4px;background:#fff;box-shadow:none;transition:none;accent-color:auto;cursor:pointer}
.price-flags input[type="checkbox"]:checked{border-color:var(--primary);background:var(--primary)}
.price-flags input[type="checkbox"]:checked::after{content:"";width:5px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.price-flags input[type="checkbox"]:focus-visible{outline:2px solid rgba(200,132,10,.28);outline-offset:2px}
.price-preview{min-height:20px;color:var(--text-light);font-size:.82rem;font-weight:700}
.price-preview.is-error{color:#b42318}
.option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.option-grid label { display: flex; align-items: center; gap: 8px; background: var(--bg); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; color: var(--text); font-size: .88rem; line-height: 1.35; cursor: pointer; }
.option-grid input { accent-color: var(--primary); flex: 0 0 auto; }
.amenities-option-grid label{min-height:42px;contain:layout paint;isolation:isolate;transform:none;backface-visibility:hidden;font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.45}
.amenities-option-grid input[type="checkbox"]{appearance:none;-webkit-appearance:none;position:relative;display:inline-grid;place-items:center;width:16px;height:16px;min-width:16px;margin:0;padding:0;border:1.5px solid #c8b58d;border-radius:4px;background:#fff;box-shadow:none;transition:none;accent-color:auto;cursor:pointer}
.amenities-option-grid input[type="checkbox"]:checked{border-color:var(--primary);background:var(--primary)}
.amenities-option-grid input[type="checkbox"]:checked::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.amenities-option-grid input[type="checkbox"]:focus-visible{outline:2px solid rgba(200,132,10,.28);outline-offset:2px}
.image-preview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.image-preview-item { position: relative; aspect-ratio: 1; border-radius: 10px; border: 1px solid var(--border); background: var(--bg); overflow: hidden; }
.image-preview-item.is-primary { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(200,132,10,.16); }
.image-preview-item.is-dragging { opacity: .55; cursor: grabbing; }
.image-preview-item.is-drop-target { outline: 3px solid rgba(200,132,10,.45); outline-offset: -3px; }
.image-preview-item img { width: 100%; height: 100%; object-fit: cover; }
.image-preview-badge { position: absolute; top: 8px; left: 8px; right: 42px; background: rgba(26,26,46,.85); color: #fff; border-radius: 999px; padding: 4px 8px; font-size: .68rem; font-weight: 800; text-align: center; }
.image-delete-btn { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border: none; border-radius: 50%; background: rgba(185,28,28,.92); color: #fff; font-size: .88rem; font-weight: 900; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.image-delete-btn:hover { background: #991b1b; }
.image-drag-hint { position: absolute; left: 8px; right: 8px; bottom: 8px; background: rgba(255,255,255,.92); color: var(--dark); border-radius: 8px; padding: 5px 6px; font-size: .68rem; font-weight: 800; text-align: center; pointer-events: none; }
.form-error { color: #b91c1c; font-size: .84rem; margin-top: 8px; font-weight: 700; }
.dynamic-hidden { display: none !important; }
.filter-bar { background: var(--white); border-bottom: 1px solid var(--border); padding: 18px 0; }
.filter-inner { display: grid; grid-template-columns: 180px 1fr auto; gap: 12px; align-items: center; }
.filter-select { width: 100%; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); padding: 12px 14px; font-family: var(--font-body); outline: none; }
.filter-btn { border: none; border-radius: 12px; background: var(--dark); color: var(--white); padding: 12px 22px; font-family: var(--font-body); font-weight: 700; cursor: pointer; }
.property-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 12px; align-items: center; }
.property-filter-grid .filter-btn, .filter-reset { min-height: 44px; }
.filter-reset { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 12px; background: var(--white); color: var(--text); padding: 10px 16px; font-weight: 700; font-size: .9rem; }
.property-list-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 28px; padding: 42px 0 72px; }
.property-card-link { color: inherit; display: block; }

/* ===== HERO ===== */
.hero { position: relative; min-height: 92vh; display: flex; align-items: center;
  background: linear-gradient(135deg, var(--dark) 0%, var(--dark2) 50%, #0f3460 100%); overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600"><circle cx="600" cy="100" r="300" fill="rgba(200,132,10,0.06)"/><circle cx="100" cy="500" r="200" fill="rgba(200,132,10,0.04)"/></svg>') no-repeat center/cover; pointer-events:none; z-index:0; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(26,26,46,0.95) 50%, rgba(26,26,46,0.5)); }
.hero-content { position: relative; z-index: 2; color: var(--white); max-width: 680px; padding: 60px 0; }
.hero-tag { display: inline-block; border: 1px solid rgba(200,132,10,0.5); color: var(--primary-light); font-size: 0.78rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 5px 16px; border-radius: 20px; margin-bottom: 20px; }
.hero-content h1 { font-family: var(--font-head); font-size: clamp(2.2rem, 5vw, 3.8rem); line-height: 1.15; margin-bottom: 20px; }
.highlight { color: var(--primary-light); }
.hero-content p { font-size: 1.05rem; color: rgba(255,255,255,0.75); margin-bottom: 36px; max-width: 500px; }
.hero-btns { position:relative; z-index:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; max-width:610px; margin-bottom:50px; }
.hero-quick-action{appearance:none;min-width:0;min-height:76px;box-sizing:border-box;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.26);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;text-align:left;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.12);backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.hero-quick-action>i:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.12);color:#f5c65d;font-size:1rem}
.hero-quick-action span{display:flex;min-width:0;flex-direction:column;gap:3px}
.hero-quick-action small{overflow:hidden;color:rgba(255,255,255,.7);font-size:.72rem;line-height:1.25;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}
.hero-quick-action strong{color:inherit;font-size:.9rem;line-height:1.25;letter-spacing:0}
.hero-action-arrow{color:rgba(255,255,255,.55);font-size:.75rem;transition:transform .2s ease,color .2s ease}
.hero-quick-action:hover,.hero-quick-action:focus-visible{transform:translateY(-3px);border-color:rgba(245,198,93,.8);background:rgba(255,255,255,.14);box-shadow:0 14px 32px rgba(0,0,0,.2);color:#fff;outline:none}
.hero-quick-action:hover .hero-action-arrow,.hero-quick-action:focus-visible .hero-action-arrow{transform:translateX(3px);color:#f5c65d}
.hero-quick-action-primary{border-color:#d8a52b;background:#d8a52b;color:#17202b}
.hero-quick-action-primary>i:first-child{background:rgba(23,32,43,.12);color:#17202b}
.hero-quick-action-primary small{color:rgba(23,32,43,.72)}
.hero-quick-action-primary .hero-action-arrow{color:rgba(23,32,43,.65)}
.hero-quick-action-primary:hover,.hero-quick-action-primary:focus-visible{border-color:#f0c968;background:#e4b84d;color:#17202b}
.hero-quick-action-partner{background:#fff;color:#17202b;border-color:#fff}
.hero-quick-action-partner>i:first-child{background:#f3ead7;color:#9d6d00}
.hero-quick-action-partner small{color:#647080}
.hero-quick-action-partner .hero-action-arrow{color:#7a8490}
.hero-quick-action-partner:hover,.hero-quick-action-partner:focus-visible{background:#f7f2e8;color:#17202b;border-color:#f5c65d}
.btn-primary { background: var(--primary); color: var(--white); padding: 12px 28px; border-radius: 8px; font-weight: 600; font-size: 0.95rem; transition: all 0.25s; display: inline-block; border: 2px solid var(--primary); }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(200,132,10,0.35); }
.btn-outline { background: transparent; color: var(--white); padding: 12px 28px; border-radius: 8px; font-weight: 600; font-size: 0.95rem; border: 2px solid rgba(255,255,255,0.4); transition: all 0.25s; display: inline-block; }
.btn-outline:hover { background: rgba(255,255,255,0.1); border-color: var(--white); }
.hero-stats { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.stat { display: flex; flex-direction: column; }
.stat .num { font-family: var(--font-head); font-size: 1.8rem; font-weight: 700; color: var(--primary-light); line-height: 1; }
.stat span:last-child { font-size: 0.78rem; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 1px; }
.stat-divider { width: 1px; height: 40px; background: rgba(255,255,255,0.2); }

.hero-inner { position:relative; z-index:2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 520px); gap: clamp(28px, 5vw, 72px); align-items: center; max-width: 1200px; width: 100%; margin: 0 auto; }
.hero-watermark { position: absolute; right: -3vw; top: 50%; transform: translateY(-50%); font-family: var(--font-head); font-size: clamp(100px, 18vw, 260px); font-weight: 700; color: rgba(200,132,10,0.04); line-height: 1; pointer-events: none; user-select: none; }
.hero-eyebrow { font-size: 0.75rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--primary); margin-bottom: 20px; }
.hero-h1 { font-family: var(--font-head); font-size: clamp(2.4rem, 5vw, 4.8rem); color: var(--white); line-height: 1.05; margin-bottom: 22px; }
.hero-h1 em { font-style: italic; color: var(--primary); }
.hero-sub { color: rgba(255,255,255,0.75); font-size: 1rem; line-height: 1.85; max-width: 460px; margin-bottom: 34px; font-weight: 300; }
.btn-gold { background: var(--primary); color: var(--dark); border: none; padding: 14px 34px; border-radius: 999px; font-size: 0.95rem; font-weight: 700; cursor: pointer; transition: all 0.2s; }
.btn-gold:hover { background: #e1b142; }
.btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.35); padding: 14px 34px; border-radius: 999px; font-size: 0.95rem; cursor: pointer; transition: all 0.2s; }
.btn-ghost:hover { border-color: rgba(255,255,255,0.85); color: var(--primary); }
.hero-action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.hero-action-agent{background:#fff;color:var(--dark)}
.hero-action-agent:hover{background:#f4ead8;color:var(--dark)}
.search-card { width:100%; max-width:520px; min-width:0; box-sizing:border-box; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 24px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 24px 60px rgba(0,0,0,0.16); backdrop-filter: blur(18px); }
.tabs { display: flex; gap: 10px; border-bottom: 1px solid rgba(255,255,255,0.12); margin-bottom: 24px; padding-bottom: 10px; }
.tab { flex: 1; background: none; border: none; color: rgba(255,255,255,0.75); padding: 12px 0; font-size: 0.85rem; font-family: var(--font-body); cursor: pointer; transition: color 0.2s, border-color 0.2s; border-bottom: 2px solid transparent; }
.tab.active { color: var(--white); border-bottom-color: var(--primary); font-weight: 700; }
.ai-search-highlight { position: relative; padding: 16px; margin-bottom: 20px; border-radius: 26px; background: linear-gradient(135deg, rgba(212,160,23,.34), rgba(255,255,255,.12)); border: 1px solid rgba(255,218,132,.45); box-shadow: 0 20px 45px rgba(212,160,23,.18), inset 0 1px 0 rgba(255,255,255,.26); overflow: hidden; }
.ai-search-highlight::before { content: ""; position: absolute; inset: -40% auto auto -15%; width: 170px; height: 170px; border-radius: 999px; background: rgba(255,255,255,.18); filter: blur(12px); }
.ai-search-title { position: relative; display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 10px; color: #fff; }
.ai-search-title span { font-weight: 800; letter-spacing: .02em; }
.ai-search-title small { color: rgba(255,255,255,.72); font-size: 12px; }
.ai-bar { position: relative; display: flex; gap: 0; background: rgba(11,26,43,.72); border: 1.5px solid rgba(255,255,255,0.2); border-radius: 999px; overflow: hidden; margin-bottom: 0; box-shadow: 0 14px 34px rgba(0,0,0,.18); }
.ai-spark { width: 48px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #fff8df, var(--primary)); color: var(--dark); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.ai-input { flex: 1; min-width:0; border: none; outline: none; padding: 17px 18px; background: transparent; color: #fff; font-size: 0.95rem; }
.ai-input::placeholder { color: rgba(255,255,255,0.65); }
.ai-btn { background: linear-gradient(135deg, #fff3bd, var(--primary)); border: none; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; color: var(--dark); font-weight: 800; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.ai-btn:hover { transform: translateY(-1px); box-shadow: inset 0 0 0 999px rgba(255,255,255,.14); }
.field { margin-bottom: 16px; }
.field label { display: block; color: rgba(255,255,255,0.75); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px; }
.field select { width: 100%; border: none; border-radius: 16px; padding: 14px 16px; font-size: 0.95rem; background: rgba(255,255,255,0.12); color: #fff; outline: none; }
.hero-select-wrap { position: relative; display: flex; align-items: center; border-radius: 18px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); transition: border-color .2s, background .2s, box-shadow .2s; }
.hero-select-wrap:hover, .hero-select-wrap:focus-within { background: rgba(255,255,255,.18); border-color: rgba(255,218,132,.62); box-shadow: 0 12px 28px rgba(0,0,0,.12), 0 0 0 4px rgba(212,160,23,.14); }
.hero-select-wrap i { position: absolute; left: 16px; color: var(--primary); font-size: 14px; pointer-events: none; z-index: 1; }
.hero-select-wrap::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: 16px; color: rgba(255,255,255,.72); font-size: 12px; pointer-events: none; }
.hero-select-wrap select { min-height: 54px; padding: 0 44px 0 44px; background: transparent; border: 0; appearance: none; cursor: pointer; font-weight: 600; }
.hero-select-wrap select option { color: var(--dark); background: #fff; font-weight: 600; }
.row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.btn-search { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 14px 0; background: var(--dark); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; font-size: 0.95rem; transition: background 0.2s; }
.btn-search:hover { background: #0b1222; }
@media (max-width: 980px) {
  .hero{padding:96px 0 52px}
  .hero-inner{grid-template-columns:minmax(0,1fr);gap:30px}
  .search-card{max-width:680px;justify-self:center}
  .row2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-actions-layout,.contact-layout{grid-template-columns:1fr}
  .home-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 720px) {
  .hero{min-height:auto;padding:78px 0 34px}
  .hero-watermark{font-size:clamp(80px,30vw,180px);right:-15px}
  .hero-h1{font-size:clamp(2.25rem,8vw,4rem)}
  .hero-sub{max-width:100%;margin-bottom:24px}
  .hero-btns{grid-template-columns:1fr;margin-bottom:28px}
  .hero-quick-action{min-height:68px}
  .search-card{border-radius:20px}
  .row2{grid-template-columns:1fr;gap:0}
  .ai-search-title{align-items:flex-start;flex-direction:column;gap:4px}
  .ai-bar{display:grid;grid-template-columns:44px minmax(0,1fr);border-radius:18px}
  .ai-btn{grid-column:1/-1;min-height:46px;border-top:1px solid rgba(11,26,43,.2)}
  .tabs{gap:6px}
  .tab{font-size:.8rem}
}
@media (max-width: 420px) {
  .search-card{padding:16px;border-radius:18px}
  .ai-search-highlight{padding:12px;border-radius:18px}
  .ai-input{padding:14px 12px;font-size:.88rem}
  .hero-select-wrap select{min-height:48px;padding-left:38px;padding-right:38px;font-size:.88rem}
  .hero-select-wrap i{left:13px}
  .hero-select-wrap::after{right:13px}
  .btn-search{padding:12px 14px;font-size:.88rem;text-align:center}
}

/* ===== HOME QUICK ACTIONS ===== */
.home-actions-section { background: var(--bg); padding: 58px 0; border-bottom: 1px solid var(--border); }
.home-actions-layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 34px; align-items: center; }
.home-actions-copy h2 { font-family: var(--font-head); font-size: clamp(1.8rem, 3vw, 2.5rem); color: var(--dark); line-height: 1.14; margin: 12px 0 14px; }
.home-actions-copy p { color: var(--text-light); line-height: 1.8; max-width: 420px; }
.home-actions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-action-card { display: flex; flex-direction: column; min-height: 250px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; transition: transform .2s, box-shadow .2s, border-color .2s; }
.home-action-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(200,132,10,.35); }
.home-action-icon { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: rgba(200,132,10,.12); color: var(--primary); font-size: 18px; margin-bottom: 18px; }
.home-action-card span { display: block; color: var(--primary); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 8px; }
.home-action-card strong { display: block; color: var(--dark); font-size: 1.05rem; margin-bottom: 10px; line-height: 1.35; }
.home-action-card p { color: var(--text-light); font-size: .9rem; line-height: 1.65; margin: 0; }

/* ===== PROPERTIES ===== */
.properties-section { background: var(--white); padding-top: 44px; }
.prop-grid, .properties-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }
.prop-card, .property-card { background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; border: 1px solid var(--border); cursor: pointer; }
.prop-card:hover, .property-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.prop-img, .property-img { position: relative; min-height: 190px; background: linear-gradient(135deg, #f2ede5, #e8ddd1); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.prop-img.has-photo { background-size: cover; background-position: center; }
.prop-img.has-photo{height:150px;min-height:150px;background:#f2ede5}
.prop-img.has-photo>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.prop-img.has-photo>.property-image-backdrop{z-index:1;object-fit:cover;filter:blur(18px) brightness(.72);transform:scale(1.12)}
.prop-img.has-photo>.property-image-main{z-index:2;object-fit:contain;object-position:center}
.prop-img-icon { font-size: 2.8rem; }
.prop-badge, .property-badge { position: absolute; z-index:3; top: 14px; left: 14px; background: var(--primary); color: var(--white); font-size: 0.72rem; font-weight: 700; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; letter-spacing: 1px; }
.prop-compare-btn { position: absolute; z-index:3; right: 14px; bottom: 14px; border: none; padding: 10px 14px; border-radius: 999px; background: rgba(26,26,46,.9); color: #fff; font-size: 12px; cursor: pointer; transition: background .2s; }
.prop-compare-btn.added { background: #2f855a; }
.prop-body { padding: 16px; }
.prop-title { font-family: var(--font-head); font-size: 1rem; color: var(--dark); margin: 0 0 8px; line-height: 1.3; min-height: 2.6em; max-height: 2.6em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; word-break: break-word; }
.prop-price { color: var(--primary); font-weight: 700; margin-bottom: 6px; }
.prop-loc { display:flex;align-items:center;gap:6px;color: var(--text-light); font-size: 0.84rem; margin-bottom: 10px; }
.prop-loc i { color: var(--primary); flex: 0 0 auto; }
.prop-loc span { min-width: 0; overflow-wrap: anywhere; }
.prop-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; color: var(--text-light); font-size: 0.78rem; }
.prop-meta-i { background: rgba(200,132,10,0.08); border-radius: 10px; padding: 8px 10px; }
.prop-meta-i strong { display: block; color: var(--dark); margin-bottom: 2px; }
.prop-tag { display: inline-flex; margin-right: 8px; margin-bottom: 10px; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; background: rgba(26,26,46,.05); color: var(--text); }
.tag-dtcp { background: rgba(27, 119, 27, 0.12); color: #1c7c31; }
.tag-cmda { background: rgba(6, 78, 132, 0.12); color: #064e84; }
.no-results { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 24px; color: var(--text-light); text-align: center; }
.no-results-icon { font-size: 48px; margin-bottom: 18px; }
.card-skeleton { background: #fff; border-radius: 18px; padding: 24px; box-shadow: var(--shadow); min-height: 260px; display: grid; gap: 16px; }
.skeleton { background: linear-gradient(90deg, rgba(229,231,235,1) 0%, rgba(243,244,246,1) 50%, rgba(229,231,235,1) 100%); animation: shimmer 1.4s infinite; border-radius: 999px; }
.skeleton.w60 { width: 60%; height: 16px; }
.skeleton.w40 { width: 40%; height: 16px; }
.property-list-load-state{min-height:24px;margin:18px 0 0;color:var(--text-light);font-size:.9rem;text-align:center}
.property-list-load-state:not(:empty)::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(143,107,47,.25);border-top-color:var(--primary);border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}
.property-list-load-state.is-complete::before{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.sk-img { width: 100%; height: 140px; border-radius: 18px; margin-bottom: 14px; }
.sk-body { display: grid; gap: 12px; }
@keyframes shimmer { 0% { background-position: -200px 0; } 100% { background-position: 200px 0; } }
.toast { position: fixed; bottom: 24px; right: 24px; background: rgba(26,26,46,0.95); color: #fff; padding: 14px 18px; border-radius: 999px; font-size: 0.95rem; z-index: 10001; opacity: 0; transform: translateY(14px); transition: opacity .25s, transform .25s; pointer-events: none; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.success { background: #1f2937; }
.toast.error { background: #b91c1c; }
.view-all-wrap { text-align: center; margin-top: 24px; }

/* ===== SERVICES ===== */
.services-section { background: var(--bg); }
.services-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.services-text .section-tag { margin-bottom: 10px; }
.services-text h2 { font-family: var(--font-head); font-size: clamp(1.7rem, 2.8vw, 2.4rem); color: var(--dark); margin: 8px 0 20px; }
.services-text p { color: var(--text-light); margin-bottom: 16px; line-height: 1.8; }
.stats-row { display: flex; gap: 24px; margin-top: 32px; flex-wrap: wrap; }
.stat-box { background: var(--white); border-radius: var(--radius); padding: 20px 24px; text-align: center; box-shadow: var(--shadow); flex: 1; min-width: 110px; }
.big-num { display: block; font-family: var(--font-head); font-size: 2rem; color: var(--primary); font-weight: 700; }
.stat-box span:last-child { font-size: 0.78rem; color: var(--text-light); text-transform: uppercase; letter-spacing: 1px; }
.services-img { display: flex; justify-content: center; }
.img-placeholder { width: 100%; max-width: 420px; aspect-ratio: 4/3; background: linear-gradient(135deg, var(--dark) 0%, var(--dark2) 100%); border-radius: 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; color: rgba(255,255,255,0.7); box-shadow: var(--shadow-md); }
.img-placeholder i { font-size: 4rem; color: var(--primary-light); }
.img-placeholder span { font-size: 1rem; font-weight: 500; }

/* ===== WHY US ===== */
.why-section { background: var(--white); }
.reasons-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.reason-card { background: var(--bg); border-radius: var(--radius); padding: 32px 24px; text-align: center; border: 1px solid var(--border); transition: all 0.3s; }
.reason-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: rgba(200,132,10,0.3); }
.reason-icon { width: 60px; height: 60px; background: rgba(200,132,10,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.reason-icon i { font-size: 1.4rem; color: var(--primary); }
.reason-card h4 { font-family: var(--font-head); font-size: 1.05rem; color: var(--dark); margin-bottom: 10px; }
.reason-card p { font-size: 0.88rem; color: var(--text-light); line-height: 1.7; }

/* ===== TESTIMONIALS ===== */
.testimonials-section { background: var(--dark); }
.testimonials-section .section-header h2 { color: var(--white); }
.testimonials-section .section-tag { background: rgba(200,132,10,0.2); }
.testimonials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.testimonial-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius); padding: 32px; transition: all 0.3s; }
.testimonial-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(200,132,10,0.4); }
.quote-icon { font-family: var(--font-head); font-size: 4rem; color: var(--primary); line-height: 0.6; margin-bottom: 16px; opacity: 0.7; }
.testimonial-card p { color: rgba(255,255,255,0.8); font-size: 0.95rem; line-height: 1.8; margin-bottom: 24px; }
.client-info { display: flex; align-items: center; gap: 14px; }
.client-avatar { width: 46px; height: 46px; background: var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: 700; font-size: 1.1rem; flex-shrink: 0; }
.client-info strong { display: block; color: var(--white); font-size: 0.95rem; }
.client-info span { color: var(--primary-light); font-size: 0.82rem; }

/* ===== CTA ===== */
/* Offer slider --------------------------------------------------------- */
.offer-slider-section{padding:22px 0 0}
.offer-slider{position:relative}
.offer-slider-viewport{overflow:hidden;border-radius:16px}
.offer-slider-track{display:flex;transition:transform .45s ease;will-change:transform}
.offer-slide{flex:0 0 100%;width:100%;min-width:0;display:flex}
.offer-slider-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px}
.offer-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(31,26,18,.2);cursor:pointer;transition:width .25s ease,background .25s ease}
.offer-dot:hover{background:rgba(31,26,18,.4)}
.offer-dot.is-active{width:24px;background:var(--primary)}
.offer-dot:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.offer-card{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:16px;color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(31,26,18,.14);transition:transform .2s,box-shadow .2s}
a.offer-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(31,26,18,.24)}
.offer-card-icon{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.2);font-size:1.2rem}
.offer-card-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.offer-card-body strong{font-weight:800;font-size:1.02rem;line-height:1.25;overflow-wrap:anywhere}
.offer-card-body span{font-size:.86rem;opacity:.94;line-height:1.4;overflow-wrap:anywhere}
.offer-card-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.22);font-weight:800;font-size:.84rem;white-space:nowrap}
a.offer-card:hover .offer-card-cta{background:rgba(255,255,255,.34)}
.offer-theme-gold{background:linear-gradient(135deg,#c8840a,#8f5f0a)}
.offer-theme-navy{background:linear-gradient(135deg,#1a1a2e,#33334f)}
.offer-theme-green{background:linear-gradient(135deg,#0f7a4d,#0a5236)}
.offer-theme-red{background:linear-gradient(135deg,#b42318,#7a160f)}
@media(max-width:640px){
.offer-slider-section{padding-top:16px}
.offer-card{padding:14px 15px;gap:12px}
.offer-card-icon{width:42px;height:42px;font-size:1.1rem}
.offer-card-cta{padding:7px 12px}
}
.cta-section { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); padding: 64px 0; }
.cta-content { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.cta-content h2 { font-family: var(--font-head); font-size: clamp(1.4rem, 2.5vw, 2rem); color: var(--white); margin-bottom: 8px; }
.cta-content p { color: rgba(255,255,255,0.8); }
.btn-cta { background: var(--white); color: var(--primary); padding: 14px 36px; border-radius: 8px; font-weight: 700; font-size: 1rem; transition: all 0.25s; white-space: nowrap; }
.btn-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.2); }
.home-enquiry-cta .section-tag { background: rgba(255,255,255,.18); color: var(--white); margin-bottom: 12px; }
.cta-buttons { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.btn-cta-dark { background: var(--dark); color: var(--white); }
.home-contact-strip { background: var(--white); padding: 34px 0; border-bottom: 1px solid var(--border); }
.home-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.contact-detail { display: flex; align-items: flex-start; gap: 14px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px; }
.contact-detail-icon { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(200,132,10,.12); color: var(--primary); flex-shrink: 0; }
.contact-detail strong { display: block; color: var(--dark); font-size: .95rem; margin-bottom: 4px; }
.contact-detail span { display: block; color: var(--text-light); font-size: .88rem; line-height: 1.55; }

/* ===== FOOTER ===== */
.footer { background: var(--dark2); color: rgba(255,255,255,0.7); padding: 64px 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 48px; padding-bottom: 48px; }
.footer-logo { font-family: var(--font-head); font-size: 1.5rem; font-weight: 700; margin-bottom: 14px; }
.footer-about p { font-size: 0.88rem; line-height: 1.8; color: rgba(255,255,255,0.55); margin-bottom: 20px; }
.social-links { display: flex; gap: 10px; }
.social-links a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; transition: all 0.2s; color: rgba(255,255,255,0.6); }
.social-links a:hover { background: var(--primary); border-color: var(--primary); color: var(--white); }
.footer h4 { color: var(--white); font-size: 0.95rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid var(--primary); display: inline-block; }
.footer-links ul li { margin-bottom: 10px; }
.footer-links ul li a { font-size: 0.88rem; color: rgba(255,255,255,0.55); transition: color 0.2s; display: flex; align-items: center; gap: 6px; }
.footer-links ul li a:hover { color: var(--primary-light); }
.footer-links ul li a::before { content: '›'; color: var(--primary); font-size: 1.1rem; }
.footer-contact p { display: flex; align-items: flex-start; gap: 10px; font-size: 0.88rem; color: rgba(255,255,255,0.55); margin-bottom: 12px; line-height: 1.6; }
.footer-contact i { color: var(--primary-light); margin-top: 3px; flex-shrink: 0; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0; text-align: center; }
.footer-bottom p { font-size: 0.82rem; color: rgba(255,255,255,0.35); }
.footer-bottom a { color: var(--primary-light); }

/* ===== PROPERTY DETAIL ===== */
.detail-section { padding: 60px 0; }
.detail-layout { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
.detail-hero { background: linear-gradient(135deg,var(--dark),var(--dark2)); height: 300px; display: flex; align-items: center; justify-content: center; position: relative; border-radius: var(--radius); margin-bottom: 32px; }
.detail-hero i { font-size: 5rem; color: rgba(200,132,10,0.3); }
.detail-body > .property-badge { position: static; inset: auto; display: inline-flex; align-items: center; max-width: 100%; margin: 0 0 12px; overflow-wrap: anywhere; word-break: break-word; }
.detail-body h1 { font-family: var(--font-head); font-size: clamp(1.4rem, 3vw, 2rem); color: var(--dark); margin-bottom: 12px; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.property-reference{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px 10px;max-width:100%;margin:0 0 14px;padding:9px 12px;border:1px solid rgba(200,132,10,.35);border-radius:10px;background:linear-gradient(135deg,#fff8e8,#fff);box-shadow:0 7px 18px rgba(110,74,8,.08);color:#70531b;line-height:1.3}
.property-reference span{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700}
.property-reference span i{color:var(--primary)}
.property-reference strong{min-width:0;color:#3f2c08;font-size:.88rem;letter-spacing:.04em;overflow-wrap:anywhere;word-break:break-word}
.detail-location { display: flex; align-items: center; gap: 6px; color: var(--text-light); margin-bottom: 16px; }
.detail-location i { color: var(--primary); }
.detail-price { font-size: 1.3rem; font-weight: 700; color: var(--primary); margin-bottom: 10px; }
.detail-meta { display: flex; align-items: center; gap: 8px; color: var(--text-light); margin-bottom: 20px; }
.detail-hr { border: none; border-top: 1px solid var(--border); margin: 24px 0; }
.detail-body h3 { font-family: var(--font-head); font-size: 1.2rem; color: var(--dark); margin-bottom: 12px; }
.detail-sidebar { background: var(--white); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); position: sticky; top: 90px; }
.detail-sidebar h3 { font-family: var(--font-head); font-size: 1.2rem; color: var(--dark); margin-bottom: 20px; }

/* ===== CHATBOT WIDGET ===== */
#chatbot-fab {
  position: fixed; bottom: 28px; right: 28px; z-index: 9999;
  width: 62px; height: 62px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 6px 28px rgba(200,132,10,0.45);
  transition: transform 0.3s, box-shadow 0.3s;
}
#chatbot-fab:hover { transform: scale(1.1); box-shadow: 0 10px 36px rgba(200,132,10,0.55); }
#chatbot-fab i { color: #fff; font-size: 1.5rem; z-index: 1; transition: transform 0.3s; }
.fab-pulse {
  position: absolute; inset: 0; border-radius: 50%;
  background: rgba(200,132,10,0.4);
  animation: pulse-ring 2s ease-out infinite;
}
@keyframes pulse-ring { 0%{transform:scale(1);opacity:0.8} 100%{transform:scale(1.7);opacity:0} }
.fab-badge {
  position: absolute; top: 2px; right: 2px;
  background: #ef4444; color: #fff; border-radius: 50%;
  width: 20px; height: 20px; font-size: 0.72rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff; transition: opacity 0.2s;
}
.fab-badge.hidden { opacity: 0; pointer-events: none; }

/* Chat Window */
#chatbot-window {
  position: fixed; bottom: 104px; right: 28px; z-index: 9998;
  width: 390px; height: min(620px, calc(100vh - 130px)); max-height: 620px;
  background: var(--white); border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(0,0,0,0.06);
  display: flex; flex-direction: column; overflow: hidden;
  transform-origin: bottom right;
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), opacity 0.25s;
}
.chatbot-hidden { transform: scale(0.7) translateY(30px) !important; opacity: 0 !important; pointer-events: none !important; }

/* ===== COMPARE UI ===== */
.compare-item { display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.03);padding:6px 8px;border-radius:8px;color:#fff;margin-right:6px }
.compare-item .ci-thumb{width:36px;height:36px;background:rgba(255,255,255,0.04);display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:18px}
.compare-item .ci-body{display:flex;flex-direction:column;min-width:120px}
.compare-item .ci-title{font-size:0.92rem;font-weight:600;color:#fff}
.compare-item .ci-price{font-size:0.8rem;color:rgba(255,255,255,0.7)}
.compare-item .ci-remove{background:transparent;border:none;color:#fff;margin-left:8px;cursor:pointer;font-size:14px}

.compare-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:10000;padding:20px}
.compare-modal.open{display:flex}
.compare-modal-inner{background:#fff;color:var(--dark);max-width:1100px;width:100%;padding:20px;border-radius:12px;position:relative}
.compare-modal .modal-close{position:absolute;top:12px;right:12px;border:none;background:transparent;font-size:18px;cursor:pointer}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.compare-col{background:var(--bg);padding:16px;border-radius:8px;text-align:center}
.cmp-thumb{font-size:48px;margin-bottom:8px}
.cmp-price{color:var(--primary);font-weight:700;margin-bottom:8px}
@media (max-width:900px){.compare-grid{grid-template-columns:1fr}}

/* Preview tabs & filters */
.filter-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.filter-sidebar{background:var(--white);padding:0;position:sticky;top:88px;max-height:calc(100dvh - 110px);overflow:hidden;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--primary) #f1eadc;border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--border)}
.filter-sidebar::-webkit-scrollbar{width:8px}
.filter-sidebar::-webkit-scrollbar-track{background:#f1eadc;border-radius:999px}
.filter-sidebar::-webkit-scrollbar-thumb{background:var(--primary);border-radius:999px}
.filter-title{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:none;color:var(--dark);font-family:var(--font-body);font-size:15px;font-weight:700;text-align:left;cursor:pointer}
.filter-title span{display:inline-flex;align-items:center;gap:8px}
.filter-title i{color:var(--primary);font-size:14px}
.filter-body{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 28px 28px;scrollbar-width:thin;scrollbar-color:var(--primary) #f1eadc}
.filter-body::-webkit-scrollbar{width:8px}
.filter-body::-webkit-scrollbar-track{background:#f1eadc;border-radius:999px}
.filter-body::-webkit-scrollbar-thumb{background:var(--primary);border-radius:999px}
.filter-section{padding:18px 0;border-bottom:1px solid var(--border)}
.filter-section:last-of-type{border-bottom:none}
.filter-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);margin-bottom:10px}
.filter-section-title i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#fff6e5;color:var(--primary);font-size:11px;letter-spacing:0}
.checkbox-group{display:grid;gap:8px}
.checkbox-group label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);line-height:1.35;cursor:pointer}
.checkbox-group input{accent-color:var(--primary);flex:0 0 auto}
.range-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.range-row input{width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:var(--font-body);font-size:13px;outline:none}
.range-row input:focus{border-color:var(--primary)}
.prop-panel{display:flex;flex-direction:column;gap:10px}
@media (min-width:1025px){
  .property-list-section .prop-panel{scroll-margin-top:96px;border-radius:18px;outline:3px solid transparent;outline-offset:8px;transition:outline-color .22s ease,box-shadow .22s ease}
  .property-list-section .prop-panel.desktop-filter-focus{outline-color:rgba(200,132,10,.42);box-shadow:0 18px 48px rgba(65,45,12,.10)}
}
.main-tabs{display:flex;gap:0;border-bottom:2px solid #E8E4DC;margin-bottom:40px;overflow-x:auto}
.main-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:14px 28px;font-size:13px;cursor:pointer;background:none;border:none;color:var(--text-light);font-family:var(--font-body);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none;transition:all .2s}
.main-tab.active{color:var(--dark);border-bottom-color:var(--dark);font-weight:600}
.tab-content{display:none}
.tab-content.active{display:block}
.btn-apply{width:100%;padding:12px;background:var(--dark);color:#fff;border:none;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;font-family:var(--font-body);margin-top:4px}
.btn-apply:hover{background:var(--primary)}
.btn-clear-filters{width:100%;padding:12px;background:#fff;color:var(--dark);border:1px solid var(--border);font-size:12px;font-weight:800;text-align:center;cursor:pointer;font-family:var(--font-body);margin-top:8px;border-radius:10px}
.btn-clear-filters:hover{border-color:var(--primary);background:#fff8ec;color:#7a4d00}
.property-list-section{padding-top:22px;padding-bottom:70px}
.property-list-tabs{display:inline-flex;max-width:100%;gap:7px;margin-bottom:28px;padding:6px;border:1px solid rgba(200,132,10,.2);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(40,31,16,.08);overflow-x:auto}
.property-list-tabs .main-tab{position:relative;flex:0 0 auto;min-height:48px;padding:8px 17px;border:0;border-radius:11px;color:#625a50;font-weight:700;transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
.property-list-tabs .main-tab:hover{color:var(--dark);background:#fff8ec;transform:translateY(-1px)}
.property-list-tabs .main-tab.active{color:#744900;border:0;background:#fff4dc;box-shadow:inset 0 0 0 1px rgba(200,132,10,.22)}
.property-list-tab-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f3f0ea;color:#675e53;transition:background .2s ease,color .2s ease,transform .2s ease}
.property-list-tabs .main-tab:hover .property-list-tab-icon{transform:scale(1.05)}
.property-list-tabs .main-tab.active .property-list-tab-icon{background:var(--primary);color:#fff}
.property-list-tabs .layout-inventory-tab{padding-right:14px;color:#815400;background:linear-gradient(135deg,#fffaf0,#fff3d8)}
.property-list-tabs .layout-inventory-tab .property-list-tab-icon{background:#ffe5ad;color:#805000}
.property-list-tabs .layout-inventory-tab.active{color:#fff;background:linear-gradient(135deg,#d69617,#a86b00);box-shadow:0 9px 22px rgba(168,107,0,.28)}
.property-list-tabs .layout-inventory-tab.active .property-list-tab-icon{background:rgba(255,255,255,.2);color:#fff}
.property-list-tab-arrow{margin-left:3px;font-size:11px;transition:transform .2s ease}
.layout-inventory-tab:hover .property-list-tab-arrow,.layout-inventory-tab.active .property-list-tab-arrow{transform:translateX(3px)}
.property-list-tab-panel.is-hidden{display:none!important}
.property-list-projects{padding-bottom:20px}
.property-list-section .filter-layout{margin:0}
.property-list-section .filter-layout{grid-template-columns:280px 1fr}
.filter-sidebar{border-radius:14px}
.filter-sidebar .filter-title{flex:0 0 auto;padding:20px 28px 10px;background:#fff;position:relative;z-index:1}
.filter-chip-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip-group label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#3f3529;font-size:12px;font-weight:800;line-height:1.15;cursor:pointer;transition:all .18s}
.filter-chip-group label:hover{border-color:rgba(200,132,10,.45);background:#fff8ec}
.filter-chip-group input{position:absolute;opacity:0;pointer-events:none}
.filter-chip-group label:has(input:checked){border-color:var(--primary);background:#fff1d5;color:#7a4d00;box-shadow:0 5px 14px rgba(200,132,10,.11)}
.filter-chip-group label.is-selected{border-color:var(--primary);background:#fff1d5;color:#7a4d00;box-shadow:0 5px 14px rgba(200,132,10,.11)}
.filter-chip-group.compact label{min-width:68px}
.post-location-chip-group{margin-top:8px;max-height:180px;overflow-y:auto;padding:2px 4px 2px 0}
.post-location-chip-group[aria-invalid="true"] label{border-color:rgba(180,35,24,.28)}
.filter-section.is-hidden{display:none}
.budget-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.budget-presets button{min-height:36px;border:1px solid rgba(200,132,10,.24);border-radius:999px;background:#fff8ec;color:#74500d;font:800 12px var(--font-body);cursor:pointer}
.budget-presets button:hover{border-color:var(--primary);background:#ffe9b8;color:#1f1a12}
.filter-section-focus{animation:filterPulse .9s ease}
@keyframes filterPulse{0%{box-shadow:0 0 0 0 rgba(200,132,10,.28)}100%{box-shadow:0 0 0 14px rgba(200,132,10,0)}}
.property-list-section .property-list-grid{margin:0}
.filter-search-wrap{position:relative;margin-bottom:12px}
.filter-search-wrap>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--primary);font-size:12px;pointer-events:none}
.filter-location-search{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px 10px 34px;font-family:var(--font-body);font-size:13px;outline:none}
.filter-location-search:focus{border-color:var(--primary)}
.filter-location-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.filter-location-heading span{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);font-weight:700}
.filter-location-list{max-height:260px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--primary) #f1eadc}
.filter-location-list::-webkit-scrollbar{width:8px}
.filter-location-list::-webkit-scrollbar-track{background:#f1eadc;border-radius:999px}
.filter-location-list::-webkit-scrollbar-thumb{background:var(--primary);border-radius:999px}
.filter-location-list label{align-items:flex-start;padding:7px 8px;border-radius:8px;background:#fff;border:1px solid transparent}
.filter-location-list label:hover{background:#fff8ec;border-color:rgba(200,132,10,.2)}
.filter-location-list label:has(input:checked){background:#fff1d5;border-color:rgba(200,132,10,.38);color:#7a4d00;font-weight:800}
.filter-location-list label.is-hidden{display:none}
.property-ai-search{padding:16px;border:1px solid rgba(200,132,10,.24);border-radius:14px;background:linear-gradient(145deg,#fffaf0,#fff);margin:12px}
.ai-search-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ai-search-heading .filter-section-title{margin:0}.ai-search-heading small{display:block;color:var(--text-light);font-size:11px;margin-top:1px}.ai-search-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--primary),#e9aa31);box-shadow:0 6px 14px rgba(200,132,10,.22)}
.property-ai-search textarea{width:100%;resize:vertical;min-height:88px;border:1px solid var(--border);border-radius:10px;padding:11px 12px;font-family:var(--font-body);font-size:13px;line-height:1.5;outline:none;margin-bottom:9px;background:#fff;box-sizing:border-box}
.property-ai-search textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(200,132,10,.1)}
.ai-search-examples{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.ai-search-examples button{border:1px solid rgba(200,132,10,.26);background:#fff;color:#76510d;border-radius:999px;padding:5px 8px;font:600 10px var(--font-body);cursor:pointer}.ai-search-examples button:hover,.ai-search-examples button:focus-visible{border-color:var(--primary);background:#fff5df}.ai-search-submit{margin:0}.ai-search-hint{text-align:center;color:var(--text-light);font-size:10px;margin-top:7px}.ai-interpretation{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px;font-size:11px;color:var(--text-light)}.ai-filter-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff4dc;color:#76510d;font-weight:700;border:1px solid rgba(200,132,10,.2)}
.ai-result-banner-error{border-color:#f0c5c1!important;background:#fff4f2!important;color:#9c3229!important}

.breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    color: var(--muted, #756b61);
    font-size: .92rem;
}

.breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: var(--primary, #8f6b2f);
    text-decoration: underline;
}

.breadcrumb-band {
    background: #fbfaf7;
    border-bottom: 1px solid rgba(31,26,18,.08);
    padding: 10px 0;
}

.breadcrumb-band .breadcrumb {
    margin: 0;
    font-size: .88rem;
}

.detail-section .breadcrumb {
    margin-bottom: 24px;
}

.seo-error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #fbfaf7;
}

.seo-error-inner {
    max-width: 760px;
    text-align: center;
}

.seo-error-inner .breadcrumb {
    justify-content: center;
}

.seo-error-inner h1 {
    margin: 12px 0;
    font-size: clamp(2rem, 5vw, 4rem);
}

.seo-error-inner p {
    color: var(--muted, #756b61);
}

.seo-error-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.request-id {
    margin-top: 24px;
    font-size: .85rem;
}
.semantic-search-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:36px;align-items:center;margin-bottom:30px;padding:30px 32px;border:1px solid rgba(200,132,10,.2);border-radius:22px;background:radial-gradient(circle at 8% 0%,rgba(255,207,116,.23),transparent 36%),linear-gradient(135deg,#17140e 0%,#292116 58%,#3a2a11 100%);box-shadow:0 18px 45px rgba(41,29,7,.13);color:#fff}.semantic-search-shell:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-90px;border:1px solid rgba(255,255,255,.08)}.semantic-search-copy,.semantic-search-form{position:relative;z-index:1}.semantic-search-kicker{display:inline-flex;align-items:center;gap:7px;color:#efbc55;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.semantic-search-copy h2{margin:8px 0 9px;font-size:clamp(1.45rem,2.2vw,2.1rem);line-height:1.12;color:#fff}.semantic-search-copy p{margin:0;color:rgba(255,255,255,.64);font-size:13px;line-height:1.6;max-width:440px}.semantic-search-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px 9px 16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18)}.semantic-search-control>i{color:var(--primary);font-size:18px}.semantic-search-control textarea{width:100%;min-height:54px;max-height:120px;resize:vertical;border:0;outline:0;padding:7px 0;background:transparent;color:#272015;font:500 14px/1.5 var(--font-body);box-sizing:border-box}.semantic-search-control textarea::placeholder{color:#9a948b}.semantic-search-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:stretch;border:0;border-radius:11px;padding:0 19px;background:linear-gradient(135deg,var(--primary),#e9aa31);color:#fff;font:800 12px var(--font-body);cursor:pointer;white-space:nowrap;box-shadow:0 7px 16px rgba(200,132,10,.25);transition:transform .2s ease,filter .2s ease}.semantic-search-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.semantic-search-button:disabled{cursor:wait;opacity:.75}.semantic-search-form .ai-search-examples{align-items:center;margin:10px 0 0}.semantic-search-form .ai-search-examples>span{font-size:10px;color:rgba(255,255,255,.5)}.semantic-search-form .ai-search-examples button{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:rgba(255,255,255,.8)}.semantic-search-form .ai-search-examples button:hover{background:rgba(255,255,255,.14);color:#fff}.semantic-search-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:11px}.semantic-search-status span{color:#acd9b4}.semantic-search-status a{color:#efbc55;text-decoration:underline}.semantic-search-error{display:flex;align-items:center;gap:8px;margin:-14px 0 22px;padding:11px 14px;border:1px solid #f0c5c1;border-radius:10px;background:#fff4f2;color:#9c3229;font-size:12px}
@media(max-width:960px){.property-list-hero-inner{grid-template-columns:1fr;gap:24px}.property-list-hero-search{justify-self:stretch}}
@media(max-width:800px){.semantic-search-shell{grid-template-columns:1fr;gap:20px;padding:24px}.semantic-search-control{grid-template-columns:auto minmax(0,1fr)}.semantic-search-button{grid-column:1/-1;min-height:45px}.semantic-search-control textarea{min-height:62px}}
@media(max-width:800px){.auth-page-section{padding:46px 0}.auth-page-grid,.profile-grid{grid-template-columns:1fr;gap:26px}.auth-card{padding:22px}.auth-copy h1{font-size:2rem}.profile-sidebar{position:static}.profile-details{grid-template-columns:1fr}}
@media(max-width:800px){.profile-activity-summary{grid-template-columns:1fr}.profile-panel-head{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.profile-resubmit-form{grid-template-columns:1fr}.profile-property-main{flex-direction:column}.profile-property-action{width:100%;text-align:center}}
@media(max-width:800px){.agent-assignment-summary{grid-template-columns:1fr}.agent-assignment-summary span{border-radius:10px}.agent-assignment-head{flex-direction:column}.agent-assignment-actions{width:100%;justify-content:flex-start}.agent-assignment-actions .profile-property-action{width:100%}}
@media(max-width:1050px) and (min-width:801px){.profile-grid{grid-template-columns:270px minmax(0,1fr);gap:20px}.profile-dashboard-hero{align-items:stretch;flex-direction:column}.profile-dashboard-actions{width:100%}.profile-dashboard-action{flex:1 1 150px}}
@media(max-width:800px){.profile-dashboard-hero{align-items:stretch;flex-direction:column;padding:18px}.profile-dashboard-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.profile-dashboard-action{min-width:0;text-align:center;overflow-wrap:anywhere}.profile-panel{padding:16px}.profile-sidebar{min-width:0;max-width:100%}}
@media(max-width:480px){.profile-section .container{padding-inline:12px}.profile-dashboard-actions{grid-template-columns:1fr}.profile-panel{padding:14px}.profile-activity-item{grid-template-columns:32px minmax(0,1fr);gap:9px;padding:10px}.profile-activity-icon{width:32px;height:32px}.watchlist-card,.agent-assignment-card{padding:12px}.profile-resubmit-form{padding:10px}}
@media(max-width:480px){.agent-performance-card{grid-template-columns:1fr;gap:13px}.agent-performance-sold{grid-template-columns:auto 1fr;align-items:baseline;justify-content:start;gap:7px;padding:12px 0 0;border-left:0;border-top:1px solid color-mix(in srgb,var(--rating-color) 24%,#ddd);text-align:left}}
@media(max-width:480px){.semantic-search-shell{margin-inline:-5px;padding:21px 17px;border-radius:17px}.semantic-search-copy h2{font-size:1.45rem}.semantic-search-control{padding:9px 10px}.semantic-search-form .ai-search-examples button:nth-of-type(n+3){display:none}}
.semantic-search-shell-v2{grid-template-columns:minmax(260px,.75fr) minmax(0,1.55fr);padding:28px;border:1px solid rgba(200,132,10,.18);background:linear-gradient(135deg,#fff8ec 0%,#fff 43%,#fff5df 100%);color:var(--dark);box-shadow:0 18px 44px rgba(60,42,10,.11)}
.semantic-search-shell-v2:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 12%,rgba(200,132,10,.18),transparent 28%),radial-gradient(circle at 92% 20%,rgba(28,21,10,.08),transparent 22%);pointer-events:none}
.semantic-search-shell-v2:after{width:220px;height:220px;right:-90px;top:-120px;background:linear-gradient(135deg,rgba(200,132,10,.16),rgba(255,255,255,.04));border-color:rgba(200,132,10,.14)}
.semantic-search-shell-v2 .semantic-search-kicker{color:#9a6508;background:#fff;border:1px solid rgba(200,132,10,.16);border-radius:999px;padding:7px 11px;box-shadow:0 8px 20px rgba(200,132,10,.1)}
.semantic-search-shell-v2 .semantic-search-copy h2{color:#1f1a12;margin-top:14px}
.semantic-search-shell-v2 .semantic-search-copy p{color:#766b5c}
.semantic-search-shell-v2 .semantic-search-control{grid-template-columns:auto minmax(0,1fr) auto;padding:10px;border:1px solid rgba(31,26,18,.08);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 18px 36px rgba(36,24,7,.12),inset 0 0 0 1px rgba(255,255,255,.7);backdrop-filter:blur(10px)}
.semantic-search-orb{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,#17140e,var(--primary));box-shadow:0 10px 22px rgba(200,132,10,.28)}
.semantic-search-control input[type=search]{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#231d14;font:700 15px/1.4 var(--font-body);padding:0 3px;appearance:none}
.semantic-search-control input[type=search]::placeholder{color:#9a9287;font-weight:500}
.semantic-search-control input[type=search]::-webkit-search-cancel-button{appearance:none}
.semantic-search-shell-v2 .semantic-search-button{min-height:46px;border-radius:15px;padding:0 22px;background:linear-gradient(135deg,#1f1a12,#3b2a11);box-shadow:0 12px 24px rgba(31,26,18,.18)}
.semantic-search-shell-v2 .semantic-search-button:hover{background:linear-gradient(135deg,var(--primary),#e9aa31)}
.semantic-search-hint{display:inline-flex;align-items:center;gap:7px;margin-top:9px;color:#8b7a62;font-size:11px;font-weight:700}
.semantic-search-shell-v2 .ai-search-examples{margin-top:10px}
.semantic-search-shell-v2 .ai-search-examples>span{color:#8b7a62}
.semantic-search-shell-v2 .ai-search-examples button{background:#fff;color:#75520d;border-color:rgba(200,132,10,.2);box-shadow:0 5px 14px rgba(31,26,18,.06)}
.semantic-search-shell-v2 .ai-search-examples button:hover{background:#fff4db;color:#1f1a12}
@media(max-width:800px){.semantic-search-shell-v2{grid-template-columns:1fr}.semantic-search-shell-v2 .semantic-search-control{grid-template-columns:auto minmax(0,1fr)}.semantic-search-shell-v2 .semantic-search-button{grid-column:1/-1;width:100%}}
@media(max-width:480px){.semantic-search-orb{width:40px;height:40px;border-radius:13px}.semantic-search-control input[type=search]{font-size:14px}.semantic-search-shell-v2 .semantic-search-button{min-height:44px}}
.property-filter-clear{display:block;text-align:center;text-decoration:none;box-sizing:border-box}
.active-filter-panel{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(200,132,10,.18);border-radius:14px;background:#fffaf0}
.active-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-light);font-weight:700}
.active-filter-heading a{color:var(--primary);font-weight:800;text-decoration:none}
.active-filter-chips{display:flex;flex-wrap:wrap;gap:8px}
.active-filter-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 9px 7px 12px;border:1px solid rgba(200,132,10,.22);border-radius:999px;background:#fff;color:#4f3710;font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 5px 14px rgba(31,26,18,.05)}
.active-filter-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-filter-chip b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#f1e3c7;color:#6f4b0b;font-size:12px;line-height:1}
.active-filter-chip:hover{border-color:var(--primary);background:#fff4db}
.property-card-image-link{display:block;color:inherit}
.property-card-title{font-weight:700}
.property-card-title a{color:var(--dark);font-weight:700;display:block;max-width:100%;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.property-price-full{white-space:normal;overflow-wrap:anywhere}
.property-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.property-card-actions .btn-details{margin:0}
.watchlist-btn{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:var(--text);padding:8px 11px;font-family:var(--font-body);font-size:12px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.14);cursor:pointer;transition:transform .2s,background .2s,color .2s}
.watchlist-btn:hover{transform:translateY(-1px);background:#fff;color:#b42318}
.watchlist-btn.saved{background:#b42318;color:#fff}
.watchlist-btn.saved:hover{background:#941b12;color:#fff}
.watchlist-btn i{font-size:14px}
.property-list-section .property-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-property-panel{width:100%}
.property-list-card .prop-img{min-height:150px}
.property-list-card .prop-img.has-photo{height:150px;min-height:150px;background:#f8f6f1}
.property-list-card .prop-body{cursor:default;padding:12px}
.property-list-card{cursor:pointer;position:relative;content-visibility:auto;contain:layout style paint;contain-intrinsic-size:auto 360px}
.property-list-card .property-image-main{object-fit:contain;background:#f8f6f1}
.property-list-card:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.property-list-card .prop-title{display:block;font-family:var(--font-body);font-size:.98rem;line-height:1.35;letter-spacing:-.01em;min-height:2.66em;max-height:none;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:initial;font-weight:600}
.property-list-card .prop-title a{color:var(--dark);font-weight:600;display:-webkit-box;max-width:100%;min-height:2.66em;max-height:2.66em;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.property-list-card .prop-title a:hover{color:var(--primary)}
.property-list-card .prop-price{font-size:.92rem;margin-bottom:5px}
.property-list-card .prop-loc{font-size:.76rem;margin-bottom:8px}
.property-list-card .prop-meta{gap:6px}
.property-list-card .prop-meta-i{padding:7px 8px;font-size:.7rem;border-radius:8px}
.property-list-card .property-card-actions{margin-top:8px}
.property-list-card .btn-whatsapp-share{padding:7px 11px;font-size:11px}
.property-list-section .prop-panel,.home-property-panel{transition:opacity .2s ease}
.property-list-section .prop-panel.is-filtering,.home-property-panel.is-filtering{opacity:.5;pointer-events:none}
.project-showcase-frame{margin-top:22px;padding:18px;border:1px solid rgba(200,132,10,.24);border-radius:12px;background:#fffaf0}
.project-showcase-head{max-width:760px;margin-bottom:14px}
.project-showcase-head h3{font-family:var(--font-head);font-size:1.35rem;color:var(--dark);margin:4px 0 5px}
.project-showcase-head p{margin:0;color:var(--text-light);font-size:.9rem;line-height:1.5}
.project-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.project-showcase-card{display:grid;grid-template-rows:160px minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 8px 20px rgba(26,26,46,.07);cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.project-showcase-card:hover,.project-showcase-card:focus-visible{transform:translateY(-4px);border-color:rgba(200,132,10,.75);box-shadow:0 18px 38px rgba(26,26,46,.16);outline:none}
.project-showcase-media{position:relative;min-height:160px;background:linear-gradient(135deg,#f8f6f1,#efe5d8);overflow:hidden;display:grid;place-items:center}
.project-showcase-media img{width:100%;height:100%;object-fit:contain;padding:8px}
.project-showcase-media::after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.42));pointer-events:none}
.project-showcase-placeholder{height:100%;display:grid;place-items:center;color:var(--primary);font-size:2.6rem}
.project-showcase-status,.project-showcase-image-count{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.project-showcase-status{top:12px;left:12px;background:#dcfce7;color:#166534}
.project-showcase-status.booked{background:#fef3c7;color:#92400e}.project-showcase-status.sold{background:#e2e8f0;color:#475569}
.project-showcase-image-count{right:12px;bottom:12px;background:rgba(255,255,255,.94);color:var(--dark);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.project-showcase-body{display:grid;gap:7px;align-content:start;min-width:0;padding:12px}
.project-showcase-body>span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}
.project-showcase-body h4{margin:0;color:var(--dark);font-size:1.08rem;line-height:1.3;overflow-wrap:anywhere}
.project-showcase-body p{margin:0;color:var(--text-light);font-size:.85rem;display:flex;align-items:center;gap:6px}
.project-showcase-card{text-decoration:none;color:inherit}
.project-showcase-price{color:var(--primary);font-size:1rem;line-height:1.25}
.project-showcase-offer{display:flex;align-items:flex-start;gap:7px;padding:9px 10px;border-radius:11px;background:linear-gradient(135deg,#fff8ec,#fff3d6);border:1px solid rgba(200,132,10,.28);color:#8a5a00;font-size:.78rem;font-weight:800;line-height:1.35}
.project-showcase-offer i{color:var(--primary);margin-top:2px;flex:0 0 auto}
.project-showcase-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:4px}
.project-showcase-meta span{display:grid;gap:2px;padding:9px 8px;border-radius:10px;background:#f8fafc;border:1px solid var(--border)}
.project-showcase-meta strong,.project-showcase-meta small{display:block;min-width:0;overflow-wrap:anywhere}
.project-showcase-meta strong{color:var(--dark);font-size:.94rem}.project-showcase-meta small{color:var(--text-light);font-size:.67rem}
.project-showcase-progress{height:7px;border-radius:999px;background:#edf0f4;overflow:hidden}
.project-showcase-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,var(--primary))}
.project-showcase-tags{display:flex;gap:6px;flex-wrap:wrap}
.project-showcase-tags span{padding:5px 8px;border-radius:999px;background:#fff8ec;color:#8a5a00;font-size:.72rem;font-weight:800}
.project-showcase-cta{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;padding-top:10px;border-top:1px solid var(--border);color:var(--dark)!important;letter-spacing:0!important;text-transform:none!important;font-size:.82rem!important}
.project-showcase-book{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:9px 12px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff!important;font-weight:700!important;font-size:.82rem!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;box-shadow:0 3px 10px rgba(79,70,229,.3);transition:box-shadow .15s,transform .15s}
.project-showcase-book:hover{box-shadow:0 5px 14px rgba(79,70,229,.45);transform:translateY(-1px)}
.project-showcase-empty{display:grid;gap:4px;padding:18px;border:1px dashed rgba(200,132,10,.45);border-radius:12px;background:#fff;color:var(--text)}
.project-showcase-empty span{color:var(--text-light);font-size:.9rem}
.project-public-drawer{position:fixed;inset:0;background:rgba(26,26,46,.38);z-index:9999;display:flex;justify-content:flex-end}
.project-public-drawer[hidden]{display:none!important}
.project-public-drawer-panel{width:min(520px,100%);height:100%;overflow:auto;background:#fff;padding:28px;box-shadow:-20px 0 50px rgba(0,0,0,.2);position:relative}
.project-public-drawer h3{font-family:var(--font-head);font-size:1.6rem;color:var(--dark);margin:4px 0 6px}
.project-public-drawer p{color:var(--text-light);line-height:1.6}
.project-drawer-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.project-drawer-stats span{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text-light);font-size:.82rem}
.project-drawer-stats strong{display:block;color:var(--dark);font-size:1.2rem}
.project-drawer-list{display:grid;gap:10px;margin-top:14px}
.project-drawer-list div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
.project-drawer-list strong,.project-drawer-list span,.project-drawer-list small{display:block}
.project-drawer-list span,.project-drawer-list small{color:var(--text-light);font-size:.84rem;margin-top:3px}
.layout-detail-section{background:var(--bg)}
.layout-detail-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;align-items:start}
.layout-detail-gallery,.layout-detail-summary,.layout-detail-panel{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:18px}
.layout-detail-main-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#f2ede5}
.layout-detail-placeholder{height:360px;display:grid;place-items:center;border-radius:12px;background:#f2ede5;color:var(--primary);font-size:3rem}
.layout-detail-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:10px}
.layout-detail-thumbs img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
.layout-detail-summary h1{font-family:var(--font-head);font-size:2rem;color:var(--dark);margin:6px 0 8px}
.layout-detail-summary p{color:var(--text-light);line-height:1.65}
.layout-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.layout-detail-stats div{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.layout-detail-stats strong,.layout-detail-stats span{display:block}.layout-detail-stats strong{font-size:1.45rem;color:var(--dark)}.layout-detail-stats span{color:var(--text-light);font-size:.82rem}
.layout-detail-description{padding-top:10px;border-top:1px solid var(--border)}
.layout-detail-panel{margin-top:24px}
.layout-detail-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.layout-detail-panel-head h2{font-family:var(--font-head);color:var(--dark);margin:4px 0 0}
.layout-status-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--text-light);font-size:.84rem}
.layout-status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.layout-status-dot.available{background:#16a34a}.layout-status-dot.booked{background:#f59e0b}.layout-status-dot.sold{background:#64748b}
.layout-public-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}
.layout-public-table{width:100%;border-collapse:collapse;min-width:900px;background:#fff}
.layout-public-table th{background:#f8fafc;color:var(--text-light);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:12px}
.layout-public-table td{padding:13px 12px;border-top:1px solid var(--border);vertical-align:middle}
.layout-public-table small{display:block;color:var(--text-light);margin-top:3px}
.layout-row-available{background:#f6fef9}.layout-row-booked{background:#fffbeb}.layout-row-sold{background:#f8fafc;color:#667085}
.layout-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900;text-transform:uppercase}
.layout-status-pill.available{background:#dcfce7;color:#166534}.layout-status-pill.booked{background:#fef3c7;color:#92400e}.layout-status-pill.sold{background:#e2e8f0;color:#475569}
.layout-detail-empty{margin:0;padding:20px;color:var(--text-light);text-align:center}
.agent-registration-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:48px;align-items:start}
.agent-registration-section .contact-form{max-width:none}
.agent-consent{display:flex;align-items:flex-start;gap:9px;font-size:.85rem;line-height:1.5;margin:8px 0 6px;cursor:pointer}
.agent-consent input{margin-top:4px;accent-color:var(--primary)}
.agent-success{padding:13px 15px;margin-bottom:18px;border-radius:8px;background:#e8f7ed;color:#176b35;font-size:.88rem}
.required-fields-note{padding:11px 13px;margin:-5px 0 18px;border-left:3px solid var(--primary);background:var(--bg);font-size:.8rem;color:var(--text-light)}
.agent-service-area-chips{margin-top:0}
.agent-service-area-chips.agent-field-invalid{border:1px solid rgba(180,35,24,.24);border-radius:10px;padding:8px;background:#fff8f7}
.form-help{display:block;margin-top:6px;color:var(--text-light);font-size:.78rem;line-height:1.45}
.listing-title-guidance{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:6px;color:var(--text-light);font-size:.76rem;line-height:1.4}
.listing-title-guidance small:first-child{max-width:680px}
.listing-title-count{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:#f4f1eb;color:#655e55;font-weight:800;transition:background .2s,color .2s}
.listing-title-count.near-limit{background:#fff0d0;color:#9a5d00}
.agent-submit-message{display:none;margin-top:14px;padding:12px 14px;border-radius:8px;font-size:.85rem}
.agent-submit-message.success{display:block;background:#e8f7ed;color:#176b35}
.agent-submit-message.error{display:block;background:#fff0ef;color:#b42318}
.agent-submit-validation{margin-top:12px}
.agent-submit-validation:empty{display:none}
.btn-submit:disabled{opacity:.65;cursor:not-allowed}
.agent-registration-section input.agent-field-invalid,
.agent-registration-section select.agent-field-invalid,
.agent-registration-section textarea.agent-field-invalid{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12);background:#fff8f7}
.validation-summary,.field-validation-error{display:block;color:#b42318;font-size:.78rem;margin-top:5px}
@media(max-width:768px){.agent-registration-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:900px){.home-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.project-showcase-grid{grid-template-columns:1fr}.project-showcase-card{grid-template-rows:180px minmax(0,1fr)}}
@media(max-width:900px){.layout-detail-hero{grid-template-columns:1fr}.layout-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .layout-public-table-wrap{border:0;overflow:visible;background:transparent}
  .layout-public-table{min-width:0;border-collapse:separate;border-spacing:0 12px;background:transparent}
  .layout-public-table thead{display:none}
  .layout-public-table tbody,.layout-public-table tr,.layout-public-table td{display:block;width:100%}
  .layout-public-table tr{border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(26,26,46,.06);overflow:hidden}
  .layout-public-table td{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:10px 12px;border-top:1px solid var(--border);text-align:right;overflow-wrap:anywhere}
  .layout-public-table td:first-child{border-top:0;background:#f8fafc}
  .layout-public-table td::before{content:"";flex:0 0 94px;text-align:left;color:var(--text-light);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
  .layout-public-table td:nth-child(1)::before{content:"Plot"}
  .layout-public-table td:nth-child(2)::before{content:"Area"}
  .layout-public-table td:nth-child(3)::before{content:"Dimensions"}
  .layout-public-table td:nth-child(4)::before{content:"Facing"}
  .layout-public-table td:nth-child(5)::before{content:"Road"}
  .layout-public-table td:nth-child(6)::before{content:"Price"}
  .layout-public-table td:nth-child(7)::before{content:"House"}
  .layout-public-table td:nth-child(8)::before{content:"Status"}
  .layout-public-table td>*{min-width:0}
}
@media(max-width:600px){.home-property-grid{grid-template-columns:1fr}.project-showcase-card{grid-template-columns:1fr}.project-showcase-media{min-height:150px}}
.btn-whatsapp-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border-radius:8px;background:#25d366;color:#fff;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.btn-whatsapp-share:hover{background:#1da851;color:#fff;transform:translateY(-1px)}
.ai-tool-panel{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:28px;align-items:start;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:28px}
.ai-tool-copy{position:sticky;top:92px;padding:20px;border-radius:12px;background:#fff8ec;border:1px solid rgba(200,132,10,.2)}
.ai-tool-copy .sec-title{font-family:var(--font-head);font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.15;color:var(--dark);margin:6px 0 10px}
.ai-tool-copy .sec-desc{margin:0;color:var(--text-light);font-size:.92rem;line-height:1.65}
.ai-tool-form{min-width:0}
.ai-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.ai-tool-panel .field{margin-bottom:0}
.ai-tool-panel .field label{color:var(--dark);font-size:.74rem;font-weight:800;letter-spacing:.08em}
.ai-tool-panel .field input,.ai-tool-panel .field select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-family:var(--font-body);font-size:.92rem;padding:11px 12px;outline:none;transition:border-color .2s,box-shadow .2s}
.ai-tool-panel .field input:focus,.ai-tool-panel .field select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(200,132,10,.12)}
.ai-tool-panel .field select option{background:#fff;color:var(--text)}
.ai-tool-wide{grid-column:1/-1}
.ai-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ai-option-grid label{display:flex!important;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text)!important;font-size:.82rem!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.ai-option-grid input{width:auto!important;min-height:auto!important;accent-color:var(--primary);box-shadow:none!important}
.ai-tool-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;padding:13px 24px;border:none;border-radius:10px;cursor:pointer;font-weight:800}
.ai-tool-result{margin-top:18px}
.ai-tool-result:empty{display:none}
.valuation-result{background:var(--dark);color:#fff;border-radius:12px;padding:22px;box-shadow:0 14px 36px rgba(26,26,46,.18)}
.valuation-result .val-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.48)}
.valuation-result .val-price{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);line-height:1.05;color:var(--primary-light);margin-top:6px}
.valuation-result .val-range{color:rgba(255,255,255,.75);font-size:.9rem;margin-top:4px}
.val-confidence{margin-top:10px;display:inline-block;padding:4px 14px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.val-notice{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(201,168,76,.14);border:1px solid rgba(201,168,76,.28);color:rgba(255,255,255,.9);font-size:.86rem;line-height:1.6}
.val-notice strong{color:#fff}
.val-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.val-box{padding:12px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.val-box-label{color:rgba(255,255,255,.58);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.val-box-val{color:#fff;font-size:.98rem;font-weight:800;margin-top:4px}
.val-formula,.val-method{margin-top:10px;font-size:.78rem;color:rgba(255,255,255,.72);line-height:1.6}
.val-method{margin-top:4px}
.val-factors{display:grid;gap:8px;margin-top:16px}
.val-factor{padding:9px 10px;border-radius:9px;font-size:.86rem;line-height:1.45}
.val-factor.positive{background:rgba(34,197,94,.12);color:#dcfce7}
.val-factor.negative{background:rgba(239,68,68,.12);color:#fee2e2}
.val-explanation{margin-top:16px;padding:14px;background:rgba(201,168,76,.1);border-left:3px solid var(--primary);border-radius:0 8px 8px 0;font-size:13px;color:rgba(255,255,255,.85);line-height:1.7}
.investment-panel .ai-tool-result>div{border:1px solid var(--border)!important;border-radius:12px!important;background:#fffaf1!important;box-shadow:0 10px 28px rgba(34,24,7,.08);padding:20px!important;color:var(--text)!important}
.investment-panel .ai-tool-result strong{color:var(--dark);font-size:1.02rem}
.investment-result{display:grid;gap:16px}
.investment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.investment-head div{display:grid;gap:4px}
.investment-head span{color:var(--text-light);font-size:.88rem;line-height:1.55}
.investment-head>b{flex:0 0 auto;display:grid;place-items:center;min-width:76px;min-height:56px;border-radius:10px;background:var(--dark);color:#fff;font-size:1.05rem}
.investment-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.investment-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.investment-columns>div{padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff}
.investment-columns ul{margin:9px 0 0;padding-left:18px;color:var(--text);font-size:.88rem;line-height:1.6}
.investment-alt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem}
.investment-alt span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--text)}
.emi-panel .ai-tool-result>div{border:1px solid var(--border)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 28px rgba(34,24,7,.08);padding:20px!important;color:var(--text)!important}
.emi-range-field{padding:14px;border:1px solid rgba(200,132,10,.2);border-radius:12px;background:linear-gradient(180deg,#fffaf0,#fff)}
.emi-range-field label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.emi-range-field label span{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:5px 9px;border-radius:999px;background:#1f1a12;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.emi-range-text{width:100%;min-height:42px;margin-bottom:12px;border:1px solid rgba(200,132,10,.28);border-radius:10px;background:#fff;color:var(--dark);font:800 14px var(--font-body);padding:9px 12px;outline:none}
.emi-range-text:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(200,132,10,.12)}
.emi-range-field input[type=range]{width:100%;height:8px;border:0;border-radius:999px;outline:none;accent-color:var(--primary);background:#f0e1c3;cursor:pointer}
.emi-range-field input[type=range]::-webkit-slider-thumb{width:20px;height:20px;border-radius:50%;border:3px solid #fff;background:var(--primary);box-shadow:0 4px 12px rgba(116,80,13,.28);cursor:pointer;-webkit-appearance:none;appearance:none}
.emi-range-field input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:3px solid #fff;background:var(--primary);box-shadow:0 4px 12px rgba(116,80,13,.28);cursor:pointer}
.range-scale{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:var(--text-light);font-size:11px;font-weight:700}
.emi-result{display:grid;gap:16px}
.emi-breakdown{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;padding:14px;border:1px solid rgba(200,132,10,.2);border-radius:12px;background:#fff8ec}
.emi-breakdown div{display:grid;gap:4px}
.emi-breakdown span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}
.emi-breakdown strong{color:var(--dark);font-size:15px}
.emi-breakdown i{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#fff;color:var(--primary);font-size:11px}
.emi-description{margin:0;padding:14px;border-left:3px solid var(--primary);border-radius:0 10px 10px 0;background:#fffaf1;color:var(--text);font-size:14px;line-height:1.7}
.emi-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.emi-chart div{padding:10px;border-radius:10px;background:#fff8ec;border:1px solid rgba(200,132,10,.18)}
.emi-chart span{display:block;font-size:.72rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em}
.emi-chart b{display:block;margin-top:4px;color:var(--dark);font-size:.9rem}
.detail-share{margin:0 0 14px}
.sort-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;flex-wrap:wrap;gap:12px}
.result-count{font-size:13px;color:var(--text-light)}
.sort-controls{display:flex;gap:10px;align-items:center}
.sort-controls>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff6e5;color:var(--primary);font-size:13px}
.sort-controls select{padding:8px 12px;border:1px solid var(--border);font-size:12px;font-family:var(--font-body);background:var(--white);outline:none;cursor:pointer}
.compare-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(26,26,46,0.96);padding:16px 4vw;display:flex;align-items:center;justify-content:space-between;z-index:250;transform:translateY(100%);transition:transform .3s}
.compare-bar.show{transform:translateY(0)}
.compare-items{display:flex;gap:12px;align-items:center;overflow-x:auto}
.compare-chip{background:rgba(255,255,255,.08);padding:8px 14px;font-size:12px;color:#fff;display:flex;align-items:center;gap:8px;border-radius:12px}
.compare-chip button{background:none;border:none;color:rgba(255,255,255,.75);cursor:pointer;font-size:14px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:400;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex}
.modal{background:var(--white);max-width:680px;width:100%;max-height:88vh;overflow-y:auto;padding:40px;position:relative;border-radius:20px;box-shadow:var(--shadow)}
.modal-close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-light)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px}
.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.spec-item{background:var(--bg);padding:12px;border-left:3px solid var(--primary)}
.spec-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light)}
.spec-val{font-size:15px;font-weight:500;margin-top:3px}
.amenity-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.amenity-tag{background:var(--bg);padding:5px 12px;font-size:11px;color:var(--text-light);border-radius:999px}
@media (max-width:1024px){.filter-layout{grid-template-columns:1fr}.property-list-section .filter-layout{grid-template-columns:1fr}.filter-sidebar{position:static;top:auto;max-height:calc(100dvh - 92px)}}
@media (max-width:640px){
  .section{padding:54px 0}
  .properties-section{padding-top:36px}
  .section-header{margin-bottom:28px}
  .properties-grid-wrapper{margin-left:-4px;margin-right:-4px}
  .view-all-wrap{margin-top:20px}
  .page-hero{padding:34px 0}
  .property-list-hero{padding:16px 0}
  .contact-section{padding:54px 0}
  .contact-form{padding:22px}
  .form-row{grid-template-columns:1fr;gap:0}
  .price-control-grid{grid-template-columns:1fr}
  .option-grid{grid-template-columns:1fr}
  .input-with-unit{grid-template-columns:1fr}
  .image-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-inner{grid-template-columns:1fr}
  .property-filter-grid{grid-template-columns:1fr}
  .filter-btn{width:100%}
  .home-actions-section{padding:18px 0}
  .home-actions-layout{gap:20px}
  .home-actions-grid{grid-template-columns:1fr;gap:12px}
  .emi-breakdown{grid-template-columns:1fr}
  .emi-breakdown i{transform:rotate(90deg);justify-self:center}
  .home-action-card{min-height:auto;padding:18px}
  .home-action-icon{width:42px;height:42px}
  .main-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-bottom:none;margin-bottom:22px;overflow:visible}
  .main-tab{min-width:0;padding:10px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:12px;line-height:1.2;text-align:center;white-space:normal}
  .property-list-tabs{grid-template-columns:1fr;width:100%;padding:6px;overflow:visible}
  .property-list-tabs .main-tab{width:100%;justify-content:flex-start;padding:8px 12px;text-align:left}
  .property-list-tabs .property-list-tab-arrow{margin-left:auto}
  .main-tab.active{background:var(--dark);border-color:var(--dark);color:#fff}
  .filter-layout{gap:18px}
  .filter-chip-group{gap:7px}
  .filter-chip-group label{min-height:38px;padding:8px 10px;font-size:12px}
  .budget-presets{grid-template-columns:1fr 1fr}
  .filter-sidebar{padding:0;border-radius:12px;max-height:calc(100dvh - 88px);overflow:hidden}
  .filter-title{padding:13px 14px;font-size:14px}
  .filter-sidebar .filter-title{padding:13px 14px}
  .filter-title i{transition:transform .2s}
  .filter-sidebar.open .filter-title i{transform:rotate(90deg)}
  .filter-body{display:none;padding:0 14px 14px;overflow-y:auto}
  .filter-sidebar.open .filter-body{display:block}
  .filter-section{padding:14px 0}
  .filter-section-title{margin-bottom:8px}
  .checkbox-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
  .filter-location-list{max-height:300px;grid-template-columns:1fr}
  .checkbox-group label{font-size:12px}
  .filter-sidebar .ai-bar{border-radius:12px}
  .filter-sidebar .ai-input{padding:12px 10px;font-size:13px}
  .sort-bar{margin-bottom:14px}
  .sort-controls{width:100%}
  .sort-controls select{width:auto;flex:1;min-width:0}
  .ai-tool-panel{grid-template-columns:1fr;padding:20px;gap:18px}
  .ai-tool-copy{position:static;padding:16px}
  .ai-tool-grid,.val-grid{grid-template-columns:1fr}
  .ai-option-grid{grid-template-columns:1fr 1fr}
  .prop-grid,.properties-grid{grid-template-columns:1fr;gap:18px}
  .cta-buttons{width:100%;justify-content:center}
  .cta-buttons .btn-cta{width:100%;text-align:center}
  .home-contact-grid{grid-template-columns:1fr;gap:12px}
}
@media (max-width:900px){.compare-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}.chat-header {
  background: linear-gradient(135deg, var(--dark) 0%, #0f3460 100%);
  padding: 16px 18px; display: flex; align-items: center; justify-content: space-between;
  flex-shrink: 0;
}
.chat-header-left { display: flex; align-items: center; gap: 12px; }
.chat-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: #fff; position: relative; flex-shrink: 0;
}
.online-dot {
  position: absolute; bottom: 1px; right: 1px;
  width: 11px; height: 11px; background: #22c55e;
  border-radius: 50%; border: 2px solid var(--dark);
  animation: blink-dot 2s ease-in-out infinite;
}
@keyframes blink-dot { 0%,100%{opacity:1} 50%{opacity:0.4} }
.chat-header-info strong { display: block; color: #fff; font-size: 0.95rem; }
.chat-header-info span { color: rgba(255,255,255,0.55); font-size: 0.75rem; }
.chat-close-btn {
  background: rgba(255,255,255,0.1); border: none; color: rgba(255,255,255,0.7);
  width: 32px; height: 32px; border-radius: 8px; cursor: pointer;
  transition: all 0.2s; display: flex; align-items: center; justify-content: center; font-size: 0.85rem;
}
.chat-close-btn:hover { background: rgba(255,255,255,0.2); color: #fff; }

/* Suggestions */
.chat-suggestions { padding: 12px 14px; background: var(--bg); border-bottom: 1px solid var(--border); flex-shrink: 0; }
.suggest-btn {
  background: var(--white); border: 1.5px solid var(--border); border-radius: 20px;
  padding: 5px 12px; font-size: 0.78rem; color: var(--text); cursor: pointer;
  font-family: var(--font-body); transition: all 0.2s; white-space: nowrap;
}
.suggest-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* Messages */
.chat-messages {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px 14px;
  display: flex; flex-direction: column; gap: 14px;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--primary) #efe5d2;
}
.chat-messages::-webkit-scrollbar { width: 10px; }
.chat-messages::-webkit-scrollbar-track { background: #efe5d2; border-radius: 10px; }
.chat-messages::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--primary), var(--primary-dark)); border-radius: 10px; border: 2px solid #efe5d2; }
.chat-msg { display: flex; gap: 10px; align-items: flex-end; animation: msg-in 0.3s ease; }
@keyframes msg-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.chat-msg.user { flex-direction: row-reverse; }
.msg-avatar {
  width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 0.85rem;
}
.chat-msg.user .msg-avatar { background: var(--dark2); }
.msg-bubble {
  max-width: 80%; padding: 11px 15px; border-radius: 16px;
  background: var(--bg); color: var(--text); font-size: 0.88rem; line-height: 1.6;
  border-bottom-left-radius: 4px; position: relative;
}
.chat-msg.user .msg-bubble {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff; border-bottom-left-radius: 16px; border-bottom-right-radius: 4px;
}
.msg-bubble p { margin: 0; }
.msg-bubble p + p { margin-top: 6px; }
.msg-time { display: block; font-size: 0.68rem; color: var(--text-light); margin-top: 5px; text-align: right; }
.chat-msg.user .msg-time { color: rgba(255,255,255,0.6); }

/* Property result cards inside chat */
.chat-property-card {
  background: var(--white); border: 1.5px solid var(--border); border-radius: 10px;
  padding: 10px 12px; margin-top: 8px; transition: border-color 0.2s;
}
.chat-property-card:hover { border-color: var(--primary); }
.chat-property-card strong { display: block; font-size: 0.85rem; color: var(--dark); margin-bottom: 3px; }
.chat-property-card span { font-size: 0.78rem; color: var(--text-light); display: block; }
.chat-property-card .chat-prop-price { color: var(--primary); font-weight: 700; font-size: 0.82rem; margin-top: 4px; }
.chat-property-card a { font-size: 0.78rem; color: var(--primary); font-weight: 600; text-decoration: underline; }
.chat-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.chat-card-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 5px 8px; border: 1px solid rgba(200,132,10,0.25); border-radius: 7px; background: #fff8ec; text-decoration: none; }
.chat-card-actions a:hover { background: var(--primary); color: #fff; }
.chat-more-results { display: flex; align-items: center; justify-content: center; min-height: 34px; margin-top: 10px; padding: 7px 10px; border-radius: 8px; background: var(--dark); color: #fff; font-size: 0.8rem; font-weight: 700; text-decoration: none; }
.chat-more-results:hover { background: var(--primary-dark); color: #fff; }

/* Typing indicator */
.chat-typing { display: flex; gap: 10px; align-items: flex-end; padding: 0 14px 10px; }
.typing-bubble {
  background: var(--bg); border-radius: 16px; border-bottom-left-radius: 4px;
  padding: 12px 16px; display: flex; gap: 5px; align-items: center;
}
.typing-bubble span {
  width: 7px; height: 7px; background: var(--text-light); border-radius: 50%;
  animation: typing-dot 1.2s ease-in-out infinite;
}
.typing-bubble span:nth-child(2) { animation-delay: 0.2s; }
.typing-bubble span:nth-child(3) { animation-delay: 0.4s; }
@keyframes typing-dot { 0%,80%,100%{transform:scale(0.7);opacity:0.4} 40%{transform:scale(1);opacity:1} }

/* Input Area */
.chat-input-wrap { padding: 12px 14px 10px; border-top: 1px solid var(--border); background: var(--white); flex-shrink: 0; }
#chat-input {
  width: 100%; padding: 10px 14px; border: 1.5px solid var(--border); border-radius: 12px;
  font-family: var(--font-body); font-size: 0.88rem; color: var(--text); resize: none; max-height: 110px; overflow-y: auto; line-height: 1.5; outline: none; transition: border-color 0.2s;
}
#chat-input:focus { border-color: var(--primary); }
#chat-send {
  width: 42px; height: 42px; border-radius: 12px; border: none;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; transition: all 0.2s; flex-shrink: 0; margin-top: 8px;
}
#chat-send:hover { transform: scale(1.08); box-shadow: 0 4px 14px rgba(200,132,10,0.4); }
#chat-send:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.chat-footer { padding: 0 14px 12px; }
.chat-clear-btn { background: transparent; border: none; color: var(--text-light); font-size: 0.78rem; cursor: pointer; }

/* Database-backed property listings */
.property-db-image { background-size: cover; background-position: center; }
.property-empty { margin: 50px 0; padding: 28px; text-align: center; color: var(--text-light); background: var(--white); border-radius: 10px; }
.property-detail-server{min-width:0;max-width:100%}
.property-gallery{width:100%;max-width:100%;min-width:0;margin-bottom:24px;overflow:hidden}
.property-gallery-stage{position:relative;width:100%;aspect-ratio:16/9;background:var(--dark);border-radius:12px;overflow:hidden}
.property-gallery-main{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;opacity:1;transition:opacity .18s ease}
.property-gallery-main.is-loading{opacity:0}
.property-gallery-loader,.layout-image-viewer-loader{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.01em;background:radial-gradient(circle at center,rgba(255,255,255,.08),transparent 52%)}
.property-gallery-loader.has-error,.layout-image-viewer-loader.has-error{padding:24px;text-align:center;color:#ffe1e1;background:rgba(45,10,10,.5)}
.property-image-spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.28);border-top-color:var(--primary);border-radius:50%;animation:property-image-spin .75s linear infinite}
.has-error>.property-image-spinner{display:none}
@keyframes property-image-spin{to{transform:rotate(360deg)}}
.property-gallery-video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;border:0;background:#000}
.property-video-facade{position:absolute;inset:0;width:100%;height:100%;border:0;background:linear-gradient(135deg,#161616,#303030);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.property-video-facade i{font-size:64px;color:#ff0000}
.property-video-facade span{font-size:14px;font-weight:700;letter-spacing:.04em}
.property-gallery-stage .is-hidden{display:none}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;z-index:2;transition:background .2s}
.gallery-arrow:hover{background:var(--primary)}
.gallery-prev{left:14px}.gallery-next{right:14px}
.gallery-counter{position:absolute;right:14px;bottom:12px;padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:12px}
.property-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding-top:10px}
.gallery-thumbnail{flex:0 0 92px;height:68px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none;cursor:pointer;opacity:.7}
.gallery-thumbnail.active{border-color:var(--primary);opacity:1}
.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}
.gallery-video-thumbnail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#181818;color:#fff}
.gallery-video-thumbnail i{font-size:24px;color:#ff0000}
.gallery-video-thumbnail span{font-size:10px;font-weight:600}
.property-gallery-main[data-gallery-open]{cursor:zoom-in}
.modal-open{overflow:hidden}
.layout-image-viewer[hidden]{display:none!important}
.layout-image-viewer{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px}
.layout-image-viewer-backdrop{position:absolute;inset:0;background:rgba(10,15,25,.82);backdrop-filter:blur(2px)}
.layout-image-viewer-panel{position:relative;z-index:1;width:min(1180px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;background:#fff;border-radius:12px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.layout-image-viewer-close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font-size:1.45rem;line-height:1;cursor:pointer}
.layout-image-viewer-thumbs{display:grid;align-content:start;gap:10px;overflow:auto;padding-right:4px}
.layout-image-viewer-thumbs button{width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:8px;background:#f7f4ef;overflow:hidden;cursor:pointer;padding:0}
.layout-image-viewer-thumbs button.active{border-color:var(--primary)}
.layout-image-viewer-thumbs img{width:100%;height:100%;object-fit:cover}
.layout-image-viewer-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;background:#f8f6f1;border-radius:10px;overflow:auto;padding:16px}
.layout-image-viewer-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;opacity:1;transition:opacity .18s ease}
.layout-image-viewer-stage img.is-loading{opacity:0}
.layout-image-viewer-loader{color:#554a3d;background:radial-gradient(circle at center,rgba(200,132,10,.09),transparent 52%)}
.layout-image-viewer-loader.is-hidden{display:none}
.layout-image-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;cursor:pointer;z-index:2}
.layout-image-viewer-arrow:hover{background:var(--primary)}
.layout-image-viewer-arrow.prev{left:14px}.layout-image-viewer-arrow.next{right:14px}
.home-tour-notes{white-space:pre-line;color:var(--text-light);margin-bottom:24px}
.public-detail-list dd{overflow-wrap:anywhere}
.public-detail-list dd a{color:var(--primary);font-weight:600}
.public-land-site-details{margin-top:26px;padding:18px;border:1px solid rgba(200,132,10,.25);border-radius:13px;background:#fffaf0}.public-land-site-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.public-land-site-head span{color:var(--primary);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.public-land-site-head h3{margin:4px 0 0}.land-verification-badge{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#fff1d5;color:#805600;font-size:.7rem;text-transform:uppercase}.public-land-site-details .public-detail-list{margin-top:12px}
@media (max-width:900px){
  .header.scrolled{backdrop-filter:none}
  .property-list-section .property-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .property-list-section .property-list-grid{grid-template-columns:minmax(0,1fr)}
  .property-list-section{padding-top:14px;padding-bottom:45px}
  .property-gallery-stage{aspect-ratio:16/9;width:100%;height:auto}
  .property-gallery-thumbnails{width:100%;max-width:100%;overscroll-behavior-inline:contain}
  .detail-section{padding:36px 0}
}
.property-description { white-space: pre-line; overflow-wrap:anywhere; word-break:break-word; }
.public-detail-list { display: grid; grid-template-columns: 140px 1fr; margin-top: 24px; }
.public-detail-list dt, .public-detail-list dd { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--border); }
.public-detail-list dt { font-weight: 600; }
.stm-public-contact { display: grid; gap: 9px; margin: 12px 0 20px; }
.stm-public-contact strong { font-size: 1.05rem; }
.stm-public-contact a { color: var(--primary); overflow-wrap: anywhere; }
.property-public-contact { display: grid; gap: 2px; margin: 10px 0; font-size: 0.8rem; color: var(--text-light); }
.property-public-contact strong { color: var(--text); }

/* Mobile */
@media (max-width: 480px) {
  .property-gallery{margin-left:-4px;margin-right:-4px}
  .property-gallery-stage{border-radius:8px}
  .property-gallery-main,.property-gallery-video{width:100%;height:100%}
  .gallery-arrow{width:36px;height:36px}
  .layout-image-viewer{padding:10px}
  .layout-image-viewer-panel{width:100%;height:100%;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 88px;padding:12px}
  .layout-image-viewer-thumbs{order:2;display:flex;overflow-x:auto;padding:0}
  .layout-image-viewer-thumbs button{flex:0 0 78px}
  .layout-image-viewer-stage{order:1}
  #chatbot-window { width: calc(100vw - 24px); height: min(75vh, calc(100vh - 108px)); right: 12px; bottom: 90px; max-height: 75vh; }
  #chatbot-fab { bottom: 18px; right: 18px; }
}
/* Bounded list navigation used by public and admin database-backed pages. */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 1.5rem 0;
}

.pagination a {
  border: 1px solid #d7dce2;
  border-radius: 0.5rem;
  padding: 0.55rem 1rem;
  text-decoration: none;
}
@media (hover:none){
  .property-list-card:hover{transform:none;box-shadow:var(--shadow)}
}

.profile-deal-feedback {
  padding: 12px;
  border: 1px solid #b8e5c6;
  border-radius: 10px;
  background: #f7fcf8;
}

/* Modern public Top 5 agent leaderboard. Scoped rules avoid the legacy rating-card grid. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.agent-rating-widget{position:relative;isolation:isolate;display:grid;gap:15px;margin-top:28px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:radial-gradient(circle at 88% -8%,rgba(218,167,62,.3),transparent 34%),linear-gradient(145deg,#29231b 0%,#17140f 100%);box-shadow:0 22px 50px rgba(34,25,12,.2);overflow:hidden}
.agent-rating-widget:before{content:"";position:absolute;z-index:-1;right:-54px;bottom:-78px;width:190px;height:190px;border:1px solid rgba(226,179,79,.12);border-radius:50%;box-shadow:0 0 0 24px rgba(226,179,79,.04),0 0 0 52px rgba(226,179,79,.025)}
.agent-leaderboard-heading{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center}
.agent-leaderboard-trophy{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:linear-gradient(145deg,#f0bd4f,#a96b05);color:#fff;font-size:1.2rem;box-shadow:0 10px 24px rgba(157,99,3,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.agent-leaderboard-kicker{display:block;margin-bottom:3px;color:#e5b751;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.agent-rating-widget .agent-leaderboard-heading h3{margin:0;color:#fff;font-family:var(--font-head);font-size:1.55rem;line-height:1.1}
.agent-rating-widget .agent-leaderboard-heading p{margin:5px 0 0;color:rgba(255,255,255,.62);font-size:.75rem;line-height:1.4}
.agent-rating-widget .agent-rating-period-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.065)}
.agent-rating-widget .agent-rating-period-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.68);font:800 .75rem var(--font-body);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.agent-rating-widget .agent-rating-period-tabs button:hover{color:#fff;background:rgba(255,255,255,.08)}
.agent-rating-widget .agent-rating-period-tabs button.is-active{background:#fff;color:#6e4909;box-shadow:0 8px 20px rgba(0,0,0,.18);transform:translateY(-1px)}
.agent-rating-widget .agent-rating-period-tabs button:focus-visible{outline:3px solid rgba(231,184,79,.45);outline-offset:2px}
.agent-leaderboard-reward-note{position:relative;display:flex;align-items:center;gap:9px;min-height:38px;padding:9px 11px;border:1px solid rgba(225,176,70,.2);border-radius:12px;background:rgba(225,176,70,.1);color:#f0cc7b;font-size:.69rem;font-weight:750;line-height:1.35}
.agent-leaderboard-reward-note>i{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;background:rgba(230,181,73,.18);color:#f5c65f}
.agent-leaderboard-reward-note.is-yearly{border-color:rgba(113,185,255,.2);background:rgba(73,142,210,.1);color:#b8d9fa}
.agent-leaderboard-reward-note.is-yearly>i{background:rgba(86,158,226,.18);color:#8dc4f7}
.agent-rating-widget .agent-leaderboard{position:relative;display:grid;gap:10px}
.agent-rating-widget .agent-leaderboard-row{position:relative;display:grid;grid-template-columns:43px 46px minmax(0,1fr)!important;gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid rgba(58,45,26,.11);border-radius:17px;background:linear-gradient(145deg,#fff 0%,#fbf8f1 100%);box-shadow:0 9px 24px rgba(0,0,0,.13);overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.agent-rating-widget .agent-leaderboard-row:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#c5a86f}
.agent-rating-widget .agent-leaderboard-row:hover{transform:translateY(-2px);border-color:rgba(207,151,37,.34);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.agent-rating-widget .agent-leaderboard-row.is-rank-1{border-color:rgba(213,158,43,.42);background:linear-gradient(135deg,#fffdf6 0%,#fff4d7 100%)}
.agent-rating-widget .agent-leaderboard-row.is-rank-1:after{background:#d99c22}
.agent-rating-widget .agent-leaderboard-row.is-rank-2:after{background:#9ba4ae}
.agent-rating-widget .agent-leaderboard-row.is-rank-3:after{background:#b86f3d}
.agent-rating-widget .agent-leaderboard-rank{display:grid;place-items:center;align-content:center;width:43px;height:52px;border:1px solid #e8ded0;border-radius:13px;background:#f5f1e9;color:#766955;line-height:1}
.agent-rating-widget .agent-leaderboard-rank small{margin-bottom:4px;color:#9b8f7e;font-size:.48rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.agent-rating-widget .agent-leaderboard-rank strong{display:block;color:#544838;font-size:1.12rem;font-weight:950;letter-spacing:-.04em}
.agent-rating-widget .is-rank-1 .agent-leaderboard-rank{border-color:#eacb81;background:linear-gradient(145deg,#ffefbd,#e8b445)}
.agent-rating-widget .is-rank-1 .agent-leaderboard-rank small,.agent-rating-widget .is-rank-1 .agent-leaderboard-rank strong{color:#624004}
.agent-rating-widget .agent-leaderboard-icon{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#3b3328,#1d1913);color:#f1c45f;font-size:.85rem;font-weight:950;letter-spacing:.02em;box-shadow:0 7px 16px rgba(32,25,15,.18)}
.agent-rating-widget .agent-leaderboard-icon .fa-crown{position:absolute;right:-4px;top:-7px;padding:4px;border-radius:50%;background:#fff;color:#d99513;font-size:.55rem;filter:drop-shadow(0 2px 3px rgba(80,48,0,.22))}
.agent-rating-widget .agent-leaderboard-agent{display:grid;gap:7px;min-width:0}
.agent-leaderboard-name-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
.agent-rating-widget .agent-leaderboard-name-line>strong{display:block;min-width:0;color:#29231b;font-size:.84rem;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.agent-rating-widget .agent-leaderboard-score{display:flex;grid-column:auto;align-items:baseline;justify-content:flex-end;gap:2px;flex:0 0 auto;color:var(--rating-color);text-align:right}
.agent-rating-widget .agent-leaderboard-score>b{color:inherit;font-size:1rem;font-weight:950;line-height:1}
.agent-rating-widget .agent-leaderboard-score>small{grid-column:auto;color:#8e8375;font-size:.58rem;font-weight:800;white-space:nowrap}
.agent-leaderboard-meta{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.agent-leaderboard-meta>span{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;padding:3px 6px;border-radius:7px;background:#f1ece3;color:#716657;font-size:.58rem;font-weight:750;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agent-leaderboard-meta>span i{flex:0 0 auto;color:#a67519}
.agent-leaderboard-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}
.agent-rating-widget .agent-leaderboard-score .agent-five-stars,.agent-rating-widget .agent-five-stars{display:inline-flex;gap:1px;color:#d8dde5;font-size:.68rem;line-height:1}
.agent-verified-ratings{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:#7f7568;font-size:.57rem;font-weight:750;line-height:1.2;text-align:right}
.agent-verified-ratings i{color:#2c9857}
.agent-rating-widget .agent-monthly-reward{justify-self:start;display:inline-flex;align-items:center;gap:4px;margin:0;padding:4px 7px;border:1px solid #ecd18e;border-radius:999px;background:#fff3ca;color:#805400;font-size:.56rem;font-style:normal;font-weight:900;line-height:1.15}
.agent-rating-widget .agent-monthly-reward i{color:#c8870b}
.agent-leaderboard-skeleton{display:grid;grid-template-columns:43px 46px minmax(0,1fr);gap:10px;align-items:center;min-height:100px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.07);overflow:hidden}
.agent-leaderboard-skeleton>span{display:block;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,.07) 25%,rgba(255,255,255,.17) 50%,rgba(255,255,255,.07) 75%);background-size:220% 100%;animation:agent-leaderboard-shimmer 1.25s ease-in-out infinite}
.agent-leaderboard-skeleton>span:nth-child(1){width:43px;height:52px}.agent-leaderboard-skeleton>span:nth-child(2){width:46px;height:46px}.agent-leaderboard-skeleton>span:nth-child(3){width:100%;height:58px}
@keyframes agent-leaderboard-shimmer{to{background-position:-220% 0}}
.agent-leaderboard-state{display:grid;place-items:center;gap:7px;padding:24px 16px;border:1px dashed rgba(255,255,255,.18);border-radius:17px;background:rgba(255,255,255,.055);text-align:center}
.agent-leaderboard-state>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(225,176,70,.14);color:#e9bb57}
.agent-leaderboard-state>strong{color:#fff;font-size:.84rem}.agent-rating-widget .agent-leaderboard-state>p{margin:0;color:rgba(255,255,255,.58);font-size:.7rem;line-height:1.45}
.agent-leaderboard-state>button{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#fff;color:#604109;font:850 .68rem var(--font-body);cursor:pointer}
.agent-leaderboard-state>button:hover{background:#fff0cb}

@media(max-width:900px){
  .agent-rating-widget{max-width:620px}
}
@media(max-width:520px){
  .agent-rating-widget{gap:12px;margin-top:22px;padding:15px;border-radius:20px}
  .agent-leaderboard-heading{grid-template-columns:46px minmax(0,1fr);gap:11px}
  .agent-leaderboard-trophy{width:46px;height:46px;border-radius:14px}
  .agent-rating-widget .agent-leaderboard-heading h3{font-size:1.35rem}
  .agent-rating-widget .agent-rating-period-tabs button{min-height:40px;padding-inline:7px;font-size:.68rem}
  .agent-rating-widget .agent-leaderboard-row{grid-template-columns:36px 40px minmax(0,1fr)!important;gap:8px;padding:10px;border-radius:15px}
  .agent-rating-widget .agent-leaderboard-rank{width:36px;height:47px;border-radius:11px}
  .agent-rating-widget .agent-leaderboard-rank strong{font-size:1rem}
  .agent-rating-widget .agent-leaderboard-icon{width:40px;height:40px;border-radius:13px;font-size:.75rem}
  .agent-rating-widget .agent-leaderboard-name-line>strong{font-size:.76rem}
  .agent-rating-widget .agent-leaderboard-score>b{font-size:.88rem}
  .agent-leaderboard-footer{align-items:flex-start;flex-direction:column;gap:5px}
  .agent-verified-ratings{justify-content:flex-start;text-align:left}
  .agent-leaderboard-skeleton{grid-template-columns:36px 40px minmax(0,1fr);gap:8px;padding:10px}
  .agent-leaderboard-skeleton>span:nth-child(1){width:36px;height:47px}.agent-leaderboard-skeleton>span:nth-child(2){width:40px;height:40px}
}
@media(max-width:360px){
  .agent-rating-widget .agent-rating-period-tabs button i{display:none}
  .agent-rating-widget .agent-leaderboard-row{grid-template-columns:34px minmax(0,1fr)!important}
  .agent-rating-widget .agent-leaderboard-icon{display:none}
  .agent-rating-widget .agent-leaderboard-rank{width:34px}
  .agent-leaderboard-skeleton{grid-template-columns:34px minmax(0,1fr)}
  .agent-leaderboard-skeleton>span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){.agent-leaderboard-skeleton>span{animation:none}.agent-rating-widget .agent-leaderboard-row{transition:none}}

/* ===== LIVE PROPERTY ASSISTANT V2 ===== */
#chatbot-fab{
  width:auto;height:58px;min-width:58px;padding:0 18px 0 16px;gap:10px;border:0;
  border-radius:999px;background:linear-gradient(135deg,#dda528 0%,#ad6e02 100%);
  color:#fff;font:800 13px/1 var(--font-body);letter-spacing:.01em;
  box-shadow:0 12px 34px rgba(116,73,0,.35),inset 0 1px 0 rgba(255,255,255,.24);
}
#chatbot-fab:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 42px rgba(116,73,0,.42)}
#chatbot-fab:focus-visible,#chatbot-window button:focus-visible,#chatbot-window a:focus-visible,#chatbot-window input:focus-visible,#chatbot-window textarea:focus-visible{
  outline:3px solid rgba(221,165,40,.42);outline-offset:3px;
}
#chatbot-fab .fab-pulse{inset:4px auto 4px 4px;width:50px;height:50px;background:rgba(255,255,255,.22)}
#chatbot-fab i{font-size:1.15rem}
.fab-label{position:relative;z-index:1;white-space:nowrap}
.fab-badge{top:-3px;right:-3px;width:21px;height:21px;background:#e84545;font-size:.68rem;box-shadow:0 3px 10px rgba(0,0,0,.22)}

#chatbot-window{
  width:min(448px,calc(100vw - 32px));height:min(720px,calc(100dvh - 112px));max-height:720px;
  right:24px;bottom:94px;border:1px solid rgba(90,62,14,.12);border-radius:24px;
  background:#fbfaf7;box-shadow:0 28px 80px rgba(31,24,13,.24),0 2px 10px rgba(31,24,13,.08);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .22s ease;
}
.chatbot-hidden{transform:translateY(22px) scale(.94)!important}
.chat-header{min-height:74px;padding:14px 16px;background:linear-gradient(125deg,#211b13 0%,#3f2c0c 58%,#855709 100%)}
.chat-avatar{width:44px;height:44px;background:linear-gradient(145deg,#f0ba40,#b77705);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 7px 18px rgba(0,0,0,.18)}
.chat-header-info strong{font-size:1rem;letter-spacing:.01em}
.chat-header-info span{display:flex;align-items:center;gap:5px;margin-top:4px;color:rgba(255,255,255,.72);font-size:.72rem}
.chat-header-info span i{color:#5ee58a;font-size:.7rem}
.chat-close-btn{width:38px;height:38px;border-radius:12px;font-size:1rem}

.chat-guide{flex:0 0 auto;max-height:350px;padding:15px 16px 14px;overflow-y:auto;background:linear-gradient(180deg,#fff 0%,#fffaf0 100%);border-bottom:1px solid #eadfc9;scrollbar-width:thin}
.chat-guide[hidden],.chat-guide-extra[hidden],.chat-typing[hidden]{display:none!important}
.chat-guide-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.chat-guide-heading strong{display:block;color:#231c12;font:800 15px/1.25 var(--font-body)}
.chat-guide-heading span:not(.chat-live-pill){display:block;margin-top:3px;color:#766c5e;font-size:11px}
.chat-live-pill{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;padding:5px 8px;border:1px solid #bfe8c9;border-radius:999px;background:#edfbf1;color:#237a3a!important;font-size:10px!important;font-weight:800;white-space:nowrap}
.chat-live-pill i{font-size:9px}
.chat-guide-label{display:flex;align-items:center;gap:7px;margin:11px 0 7px;color:#5f5446;font-size:11px;font-weight:800;letter-spacing:.025em}
.chat-guide-label b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#2d251b;color:#fff;font-size:10px}
.chat-guide-label small{margin-left:auto;color:#9a8c79;font-weight:600;letter-spacing:0}
.chat-choice-row{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:none}
.chat-choice-row::-webkit-scrollbar{display:none}
.chat-choice,.chat-category{border:1px solid #e1d6c4;background:#fff;color:#4c4133;font-family:var(--font-body);cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s}
.chat-choice{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.chat-choice i{color:#b27608}
.chat-choice:hover,.chat-choice.is-selected,.chat-category:hover,.chat-category.is-selected{border-color:#d09a2e;background:#fff1d4;color:#6f4800;box-shadow:0 5px 13px rgba(142,91,0,.11);transform:translateY(-1px)}
.chat-choice.is-selected i,.chat-category.is-selected i{color:#8b5900}
.chat-category-grid{display:grid;grid-template-columns:repeat(6,minmax(56px,1fr));gap:6px}
.chat-guide-extra{display:contents}
.chat-category{display:flex;min-width:0;min-height:54px;padding:7px 4px;border-radius:12px;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800;line-height:1.1;text-align:center}
.chat-category i{color:#a96e05;font-size:15px}
.chat-category span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.chat-more-categories{display:flex;align-items:center;gap:6px;margin:8px auto 0;padding:3px 8px;border:0;background:transparent;color:#8a6218;font:800 10px var(--font-body);cursor:pointer}
.chat-more-categories i{transition:transform .2s}
.chat-more-categories.is-open i{transform:rotate(180deg)}
.chat-guide-search{display:flex;align-items:center;min-height:42px;padding-left:12px;border:1px solid #dacbad;border-radius:13px;background:#fff;box-shadow:0 6px 16px rgba(72,51,17,.05)}
.chat-guide-search>i{color:#b37708;font-size:13px}
.chat-guide-search input{min-width:0;flex:1;border:0;outline:0;padding:10px 8px;background:transparent;color:#30271d;font:500 12px var(--font-body)}
.chat-guide-search button{align-self:stretch;display:flex;align-items:center;gap:6px;padding:0 13px;border:0;border-radius:0 12px 12px 0;background:#2d251b;color:#fff;font:800 11px var(--font-body);cursor:pointer}
.chat-guide-search button:hover{background:#9e6807}
.chat-guide.needs-choice{animation:chat-guide-nudge .28s ease}
@keyframes chat-guide-nudge{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* The guided finder owns the available chat body until a search starts. */
#chatbot-window.chat-guide-mode .chat-guide{flex:1 1 auto;min-height:0;max-height:none;padding:22px 18px;overflow-y:auto;border-bottom:0}
#chatbot-window.chat-guide-mode .chat-messages,#chatbot-window.chat-guide-mode .chat-typing{display:none!important}
#chatbot-window.chat-guide-mode .chat-guide-heading{margin-bottom:20px}
#chatbot-window.chat-guide-mode .chat-guide-heading strong{font-size:1.08rem}
#chatbot-window.chat-guide-mode .chat-guide-heading span:not(.chat-live-pill){font-size:.76rem}
#chatbot-window.chat-guide-mode .chat-guide-label{margin-top:18px}
#chatbot-window.chat-guide-mode .chat-choice{min-height:40px;padding-inline:14px}
#chatbot-window.chat-guide-mode .chat-category{min-height:62px}
#chatbot-window.chat-guide-mode .chat-guide-search{min-height:48px}

.chat-messages{padding:16px;gap:15px;background:radial-gradient(circle at 100% 0,rgba(224,171,53,.08),transparent 38%),#fbfaf7}
.chat-msg{align-items:flex-end;gap:8px}
.msg-avatar{width:30px;height:30px;font-size:.76rem;box-shadow:0 4px 10px rgba(87,55,2,.14)}
.chat-msg.bot .msg-avatar{background:linear-gradient(145deg,#d9a334,#9d6503)}
.msg-bubble{max-width:84%;padding:11px 13px;border:1px solid #e6dccb;border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 5px 15px rgba(48,36,17,.045);font-size:.84rem;line-height:1.52}
.chat-msg.user .msg-bubble{border:0;border-radius:16px 16px 5px 16px;background:linear-gradient(135deg,#b67a0c,#875600);box-shadow:0 7px 17px rgba(115,72,0,.18)}
.chat-msg.has-properties{align-items:flex-start}
.chat-msg.has-properties>.msg-bubble{width:calc(100% - 38px);max-width:none;padding:11px}
.msg-time{margin-top:7px;font-size:.62rem}

.chat-property-results{display:grid;gap:10px;margin-top:10px}
.chat-property-card{display:grid;grid-template-columns:94px minmax(0,1fr);min-height:128px;margin:0;padding:0;overflow:hidden;border:1px solid #e3d6c0;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(62,45,17,.07);transition:transform .18s,border-color .18s,box-shadow .18s}
.chat-property-card:hover{transform:translateY(-2px);border-color:#c89228;box-shadow:0 10px 24px rgba(62,45,17,.11)}
.chat-card-media{position:relative;display:grid;place-items:center;min-height:100%;overflow:hidden;background:linear-gradient(145deg,#efe7da,#d8c7aa);color:#aa7a23}
.chat-card-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chat-card-media>i{font-size:25px}
.chat-card-media:not(.image-unavailable)>i{opacity:0}
.chat-card-media.image-unavailable>img{display:none}
.chat-card-media>span{position:absolute;left:6px;top:6px;display:block;max-width:calc(100% - 12px);padding:4px 6px;border-radius:999px;background:rgba(33,27,19,.82);color:#fff;font-size:8px;font-weight:800;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-card-body{min-width:0;padding:10px}
.chat-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.chat-property-card .chat-card-title strong{display:-webkit-box;margin:0;color:#2e261c;font-size:.78rem;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chat-card-title small{flex:0 0 auto;color:#9b8e7b;font-size:7px}
.chat-card-location{display:block!important;margin-top:4px;color:#7c6f5e!important;font-size:.68rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-card-location i{color:#bd8213}
.chat-card-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:7px}
.chat-card-value b{color:#9a6300;font-size:.76rem}
.chat-card-value>span{color:#786b59!important;font-size:.64rem!important;white-space:nowrap}
.chat-card-tags{display:flex;gap:4px;margin-top:6px;overflow:hidden}
.chat-card-tags>span{display:block!important;flex:0 1 auto;padding:3px 5px;border-radius:5px;background:#f5efe4;color:#695b49!important;font-size:.57rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-card-actions{gap:5px;margin-top:8px}
.chat-card-actions a{min-height:27px;padding:4px 7px;border-color:#dfd1b8;border-radius:7px;background:#fff;color:#79500a;font-size:.62rem;text-decoration:none;white-space:nowrap}
.chat-card-actions a.primary{border-color:#2e261c;background:#2e261c;color:#fff}
.chat-card-actions a:hover{border-color:#b67a0c;background:#b67a0c;color:#fff}
.chat-action-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chat-action-chips button,.chat-action-chips a{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #decba9;border-radius:999px;background:#fff9ed;color:#75500e;font:800 10px var(--font-body);cursor:pointer;text-decoration:none}
.chat-action-chips button:hover,.chat-action-chips a:hover{border-color:#b67a0c;background:#ffedc8;color:#75500e}
.chat-more-results{min-height:38px;border-radius:10px;background:#332a1e;font-size:.72rem;text-decoration:none;gap:8px}
.chat-more-results:hover{background:#9c6605}

.chat-typing{display:flex;padding:9px 16px 11px;background:#fbfaf7}
.chat-typing>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.typing-bubble{padding:10px 13px;border:1px solid #e6dccb;background:#fff}
.chat-typing small{color:#857866;font-size:9px}
.chat-input-wrap{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top-color:#e7ddcc;background:#fff}
#chat-input{min-height:44px;max-height:104px;margin:0;padding:11px 13px;border-color:#ded1bb;border-radius:13px;background:#fbfaf7;font-size:.8rem;line-height:1.4}
#chat-input:focus{border-color:#c58a18;background:#fff;box-shadow:0 0 0 3px rgba(197,138,24,.09)}
#chat-send{width:44px;height:44px;margin:0;border-radius:13px;background:linear-gradient(145deg,#d7a02e,#a66a04)}
.chat-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 13px 10px;background:#fff;color:#8b7e6b;font-size:9px}
.chat-footer>span{display:flex;align-items:center;gap:5px}
.chat-footer>span i{color:#359455}
.chat-clear-btn{padding:4px 0;color:#75500e;font-size:10px;font-weight:800}
.chat-clear-btn:hover{color:#b17405}

@media(max-width:640px){
  body.chatbot-is-open{overflow:hidden}
  #chatbot-fab{right:16px;bottom:18px;height:54px;padding:0 15px;min-width:54px}
  #chatbot-window{inset:0;z-index:10001;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;transform-origin:bottom center}
  body.chatbot-is-open #chatbot-fab{opacity:0;pointer-events:none}
  .chatbot-hidden{transform:translateY(100%)!important;opacity:1!important}
  .chat-header{padding-top:max(14px,env(safe-area-inset-top));min-height:72px}
  .chat-guide{max-height:42dvh;padding-inline:14px}
  #chatbot-window.chat-guide-mode .chat-guide{max-height:none;padding:20px 16px}
  .chat-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .chat-category{min-height:48px;flex-direction:row;gap:7px;padding:7px 6px;text-align:left}
  .chat-messages{padding:14px}
  .chat-input-wrap{padding-inline:10px}
  .chat-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

@media(max-width:380px){
  .fab-label{display:none}
  #chatbot-fab{width:54px;padding:0}
  .chat-card-actions a{padding-inline:6px;font-size:.58rem}
}

@media(prefers-reduced-motion:reduce){
  #chatbot-fab,#chatbot-window,.chat-msg,.online-dot,.fab-pulse,.typing-bubble span{animation:none!important;transition:none!important}
}

/* Post-ad allowance and referral programme */
.post-ad-quota-panel{margin:0 0 24px;padding:20px;border:1px solid #ead8b8;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#fff6e6);box-shadow:0 10px 28px rgba(91,61,18,.08)}
.post-ad-quota-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.post-ad-quota-heading>div{display:grid;gap:4px}
.post-ad-quota-heading strong{color:#332a1e;font-size:1.05rem}
.post-ad-quota-kicker{display:flex;align-items:center;gap:7px;color:#9a6300;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.post-ad-quota-count{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#332a1e;color:#fff;font-size:.74rem;font-weight:800}
.post-ad-quota-track{height:9px;margin:15px 0 10px;border-radius:999px;background:#eadfcf;overflow:hidden}
.post-ad-quota-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d6a331,#9f6505);transition:width .25s ease}
.post-ad-quota-panel>p{margin:0;color:#6d604f;font-size:.82rem;line-height:1.5}
.post-ad-quota-panel.quota-exhausted{border-color:#efb5ae;background:linear-gradient(145deg,#fffdfb,#fff1ef)}
.post-ad-quota-panel.quota-exhausted .post-ad-quota-track span{background:#c53b2f}
.post-ad-quota-panel.quota-unlimited{border-color:#aad9bd;background:linear-gradient(145deg,#fbfffc,#effaf3)}
.post-ad-quota-panel.quota-unlimited .post-ad-quota-track span{background:#27834b}
.post-ad-quota-panel.quota-unlimited .referral-invite-form{display:none}
.referral-invite-form{display:grid;gap:8px;margin-top:17px;padding-top:16px;border-top:1px solid #ead8b8}
.referral-invite-form[hidden]{display:none!important}
.referral-invite-form label{color:#413629;font-size:.85rem;font-weight:800}
.referral-invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.referral-invite-row input{min-width:0;margin:0}
.referral-invite-row button{min-width:112px;margin:0;padding-inline:15px;white-space:nowrap}
.referral-invite-form small{color:#786b59;line-height:1.45}
.referral-message{min-height:1.25em;font-size:.78rem;font-weight:700}
.referral-message.success{color:#18713a}
.referral-message.error{color:#b42318}
.referral-signup-note{padding:11px 12px;border:1px solid #ead8b8;border-radius:10px;background:#fff7e8;color:#73500f!important;font-size:.82rem;line-height:1.45}
.referral-signup-note i{margin-right:6px}
@media(max-width:560px){
  .post-ad-quota-panel{padding:16px}
  .post-ad-quota-heading{align-items:flex-start}
  .referral-invite-row{grid-template-columns:1fr}
  .referral-invite-row button{width:100%}
}
