/* Near Property — shared styles */
body { font-family: 'Inter', 'Tajawal', sans-serif; }
html[lang="ar"] body { font-family: 'Tajawal', 'Inter', sans-serif; letter-spacing: 0 !important; }
html[lang="ar"] .font-display, html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] h4 {
  font-family: 'Tajawal', sans-serif !important; letter-spacing: 0 !important;
}
html[lang="ar"] .tracking-wider, html[lang="ar"] .tracking-widest { letter-spacing: 0 !important; }

.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}
.glass-panel { background: rgba(255,255,255,.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.kinetic-hover { transition: all .2s cubic-bezier(.4,0,.2,1); }
.kinetic-hover:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(0,23,54,.1); }

.nearness-pulse { animation: pulse-score 3s infinite; }
@keyframes pulse-score {
  0% { box-shadow: 0 0 0 0 rgba(0,116,68,.4); }
  70% { box-shadow: 0 0 0 10px rgba(0,116,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,116,68,0); }
}
.hero-gradient {
  background: radial-gradient(circle at top right, rgba(214,227,255,.5), transparent),
              radial-gradient(circle at bottom left, rgba(88,255,168,.1), transparent);
}
.property-card { transition: all .3s ease; }
.property-card:hover { transform: translateY(-2px); box-shadow: 0 10px 25px -5px rgba(0,23,54,.1); }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #c4c6d0; border-radius: 10px; }

/* RTL flips for directional icons */
html[dir="rtl"] .flip-rtl { transform: scaleX(-1); }

/* Mobile menu */
#mobile-menu { display: none; }
#mobile-menu.open { display: flex; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid #006d40; outline-offset: 2px;
}

/* Form feedback */
.form-msg { display: none; }
.form-msg.show { display: block; }
