/* ==============================
   Global Variables & Base Setup
   ============================== */
:root {
  --blue: #3B82F6;
  --teal: #06B6D4;
  --yellow-light: #fffbe6;
  --yellow-border: #ffe58f;
  --white: #ffffff;
  --gray-light: #f8f8f8;
  --gray-border: #d4d4d4;
  --gray-dark: #333;
  --bg-overlay: rgba(212, 212, 212, 0.5);
  --gold1: #FFB300;
  --gold2: #FFC107;
  --gold3: #FFD700;
}

/* ==============================
   Fonts
   ============================== */
/* @font-face {
  font-family: "Cairo Play";
  src: url("/assets/fonts/Cairo_Play/static/CairoPlay-Regular.ttf") format("truetype");
  font-weight: 400;
}

@font-face {
  font-family: "Cairo Play";
  src: url("/assets/fonts/Cairo_Play/static/CairoPlay-SemiBold.ttf") format("truetype");
  font-weight: 600;
}

@font-face {
  font-family: "Cairo Play";
  src: url("/assets/fonts/Cairo_Play/static/CairoPlay-Bold.ttf") format("truetype");
  font-weight: 700;
}

@font-face {
  font-family: "Cairo Play";
  src: url("/assets/fonts/Cairo_Play/static/CairoPlay-Black.ttf") format("truetype");
  font-weight: 900;
} */

/* ==============================
   Base Body & Layout
   ============================== */
body {
  margin: 0;
  background: url("/assets/images/new-chips-1-5.png") no-repeat center top fixed;
  background-size: contain;
  position: relative;
 font-family: "Cairo", sans-serif !important;


}


.arabic-text {
  font-family: "Noto Sans Arabic", sans-serif;
}
.btn-outline-dark:hover {
  background-color: transparent !important;
  color: #212529 !important;
  border-color: #212529 !important;
}

body::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bg-overlay);
  backdrop-filter: blur(1px);
  z-index: 0;
}

.login-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 1rem;
  position: relative;
  z-index: 1;
}

/* ==============================
   Auth Card Styles
   ============================== */
.login-card {
  display: flex;
  flex-direction: row;
  width: 100%;
  max-width: 900px;
  background-color: var(--white);
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.login-form {
  flex: 1;
  padding: 1.7rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #F9FAFB;
  border: 2px solid #E5E7EB;
}

.login-logo {
  display: block;
  margin: 0 auto 1rem auto;
  width: 100px;
}

/* ==============================
   Form Elements
   ============================== */
.form-label {
  font-weight: 600;
  color: var(--gray-dark);
  margin-bottom: 0.3rem;
  text-align: right;
  display: block;
}

.form-control {
  background: var(--white);
  /* box-shadow: inset 0 4px 6px rgba(0, 0, 0, 0.15); */
  border-radius: 16px;
  border: 1.6px solid #E5E7EB;
  font-size: 0.9rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  padding: 10px;
}

.form-control:focus {
  outline: none;
  border-color: var(--blue);
  box-shadow: inset 0 0px 0px rgba(0, 0, 0, 0.15);
}

.form-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  direction: rtl;
  padding-left: 0;
}

.form-check-input {
  margin: 0 0.4rem 0 0 !important;
}

.form-check-label {
  font-size: 0.9rem;
  color: var(--gray-dark);
}

/* ==============================
   Buttons
   ============================== */
.btn-primary {
  background: linear-gradient(90deg, var(--blue) 0%, var(--teal) 100%);
  border: none;
  border-radius: 16px;
  padding: 0.55rem;
  font-weight: 600;
  box-shadow: 0 6px 15px rgba(59, 130, 246, 0.25);
  transition: all 0.2s ease;
}

.btn-primary:hover {
  opacity: 0.9;
}

.btn-outline-dark {
    background: var(--white);
    border-radius: 16px;
    border: 1.6px solid #E5E7EB;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    padding: 10px;
    font-weight: 600;
  /* background-color: var(--white); */
  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); */
}

.btn-outline-dark:hover {
  background: none;
  color: var(--gray-dark);
}
.form-check-input[type=checkbox] {
    border-radius: none;
}
/* ==============================
   Password Eye Icon
   ============================== */
