      :where([class^="ri-"])::before { content: "\f3c2"; }
      body {
      font-family: 'Tajawal', sans-serif;
      background-color: #f9fafb;

      }
      /*
      .scroll-container {
      -ms-overflow-style: none;
      scrollbar-width: none;
      }
      .scroll-container::-webkit-scrollbar {
      display: none;
      }*/
      input[type="number"]::-webkit-inner-spin-button,
      input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
      }
      .custom-switch {
      position: relative;
      display: inline-block;
      width: 50px;
      height: 24px;
      }
      .custom-switch input {
      opacity: 0;
      width: 0;
      height: 0;
      }
      .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      transition: .4s;
      border-radius: 34px;
      }
      .slider:before {
      position: absolute;
      content: "";
      height: 18px;
      width: 18px;
      left: 3px;
      bottom: 3px;
      background-color: white;
      transition: .4s;
      border-radius: 50%;
      }
      input:checked + .slider {
      background-color: #f9fafb;
      }
      input:checked + .slider:before {
      transform: translateX(26px);
      }
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 1s ease forwards;
}
 .faq-answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-out, margin-top 0.3s ease-out;
}

.faq-answer.active {
    margin-top: 0.75rem; 
}

.faq-item.bg-primary-lighter {
    background-color: var(--primary-lighter-color); 
}

