:root { --navy: #0A192F; --gold: #D4AF37; --text-light: #0A192F; --text-dark: #FFFFFF; --text: var(--text-light); }
html.dark { --text: var(--text-dark); }
* { -webkit-font-smoothing: antialiased; }
body { font-family: 'IBM Plex Sans Arabic', sans-serif; background: #F8F7F4; }
html.dark body { background: #050B16; }
html[lang="en"] body { font-family: 'Inter', sans-serif; }
html[dir="ltr"] body { font-family: 'Inter', sans-serif; }
.glass { backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.hero-overlay { background: linear-gradient(180deg, rgba(10,25,47,0.75) 0%, rgba(10,25,47,0.45) 50%, rgba(10,25,47,0.85) 100%); }
.card-shadow { box-shadow: 0 20px 40px -15px rgba(0,0,0,0.15); }
html.dark .card-shadow { box-shadow: 0 20px 40px -15px rgba(0,0,0,0.5); }
.gold-gradient { background: linear-gradient(135deg, var(--gold) 0%, #F4E4A1 50%, var(--gold) 100%); }
.reveal { opacity: 0; transform: translateY(24px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 3px; }
input, select { outline: none; }

/* Testimonials */
.tm-grid { overflow:hidden; width:100%; }
.tm-track { display:flex; gap:24px; transition:transform 0.5s cubic-bezier(0.16,1,0.3,1); }
.tm-card { transition:transform 0.3s ease, box-shadow 0.3s ease; min-width:0; flex-shrink:0; width:calc((100vw - 48px - 48px - 48px) / 3); max-width:420px; }
.tm-card:hover { transform:translateY(-4px); }
@media (max-width:1023px) { .tm-card { width:calc((100vw - 48px - 48px - 24px) / 2); } }
@media (max-width:767px) { .tm-card { width:calc(100vw - 48px); } }
html.dark .tm-card { background:#0F1D33 !important; }
html.dark #testimonialsGrid .text-gray-600 { color:#94a3b8 !important; }
html.dark #testimonialSliderControls button { border-color:#334155; color:#94a3b8; }
html.dark #testimonialSliderControls button:hover { background:rgba(255,255,255,0.05); }

/* Public Review Form */
.tm-public-form { max-width:500px; margin:50px auto 0; padding:30px; background:white; border-radius:20px; box-shadow:0 20px 40px -15px rgba(0,0,0,0.1); }
html.dark .tm-public-form { background:#0F1D33; }
.tm-form-row { margin-bottom:14px; }
.tm-input { width:100%; padding:12px 16px; border:1px solid #ddd; border-radius:12px; font-size:14px; background:white; color:black; outline:none; transition:border-color 0.2s; }
.tm-input:focus { border-color:#D4AF37; }
html.dark .tm-input { background:#0A192F; color:white; border-color:#333; }
html.dark .tm-input::placeholder { color:#666; }
.tm-stars { display:flex; align-items:center; justify-content:center; gap:4px; direction:ltr; }
.tm-stars .pub-star { font-size:32px; color:#ddd; cursor:pointer; transition:color 0.2s, transform 0.2s; display:inline-block; }
.tm-stars .pub-star:hover { transform:scale(1.2); }

/* Sticky WhatsApp */
#whatsappSticky { animation: pulseWhatsApp 2s infinite; }
@keyframes pulseWhatsApp { 0%,100% { box-shadow:0 0 0 0 rgba(37,211,102,0.4); } 50% { box-shadow:0 0 0 20px rgba(37,211,102,0); } }

/* Not Found Section & Map */
#not-found .glass { transition:transform 0.3s ease; }
#not-found .glass:hover { transform:translateY(-2px); }
#propertiesMap iframe { filter:grayscale(20%); }
html.dark #propertiesMap iframe { filter:grayscale(20%) invert(90%) hue-rotate(180deg); }
