body {
  accent-color: var(--clr-primary);
}

main {
  max-width: 600px;
  padding-bottom: 2em;
}

dialog-component {
  --close-icon-color: var(--clr-primary);
  --background-color: var(--clr-bright);
}

dialog-component::part(content) {
  border-radius: var(--border-radius-xl);
  padding: 1em;
}
.submit-btn {
  position: relative;

  .loader {
    --m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;

    position: absolute;
    inset-inline-end: 0.5em;
    inset-block-start: 0.5em;
    width: 2rem;
    height: 2rem;
    margin: auto;
    aspect-ratio: 1;
    padding: 8px;
    border-radius: 50%;
    background: var(--clr-bright);
    mask: var(--m);
    mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
  }
}
.error-dialog {
  .error-dialog-content {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }

  .error-title {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    color: var(--clr-primary);
  }

  .error-message {
    margin: 0;
    text-align: center;
    font-size: 1.2rem;
    color: var(--clr-secondary);
  }

  .error-close-btn {
    width: 100%;
  }
}

.top-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-block: 2rem;
  border-radius: var(--border-radius-xl);
  padding: 2em;
  background-image: linear-gradient(to bottom, var(--clr-primary), hsl(from var(--clr-primary) h s l / 80%) 100%),
    url("../assets/Man_Points_At_Quran.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

  .txt-content {
    .title {
      margin: 0;
      margin-bottom: 1em;
      text-align: center;
      color: var(--clr-bright);
      font-weight: bold;
      font-size: 2rem;
    }

    .logo {
      display: block;
      margin: auto;
      fill: var(--clr-bright);
    }
  }
}

.form-container {
  input,
  select {
    display: block;
    background-color: var(--clr-bright);
    border-radius: var(--border-radius-l);
    border: solid 2px var(--clr-primary);
    color: var(--clr-secondary);
    font-weight: bold;
    outline: none;
    padding: 1em;
  }

  label {
    color: var(--clr-primary);
  }

  input[type="checkbox"] {
    accent-color: var(--clr-primary);
    width: 1.4rem;
    height: 1.4rem;
    cursor: pointer;
  }

  form {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }

  .phone-number-input-container {
    display: flex;
    flex-direction: row;
    gap: 1em;

    input[name="phoneNumber"] {
      text-align: center;
      flex: 1;
    }

    input[name="countryCode"] {
      text-align: center;
      width: 25%;
    }
  }

  .date-container {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;

    input {
      flex: 1;
    }
  }

  .term-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1em;
  }

  .note {
    color: var(--clr-faded);
  }
}

footer {
  position: relative;
  max-height: 400px;
  overflow: hidden;

  .footer-image {
    display: grid;
    width: 100%;
  }

  .footer-image img {
    grid-area: 1 / 1;
    height: auto;
    width: 100%;
    margin: auto;
  }

  .footer-image .gradient {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    background: #0000;
    background: linear-gradient(0deg, #0000 0%, #fff 100%);
  }

  .links-container {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
    grid-area: 1 / 1;
    place-self: baseline center;
    margin-top: 10%;
    background-color: #ffffff80;
    padding: 0.8em;
    border-radius: 200px;
  }

  .links {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1em;
  }

  .links .icon {
    width: 2.4em;
    height: 2.4em;
    fill: var(--clr-primary);
  }

  .links .link {
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-text-decoration: none;
    text-decoration: none;
  }
}

@media screen and (width <= 800px) {
  main {
    padding-inline: 1rem;
  }

  .form-container {
    input,
    select {
      font-size: 0.8rem;
    }
  }
}
@keyframes l3 {
  to {
    transform: rotate(1turn);
  }
}