.password-wrapper {
  position: relative;
}

.login-logo .password-wrapper .toggle-password {
  position: absolute;
  /* top: 72%; */
  transform: translateY(-50%);
  left: 0.8rem;
  cursor: pointer;
  color: #555;
}

/* ==============================
   Banner Section
   ============================== */
.login-banner {
  flex: 1;
  background: linear-gradient(to bottom right, var(--gold1), var(--gold2), var(--gold3));
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.login-banner h1 {
  font-size: 4rem;
  font-weight: 900;
  color: #fff8dc;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4),
    0 0 15px rgba(255, 193, 7, 0.8),
    0 0 25px rgba(255, 193, 7, 0.6);
  letter-spacing: 2px;
}

.login-banner .to-text {
  position: absolute;
  top: 23%;
  left: 68%;
  color: var(--white);
  background: #f29b00;
  width: 88px;
  height: 88px;
  line-height: 83px;
  border-radius: 50%;
  font-size: 34px;
  font-weight: bold;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);
}

.login-banner p {
  font-size: 1.7rem;
  color: #604300;
  font-weight: bold;
}

/* ==============================
   Alert Box (for reset password)
   ============================== */
  .alert-custom {
    background-color: var(--yellow-light);
    border: 1px solid var(--yellow-border);
    color: var(--gray-dark);
    font-size: 0.9rem;
    text-align: right;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
  }

  /* ==============================
    Back Link & Dividers
    ============================== */
  .back-link {
    display: block;
    margin-top: 1rem;
    font-size: 0.9rem;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
  }

  .back-link:hover {
    color: var(--blue);
  }

  .or-divider {
      display: flex;
      align-items: center;
      text-align: center;
      margin: 1rem 0;
  }

  .or-divider::before,
  .or-divider::after {
      content: "";
      flex: 1;
      border-bottom: 1px solid #ccc;
  }

  .or-divider:not(:empty)::before {
      margin-right: 0.5em;
  }

  .or-divider:not(:empty)::after {
      margin-left: 0.5em;
  }

  .login-banner {
      flex: 1;
        background: linear-gradient(to bottom left, var(--gold1), var(--gold2), var(--gold3));
      color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 2rem;
      position: relative;
      overflow: hidden;
  }

  .login-banner h1 {
      font-size: 4rem;
      font-weight: 900;
      position: relative;
      z-index: 2;
      text-transform: uppercase;
      color: #fff8dc;
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4), 0 0 15px rgba(255, 193, 7, 0.8), 0 0 25px rgba(255, 193, 7, 0.6);
      letter-spacing: 2px;
  }

  .login-banner .to-text {
      position: absolute;
      top: 20%;
      left: 12%;
      color: #ffffff;
      background: #f29b00;
      width: 88px;
      height: 88px;
      line-height: 83px;
      border-radius: 50%;
      font-size: 34px;
      font-weight: bold;
      z-index: 1;
      box-shadow: 0 0 25px rgba(0, 0, 0, 0.3);
  }

  .login-banner strong {
      font-size: 78px;
  }
.login-banner .register {
      font-size: 65px;
  }
  .carousel-inner img {
      border-radius: 20px;
      max-width: 100%;
      height: auto;
      margin-top: 1rem;
      position: relative;
      z-index: 2;
  }

  .carousel-indicators {
      position: relative;
      margin-top: 1rem;
  }

  .carousel-indicators [data-bs-target] {
      background-color: #604300;
      width: 12px;
      height: 12px;
      border-radius: 50%;
      opacity: 0.5;
      transition: all 0.3s ease;
  }

  .carousel-indicators .active {
      opacity: 1;
      background-color: #fff;
      transform: scale(1.3);
  }

  .login-banner p {
      font-size: 1.7rem;
      position: relative;
      z-index: 2;
      color: #604300;
      font-weight: bold;
  }

  .form-check {
      padding-left: 0px;
  }