.faq-item.border-primary {
    border-color: var(--primary-color); 
}
       

        /* العنصر الذي سيحل محل الـ body/html في التحكم بالخلفية والكرات */
        #appBackground {
            height: 100vh;
            /* يملأ كامل ارتفاع الشاشة */
            width: 100vw;
            /* يملأ كامل عرض الشاشة */
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Tajawal', sans-serif;
            /* الخط للعربي */
            background: linear-gradient(135deg, var(--primary-dark-blue) 0%, #3a4768 100%);
            /* خلفية متدرجة */
            display: flex;
            /* لمركزة الـ app-container */
            align-items: center;
            /* لمركزة الـ app-container عمودياً */
            justify-content: center;
            /* لمركزة الـ app-container أفقياً */
            overflow: hidden;
            /* لمنع ظهور scrollbar بسبب تأثيرات الكرات */
            position: relative;
            /* ضروري للكرات */
            direction: rtl;
            /* اتجاه الكتابة من اليمين لليسار للصفحة بالكامل */
        }

        /* تأثيرات خلفية كرات كرة القدم */
        #appBackground::before {
            content: '';
            position: absolute;
            top: -50px;
            left: -50px;
            width: 200px;
            height: 200px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 50%;
            animation: moveBall1 15s infinite alternate ease-in-out;
            z-index: 0;
        }

        #appBackground::after {
            content: '';
            position: absolute;
            bottom: -50px;
            right: -50px;
            width: 250px;
            height: 250px;
            background: rgba(255, 255, 255, 0.07);
            border-radius: 50%;
            animation: moveBall2 20s infinite alternate-reverse ease-in-out;
            z-index: 0;
        }

        @keyframes moveBall1 {
            0% {
                transform: translate(0, 0);
            }

            50% {
                transform: translate(100px, 150px);
            }

            100% {
                transform: translate(0, 0);
            }
        }

        @keyframes moveBall2 {
            0% {
                transform: translate(0, 0);
            }

            50% {
                transform: translate(-120px, -180px);
            }

            100% {
                transform: translate(0, 0);
            }
        }

        /* حاوية التطبيق الرئيسية (لصفحات تسجيل الدخول/التسجيل/إعادة تعيين كلمة المرور) */
        .app-container {
            background-color: #ebebec;
            border-radius: 2.5rem;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
            max-width: 19rem;
            padding: .5rem 1.5rem;
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;

        }

        /* شاشات أكبر */
        @media (min-width: 640px) {

            /* Small screens (sm) and up */
            .app-container {
                max-width: 28rem;
                padding: 3rem 2rem;
                border-radius: 2rem;
                /* حواف أكبر قليلاً للشاشات الأكبر */
            }
        }

        /* أزرار التسجيل والدخول والعودة */
        .btn-primary-green {
            background-color: var(--brand-green);
            color: white;
            padding: 0.85rem 1.5rem;
            /* ارتفاع مناسب للزر */
            border-radius: 0.75rem;
            /* شكل مستطيل بحواف دائرية */
            font-weight: 600;
            font-size: 1.1rem;
            /* حجم خط أكبر للزر */
            transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
            width: 100%;
            max-width: 18rem;
            /* عرض أقصى للزر */
            margin-left: auto;
            margin-right: auto;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
            /* ظل أغمق للزر */
            -webkit-tap-highlight-color: transparent;
            /* إزالة التظليل الأزرق عند النقر على الجوال */
        }

        .btn-primary-green:hover {
            background-color: var(--brand-green-dark);
            transform: translateY(-2px);
            box-shadow: 0 8px 15px rgba(0, 0, 0, 0.25);
        }

        .btn-primary-green:active {
            /* تأثير عند الضغط على الجوال */
            transform: translateY(0);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* حقول الإدخال */
        .input-field {
            padding: 0.75rem 1rem;
            border-radius: 0.75rem;
            border: 1px solid #cbd5e0;
            width: 100%;
            box-sizing: border-box;
            font-size: 1rem;
            color: var(--text-heading);
            background-color: white;
            /* خلفية بيضاء للحقل */
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
            text-align: right;
            /* محاذاة النص لليمين */
        }

        .input-field::placeholder {
            color: #a0a7b4;
            /* لون فاتح لـ placeholder */
        }

        .input-field:focus {
            outline: none;
            border-color: var(--link-blue);
            box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
        }

        .select-field {
            -webkit-appearance: none;
            /* إزالة سهم الافتراضي للمتصفحات */
            -moz-appearance: none;
            appearance: none;
            background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>');
            background-repeat: no-repeat;
            background-position: left 0.75rem center;
            /* مكان السهم الجديد ليتناسب مع RTL */
            background-size: 1.5em;
            padding-right: 2.5rem;
            /* مسافة لليسار لكي لا يختفي السهم تحت النص */
        }

        /* عناوين ونصوص عامة */
        h2 {
            color: var(--text-heading);
            font-size: 2.25rem;
            /* text-3xl */
            font-weight: 700;
        }

        p {
            color: var(--text-body);
        }

        a,
        button.text-blue-600 {
            /* للروابط والأزرار التي تبدو كروابط */
            color: var(--link-blue);
            text-decoration: none;
            font-weight: 600;
            transition: color 0.3s ease;
            -webkit-tap-highlight-color: transparent;
        }

        a:hover,
        button.text-blue-600:hover {
            color: var(--link-blue-hover);
        }

        /* ستايلات SweetAlert2 المخصصة لجعلها متجاوبة وجميلة */
        .swal2-responsive-popup {
            width: 90% !important;
            max-width: 400px;
        }

        .swal2-confirm-button,
        .swal2-cancel-button {
            background-color: var(--brand-green) !important;
            color: white !important;
            border-radius: 0.5rem !important;
            font-weight: 600 !important;
            padding: 0.75rem 1.5rem !important;
            transition: background-color 0.3s ease !important;
        }

        .swal2-cancel-button {
            background-color: #6c757d !important;
        }

        .swal2-confirm-button:hover {
            background-color: var(--brand-green-dark) !important;
        }

        .swal2-cancel-button:hover {
            background-color: #5a6268 !important;
        }
/*login*/
  .container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: 'Segoe UI', sans-serif;
  padding: 1rem;
}

.wrapper {
  max-width: 360px;
  width: 100%;
}

.card {
  background: white;
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.card-image img {
  width: 80px;
  margin-bottom: 20px;
}

.card h2 {
  margin-bottom: 10px;
  font-size: 24px;
  color: #333;
}

.subtitle {
  font-size: 14px;
  color: #777;
  margin-bottom: 20px;
}

form input {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-family: 'Segoe UI', sans-serif;
}

.bt {
  width: 100%;
  padding: 12px;
  background-color: #4b587d;
  color: white;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 10px;
  font-family: 'Segoe UI', sans-serif;
}

.forgot-link {
  display: block;
  margin: 5px 0 10px;
  font-size: 13px;
  color: #4b587d;
  text-decoration: none;
}

.signup-text {
  margin-top: 20px;
  font-size: 14px;
}

.signup-text a {
  color: #4b587d;
  text-decoration: none;
  font-weight: bold;
}

.options {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.options a {
  font-size: 14px;
  text-decoration: none;
  color: #4b587d;
  transition: 0.3s;
  text-align: center;
}

.options a:hover {
  text-decoration: underline;
}

.guest-link {
  font-weight: bold;
  color: #4b587d;
}

