@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fv.woff2') format('woff2');
}

html[dir='rtl'] {
  font-family: 'Cairo', Tahoma, Arial, sans-serif;
}

html[dir='ltr'] body {
  font-family: 'Urbanist', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Overlay Spinner */
.lang-spinner {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none; /* JS will toggle */
}
.lang-spinner.active {
  display: grid;
  place-items: center;
}

#sidebar {
  inset-block: 0;
  inset-inline-start: -10px;
  will-change: transform;
  transition: transform 300ms ease-out;
  transform: translateX(var(--x, var(--hiddenX)));
}

html[dir='ltr'] #sidebar {
  --hiddenX: -100%;
}
html[dir='rtl'] #sidebar {
  --hiddenX: 100%;
}

html[dir='ltr'] #sidebar[data-open='true'] {
  --x: 10px;
}
html[dir='rtl'] #sidebar[data-open='true'] {
  --x: -10px;
}

.container {
  width: 100%;
  max-width: 1500px !important;
  margin: 0 auto;
  padding: 0 30px !important;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .container {
    padding: 0 10px !important;
    max-width: 100% !important;
  }
}

.box-item:hover {
  transform: scale(1.02) !important;
  transition: 0.3s;
  box-shadow: 0px 8px 32px rgba(0, 0, 0, 0.3);
}
.box-item img {
  transition: transform 0.3s ease, filter 0.3s ease; /* Smooth zoom and filter */
}

.box-item:hover img {
  transform: scale(1.1); /* Slight zoom on hover */
  filter: brightness(1.2); /* Increase brightness for the hover effect */
}

.box-item h3 {
  transition: color 0.3s ease;
}

.box-item:hover h3 {
  color: #075130; /* Change text color to a vibrant pink */
}

.box-item p {
  transition: color 0.3s ease;
}

.box-item:hover p {
  color: #000;
}

.font-number {
  font-family: 'Urbanist', sans-serif;
}

.custom-bullets li {
  position: relative; /* Position relative to allow positioning of the pseudo-element */
  padding-left: 1.5rem; /* Adjust the left padding to make room for the bullet */
}

.custom-bullets li::before {
  position: absolute;
  width: 8px;
  height: 8px;
  content: '';
  background-color: #5d5d5d;
  border-radius: 50%;

  left: 6px;
  top: 13px;
  transform: translateY(-50%);
  color: #006337;
  font-size: 1.25rem;
}

html[dir='rtl'] .custom-bullets li {
  padding-left: 0 !important;
  padding-right: 1.5rem;
}
html[dir='rtl'] .custom-bullets li::before {
  left: auto;
  right: 6px;
}

@keyframes slideTop {
  from {
    height: 0;
  }
  to {
    height: 100%; /* You can adjust this based on the desired final height */
  }
}

/* Apply the custom animation */
.aos-animate[data-aos='custom-slide'] {
  height: 0; /* Initial height */
  animation: slideTop 1s ease-out forwards; /* Apply custom animation */
  transition: none; /* Remove transition to avoid conflicts */
}

[data-aos='slide-top'] {
  transform: translateY(-100px) scaleY(0.95);
  opacity: 0;
}

[data-aos='slide-bottom'] {
  transform: translateY(100px) scaleY(0.95);
  opacity: 0;
}

/* الأنيميشن بعد ما AOS يضيف .aos-animate */
.aos-animate[data-aos='slide-top'] {
  animation: slideTop2 2s cubic-bezier(0.4, 1, 0.9, 1) forwards;
}

.aos-animate[data-aos='slide-bottom'] {
  animation: slideDown 2s cubic-bezier(0.4, 1, 0.9, 1) forwards;
}

/* keyframes لازم 0% يطابق الحالة الابتدائية فوق */
@keyframes slideTop2 {
  0% {
    transform: translateY(-100px) scaleY(0.95);
    opacity: 0;
  }
  40% {
    transform: translateY(10px) scaleY(1.02);
    opacity: 0.6;
  }
  100% {
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(100px) scaleY(0.95);
    opacity: 0;
  }
  40% {
    transform: translateY(-5px) scaleY(1.02);
    opacity: 0.6;
  }
  100% {
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
}

/* تأخيرات زي AOS */
[data-aos-delay='100'] {
  animation-delay: 0.1s !important;
}
[data-aos-delay='200'] {
  animation-delay: 0.2s !important;
}
[data-aos-delay='300'] {
  animation-delay: 0.3s !important;
}
[data-aos-delay='400'] {
  animation-delay: 0.4s !important;
}
[data-aos-delay='500'] {
  animation-delay: 0.5s !important;
}
[data-aos-delay='600'] {
  animation-delay: 0.6s !important;
}

[data-aos^='slide-'] {
  will-change: transform, opacity;
  backface-visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .aos-animate[data-aos^='slide-'] {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}



.goal-card {
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  padding: 18px 14px;
  text-align: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
.goal-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.1);
}
.goal-text {
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.35;
  font-weight: 500;
  font-size: 0.95rem;
}

html[dir='rtl'] #sustainabilityStrategy .grid {
  direction: rtl;
}

html[dir='rtl'] #sustainabilityStrategy h2,
html[dir='rtl'] #sustainabilityStrategy h3 {
  text-align: right;
}
html[dir='rtl'] #sustainabilityStrategy p {
  text-align: justify;
}

@media (max-width: 640px) {
  .goal-text {
    font-size: 0.92rem;
  }
}



 .custom-scroll {
    scrollbar-width: thin;
    scrollbar-color: #73b23e #f2f2f2; 
  }

  /* Chrome, Edge, Safari */
  .custom-scroll::-webkit-scrollbar {
    height: 10px; 
  }

  .custom-scroll::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 10px;
  }

  .custom-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(90deg, #73b23e 0%, #267d39 100%);
    border-radius: 10px;
    transition: background 0.3s ease;
  }

  .custom-scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(90deg, #8ac43e 0%, #4ea03f 100%);
  }

  .custom-scroll::-webkit-scrollbar-track-piece {
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
  }