/* styles.css (محدّث نهائياً) */
/* ✅ تحميل خط Cairo من Google Fonts (يعمل بدون أي إعداد إضافي) */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&display=swap');

/* متغيرات وأساسيات + مقياس مسافات */
:root{
  --bg-light:#FFFFFF; --text-light:#0B1144;
  --primary:#08a9b1; --primary-dark:#08939a; --secondary:#1E88E5; --whatsapp:#25D366;
  --gray-light:#f5f5f5; --gray:#e0e0e0; --gray-dark:#9e9e9e; --success:#4CAF50;
  --shadow:0 4px 6px rgba(0,0,0,.1); --transition:all .3s ease;
  --header-h:72px;

  /* ارتفاع موحّد لعناصر الهيدر */
  --nav-item-h:38px;

  /* سُلَّم تباعد متّزن */
  --space-sm:12px;
  --space-md:20px;
  --space-lg:28px;
  --space-xl:40px;
  --space-2xl:64px;
  --space-3xl:96px;

  /* للحركات */
  --ease:cubic-bezier(.21,.61,.35,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow-x:hidden}
body{
  margin:0;
  font-family:'Cairo',system-ui,-apple-system,Segoe UI,Tahoma,Arial,sans-serif;
  background:#fff;color:var(--text-light)
}
button,input,select,textarea{font-family:inherit}
body.lock-scroll{ overflow:hidden; }
img{max-width:100%;display:block}

/* === Auto RTL/LTR helpers (للاكتشاف التلقائي مع dir أو text-auto) === */
[dir="rtl"]{ direction:rtl; text-align:right; }
[dir="ltr"]{ direction:ltr; text-align:left; }
/* يخلي كل سطر يحدد اتجاهه بناءً على أول حرف قوي */
.text-auto{ unicode-bidi: plaintext; }
/* اختيارية: لو استخدمت lang على عنصر معيّن */
.auto-dir{ direction:ltr; text-align:left; }
.auto-dir:lang(ar), .auto-dir:lang(ar-SA), .auto-dir:lang(fa), .auto-dir:lang(ur), .auto-dir:lang(ku){ direction:rtl; text-align:right; }

/* ===== Fixed Navbar ===== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1200;
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; justify-content:space-between;
  padding:12px 24px; transition:background .25s,color .25s, box-shadow .25s, backdrop-filter .25s, border-color .25s;
  min-height:var(--header-h);
}

/* توسيط شريط التنقل تماماً في الدسكتوب */
.site-header .nav-desktop{
  justify-self:center;
  display:flex; align-items:center; gap:var(--space-sm); flex-wrap:wrap;
  white-space:nowrap;
  max-width:min(92vw,1000px);
}

.site-header.transparent{ background:transparent; color:#fff; box-shadow:none; }
.site-header.transparent.is-scrolled{ background:#fff; color:var(--text-light); box-shadow:var(--shadow); }
.site-header.solid{ background:#fff; color:var(--text-light); box-shadow:var(--shadow); }

/* ✅ زجاجي داخل صفحة التفاصيل فقط */
.site-header.transparent.glass{
  background: rgba(255,255,255,.08);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.22);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.site-header.transparent.glass nav a.active{ background-color: rgba(255,255,255,.18); }
.site-header.transparent.glass nav a:hover{ background-color: rgba(255,255,255,.12); }
.site-header.transparent.glass .btn-contact{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.65);
  color:#fff;
}
.site-header.transparent.glass .btn-contact:hover{
  background: rgba(255,255,255,.2);
}

nav a{
  text-decoration:none; font-size:1rem; color:inherit;
  display:inline-flex; align-items:center; justify-content:center;
  height:var(--nav-item-h); padding:0 12px;
  border-radius:8px; transition:var(--transition);
  line-height:1; box-sizing:border-box;
}
.site-header.transparent nav a:hover{background-color:rgba(255,255,255,.14)}
.site-header.transparent.is-scrolled nav a:hover,
.site-header.solid nav a:hover{background-color:rgba(0,0,0,.05)}
nav a.active{font-weight:700;background-color:rgba(255,255,255,.18)}
.site-header.transparent.is-scrolled nav a.active,
.site-header.solid nav a.active{background-color:rgba(0,0,0,.1)}

.logo{display:flex;align-items:center;gap:12px}
.logo img{display:block;width:48px;height:48px;border-radius:8px;object-fit:contain}
.logo .site-title{font-size:1.2rem;font-weight:700;white-space:nowrap}

/* زر "تواصل معنا" دسكتوب */
.btn-contact{
  display:inline-flex; align-items:center; justify-content:center;
  height:var(--nav-item-h); padding:0 14px;
  border-radius:9px; font-weight:800; font-size:.92rem; line-height:1;
  border:1.6px solid transparent; transition:var(--transition);
  box-sizing:border-box;
}
.site-header.transparent .btn-contact{
  background:transparent; border-color:rgba(255,255,255,.85); color:#fff;
}
.site-header.transparent .btn-contact:hover{background:rgba(255,255,255,.14)}
.site-header.transparent.is-scrolled .btn-contact,
.site-header.solid .btn-contact{
  background:var(--primary); color:#0B1144; border-color:var(--primary);
}
.site-header.transparent.is-scrolled .btn-contact:hover,
.site-header.solid .btn-contact:hover{background:var(--primary-dark); border-color:var(--primary-dark)}

.controls-desktop{display:flex;align-items:center;gap:12px}

/* زر الهامبرغر (موبايل فقط) */
.hamburger{
  display:none;
  width:40px; height:40px; border-radius:10px;
  background:rgba(0,0,0,.06); color:inherit; border:none;
  align-items:center; justify-content:center; cursor:pointer;
}
.hamburger i{ font-size:18px; }

/* ===== تعويض أعلى المحتوى (حل نهائي ضد تغطية الهيدر) ===== */
main{max-width:1400px;margin:0 auto}

/* افتراضياً: عوّض أعلى الصفحة بالكامل */
body{ padding-top: var(--header-h); }

/* لو الصفحة فيها Hero نلغي التعويض (كلاسين + :has للمتصفحات الداعمة) */
body.has-hero,
body:has(.hero, .about-hero, .services-hero, .projects-hero, .news-hero, .map-hero, .listings-hero, .requests-hero){
  padding-top: 0;
}

/* صفحات التفاصيل غالباً بدون Hero: زود 8px كهوامش إضافية للظل */
body:has(.property-detail){ padding-top: calc(var(--header-h) + 8px); }

/* دعم للكلاسات القديمة إن وُجدت */
main.with-offset{ padding-top: var(--header-h); }
main.has-hero{ padding-top: 0; }

/* تحسين سلوك القفز للأنكور */
html{ scroll-padding-top: calc(var(--header-h) + 12px); }
.section-title{ scroll-margin-top: calc(var(--header-h) + 16px); }

/* ===== HERO الرئيسية ===== */
.hero{
  position:relative; height:100vh; height:100svh; height:100dvh; min-height:100vh;
  margin-inline:calc(50% - 50vw); width:100vw; overflow:hidden;
  display:grid; place-items:center;
}
.hero-bg{
  position:absolute; inset:0;
  background:url('background.png') center/cover no-repeat;
  transform:scale(1.02); will-change:transform;
  filter: brightness(.55) contrast(1.05) saturate(1.02);
  background-position:50% 45%;
}
.hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.38));
  will-change:opacity;
}
.hero-content{
  position:relative; z-index:2; color:#fff;
  width:min(760px,92vw); padding-inline:16px;
  text-shadow:0 2px 10px rgba(0,0,0,.35), 0 8px 28px rgba(0,0,0,.25);
  text-wrap:balance;
}
html[dir="rtl"] .hero-content{ text-align:right; }
html[dir="ltr"] .hero-content{ text-align:left; }
.hero-desc{
  color:rgba(255,255,255,.96);
  text-align:center; margin-inline:auto; max-width:56ch;
  font-size:clamp(15px,1.6vw,20px); line-height:1.9; margin-top:12px;
}
.hero-content::before{
  content:""; position:absolute; inset:-16px; z-index:-1;
  border-radius:16px; background:rgba(0,0,0,.18); filter:blur(22px);
}
.hero-title{font-size:clamp(30px,4.8vw,58px);line-height:1.2;font-weight:900}
.hero-cta{display:flex;justify-content:center;margin-top:24px}
@supports (-webkit-touch-callout:none){
  html,body{ height:-webkit-fill-available; }
  .hero{ min-height:-webkit-fill-available; }
}
.btn{padding:12px 20px;border-radius:12px;font-weight:800;border:none;cursor:pointer;transition:var(--transition);font-family:'Cairo',sans-serif}
.btn-ghost{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.9) }
.btn-ghost:hover{background:rgba(255,255,255,.14)}