.toggle-password{
    position:absolute;
    left:10px;
    top:71%;
    transform:translateY(-50%);
    cursor:pointer;
    color:#999;
    font-size:1.1rem;
}
    .password-wrapper {
        position: relative;
    }

    .toggle-password {
        position: absolute;
        top: 50%;
        left: 12px;
        transform: translateY(-50%);
        cursor: pointer;
        color: #6c757d;
        font-size: 1.2rem;
    }

    #password-strength {
        height: 5px;
    }

    .btn-generate {
    background: none;
    border: none;
    color: #ffbc59;
    font-size: 1.2rem;
    cursor: pointer;
    border: 1px solid;
    border-radius: 8px;
    padding: -3px 1px;

    }

    .btn-generate:hover {
        color: #f59f00;
    }
    .password-wrapper {
    position: relative;


    }



    .password-wrapper .toggle-password {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 12px;
    cursor: pointer;
    font-size: 1.2rem;
    color: #6c757d;
    z-index: 2;
    }

.btn-group>.btn-group:not(:last-child)>.btn, .btn-group>.btn.dropdown-toggle-split:first-child, .btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 16px !important;
    border-bottom-right-radius: 16px !important;
}
.btn-group>.btn-group:not(:first-child)>.btn, .btn-group>.btn:nth-child(n+3), .btn-group>:not(.btn-check)+.btn {
       border-top-left-radius: 16px !important;
    border-bottom-left-radius: 16px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;;
}
.btn-check:checked + .btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check) + .btn:active {
    background: linear-gradient(90deg, var(--blue) 0%, var(--teal) 100%) !important;
    border-color: var(--blue);
}


.btn:hover,
.btn-check + .btn:hover {
    background: linear-gradient(90deg, var(--teal) 0%, var(--blue) 100%) !important;
    border-color: var(--teal);
    color: #fff !important;
    transition: all 0.3s ease;
}


  @media (max-width: 992px) {
      .login-card {
          flex-direction: column;
          background: rgba(255, 255, 255, 0.95);
      }

      .login-banner {
          display: none;
      }

      body::before {
          background: rgba(255, 255, 255, 0.3);
      }

      .login-form {
          padding: 1.7rem 1.5rem;
      }

      body {
              background: linear-gradient(to bottom right, var(--gold1), var(--gold2), var(--gold3));
      }
    }
        .phone-input.valid {
            border-color: green !important;
        }

        .phone-input.invalid {
            border-color: red !important;
        }

        .phone-validation-icon.valid {
            color: green;
        }

        .phone-validation-icon.invalid {
            color: red;
        }

        .intl-tel-input {
            width: 100%;
        }

        .iti__country {
            display: flex !important;
            align-items: center;
            padding: 10px 16px;
            font-size: 12px !important;
            color: #333;
            transition: background-color 0.2s ease;
        }

        .iti__country:hover {
            background-color: #f5f5f5 !important;
            cursor: pointer;
        }



        .iti {
            direction: ltr !important;
            text-align: left !important;
            display: block !important;
        }

        .iti__flag-container {
            left: 0 !important;
            right: auto !important;
            padding-right: 20px !important;


        }

        .iti__selected-dial-code {
            margin-left: 0px !important;
            margin-right: 0 !important;
            font-size: inherit;
        }

        .iti__selected-country-primary {
            padding: 0px 0px 0px 6px !important;
        }



        .iti__sy {
            background-image: url("/assets/images/flagofsyria.png") !important;
            background-size: 100% 100% !important;
            background-position: center !important;
        }

        .iti--allow-dropdown .iti__country-container {
            left: 0 !important;
            right: auto !important;
        }

        input[type="tel" i] {
            direction: ltr !important;
            text-align: right !important;
        }

        .iti__selected-flag {
            gap: 3px;
            background-color: transparent !important;
        }
        [dir=rtl] .iti--allow-dropdown input, [dir=rtl] .iti--allow-dropdown input[type=text], [dir=rtl] .iti--allow-dropdown input[type=tel], [dir=rtl] .iti--separate-dial-code input, [dir=rtl] .iti--separate-dial-code input[type=text], [dir=rtl] .iti--separate-dial-code input[type=tel] {
            padding-right: 15px !important;
        }
        .iti__country-list {
            z-index: 5 !important;
        }
        /* .iti-mobile .iti__country-list {
            max-height: 50% !important;
            bottom: 10% !important;
        } */
