:root {
  --primary: #ff4d00;
  /* Biter Orange */
  --primary-dark: #e64500;
  --accent: #ff8a00;
  --bg-color: #f8f9fa;
  /* Ultra Clean light grey/white background */
  --card-bg: #ffffff;

  --text-main: #0f172a;
  /* Deep slate for maximum readability */
  --text-muted: #64748b;

  --shadow-color: 255, 77, 0;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);

  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-pill: 9999px;

  --font-en: "Outfit", sans-serif;
  --font-ar: "Cairo", sans-serif;
}

body.dark-mode {
  --primary: #ff5a1f;
  --primary-dark: #ff4d00;
  --accent: #ffd700;

  --bg-color: #0a0a0a;
  /* Deep Dark */
  --card-bg: #1a1a1a;
  /* Elevation Grey */

  --text-main: #ffffff;
  --text-muted: #a0a0a0;

  --shadow-color: 0, 0, 0;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-en);
  background-color: var(--bg-color);
  color: var(--text-main);
  line-height: 1.5;
  transition: opacity 0.5s ease;
  overflow-x: hidden;
  opacity: 0;
  visibility: hidden;
}

body.ready {
  opacity: 1;
  visibility: visible;
}

html {
  overflow-x: hidden;
}

html[dir="rtl"] {
  font-family: var(--font-ar);
}

/* Utilities */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.hidden {
  display: none !important;
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInLeft {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