/* زر شفاف عام */
.btn-outline{
  padding:12px 22px; border-radius:12px; font-weight:900; cursor:pointer;
  border:2px solid var(--primary); background:transparent; color:var(--primary);
  transition:var(--transition); font-family:'Cairo',sans-serif
}
.btn-outline:hover{ background:var(--primary); color:#0B1144 }

/* ===== HERO نبذة ===== */
.about-hero{
  position:relative;
  margin-inline:calc(50% - 50vw); width:100vw;
  background:url('background2.png') center/cover no-repeat;
  height:70vh; min-height:380px; display:flex; align-items:center;
  isolation:isolate;
}
.about-hero__scrim{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.32));
}
.about-hero__inner{
  position:relative; z-index:1;
  width:min(1100px,92vw);
  margin:0 auto; padding-inline:16px;
  color:#fff; text-align:start;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.about-hero__title{
  font-size:clamp(30px,4.6vw,56px);
  font-weight:900; line-height:1.15; margin:0;
}
.about-hero__desc{
  margin-top:10px; max-width:70ch; line-height:1.9;
  font-size:clamp(15px,1.6vw,20px); color:rgba(255,255,255,.96);
}

/* الكرت الأبيض المتراكب */
.about-card-wrap{ position:relative; z-index:3; width:100%; }
.about-card{
  background:#fff; color:var(--text-light);
  width:min(1100px,92vw);
  margin: -80px auto 24px;
  border-radius:26px; box-shadow:var(--shadow);
  padding: var(--pad-d,40px);
  line-height:1.95; 
  text-align:start;          /* ✅ كانت right — الآن start لتتبع RTL/LTR */
  unicode-bidi: plaintext;   /* ✅ استشعار اتجاه السطور داخل النبذة */
}
@media (max-width:768px){
  .about-card{ margin:-48px auto 16px; padding: var(--pad-m,24px); }
}
@media (max-width:520px){
  .about-card{ margin:-24px auto 12px; }
}

