html[dir="rtl"] body {
  direction: rtl;
  text-align: right;
}

html[dir="ltr"] body {
  direction: ltr;
  text-align: left;
}


/* === Design tokens & base === */
:root{
  --fs-h1: clamp(28px, 7.5vw, 72px);
  --fs-h2: clamp(20px, 3.8vw, 40px);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body{ padding-top:80px; font-family:'Cairo', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }

/* Cairo local fonts + metric overrides to reduce CLS */
@font-face{
  font-family:'Cairo';
  src:url('fonts/Cairo-Regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
  ascent-override:92%; descent-override:24%; line-gap-override:0%; size-adjust:101%;
}
@font-face{
  font-family:'Cairo';
  src:url('fonts/Cairo-Medium.woff2') format('woff2');
  font-weight:500; font-style:normal; font-display:swap;
  ascent-override:92%; descent-override:24%; line-gap-override:0%; size-adjust:101%;
}
@font-face{
  font-family:'Cairo';
  src:url('fonts/Cairo-SemiBold.woff2') format('woff2');
  font-weight:600; font-style:normal; font-display:swap;
  ascent-override:92%; descent-override:24%; line-gap-override:0%; size-adjust:101%;
}
@font-face{
  font-family:'Cairo';
  src:url('fonts/Cairo-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
  ascent-override:92%; descent-override:24%; line-gap-override:0%; size-adjust:101%;
}

/* Headings */
h1{ font-size: var(--fs-h1); line-height: 1.1; margin: 0 0 10px; }
h2{ font-size: var(--fs-h2); line-height: 1.25; margin: 10px 0; }

/* Skip link */
.skip-link {
  position: absolute;
  top: -40px;
  right: 10px;
  background: #000;
  color: #fff;
  padding: 6px 12px;
  border-radius: 6px;
  z-index: 10000;
  text-decoration: none;
  font-size: 14px;
}
.skip-link:focus { top: 10px; }

/* Navbar */
.logo { display: flex; align-items: center; gap: 10px; }
.logo img { height: clamp(80px, 18vw, 120px); width: auto; display: block; }
.navbar {
  position: fixed; top: 0; right: 0; left: 0; z-index: 1000;
  height: 80px; background: linear-gradient(97deg, #ab863b 0%, #444 100%);
  color: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.navbar .nav-inner {
  max-width: 1240px; margin: 0 auto; height: 100%;
  padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 22px; position: relative;
}
.nav-links ul { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; }
.nav-links a { color: #fff; text-decoration: none; transition: opacity .25s; outline-offset: 3px; }
.nav-links a:focus-visible { outline: 2px dashed #ffe08a; }
.nav-links a:hover { opacity: .85; }
.nav-links a.active { border-bottom: 2px solid #ffc107; }
/* Robust active state when aria-current is used */
.nav-links a[aria-current="page"] { border-bottom: 2px solid #ffc107; }
.menu-toggle { display: none; font-size: 26px; background: transparent; border: 0; color: #fff; cursor: pointer; }
.navbar.scrolled {
  background: linear-gradient(97deg, #ab863ba9 0%, #44444499 100%);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

section, footer { scroll-margin-top: 80px; }

/* Mobile navbar */
@media (max-width: 900px) {
  .nav-links {
    display: block; position: fixed; inset: 80px 0 auto 0; z-index: 1100;
    background: rgba(0,0,0,0.35); backdrop-filter: blur(8px) saturate(140%); -webkit-backdrop-filter: blur(8px) saturate(140%);
    transform: translateY(-20px); opacity: 0; visibility: hidden;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
  }
  .nav-links.open { transform: translateY(0); opacity: 1; visibility: visible; }
  .nav-links ul {
    margin: 10px 12px; padding: 10px 16px; list-style: none;
    display: flex; flex-direction: column; gap: 0;
    background: rgba(255,255,255,0.18); backdrop-filter: blur(10px) saturate(140%); -webkit-backdrop-filter: blur(10px) saturate(140%);
    border: 1px solid rgba(255,255,255,0.22); box-shadow: 0 10px 28px rgba(0,0,0,0.16); border-radius: 14px;
  }
  .nav-links a {
    color: #fff; text-decoration: none; display: block; padding: 12px 10px; border-radius: 10px;
    transition: background .18s ease, opacity .18s ease;
  }
  .nav-links a:hover { background: rgba(255,255,255,0.12); opacity: .95; }
  .navbar .nav-inner { justify-content: right; padding-right: 5px; }
  .menu-toggle { display: inline-block; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); z-index: 1101; }
  .logo { font-size: 12px; line-height: 1.4; }
}

/* Very small screens */
@media (max-width: 380px) {
  .logo span { font-size: 9px; white-space: nowrap; }
  body { padding-top: 60px; }
  .nav-links { inset: 60px 0 auto 0; }
  .logo img { height: 60px; }
  .navbar { height: 60px; }
  :where(section, footer){ scroll-margin-top: 68px; }
}

/* Hero */
.hero { position: relative; contain: layout paint; }
.hero img{
  width: 100%; height: clamp(650px, 70vh, 760px); object-fit: cover; display: block;
}
.hero-text {
  position: absolute; top: 60%; transform: translateY(-50%);
  right: 5%; text-align: right;
  color: #fff; background: rgba(0,0,0,0.22);
  padding: 28px 28px 24px; border-radius: 12px; max-width: min(88vw, 520px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.13); contain: layout paint; z-index: 2;
}
html[dir="ltr"] .hero-text { left: 5%; right: auto; text-align: left; }
/* LTR: fix text alignment for content blocks */
html[dir="ltr"] .about-text { text-align: left; }
html[dir="ltr"] .about-text p { text-align: left; direction: ltr; }


.hero-text h1 { font-size: var(--fs-h1); margin: 0 0 10px; }
.hero-text h2, .hero-text h3{ font-size: clamp(20px, 3.8vw, 40px); margin: 10px 0; font-weight: 500; }
.hero-text p  { font-size: clamp(14px, 2vw, 18px); line-height: 1.8; }
#typing-title{ font-size: var(--fs-h1); font-weight: 700; line-height: 1.1; min-height: 3.6em; }
.hero-text .subheading{ min-height: 2em; }
.hero-text p{ min-height: 5.2em; }
.hero-text{ min-height: clamp(220px, 28vh, 340px); }
@media (max-width: 360px){
  .hero-text{ padding: 12px; }
  .hero-text p { line-height: 1.95; }
}
@media (max-width: 480px){
  #typing-title{ min-height: 4em; }
  .hero-text .subheading{ min-height: 2.2em; }
  .hero-text p{ min-height: 6em; }
  .hero-text{ min-height: clamp(260px, 34vh, 380px); }
}

/* Lazy-render sections to reduce CLS */
#services, #clients, #team, #contact { content-visibility: auto; contain-intrinsic-size: 800px; }

/* Animations */
.fade-in   { opacity: 0; transform: translateY(40px); animation: fadeInUp 1s forwards; animation-play-state: paused; }
.fade-in-up{ opacity: 0; transform: translateY(48px); animation: fadeInUp 2s forwards; animation-play-state: paused; }
.fade-1{ animation-delay: 0ms; } .fade-2{ animation-delay: 140ms; } .fade-3{ animation-delay: 280ms; } .fade-4{ animation-delay: 420ms; }
@keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

/* About */
.about-section { background: #fff; padding: 70px 0 60px; content-visibility:auto; contain-intrinsic-size: 800px; }
.about-container {
  max-width: 1200px; margin: 0 auto; display: flex; align-items: flex-start; gap: 40px; flex-wrap: wrap; padding: 0 16px;
}
.about-text { flex: 2 1 630px; min-width: 300px; color: #ab863b; }
.about-text h2 { font-size: clamp(32px, 6vw, 42px); margin-bottom: 18px; }
.about-text p  { color: #5c6470; font-size: 20px; line-height: 2.1; margin-bottom: 12px; text-align: right; }

.about-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
  flex: 1 1 410px; min-width: 320px; max-width: 440px; margin-top: 20px;
}
.stat-box {
  background: #fff; border-radius: 50% 20% / 10% 40%;
  box-shadow: 0 6px 24px rgba(171,134,59,0.12);
  padding: 28px 16px; text-align: center; min-height: 110px;
  transition: box-shadow .35s cubic-bezier(.4,2,.3,1), transform .28s cubic-bezier(.4,2,.3,1), background .3s;
  position: relative; overflow: hidden; margin-top: 44px;
}
.stat-box:hover{
  box-shadow: 0 14px 40px rgba(171,134,59,0.21), 0 1.5px 10px rgba(0,0,0,0.10);
  transform: translateY(-9px) scale(1.045);
  background: linear-gradient(97deg,#fff,#fffbe9 110%);
}
.stat-box::before{
  content:""; position:absolute; left:-80%; top:0; width:60%; height:100%;
  background: linear-gradient(120deg, rgba(255,193,7,0.07) 0%, rgba(255,193,7,0.14) 100%);
  transform: skewX(-24deg); transition:left .45s; pointer-events:none;
}
.stat-box:hover::before{ left:100%; }
.stat-number { font-size: 34px; font-weight: bold; color: #ab863b; }
.stat-label  { color: #5c6470; font-size: 18px; font-weight: 600; margin-top: 4px; }

section p { line-height: 1.8; }

/* Services */
.services-section { background: #fcfaf7; padding: 70px 0 90px; }
.services-header { text-align: center; margin-bottom: 42px; padding: 0 16px; color: #ab863b; }
.services-header h2 { font-size: 46px; margin-bottom: 18px; }
.services-header p  { font-size: 20px; color: #7e8494; margin: 0 auto; max-width: 700px; line-height: 1.8; }

.services-cards { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; padding: 0 12px; }
.service-card {
  background:#fff; border-radius: 22px; box-shadow: 0 8px 32px rgba(171,134,59,0.10);
  padding: 32px; max-width: 370px; min-width: 250px; flex: 1 1 300px;
  text-align:center; display:flex; flex-direction:column; align-items:center;
  transition: box-shadow .28s, transform .22s;
}
.service-card:hover{ box-shadow: 0 12px 42px rgba(171,134,59,0.20); transform: translateY(-7px) scale(1.035); }
.service-card h3{ color: #ab863b; font-size:26px; margin: 10px 0 8px; }
.icon-box{
  background: #fff; border: 1.2px solid #f0e6c8; border-radius:16px;
  width:64px; height:64px; display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; box-shadow: 0 4px 14px rgba(171,134,59,0.08);
  transition: background .25s, border-color .25s, box-shadow .25s, transform .2s;
}
.icon-box:hover{ transform: scale(1.08); }
.icon-box img{ width:60px; height:60px; object-fit:contain; display:block; }
.service-card p { color:#5c6470; font-size:17px; margin-bottom: 12px; min-height: 44px; }
.service-card ul{ list-style:none; padding:0; margin:0; text-align:right; width:100%; }
.service-card ul li{
  position:relative; font-size:16.5px; color:#404855; padding-right:24px; margin-bottom: 10px; line-height:1.9;
}
.service-card ul li::before{ content:"●"; color:#ab863b; position:absolute; right:0; font-size:18px; top:.2em; }


/* === LTR fix for Services bullets === */
html[dir="ltr"] #services .service-card ul {
  list-style: none !important;      /* شيل نقطة المتصفح الافتراضية */
  padding-left: 1.25rem !important; /* مسافة للنقطة المخصصة */
  direction: ltr !important;
  text-align: left !important;
}

/* أوقف الديكور الذهبي الموجود يميناً (المعمول غالباً بـ ::after) */
html[dir="ltr"] #services .service-card ul li::after {
  content: none !important;
}

/* اعمل نقطة مخصصة على اليسار */
html[dir="ltr"] #services .service-card ul li {
  position: relative;
}
html[dir="ltr"] #services .service-card ul li::before {
  content: "";
  position: absolute;
  left: -0.9rem;   /* موقع النقطة */
  margin-right: 6px !important;
  top: 0.85em;      /* وسط السطر تقريباً */
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ab863b;  /* نفس الذهبي تبع الهوية */
}



/* Clients */
.clients-section { background:#fff; padding: 80px 0 160px; }
.clients-header{ text-align:center; margin-bottom: 32px; padding: 0 16px; color: #ab863b; }
.clients-header h2{ font-size: 40px; margin: 0 0 10px; }
.clients-header p { font-size: 19px; color:#7e8494; margin:0 auto; max-width:600px; }
.clients-logos {
  display:flex;
  flex-wrap:wrap;
  gap:40px 28px; /* زودنا الفراغ العمودي */
  justify-content:center;
  align-items:center;
  padding: 0 4vw;
}

.client-logo{
  background:#fcfaf7; border-radius:14px; box-shadow:0 4px 14px rgba(171,134,59,0.06);
  padding:22px 28px; display:flex; align-items:center; justify-content:center;
  min-width:140px; min-height:90px; max-width:180px; max-height:110px;
  transition: box-shadow .24s, transform .2s, background .2s;
}
.client-logo img{ width:120px; height:60px; object-fit:contain; transition: filter .26s, transform .23s; display:block; max-width: 100%; }
.client-logo:hover{
  box-shadow:0 10px 26px rgba(171,134,59,0.13);
  transform: translateY(-5px) scale(1.05);
  background:#fffbe7;
}

.client-logo:hover img{ filter: grayscale(0%) brightness(1) drop-shadow(0 1px 8px #ffc10744); }
.client-logo[data-title]{ position: relative; }
.client-logo[data-title]:hover::after{
  content: attr(data-title); position: absolute; top: 110%; right: 50%; transform: translateX(50%);
  background: #fff; color: #ab863b; font-size: 13px; padding: 6px 10px; border-radius: 6px; white-space: nowrap;
  box-shadow: 0 4px 12px rgba(171,134,59,0.15); border: 1px solid #f0e6c8; pointer-events: none; z-index: 5; opacity: 0; animation: fadeInTooltip .25s forwards;
}
@keyframes fadeInTooltip { to { opacity: 1; } }

/* Team */
.team-section{ background:#fcfaf7; padding: 70px 0; }
.team-header{ text-align:right; margin: 0 auto 28px; padding: 0 16px; max-width: 1200px; color: #ab863b; }
.team-header h2{ font-size:44px; margin:0 0 10px; }
.team-header p { font-size:20px; color:#7e8494; margin:0; max-width:100%; }
.team-cards{ display:flex; flex-wrap:wrap; gap:28px; justify-content:center; padding: 5%; }
.team-card{
  background:#fcfaf7; border-radius:22px; box-shadow:0 8px 32px rgba(171,134,59,0.09);
  padding:30px; max-width:290px; flex:1 1 250px; text-align:center;
  transition: box-shadow .22s, transform .22s, background .2s;
  display:flex; flex-direction:column; align-items:center; min-height: 390px;
}
.team-card:hover{ box-shadow:0 14px 40px rgba(171,134,59,0.18); transform: translateY(-7px) scale(1.035); background:#fffbe7; }
.team-img{ width:108px; height:108px; margin: 0 auto 14px; border-radius:50%; overflow:hidden; box-shadow: 0 2px 8px #ffc10738; }
.team-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.team-card h3{ font-size:23px; margin: 0 0 6px; font-weight:700; }
.team-card span{ color:#ab863b; font-size:16px; font-weight:600; margin-bottom: 10px; display:block; }
.team-card p { color:#5c6470; font-size:16px; margin:0; line-height:1.9; }

.team-subtitle{ text-align: center; margin: 40px auto 20px; padding: 0 20px; }
.team-subtitle h3{ margin: 0; font-size: 26px; color: #ab863b; position: relative; }
.team-subtitle h3::after{ content:""; display:block; width:64px; height:3px; background:#ffc107; border-radius:999px; margin:8px auto 0; opacity:.95; }

.member-photo{ width:100px; height:100px; aspect-ratio:1/1; object-fit:cover; border-radius:50%; display:block; }


/* LTR: fix alignment in Team section */
html[dir="ltr"] .team-header { text-align: left; }
html[dir="ltr"] .team-header p { text-align: left; direction: ltr; }


/* Chips */
.lawyer-chips{ display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 1100px; margin: 20px auto 0; padding: 0 16px 8px; }
.chip{
  border: 1px solid #d6b65c; background: #fff; border-radius: 999px;
  padding: 10px 14px; font-size: 14.5px; font-weight: 600; color: #222; cursor: default;
  box-shadow: 0 2px 8px rgba(171,134,59,.10);
  transition: transform .15s ease, box-shadow .2s ease, background .2s, border-color .2s;
}
.chip:hover, .chip:focus-visible{ transform: translateY(-2px); background: #fffdf7; box-shadow: 0 8px 18px rgba(171,134,59,.18); border-color: #ab863b; outline: none; }
@media (max-width: 600px){ .lawyer-chips{ margin-top: 12px; } }

/* Values */
.values-section{ background:#ffffff; padding: 80px 0 70px; }
.values-header{ text-align:center; margin: 0 auto 34px; padding: 0 16px; max-width: 900px; color:#ab863b; }
.values-header h2{ font-size: clamp(30px, 5.2vw, 42px); margin: 0 0 10px; }
.values-header p { font-size: 19px; color: #7e8494; margin: 0 auto; max-width: 720px; }
.values-cards{ display:flex; flex-wrap:wrap; gap:24px; justify-content:center; padding: 0 12px; }
.value-card{
  background:#fff; border-radius: 20px; box-shadow:0 8px 26px rgba(171,134,59,0.10);
  padding: 28px 22px; max-width: 360px; min-width: 260px; flex: 1 1 300px; text-align: center;
  transition: box-shadow .24s, transform .2s, background .2s;
}
.value-card:hover{ background:#fffbe7; transform: translateY(-6px) scale(1.03); box-shadow:0 12px 40px rgba(171,134,59,0.18); }
.value-card h3{ font-size: 22px; margin: 0 0 12px; color:#ab863b; position: relative; }
.value-card h3::after{ content:""; display:block; width:54px; height:3px; background:#ffc107; border-radius: 999px; margin: 8px auto 0; }
.value-card p { font-size:17px; color:#5c6470; line-height:1.9; margin:0; }
@media (max-width: 500px){ .values-header h2{ font-size: 32px; } }

/* Contact */
.contact-section{ background:#fcfaf7; padding: 80px 0; }
.contact-container{
  max-width:1200px; margin:0 auto; display:flex; gap:48px; justify-content:center; align-items:flex-start; flex-wrap:wrap; padding: 0 16px;
}
.contact-info{ flex:1 1 320px; min-width:260px; }
.contact-info h2{ font-size:38px; color:#ab863b; margin: 0 0 10px; }
.contact-info p { color:#6e7480; font-size:18px; margin-bottom: 18px; }
.contact-details{ list-style:none; padding:0; margin: 0 0 16px; }
.contact-details li{ font-size:17px; margin-bottom:8px; color:#4c4c4c; }
.contact-details a { color:#2b6cb0; text-decoration:none; direction:ltr; font-family:monospace; display: inline-block; padding: 4px 5px; margin-bottom: 1px; min-height: 44px; line-height: 1.6; }
.contact-details li { margin-bottom: 5px; }
.contact-details a.tel{ display: block; padding: 10px 12px; min-height: 44px; line-height: 1.7; border-radius: 6px; }
.contact-details a.tel + a.tel{ margin-top: 8px; }
.contact-details li strong{ margin-left: 6px; }
.contact-social a{ display:inline-block; margin: 0 6px; transition: transform .2s; }
.contact-social a:hover{ transform: scale(1.12) rotate(-6deg); }
.contact-social img{ width:32px; height:32px; }

.branches { flex: 2 1 420px; min-width: 300px; background: #fff; border-radius: 18px; box-shadow: 0 4px 24px rgba(171,134,59,0.08); padding: 28px; }
.branches h2 { font-size: 32px; color: #ab863b; margin: 0 0 16px; text-align: right; }
.branches ul { list-style: none; padding: 0; margin: 0; }
.branches li { font-size: 17px; color: #444; margin-bottom: 12px; line-height: 1.8; position: relative; padding-right: 22px; }
.branches li::before { content: "●"; color: #ab863b; position: absolute; right: 0; font-size: 14px; top: 0.6em; }
.branches-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.branch-card { background: #fcfaf7; border: 1px solid #f0e6c8; border-radius: 14px; padding: 18px; box-shadow: 0 4px 16px rgba(171,134,59,0.1); display: flex; align-items: flex-start; gap: 10px; transition: transform .2s, box-shadow .2s; }
.branch-card:hover { transform: translateY(-4px); box-shadow: 0 8px 22px rgba(171,134,59,0.18); background: #fff; }
.branch-card .icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.branch-card .icon svg { width: 22px; height: 22px; fill: #ab863b; }
.branch-card p { margin: 0; font-size: 16px; color: #444; line-height: 1.7; }

/* EN — Hard override for Contact/Branches block */
html[lang="en"] #contact .branches,
html[lang="en"] #contact .branches * {
  direction: ltr !important;
  unicode-bidi: plaintext !important;
  text-align: left !important;
}

/* لو في ديكور قبل/بعد النص (نقطة/رمز) عم يضل يمين */
html[lang="en"] #contact .branch-card p::before,
html[lang="en"] #contact .branch-card p::after {
  left: 0 !important;
  right: auto !important;
}

/* مسافة بسيطة بين العنوان الغامق وباقي السطر */
html[lang="en"] #contact .branch-card p strong {
  margin-right: 6px !important;
  margin-left: 0 !important;
  display: inline-block; /* لتثبت المسافة */
}


/* Footer */
.main-footer{ background: linear-gradient(97deg, #ab863b 0%, #444 100%); color:#fff; padding:55px 0 0; margin-top:65px; box-shadow:0 -4px 18px rgba(171,134,59,0.11); }
.footer-container{ max-width:1240px; margin:0 auto; display:flex; gap:48px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; padding: 0 18px; }
.footer-info{ flex:1 1 330px; min-width:270px; }
.footer-logo{ display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.footer-logo img{ height: 100px; width: auto; display: block; }
.footer-info span{ font-size:19px; font-weight:700; color:#fff; line-height: 1.6; }
.footer-info p { font-size:15.7px; color:#f5e5b9; margin:14px 0 0; line-height:1.8; }

.footer-links{ flex:1 1 170px; min-width:140px; }
.footer-links h2, .footer-contact h2{ font-size:18px; color:#fffbe7; margin-bottom:12px; letter-spacing:1px; }
.footer-links ul, .footer-contact ul{ list-style:none; padding:0; margin:0; }
.footer-links li, .footer-contact li{ margin-bottom:7px; font-size:15.7px; color:#fff; }
.footer-links a, .footer-contact a{ color:#fffbe7; text-decoration:none; transition: color .23s; }
.footer-links a:hover, .footer-contact a:hover{ color:#ffe08a; text-decoration: underline; }

.footer-social{ margin-top: 12px; }
.footer-social a{ display:inline-block; margin: 0 4px; transition: transform .2s; }
.footer-social a:hover{ transform: scale(1.15) rotate(-6deg); }
.footer-social img{ width:30px; height:30px; vertical-align:middle; }
.footer-copy{ background:#42371fad; color:#ffe08a; text-align:center; padding: 15px 0 10px; font-size:15px; margin-top:30px; letter-spacing:1.1px; }

/* Touch targets improvements */
.footer-contact a{ display:inline-block; padding:8px 10px; min-height:44px; line-height:1.6; border-radius:6px; }
@media (max-width: 480px){
  .footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; }
  .footer-social img{ width:24px; height:24px; }
}

/* Contrast improvements */
.about-text p,
.service-card p,
.team-card p,
.contact-info p { color: #444; }
.services-header p,
.clients-header p,
.team-header p,
.stat-label { color: #555; }
.service-card ul li,
.contact-details li { color: #333; }

/* Desktop: disable content-visibility on big sections */
@media (min-width: 1024px){
  .hero,
  .about-section,
  #services, #clients, #team, #contact{
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }
}

/* Accent utility */
.yellow{ color:#ffc107; -webkit-text-fill-color:#ffc107; font-weight:700; }

/* Adjust spacing under hero title for both AR & EN */
.hero-text .subheading,
.hero-text h2 {
    margin-top: -50px; /* يمكنك تعديل القيمة لاحقاً حسب الأفضل بصرياً */
}

/* === Floating Language Switch (FAB) === */
.lang-fab {
    font-size: 15px;      /* بدل رمز 🌐 */
    font-weight: 700;
    letter-spacing: 0.5px;
    position: fixed;
    bottom: 18px;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #b48734; /* الذهبي المعتمد */
    color: #000;
    text-decoration: none;
    border: 2px solid rgba(255,255,255,.4);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    z-index: 3000;
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

/* Hover effect */
.lang-fab:hover {
    background: #c6983c;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

/* Arabic — button on the left */
html[lang="ar"] .lang-fab {
    left: 18px;
    right: auto;
}

/* English — button on the right */
html[lang="en"] .lang-fab {
    right: 18px;
    left: auto;
}

/* Mobile adjustments */
@media (max-width: 480px) {
    .lang-fab {
        width: 42px;
        height: 42px;
        font-size: 20px;
        bottom: 14px;
    }

    html[lang="ar"] .lang-fab {
        left: 14px;
        right: auto;
    }

    html[lang="en"] .lang-fab {
        right: 14px;
        left: auto;
    }
}

/* Reduce animation for accessibility */
@media (prefers-reduced-motion: reduce) {
    .lang-fab {
        transition: none;
    }
}
