/* Global */
* { box-sizing: border-box; }
body {
  font-family: Arial, sans-serif;
  background: #f4f6fb;
  color: #222;
  transition: background 0.3s, color 0.3s;
}

/* Dark mode */
body.dark-mode {
  background: #111827;
  color: #e5e7eb;
}
body.dark-mode .navbar,
body.dark-mode footer {
  background: #020617 !important;
}
body.dark-mode .service-card {
  background: #1f2937;
  border-left-color: #60a5fa;
}
body.dark-mode .hero-section {
  background: linear-gradient(135deg, #020617, #1f2937);
}

/* Navbar / mega-menu feel */
.navbar-nav .nav-link {
  font-weight: 600;
  margin: 0 8px;
}
.navbar {
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Hero */
.hero-section {
  height: 450px;
  background: linear-gradient(135deg, #1A3972, #3172B6);
  overflow: hidden;
  padding: 60px 0;
  position: relative;
  color: #fff;
}

/* Floating icons */
.floating-icon {
  position: absolute;
  width: 80px;
  opacity: 0.18;
  animation: floatUp 12s linear infinite;
}
@keyframes floatUp {
  from { transform: translateY(500px); }
  to { transform: translateY(-300px); }
}

/* Service cards */
.service-card {
  transition: 0.3s ease;
  border-left: 5px solid #3172B6;
  background: #fff;
}
.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Counters */
.counter-box {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.counter-number {
  font-size: 32px;
  font-weight: 700;
  color: #1D4ED8;
}

/* Footer */
footer {
  background: #1A3972;
  color: #fff;
}

/* RTL */
.rtl {
  direction: rtl;
  text-align: right;
}
.rtl .navbar-nav .nav-link {
  margin-right: 8px;
  margin-left: 0;
}
/* Service Card Hover Reveal */
.service-card {
  position: relative;
  overflow: hidden;
  transition: 0.3s ease;
  cursor: pointer;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Hidden content */
.service-extra {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  background: #f8f9fa;
  padding: 0 15px;
  border-top: 1px solid #e5e7eb;
}

.service-card:hover .service-extra {
  max-height: 300px; /* enough for content */
  padding-top: 15px;
  padding-bottom: 15px;
}
/* --- MEGA MENU --- */
.navbar .dropdown-menu {
  border-radius: 10px;
  padding: 20px;
  min-width: 350px;
}

.mega-menu-title {
  font-weight: 700;
  color: #1A3972;
  margin-bottom: 10px;
}

/* --- SERVICE CARD ICONS --- */
.service-icon {
  width: 45px;
  height: 45px;
  margin-bottom: 10px;
}

/* --- ROTATING ARROW ON HOVER --- */
.arrow-icon {
  width: 20px;
  transition: transform 0.3s ease;
}

.service-card:hover .arrow-icon {
  transform: rotate(90deg);
}

/* --- HOVER REVEAL --- */
.service-extra {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  background: #f8f9fa;
  padding: 0 15px;
  border-top: 1px solid #e5e7eb;
}

.service-card:hover .service-extra {
  max-height: 300px;
  padding-top: 15px;
  padding-bottom: 15px;
}

/* RTL arrow flip */
.rtl .arrow-icon {
  transform: rotate(180deg);
}
.rtl .service-card:hover .arrow-icon {
  transform: rotate(90deg);
}