/* ===== HERO الخدمات (PNG) ===== */
.services-hero{
  position:relative;
  margin-inline:calc(50% - 50vw); width:100vw;
  background:url('./img/services-hero.png') center/cover no-repeat;
  height:64vh; min-height:360px; display:flex; align-items:center; isolation:isolate;
}
.services-hero__scrim{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.18));
}
.services-hero__inner{
  position:relative; z-index:1;
  width:min(1100px,92vw); margin:0 auto; padding-inline:16px;
  color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.services-hero__title{ font-size:clamp(30px,4.4vw,52px); font-weight:900; line-height:1.1; }
.services-hero__desc{ margin-top:10px; max-width:70ch; line-height:1.9; font-size:clamp(15px,1.6vw,20px); color:rgba(255,255,255,.92); }

/* كرت الخدمات المتراكب */
.services-card-wrap{ position:relative; z-index:3; width:100%; }
.services-card{ --pad-d:40px; --pad-m:24px; }

/* أقسام الخدمة التفصيلية */
.services-rich{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:12px;
}
@media (max-width:900px){
  .services-rich{ grid-template-columns:1fr; }
}
.service-rich{ border:0; border-radius:0; background:transparent; padding:0; box-shadow:none; }
.service-rich__head{ display:flex; align-items:center; gap:12px; margin-bottom:10px }
.service-rich__icon{
  width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
  background:rgba(8,169,177,.12); color:var(--primary)
}
.service-rich__title{ font-size:1.12rem; margin:0; font-weight:900 }
.service-rich__body{ color:#374151; line-height:1.95; text-align:start; unicode-bidi: plaintext; }  /* ✅ */

/* ===== HERO مخصّص للصفحات (PNG) ===== */
.projects-hero,
.news-hero,
.map-hero,
.listings-hero,
.requests-hero{
  position:relative;
  margin-inline:calc(50% - 50vw); width:100vw;
  height:64vh; min-height:360px; display:flex; align-items:center; isolation:isolate;
  background-position:center; background-size:cover; background-repeat:no-repeat;
}
.projects-hero{ background-image:url('./img/projects-hero.png'); }
.news-hero{ background-image:url('./img/news-hero.png'); }
.map-hero{ background-image:url('./img/map-hero.png'); }
.listings-hero{ background-image:url('./img/listings-hero.png'); }
.requests-hero{ background-image:url('./img/requests-hero.png'); }

.projects-hero__scrim,
.news-hero__scrim,
.map-hero__scrim,
.listings-hero__scrim,
.requests-hero__scrim{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.18));
}
.projects-hero__inner,
.news-hero__inner,
.map-hero__inner,
.listings-hero__inner,
.requests-hero__inner{
  position:relative; z-index:1;
  width:min(1100px,92vw); margin:0 auto; padding-inline:16px;
  color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.projects-hero__title,
.news-hero__title,
.map-hero__title,
.listings-hero__title,
.requests-hero__title{
  font-size:clamp(30px,4.4vw,52px); font-weight:900; line-height:1.1; margin:0;
}
.projects-hero__desc,
.news-hero__desc,
.map-hero__desc,
.listings-hero__desc,
.requests-hero__desc{
  margin-top:10px; max-width:70ch; line-height:1.9;
  font-size:clamp(15px,1.6vw,20px); color:rgba(255,255,255,.92);
}

/* ===== Reveal Animations ===== */
[data-reveal]{opacity:0; transform:translateY(12px)}
.reveal-in{opacity:1; transform:none; transition: transform .6s var(--ease), opacity .6s var(--ease); transition-delay: var(--delay, 0ms)}

/* ===== قسم الإحصائيات ===== */
.stats-ribbon{
  position:relative;
  margin-inline:calc(50% - 50vw); width:100vw; overflow:hidden;
  background: transparent;
  color: var(--text-light);
  text-align:center;
  padding-block:clamp(36px,6vw,72px);
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.stats-inner{max-width:1200px;margin:0 auto;padding-inline:24px}
.stats-heading{ font-size:clamp(22px,3vw,36px); font-weight:900; color:var(--text-light); }
.stats-subheading{ margin-top:8px; color:var(--gray-dark); opacity:.95; font-size:clamp(13px,1.3vw,16px); }
.stats-axis{
  position:relative; height:1px;
  background: linear-gradient(90deg, transparent, rgba(8,169,177,.35) 12%, rgba(8,169,177,.35) 88%, transparent);
  margin:clamp(14px,2vw,22px) auto; width:min(980px,92vw);
}
.axis-dot{position:absolute; top:-1.5px; width:10px; height:3px; background:rgba(8,169,177,.65)}
.axis-dot--r{inset-inline-end:12%;}
.axis-dot--c{inset-inline-start:50%; transform:translateX(-50%);}
.axis-dot--l{inset-inline-start:16%;}
.stats-row{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:clamp(16px,4vw,40px); margin-top:clamp(8px,1.4vw,14px);
  width:min(980px,92vw); margin-inline:auto;
}
.stat-block{flex:1; display:flex; flex-direction:column; align-items:center}
.stat-number{
  direction:ltr;
  font-size:clamp(36px,7vw,86px); font-weight:900; line-height:1;
  letter-spacing:.5px; font-variant-numeric:tabular-nums;
  color: var(--primary);
  display:flex; align-items:baseline; gap:8px;
}
.stat-prefix{font-weight:900}
.stat-suffix{font-size:.45em; font-weight:800; color:var(--primary); opacity:1}
.stat-caption {
  font-size: clamp(22px, 3vw, 27px) !important; /* حجم خط أكبر (متجاوب مع الشاشة) */
  font-weight: 400 !important; /* خط عريض */
  opacity: 1 !important; /* إزالة الشفافية ليكون أوضح */
  margin-top: 0 !important; /* تقليل المسافة بين الرقم والكلمة */
  color: var(--text-light) !important; /* (اختياري) تلوين الكلمة بلون الهوية */
}

/* ===== أقسام عامة ===== */
.section{ padding-block: clamp(var(--space-2xl), 8vw, var(--space-3xl)); padding-inline: 24px; }
.section-title{ font-size:clamp(1.4rem, 2.1vw, 1.9rem); margin-bottom: clamp(20px, 2.5vw, 36px); display:flex; align-items:center; gap:10px; }

/* Grid مساعد لنبذة */
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap: clamp(16px,2.4vw,28px)}
.grid-two .card{background:#fff;border-radius:16px;padding:22px;box-shadow:var(--shadow)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(16px,2.4vw,28px)}
.team-card{ background:transparent; border-radius:0; overflow:visible; box-shadow:none; text-align:center; padding:14px 8px; }
.team-card img{
  width:180px; height:180px; margin:0 auto 12px;
  border-radius:50%; object-fit:cover;
  border:3px solid rgba(8,169,177,.18);
  background:#f5f7fb;
}
.team-card .name{font-weight:800;margin-top:2px}
.team-card .role{color:var(--gray-dark);margin:4px 0 0}

/* ✅ مركز/تعريض عنوان "فريق مستويات" ليطابق محاذاة قسم الأرقام */
.team-title__wrap{ max-width:1200px; margin:0 auto; padding-inline:24px; }
/* تنطبق سواء استخدمت class أو المعرف #team-title */
#team-title.section-title,
.team-title__text{
  display:block !important;
  text-align:center !important;
  margin-inline:auto !important;
  font-weight:900 !important; /* ← العنوان عريض */
}

/* ===== شركاء النجاح (نسخة ثابتة) ===== */
.partners-static{
  padding-block: clamp(36px,6vw,72px);
  text-align:center;
}
.partners-static__title{
  font-weight:900;
  font-size: clamp(26px,3.5vw,44px);
  line-height:1.1;
  margin:0 auto;
  max-width:min(1200px,92vw);
}
.partners-static__sub{
  margin:10px auto 0;
  font-size: clamp(13px,1.6vw,16px);
  color:#6b7280;
  max-width:min(1200px,92vw);
}
/* ✅ تعديل مهم: توحيد الارتفاع وإلغاء أي بهتان */
.partners-static__row{
  --h: clamp(26px,4.2vw,46px);
  --gap: clamp(28px,7vw,120px);
  margin: clamp(18px,4vw,36px) auto 0;
  display:flex; align-items:center; justify-content:center;
  gap: var(--gap);
  max-width: min(1080px, 92vw);
  padding-inline: clamp(8px,2vw,16px);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.partners-static__logo{
  flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  opacity:.96; filter:none;
  transition: opacity .2s ease, transform .2s ease;
}
.partners-static__logo img{
  height: var(--h);
  width: auto;
  object-fit: contain;
  display:block;
}
.partners-static__logo.is-strong{ opacity:.96; filter:none; }
.partners-static__logo.is-dim   { opacity:.96; filter:none; }
@media (hover:hover){
  .partners-static__logo:hover{ opacity:1; transform: translateY(-1px); }
}
@media (max-width:640px){
  .partners-static__row{ --gap: clamp(18px,7vw,36px); }
}

/* ===== ✅ شركاء النجاح — النسخة المتحركة المستخدمة سابقًا (PartnersTicker) ===== */
/* ← تُترك لِلتوافق؛ يمكن تجاهلها إن استخدمت .pticker الجديدة */
.partners-ticker{
  --h: clamp(26px,4.2vw,46px);
  --gap: clamp(28px,5vw,64px);
  --speed: 28s; /* غيّرها لتسريع/إبطاء الحركة */
  padding-block: clamp(36px,6vw,72px);
  text-align: center;
}
.partners-ticker .partners-static__title{
  font-weight:900;
  font-size: clamp(26px,3.5vw,44px);
  line-height:1.1;
  margin:0 auto;
  max-width:min(1200px,92vw);
}
.partners-ticker .partners-static__sub{
  margin:10px auto 0;
  font-size: clamp(13px,1.6vw,16px);
  color:#6b7280;
  max-width:min(1200px,92vw);
}
.partners-rail{
  overflow: hidden; position: relative;
  margin: clamp(18px,4vw,36px) auto 0;
  max-width: min(1080px,92vw);
  padding-inline: clamp(8px,2vw,16px);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.partners-track{
  display: flex; align-items: center; gap: var(--gap);
  width: max-content; min-width: 200%;
  animation: partners-scroll-ltr var(--speed,28s) linear infinite;
  will-change: transform;
}
/* ✅ ثبّت الحركة LTR حتى في RTL */
html[dir="rtl"] .partners-track{ animation-name: partners-scroll-ltr !important; }
@keyframes partners-scroll-ltr{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); } /* لأننا نكرّر القائمة مرّتين */
}
/* (تم إلغاء keyframes للـ RTL لأننا نريد نفس اتجاه الإنجليزي) */
.partners-item{ flex: 0 0 auto; opacity: .92; transition: opacity .2s, transform .2s; }
.partners-item img{
  height: var(--h); width: auto; object-fit: contain; display: block;
  filter: grayscale(1) contrast(1.05) opacity(.9);
  transition: transform .2s var(--ease), opacity .2s var(--ease), filter .2s var(--ease);
}
@media (hover:hover){
  .partners-item:hover img{ transform: translateY(-1px); opacity:1; filter: grayscale(0) contrast(1); }
}
/* ✅ لا تتوقف على الهوفر نهائياً */
.partners-ticker:hover .partners-track{ animation-play-state: running !important; }

/* ===== ✨ الشريط الجديد من الصفر (يوصى به) ===== */
.pticker{ padding-block:clamp(36px,6vw,72px); text-align:center; }
.pticker__title{
  font-weight:900; font-size:clamp(26px,3.5vw,44px); margin:0;
}
.pticker__sub{
  margin:10px auto 0; color:#6b7280; font-size:clamp(13px,1.6vw,16px);
  max-width:min(1200px,92vw);
}
.pticker__rail{
  margin:clamp(18px,4vw,36px) auto 0;
  max-width:min(1080px,92vw);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image:linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.pticker__track{
  display:inline-flex; align-items:center;
  gap:clamp(28px,5vw,64px);
  width:max-content; min-width:200%;
  animation: pticker-ltr var(--speed,28s) linear infinite;
  will-change:transform;
}
/* ✅ ثبّت الحركة LTR حتى في RTL */
html[dir="rtl"] .pticker__track{ animation-name: pticker-ltr !important; }
@keyframes pticker-ltr{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
/* (تم إلغاء pticker-rtl لأننا نريد نفس اتجاه الإنجليزي) */
.pticker__item{ flex:0 0 auto; opacity:.92; transition:opacity .2s, transform .2s; }
.pticker__item img{
  height:clamp(26px,4.2vw,46px); width:auto; object-fit:contain; display:block;
  filter:grayscale(1) contrast(1.05) opacity(.9);
  transition:transform .2s, opacity .2s, filter .2s;
}
/* ✅ لا تتوقف على الهوفر نهائياً */
.pticker:hover .pticker__track{ animation-play-state: running !important; }

/* ===== ▶︎ فرض الحركة عند وجود data-force-motion (حتى مع reduce) ===== */
.pticker__track[data-force-motion="1"]{
  animation: pticker-ltr var(--speed,28s) linear infinite !important;
}
html[dir="rtl"] .pticker__track[data-force-motion="1"]{
  animation-name: pticker-ltr !important;
}
.partners-track[data-force-motion="1"]{
  animation: partners-scroll-ltr var(--speed,28s) linear infinite !important;
}
html[dir="rtl"] .partners-track[data-force-motion="1"]{
  animation-name: partners-scroll-ltr !important;
}

/* ===== شركاء النجاح — بدائل (Marquee/Logo Belt/قديمة) إن احتجتها ===== */
.partners-marquee{
  --marquee-height: 84px;
  --marquee-gap: 36px;
  --marquee-duration: 28s;
  text-align: center;
  margin: 40px 0 64px;
}
.partners-marquee__title{
  font-weight: 900;
  font-size: clamp(18px, 2.6vw, 28px);
  margin: 0 0 8px;
}
.partners-marquee__sub{ opacity: .85; margin: 0 0 18px; }
.marquee{
  position: relative; overflow: hidden; height: var(--marquee-height);
  border-radius: 16px; background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 6px 24px rgba(0,0,0,.06) inset; padding: 10px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.marquee__track{
  display: inline-flex; gap: var(--marquee-gap); align-items: center; height: 100%;
  animation: marquee 28s linear infinite; will-change: transform;
}
html[dir="rtl"] .marquee__track{ animation-direction: reverse; }
@keyframes marquee{ from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee__item{
  flex: 0 0 auto; height: calc(var(--marquee-height) - 20px);
  display: grid; place-items: center; filter: grayscale(.3); opacity: .9;
  transition: transform .25s ease, filter .25s ease, opacity .25s ease;
}
.marquee__item img{ height: 100%; width: auto; display: block; object-fit: contain; }
.marquee:hover .marquee__track{ animation-play-state: paused; }
.marquee__item:hover{ filter: grayscale(0); opacity: 1; transform: scale(1.04); }

/* Logo belt قديم */
.logo-belt{
  --h: 48px; --gap: clamp(60px,10vw,140px);
  position:relative; overflow:hidden; padding-block: clamp(8px,1.6vw,14px);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.logo-belt__track{
  display:inline-flex; align-items:center; gap: var(--gap); white-space:nowrap;
  will-change:transform; animation: logoBeltScroll 28s linear infinite; padding-block:6px;
}
@keyframes logoBeltScroll{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
.logo-belt .logo{
  flex:0 0 auto; opacity:.55; filter:grayscale(1) contrast(115%);
  transition:opacity .2s ease, filter .2s ease, transform .2s ease;
}
.logo-belt .logo img{ height:var(--h); width:auto; object-fit:contain; border-radius:0; display:block; }
.logo-belt .logo--strong{ opacity:.96; filter:grayscale(0); }
.logo-belt .logo:hover{ opacity:.9; filter:grayscale(.15); transform:translateY(-1px); }

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(16px,2.4vw,28px)}
.service-card{background:transparent;border-radius:16px;padding:0;box-shadow:none }
.service-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.service-icon i{font-size:18px}

/* Projects */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(16px,2.4vw,28px)}
.project-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.project-card img{width:100%;height:200px;object-fit:cover}
.project-card .content{padding:16px; text-align:start; unicode-bidi: plaintext;} /* ✅ */

/* وسم */
.tag{display:inline-block;background:var(--primary);color:var(--text-light);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:800}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: clamp(16px,2.4vw,28px)}
.news-card{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.news-card .thumb img{width:100%;height:180px;object-fit:cover}
.news-card .date{color:var(--gray-dark);font-size:.95rem;margin:12px 18px 6px}
.news-card h4{margin:0 18px 8px}
.news-body{color:var(--gray-dark);margin:0 18px 14px; text-align:start; unicode-bidi: plaintext;} /* ✅ */
.btn-news{align-self:flex-start;margin:0 18px 18px;padding:10px 16px;border-radius:10px;border:1px solid var(--primary);background:transparent;color:var(--primary);font-weight:800;cursor:pointer;transition:var(--transition)}
.btn-news:hover{background:var(--primary);color:#0B1144}

/* ===== Listings (نسخة مُحسّنة لكل أجهزة الجوال) ===== */
.property-types{
  display:flex; gap: var(--space-md); overflow-x:auto;
  padding: var(--space-lg) 0; margin-bottom: var(--space-lg);
  -webkit-overflow-scrolling: touch; scroll-snap-type: none !important;
  contain: layout paint; -webkit-tap-highlight-color: transparent;
  overscroll-behavior-x: contain; touch-action: pan-x; min-height: 92px;
}
.type-item{
  flex: 0 0 auto; width: 72px;
  display:flex; flex-direction:column; align-items:center;
  cursor:pointer; transition:var(--transition);
  will-change: transform; transform: translateZ(0);
  -webkit-user-select: none; user-select: none; touch-action: manipulation;
  backface-visibility: hidden; perspective: 1000px;
}
.type-icon{
  width: 40px; height: 40px; display:flex; align-items:center; justify-content:center;
  background-color: rgba(0,0,0,.05); border-radius: 10px; margin-bottom: 10px;
}
.type-icon i{ font-size:16px; line-height:1; -webkit-font-smoothing: antialiased; }
.type-name{ font-size:12px; font-weight:600; white-space:nowrap; }
.type-item.active .type-icon{ background-color: var(--primary); }
.type-item.active .type-name{ color: var(--primary); }
.type-item{ scroll-snap-align: none !important; }

.filters-bar{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:18px;background-color:#F8F8F8;border-radius:12px}
.filter-group{display:flex;flex-direction:column;min-width:220px;flex:1 1 220px}
.filter-group label{font-size:.95rem;margin-bottom:8px;font-weight:600}
.filter-group select,.filter-group input{padding:12px;border-radius:8px;border:1px solid var(--gray);font-family:'Cairo',sans-serif;background-color:#fff;height:48px;color:#333}
.status-toggle{display:flex;gap:var(--space-md);align-items:center}
.toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer}
.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap: clamp(18px,2.4vw,28px);margin-bottom:var(--space-xl)}
.property-card{
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);background-color:#fff;position:relative;
  transform: translateZ(0); backface-visibility: hidden; will-change: transform;
}
.property-card:hover{transform:translateY(-2px)}
.card-image{height:220px;width:100%;object-fit:cover}
.card-badge{position:absolute;top:16px;inset-inline-start:16px;background-color:var(--success);color:#fff;padding:6px 10px;border-radius:8px;font-size:.9rem;font-weight:800}
.card-content{padding:18px}
.card-title{font-size:1.2rem;font-weight:800;margin-bottom:10px}
.card-price{color:var(--primary-dark);font-weight:800;font-size:1.4rem;margin-bottom:14px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1}
.card-details{display:flex;justify-content:space-between;margin-bottom:14px;gap:12px}
.card-detail{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--gray);padding-top:12px;margin-top:12px}
.card-id{font-size:0.95rem;color:var(--gray-dark)}
.card-map{font-size:.95rem;color:var(--secondary);cursor:pointer}

/* ===== Map page */
.map-page .section-title{margin-top:0}
.map-container{display:flex;height:480px;gap:var(--space-lg);margin-bottom:var(--space-xl);border-radius:16px}
.map-container.compact{height:320px}
@media (max-width:640px){ .map-container.compact{height:240px} }
.map-canvas{position:relative;flex:1;height:100%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
/* ✅ Leaflet تملأ الحاوية */
.map-canvas .leaflet-container{width:100%;height:100%}
.map-sidebar{width:320px;overflow-y:auto;padding:16px;background-color:rgba(0,0,0,.03);border-radius:16px}
.map-property-item{padding:16px;border-bottom:1px solid var(--gray);cursor:pointer;transition:var(--transition)}
.map-property-item:hover{background-color:rgba(0,0,0,.05)}
.map-property-item h4{margin-bottom:6px}
.map-property-item p{color:var(--primary);font-weight:800}

/* شريط علوي للخريطة */
.gmap-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 12px; background:#fafafa; border-bottom:1px solid #eee;
  border-radius:12px; box-shadow:var(--shadow);
}
.gmap-title{
  font-weight:800; color:#111; font-size:.95rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gmap-open{
  display:inline-flex; align-items:center; gap:8px;
  text-decoration:none; font-weight:800; font-size:.92rem;
  color:var(--secondary); border:1px solid var(--secondary);
  padding:8px 12px; border-radius:10px;
}
.gmap-open:hover{ background:var(--secondary); color:#fff }

/* ✅ كرت الخريطة يمتلئ بالكامل + الإطار يملأ بقية الارتفاع */
.gmap-card{
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#fff;
}
.gmap-card .gmap-toolbar{ flex:0 0 auto; }
.gmap-card .gmap-frame{
  flex:1 1 auto;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
/* احتياط: أي iframe داخل حاوية الخريطة يملأ المساحة */
.map-canvas iframe{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block;
}

/* Detail, Forms, Footer */
.property-detail{display:grid;grid-template-columns:1fr 360px;gap: clamp(20px,3vw,32px)}

/* ✅ تعديل معرض الصور: ارتفاع متغير حسب الشاشة */
.detail-gallery{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  height:380px; /* الارتفاع الافتراضي (للجوال) */
  touch-action:pan-y;
}

/* ✅ في شاشات الكمبيوتر (أكبر من 1024px) نزيد الارتفاع */
@media (min-width: 1024px) {
  .detail-gallery {
    height: 650px; /* ارتفاع أكبر ليناسب العرض العريض */
  }
}

.detail-gallery img{width:100%;height:100%;object-fit:cover}
.detail-badge{position:absolute;top:20px;inset-inline-start:20px;z-index:30}
.detail-badge .card-badge{position:static !important;top:auto;inset-inline-start:auto}

/* ===== Image carousel controls (arrows + counter) ===== */
.gallery-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border:none; border-radius:999px;
  background:rgba(0,0,0,.45); color:#fff; display:grid; place-items:center;
  cursor:pointer; transition:background .2s ease, transform .15s ease;
}
.gallery-arrow:hover{ background:rgba(0,0,0,.6); }
.gallery-arrow:active{ transform:translateY(-50%) scale(.98); }
/* ✅ ثبّت اتجاه الأيقونات يمين/يسار في RTL/LTR */
.gallery-arrow i{ transform:none !important; }
.gallery-arrow.left{ left:12px; }
.gallery-arrow.right{ right:12px; }
.gallery-counter{
  position:absolute; right:12px; bottom:12px;
  background:rgba(0,0,0,.45); color:#fff; font-weight:800;
  padding:6px 10px; border-radius:999px; font-size:.92rem;
}
.detail-gallery:focus{ outline:2px solid var(--primary); outline-offset:2px; }

.detail-content{display:flex;flex-direction:column;gap:20px}
.detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.detail-title{font-size:1.9rem;font-weight:800;margin:0}
.detail-price{font-size:2rem;color:var(--primary);font-weight:800;white-space:nowrap;line-height:1}

/* ✅ إصلاح: كان بدون نقطة فأفسد توزيع الأزرار */
.detail-actions{
  display:flex;
  gap:12px;
  margin-top:10px;
  align-items:center;
  flex-wrap:wrap;
}
@media (max-width:640px){
  .detail-actions{ flex-direction:column; align-items:stretch; }
  .btn-action{ width:100%; justify-content:center; }
}

.btn-action{padding:12px 22px;border-radius:8px;font-weight:800;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--transition);border:none;font-family:'Cairo',sans-serif;font-size:1rem}
.btn-primary{background:var(--primary);color:var(--text-light)}
.btn-secondary{background:var(--whatsapp);color:#fff}

.specs-container{display:grid;grid-template-columns:1fr 1fr;gap: clamp(16px,2.4vw,28px);margin-top:20px;align-items:stretch}
.specs-section{background-color:rgba(0,0,0,.03);border-radius:12px;padding:20px;display:flex;flex-direction:column}
.specs-title{font-size:1.2rem;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.specs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;grid-auto-rows:minmax(100px,auto)}
.spec-item{height:auto;min-height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px;border-radius:12px;background-color:#fff;box-shadow:var(--shadow)}
.spec-value{font-size:1.6rem;font-weight:800;color:var(--primary);margin-bottom:8px}
.spec-label{font-size:.95rem;color:var(--gray-dark);text-align:center}
.services-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.service-item{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--gray);border-radius:999px;background:#fff;height:38px;white-space:nowrap}
.service-item i{font-size:14px}
.usage-section{margin-top:20px}
.usage-row{display:flex;justify-content:flex-start;padding-top:8px}
.service-item.usage-badge{height:42px;padding:10px 18px;font-weight:800}
.property-description{margin:32px 0;line-height:1.9}
.property-description h3{margin-bottom:16px;color:var(--primary)}
.property-description ul{padding-inline-start:20px;margin-top:10px}  /* ✅ كانت padding-right */
.property-description li{margin-bottom:8px}
.property-info{margin-top:32px;background-color:rgba(0,0,0,.03);border-radius:12px;padding:20px}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px dashed var(--gray);border-radius:12px;background:#fff;min-height:56px}
.info-label{font-weight:600}
.info-value{color:var(--primary);font-weight:800}
.ad-info{margin-top:32px;background-color:rgba(0,0,0,.03);border-radius:12px;padding:20px}

/* ⛔️ إخفاء "خيارات مشابهة" حسب الطلب */
.similar-listings{ display:none !important; }

/* كاروسيل عام */
.carousel{display:flex;gap:20px;overflow-x:auto;padding:10px 0;}
.carousel-item{min-width:280px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.carousel-image{height:180px;width:100%;object-fit:cover}
.carousel-content{padding:12px}
.carousel-title{font-weight:800;margin-bottom:6px}
.carousel-price{color:var(--primary);font-weight:800}

/* Forms + Footer */
.form-container{max-width:820px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}
.form-group{display:flex;flex-direction:column;gap:10px}
.form-group label{font-weight:700}
.form-group input,.form-group select,.form-group textarea{padding:12px;border-radius:8px;border:1px solid var(--gray);font-family:'Cairo',sans-serif}
.form-group textarea{min-height:120px;resize:vertical}
.radio-group{display:flex;gap:var(--space-lg);margin:10px 0}
.radio-option{display:flex;align-items:center;gap:8px}
.form-submit{margin-top:20px;padding:12px 30px;background:var(--primary);color:var(--text-light);border:none;border-radius:10px;font-family:'Cairo',sans-serif;font-size:1.05rem;font-weight:900;cursor:pointer;transition:var(--transition)}
.form-submit:hover{background:var(--primary-dark)}
footer{text-align:center;padding:24px;margin-top:var(--space-xl);border-top:1px solid var(--gray)}

/* ✅ أيقونات السوشال في التذييل — دوائر بحد خفيف (تصميمنا) */
footer .footer-social{
  margin-top:14px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
}
footer .footer-social a{
  width:44px; height:44px; border-radius:999px; display:inline-flex;
  align-items:center; justify-content:center; background:transparent;
  border:1.4px solid rgba(0,0,0,.18); color:#111 !important; text-decoration:none !important;
  line-height:1; transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
footer .footer-social a i{ font-size:18px; line-height:1 }
footer .footer-social a:hover{ transform:translateY(-1px); background:var(--primary); color:#0B1144 !important; border-color:var(--primary) }
/* ألوان هوفر لكل منصة (اختياري) */
footer .footer-social a[data-brand="facebook"]:hover{ color:#fff !important; background:#1877f2; border-color:#1877f2 }
footer .footer-social a[data-brand="x"]:hover{ color:#fff !important; background:#111; border-color:#111 }
footer .footer-social a[data-brand="instagram"]:hover{ color:#fff !important; background:#E1306C; border-color:#E1306C }
footer .footer-social a[data-brand="linkedin"]:hover{ color:#fff !important; background:#0A66C2; border-color:#0A66C2 }
footer .footer-social a[data-brand="youtube"]:hover{ color:#fff !important; background:#FF0000; border-color:#FF0000 }
footer .footer-social a[data-brand="tiktok"]:hover{ color:#fff !important; background:#111; border-color:#111 }
footer .footer-social a[data-brand="snapchat"]:hover{ color:#111 !important; background:#FFFC00; border-color:#FFFC00 }
footer .footer-social a[data-brand="whatsapp"]:hover{ color:#fff !important; background:#25D366; border-color:#25D366 }

/* ✅ تثبيت مظهر الإيميل في التذييل (لا يكون أزرق) + إزالة أي تنسيق دائري إن وُجد */
footer a[href^="mailto:"]{
  color:inherit !important; text-decoration:none; border-bottom:1px dashed rgba(0,0,0,.25);
  display:inline; width:auto; height:auto; padding:0; margin:0; border-radius:0; background:transparent; box-shadow:none;
}
footer a[href^="mailto:"]:hover{
  background:var(--primary); color:#0B1144 !important; border-color:var(--primary);
}

/* ===== منيو الموبايل (يغطي الهيدر + safe-area + RTL) ===== */
:root{ --drawer-shift: -8%; }         /* تسحب من اليسار في LTR */
html[dir="rtl"]{ --drawer-shift: 8%; } /* تسحب من اليمين في RTL */

.mobile-menu{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:1300;
  display:flex;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.mobile-menu.is-open{ display:block; }

.mobile-menu__panel{
  position:absolute;
  top:env(safe-area-inset-top);
  bottom:env(safe-area-inset-bottom);
  inset-inline-start:0;
  width:min(92vw,420px);
  max-width:92vw;
  background:#fff; color:#111;
  border-inline-start:1px solid #eee;
  box-shadow:-8px 0 24px rgba(0,0,0,.15);
  padding:20px 18px calc(24px + env(safe-area-inset-bottom));
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  animation:drawerIn .24s var(--ease);
}
@keyframes drawerIn{
  from{ transform:translateX(var(--drawer-shift)); opacity:.6; }
  to{ transform:none; opacity:1; }
}
.mobile-close{
  position:absolute; top:calc(env(safe-area-inset-top) + 10px); inset-inline-end:10px;
  width:40px; height:40px; border:none; border-radius:10px;
  background:rgba(0,0,0,.06); cursor:pointer;
}
.mobile-menu__list{
  margin-top:8px; display:flex; flex-direction:column; gap:8px; padding-inline:4px; padding-top:36px;
}
.mobile-menu__list a{
  text-decoration:none; color:#111; font-weight:800;
  padding:14px 12px; border-radius:12px; background:#f7f7f7;
  display:flex; align-items:center; gap:10px; min-height:48px;
}
.mobile-menu__list a:active{ transform:translateY(1px) }
.mobile-contact{ background:var(--primary) !important; color:#0B1144 !important; }
.mobile-lang{ margin-top:12px; display:flex; align-items:center; justify-content:space-between; gap:12px }
.mobile-lang__label{ font-weight:800; color:#444 }

/* ===== ريسبونسف عام ===== */
@media (max-width:1200px){
  .hero{height:100dvh}
}
@media (max-width:1024px){
  :root{--header-h:88px}
  /* إخفاء عناصر دسكتوب في الموبايل */
  .nav-desktop{ display:none !important; }
  .controls-desktop{ display:none !important; }
  .btn-contact{ display:none !important; }
  .hamburger{ display:inline-flex; }

  .team-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid,.projects-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
  .property-detail{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .grid-two{grid-template-columns:1fr}
  .about-hero{height:55vh}
  .services-hero{height:54vh}
  .projects-hero,.news-hero,.map-hero,.listings-hero,.requests-hero{height:54vh}
  /* specs container: عمود واحد على التابلت والموبايل */
  .specs-container{grid-template-columns:1fr}
}
@media (max-width:768px){
  :root{--header-h:100px; --nav-item-h:34px;}
  .map-container{flex-direction:column;height:auto}
  .map-canvas{height:300px;flex:0 0 300px}
  .map-sidebar{width:100%;height:200px;overflow-y:auto}
}
@media (max-width:640px){
  .services-grid,.projects-grid,.news-grid,.team-grid{grid-template-columns:1fr}
  html[dir="rtl"] .hero-content, html[dir="ltr"] .hero-content{padding:16px;max-width:100%}
  .about-hero{height:45vh; min-height:280px;}
  .services-hero{height:45vh; min-height:280px;}
  .projects-hero,.news-hero,.map-hero,.listings-hero,.requests-hero{height:45vh; min-height:280px;}
  /* تحسينات جوال إضافية */
  .card-image{ height:180px; }
  .filters-bar{ gap:12px; padding:14px; }
  /* فلاتر: نوع العقار في الأعلى منفرد، الحالة تحته منفردة، ثم بقية الفلاتر عمودين */
  .filter-group{ flex: 1 1 calc(50% - 6px); min-width: 0; }
  /* ✅ "نوع العقار" (الأول) و"الحالة" (الذي يحتوي على status-toggle) — كل واحد بسطر مستقل */
  .filter-group:nth-child(1),
  .filter-group:has(.status-toggle){
    flex-basis: 100%;
  }
  /* fallback لمتصفحات لا تدعم :has — نستهدف العنصر الثاني (الحالة) */
  .filter-group:nth-child(2){ flex-basis: 100%; }
  .filter-group:last-child{ flex-basis: 100%; }
  /* ✅ status-toggle: يلتف لو ضاقت الشاشة + spacing مرتب */
  .status-toggle{ flex-wrap:wrap; gap:14px; row-gap:8px; }
  .toggle-option{ min-width:fit-content; }
  /* ختم الحالة: حجم مناسب للهاتف */
  .stamp-overlay{ width:55%; }
}

/* ===== وضع تباعد مضغوط (اختياري) ===== */
:root{
  --space-sm:10px; --space-md:16px; --space-lg:20px; --space-xl:28px; --space-2xl:44px; --space-3xl:64px;
}

/* الهيدر */
.site-header{ padding:10px 20px }
.logo{ gap:10px }
.logo img{ width:44px; height:44px }
.logo .site-title{ font-size:1.1rem }

/* البطل الرئيسية */
.hero{ min-height:100dvh }
.hero-content{ width:min(860px,92vw) }
.hero-title{ font-size:clamp(28px,4.2vw,52px) }
.hero-cta{ margin-top:18px }
.btn{ padding:10px 16px }

/* الأقسام العامة */
.section{ padding-block:clamp(28px,5vw,56px); padding-inline:20px }
.section-title{ font-size:clamp(1.3rem,2vw,1.7rem); margin-bottom:clamp(16px,2vw,24px) }

/* ضبط عناصر الإحصائيات */
.stats-row{ gap:clamp(14px,2.4vw,24px) }
.stat-number{ font-size:clamp(30px,9vw,70px) }
.stat-caption{ font-size:clamp(13px,1.5vw,16px) }

/* === أداة عامة لإخفاء السكروول أينما استُخدمت === */
.no-scrollbar{
  scrollbar-width:none;      /* Firefox */
  -ms-overflow-style:none;   /* IE/Edge */
}
.no-scrollbar::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

/* احترام تقليل الحركة (مع السماح بالقسر عبر data-force-motion) */
@media (prefers-reduced-motion: reduce){
  .hero-bg{ transform:none !important }
  [data-reveal]{ opacity:1 !important; transform:none !important }
  .reveal-in{ transition:none !important }

  /* لا توقف حركة الشريط إذا تم وضع data-force-motion="1" */
  .pticker__track:not([data-force-motion="1"]){ animation:none !important; }
  .partners-track:not([data-force-motion="1"]){ animation:none !important; }
}

/* ======== ⬇️ شريط تنقّل أسود داخل صفحة التفاصيل فقط ======== */
.site-header.transparent.glass.dark-nav { color:#111; }
.site-header.transparent.glass.dark-nav nav a{ color:#111; }
.site-header.transparent.glass.dark-nav .logo .site-title{ color:#111; }
.site-header.transparent.glass.dark-nav nav a.active{ background-color: rgba(0,0,0,.10); }
.site-header.transparent.glass.dark-nav nav a:hover{ background-color: rgba(0,0,0,.08); }
.site-header.transparent.glass.dark-nav .btn-contact{
  background: var(--primary);
  color:#0B1144;
  border-color: var(--primary);
}
.site-header.transparent.glass.dark-nav .btn-contact:hover{
  background: var(--primary-dark);
  border-color: var(--primary-dark);
}

/* ===== News Modal ===== */
.modal{
  /* ✅ z-index أعلى من site-header (2000) لمنع الإخفاء على الجوال */
  position:fixed; inset:0; z-index:2500 !important;
  background:rgba(0,0,0,.55);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  contain:layout paint;
}
.modal__panel{
  position:relative;
  width:min(920px, 92vw);
  max-height:88vh;
  background:#fff; color:#0B1144;
  border-radius:16px; box-shadow:var(--shadow);
  overflow:hidden; display:flex; flex-direction:column;
  animation: modalIn .22s var(--ease);
}
@keyframes modalIn{
  from{ transform: translateY(8px); opacity:.6; }
  to{ transform:none; opacity:1; }
}
.modal__close{
  position:absolute; top:10px; inset-inline-end:10px;
  width:44px; height:44px; border:none; border-radius:50%;
  background:rgba(0,0,0,.65); color:#fff;             /* ✅ أوضح وأبرز */
  cursor:pointer;
  display:grid; place-items:center;
  z-index:100;                                          /* فوق كل شيء داخل المودال */
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(255,255,255,.2);
  box-shadow:0 2px 8px rgba(0,0,0,.3);                  /* ظل ليبرز فوق أي خلفية */
  font-size:1.1rem;
  transition:background .15s, transform .1s;
}
.modal__close:hover{ background:rgba(0,0,0,.85); }
.modal__close:active{ transform:scale(.92); }
.modal__close i{ pointer-events:none; }
.modal__media img{
  display:block; width:100%; height:280px; object-fit:cover;
}
.modal__content{
  padding:18px 18px 22px; overflow:auto;
}
.modal__date{
  color:#6b7280; font-size:.95rem; margin-bottom:6px;
}
.modal__title{
  margin:0 0 10px; font-size:1.4rem; font-weight:900;
}
.modal__body{
  line-height:1.9; color:#374151; 
  text-align:start; unicode-bidi: plaintext;  /* ✅ أخبار داخل المودال */
}

/* تحسين على الشاشات الصغيرة */
@media (max-width:640px){
  .modal{ padding:12px; }
  .modal__panel{ max-height:92vh; width:96vw; }
  .modal__media img{ height:200px; }
  .modal__title{ font-size:1.2rem; }
  /* ✅ X button أكبر وأوضح على الجوال */
  .modal__close{
    width:48px; height:48px;
    top:12px; inset-inline-end:12px;
    background:rgba(0,0,0,.75);
    font-size:1.25rem;
  }
}

/* ======== ⤵️ COMPAT FIXES ======== */

/* 1) أيقونات السوشال حتى لو لم تكن داخل .footer-social */
footer .footer-social a,
footer > a,
footer a.social,
footer a.social-icon{
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  margin:0 6px; border-radius:999px;
  background:transparent; border:1.4px solid rgba(0,0,0,.18);
  color:#111 !important; text-decoration:none !important;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
footer a i.fa-brands{ font-size:18px; line-height:1; }
footer > a:hover,
footer a.social:hover,
footer a.social-icon:hover{
  transform:translateY(-1px);
  background:var(--primary);
  border-color:var(--primary);
  color:#0B1144 !important;
}

/* 2) خرائط Google لو كانت IFRAME مباشرة بدون حاوية خاصة */
.map-box, .property-map, .gmap-embed{
  min-height:360px; height:360px;
  border-radius:16px; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  background:#fff;
}
@media (max-width:640px){
  .map-box, .property-map, .gmap-embed{ height:240px; }
}
iframe[src*="google.com/maps"]{
  display:block; width:100% !important; height:100% !important;
  border:0 !important; border-radius:16px;
}

/* ===== Get In Touch (Contact section like the mock) ===== */
.contact-wrap{
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  padding-block: clamp(36px, 8vw, 84px);
  background: #fff;
}
.contact-inner{
  width: min(1100px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(24px, 6vw, 140px);
}
/* Left card (title + lines) */
.contact-card{
  max-width: 420px;
  color: var(--text-light);
}
.contact-title{
  font-weight: 900;
  font-size: clamp(18px, 2.2vw, 22px);
  margin: 0 0 18px;
}
.contact-list{
  display: grid;
  gap: 12px;
}
.contact-line{
  display: flex;
  align-items: center;
  justify-content: space-between; /* النص يسار – الأيقونة يمين (أو العكس مع RTL) */
  gap: 12px;
  font-weight: 600;
  line-height: 1;
}
.contact-text{
  color: var(--text-light);
  font-size: .98rem;
  line-height: 1.9;
  word-break: break-word;
}
.contact-text a{
  color: inherit;
  text-decoration: none;
}
.contact-text a:hover{ text-decoration: underline; }
.contact-ico{
  flex: 0 0 auto;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border-radius: 999px;
  border: 1.4px solid rgba(0,0,0,.18);
  color: #111;
  background: transparent;
}
.contact-ico i{ font-size: 14px; line-height: 1 }

/* Right side (AIC logo + blurb) */
.aic-aside{ text-align: center; color: var(--text-light); }
.aic-logo{
  height: clamp(44px, 6vw, 64px);
  width: auto;
  margin: 0 auto 10px;
  display: block;
  object-fit: contain;
}
.aic-text{
  max-width: 420px;
  margin: 0 auto;
  color: #334155;
  font-size: .95rem;
  line-height: 1.9;
}

/* Numbers always LTR */
.contact-line .contact-text .ltr,
.contact-line .contact-text [dir="ltr"]{ direction:ltr; unicode-bidi:plaintext; }

/* Responsive */
@media (max-width: 900px){
  .contact-inner{ grid-template-columns: 1fr; gap: 28px; }
  .aic-aside{ order: 2; }
}

/* Small polish */
.contact-title{ letter-spacing: .2px }
.contact-list .contact-line + .contact-line{ margin-top: 2px }

/* توحيد لون الراديو/الـ checkbox مع لون الهوية */
input[type="radio"],
input[type="checkbox"] {
  accent-color: var(--primary);  /* أو أي لون ثابت تحبه */
}

/* =========================================
   ✅ تنسيقات ختم الحالة (مباع / مؤجر)
   ========================================= */

/* صورة الختم فوق الكرت */
.stamp-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-15deg); /* تدوير بسيط لواقعية أكثر */
  width: 65%;       /* حجم الختم بالنسبة للكرت */
  max-width: 250px;
  z-index: 20;      /* ليظهر فوق الصورة */
  pointer-events: none; /* يسمح بالنقر على الكرت من خلال الختم */
  opacity: 0.9;     /* شفافية بسيطة */
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); /* ظل خفيف للختم */
  transition: transform 0.3s ease;
}

/* تأثير عند تحريك الماوس على الكرت */
.property-card:hover .stamp-overlay {
  transform: translate(-50%, -50%) rotate(-15deg) scale(1.1); /* تكبير الختم قليلاً */
}

/* ألوان شارة الحالة (البادج) */
.card-badge.status-sold {
  background-color: #dc2626 !important; /* أحمر داكن للمباع */
  color: #fff;
}

.card-badge.status-rented {
  background-color: #14b8a6 !important; /* تيركواز يطابق ختم "تم التأجير" */
  color: #fff;
}

/* التأكد من تطبيق الألوان في صفحة التفاصيل الداخلية */
.detail-badge .card-badge.status-sold {
  background-color: #dc2626 !important;
}

.detail-badge .card-badge.status-rented {
  background-color: #14b8a6 !important;
}

/* =========================================
   ✅ قص نص الخبر لسطرين فقط
   ========================================= */
.news-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* عدد الأسطر */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.6;
  max-height: 3.2em; /* (1.6 * 2) لضمان عدم ظهور الزيادة */
}

