@import url("https://fonts.googleapis.com/css2?family=Exile&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

/* Reset */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

html,
body {
  width: 100%;
  height: 100%;
  background: #ebeffd;
  overflow-x: hidden;
  scroll-behavior: smooth !important;
}

li {
  list-style: none;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

button {
  padding: 1rem 1.5rem;
  border: none;
  border-radius: 2.5rem;
  background: #000;
  color: #fff;
  box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.15);
  border: 1px solid #ff0ddf;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;

  svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}

/* Header */

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 1rem;

  .logo {
    font-size: 1.5rem;
    font-weight: bold;
    font-family: "Exile", serif;
    transition: all 0.3s ease;
    cursor: pointer;
  }

  .logo:hover {
    color: #640557;
    text-shadow: 0 0 10px rgba(255, 4, 217, 0.15);
  }

  .cta {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;

    button {
      padding: 0.5rem 1rem;
      border-radius: 1.5rem;
    }
  }
}

/* Nav */
nav {
  display: flex;
  gap: 2rem;

  a {
    text-decoration: none;
    color: #000;
    font-size: 0.9rem;
  }

  a:hover {
    color: #000;
  }

  a:after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: #000;
    transition: width 0.3s ease;
  }

  a:hover:after {
    width: 100%;
  }
}

/* Hero */

#hero {
  text-align: center;
  padding: 5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  .hero-content {
    h1.hero-title {
      font-size: 3.5rem;
      text-transform: uppercase;
      margin-bottom: 1.5rem;
      line-height: 1.2;
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;

      .highlight {
        background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-fill-color: transparent;
        position: relative;
        display: inline-block;
        padding-bottom: 0.5rem;
        font-weight: 800;
        letter-spacing: 1px;

        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%);
          width: 60%;
          height: 3px;
          background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
          border-radius: 3px;
        }
      }

      .animated-text {
        color: #000;
        font-weight: 900;
        text-shadow: 2px 2px 0px rgba(255, 13, 223, 0.3);
        position: relative;
        display: inline-block;
        animation: pulse 2s infinite;
        letter-spacing: 2px;
      }

      @keyframes pulse {
        0% {
          transform: scale(1);
        }
        50% {
          transform: scale(1.05);
        }
        100% {
          transform: scale(1);
        }
      }
    }

    h3 {
      font-size: 1.5rem;
      margin-top: 1rem;
    }

    p {
      font-size: 1rem;
      max-width: 600px;
      margin: 0 auto;
      margin-top: 2rem;
    }

    .buttons {
      display: flex;
      gap: 1rem;
      margin-top: 2rem;
      justify-content: center;
      align-items: center;
    }
  }

  .current-jackpot {
    display: flex;
    gap: 2rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #5001594e;
    padding: 2rem;
    min-width: 60%;
    margin: 0 auto;
    margin-top: 2rem;
    border-radius: 1.5rem;
    box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
    border: 1px solid #ff0ddf;

    .jackpot-content {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;

      h3 {
        font-size: 1.5rem;
        font-weight: 500;
        margin-bottom: 1.5rem;
        font-family: "Exile", serif;
      }

      h1 {
        font-size: 3rem;
        font-family: "Exile", serif;
        margin-bottom: 0.5rem;
        position: relative;
        display: inline-block;
      }

      button {
        margin-top: 1.5rem;
        background: #fff;
        color: #000;
        font-weight: 500;
      }
    }

    .loader-container {
      position: absolute;
      left: -40px;
      top: 50%;
      transform: translateY(-50%);
      width: 30px;
      height: 30px;
    }

    .loader {
      width: 30px;
      height: 30px;
      border: 3px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: #ff0ddf;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% {
        transform: rotate(0deg);
      }
      100% {
        transform: rotate(360deg);
      }
    }

    .glow-blob {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: radial-gradient(
        circle at center,
        rgba(255, 13, 223, 0.3) 0%,
        rgba(255, 13, 223, 0) 70%
      );
      filter: blur(20px);
      z-index: -1;
    }
  }
}

/* how it works */

#how-it-works {
  padding: 5rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  /* background: #ffffff67; */
  /* border-radius: 2.5rem; */
  /* box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15); */
  margin-block: 2rem;

  .pill {
    background: #5001594e;
    padding: 0.5rem 1rem;
    border-radius: 1.5rem;
    font-size: 0.9rem;
    font-weight: 300;
    font-family: "Poppins", sans-serif;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid #ff0ddf;
    box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;

    svg {
      width: 1.5rem;
      height: 1.5rem;
    }
  }

  .text {
    h1 {
      font-size: 2.5rem;
    }

    h3 {
      font-size: 1rem;
      margin-top: 0.5rem;
    }
  }

  .cards {
    display: flex;
    gap: 1.5rem;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    margin-block: 3rem;

    .card {
      background: #5001594e;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      padding: 2rem;
      border-radius: 1.5rem;
      box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
      border: 1px solid #ff0ddf;
      width: 100%;
      max-width: 350px;
      transition: transform 0.3s ease, box-shadow 0.3s ease;

      &:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 30px rgba(255, 13, 223, 0.2);
      }

      .card-icon {
        background: rgba(255, 255, 255, 0.8);
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.5rem;
        box-shadow: 0 0 15px rgba(255, 13, 223, 0.3);
        border: 1px solid #ff0ddf;

        svg {
          width: 40px;
          height: 40px;
          color: #530349;
        }
      }

      .card-content {
        text-align: center;

        h3 {
          font-size: 1.5rem;
          font-weight: 600;
          margin-bottom: 1rem;
          color: #000;
        }

        p {
          font-size: 1rem;
          line-height: 1.5;
          color: #000;
        }
      }
    }
  }

  .cta {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}

/* next draw */

#next-draw {
  padding: 5rem 1rem;
  text-align: center;
  background-image: url("../assets/black-wheel-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 30rem;
  border-radius: 2.5rem;
  box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
  margin-block: 2rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  .text {
    h1 {
      font-size: 2.5rem;
    }

    h4 {
      font-size: 1rem;
      margin-top: 1rem;
    }
  }

  .countdownbox {
    background: #ffffff72;
    padding: 2rem;
    border-radius: 1.5rem;
    box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
    /* border: 1px solid #fff; */
    width: 80%;
    max-width: 800px;
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }

  .countdown-timer {
    display: flex;
    justify-content: center;
    gap: 2rem;
    width: 100%;
  }

  .countdown-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 80px;
  }

  .countdown-value {
    font-size: 3.5rem;
    font-weight: 700;
    color: #530349;
    font-family: "Exile", serif;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 1rem;
    padding: 1rem;
    min-width: 100px;
    text-align: center;
    box-shadow: 0 0 15px rgba(255, 13, 223, 0.3);
    border: 1px solid #ff0ddf;
  }

  .countdown-label {
    font-size: 1rem;
    font-weight: 500;
    margin-top: 0.5rem;
    color: #fff;
    text-transform: uppercase;
  }

  .next-draw-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
  }

  .next-draw-date {
    font-size: 1.3rem;
    font-weight: lighter;
    color: #fff;
    text-align: center;
  }
}

/* FAQ */

#faq {
  padding: 5rem 1rem;
  text-align: center;

  .Text {
    h1 {
      font-size: 2.5rem;
    }

    h3 {
      font-size: 1rem;
      margin-top: 1rem;
    }
  }

  .faq-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    min-width: 90%;
    margin-inline: auto;

    .question {
      background: #5001594e;
      padding: 1rem 2rem;
      border-radius: 1.5rem;
      box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
      border: 1px solid #ff0ddf;
      text-align: left;
      width: 100%;
      display: flex;
      flex-direction: column;

      h3 {
        font-size: 1.1rem;
        font-weight: bold;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        cursor: pointer;
        transition: all 0.3s ease;
        transform: translateY(10px);
      }

      h3:hover {
        color: #53034985;
      }

      p {
        font-size: 1rem;
        margin-top: 1rem;
        text-align: left;
        display: none;
        overflow: hidden;
        transition: all 0.3s ease;
      }

      img {
        width: 1.5rem;
        height: 1.5rem;
        cursor: pointer;
        transition: transform 0.3s ease;
      }
    }
  }
}

/* about us */

#about-us {
  padding: 6rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-block: 3rem;
  position: relative;
  overflow: hidden;

  &::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(
      circle at center,
      rgba(255, 13, 223, 0.15) 0%,
      rgba(255, 13, 223, 0) 70%
    );
    top: -200px;
    left: -200px;
    z-index: -1;
    border-radius: 50%;
  }

  .about-container {
    display: flex;
    gap: 4rem;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
  }

  .about-text {
    flex: 1;
    text-align: left;

    .about-pill {
      background: #5001594e;
      padding: 0.5rem 1rem;
      border-radius: 1.5rem;
      font-size: 0.9rem;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border: 1px solid #ff0ddf;
      box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
      margin-bottom: 1.5rem;

      svg {
        width: 1.2rem;
        height: 1.2rem;
        color: #ff0ddf;
      }
    }

    h1 {
      font-size: 2.5rem;
      margin-bottom: 1rem;
      text-transform: uppercase;
      background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
    }

    h3 {
      font-size: 1.2rem;
      margin-bottom: 1.8rem;
      color: #530349;
      font-weight: 500;
    }

    .about-features {
      display: flex;
      gap: 1.5rem;
      margin-bottom: 1.8rem;
      flex-wrap: wrap;

      .feature {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        background: rgba(255, 255, 255, 0.6);
        padding: 0.6rem 1rem;
        border-radius: 0.8rem;
        box-shadow: 0 0 10px rgba(83, 3, 73, 0.1);

        svg {
          width: 1.2rem;
          height: 1.2rem;
          color: #530349;
        }

        span {
          font-size: 0.9rem;
          font-weight: 500;
        }
      }
    }

    p {
      font-size: 1rem;
      line-height: 1.7;
      margin-bottom: 2rem;
      color: #333;
    }

    button {
      background: #530349;
      color: #fff;
      font-weight: 500;
      padding: 1rem 1.8rem;
      display: flex;
      align-items: center;
      gap: 0.8rem;
      transition: all 0.3s ease;

      &:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(83, 3, 73, 0.2);
      }

      svg {
        width: 1.2rem;
        height: 1.2rem;
      }
    }
  }

  .about-image {
    flex: 1;
    position: relative;

    img {
      width: 100%;
      height: auto;
      border-radius: 1.5rem;
      box-shadow: 0 0 30px 5px rgba(29, 0, 46, 0.2);
      border: 1px solid #ff0ddf;
      object-fit: cover;
      transition: all 0.3s ease;
    }

    .image-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        135deg,
        rgba(83, 3, 73, 0.3) 0%,
        rgba(255, 13, 223, 0.3) 100%
      );
      border-radius: 1.5rem;
      z-index: 1;
    }

    .stats-card {
      position: absolute;
      bottom: -30px;
      right: 30px;
      background: #fff;
      padding: 1.5rem;
      border-radius: 1.2rem;
      box-shadow: 0 10px 30px rgba(83, 3, 73, 0.2);
      display: flex;
      gap: 2rem;
      z-index: 2;
      border: 1px solid #ff0ddf;

      .stat {
        text-align: center;

        h4 {
          font-size: 1.8rem;
          font-weight: 700;
          color: #530349;
          margin-bottom: 0.3rem;
          font-family: "Exile", serif;
        }

        p {
          font-size: 0.8rem;
          color: #666;
          font-weight: 500;
        }
      }
    }
  }
}

/* responsible */

#responsible {
  padding: 5rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  background: linear-gradient(
    135deg,
    rgba(83, 3, 73, 0.05) 0%,
    rgba(255, 13, 223, 0.05) 100%
  );
  border-radius: 2.5rem;
  box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.1);
  border: 1px solid #ff0ddf;
  margin-block: 4rem;

  .responsible-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
  }

  .responsible-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;

    .responsible-pill {
      background: #5001594e;
      padding: 0.5rem 1rem;
      border-radius: 1.5rem;
      font-size: 0.9rem;
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      border: 1px solid #ff0ddf;
      box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
      margin-bottom: 1rem;

      svg {
        width: 1.2rem;
        height: 1.2rem;
        color: #ff0ddf;
      }
    }

    h2 {
      font-size: 2.2rem;
      margin-bottom: 0.5rem;
      background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
    }

    .subtitle {
      font-size: 1.1rem;
      color: #530349;
      max-width: 600px;
      margin: 0 auto;
    }
  }

  .responsible-cards {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;

    .responsible-card {
      background: white;
      border-radius: 1.5rem;
      padding: 2rem;
      box-shadow: 0 5px 20px rgba(83, 3, 73, 0.1);
      border: 1px solid rgba(255, 13, 223, 0.3);
      text-align: left;
      flex: 1;
      min-width: 300px;
      max-width: 380px;
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
      transition: transform 0.3s ease, box-shadow 0.3s ease;

      &:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(83, 3, 73, 0.15);
      }

      .card-icon {
        width: 60px;
        height: 60px;
        background: rgba(83, 3, 73, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 0.5rem;

        svg {
          width: 30px;
          height: 30px;
          color: #530349;
        }
      }

      .card-content {
        h3 {
          font-size: 1.3rem;
          margin-bottom: 1rem;
          color: #530349;
        }

        p {
          font-size: 1rem;
          line-height: 1.6;
          color: #333;
          margin-bottom: 1.5rem;
        }

        .support-links {
          margin-top: 1rem;

          li {
            margin-bottom: 1rem;

            a {
              display: flex;
              align-items: center;
              gap: 0.8rem;
              color: #530349;
              text-decoration: none;
              font-weight: 500;
              transition: all 0.3s ease;

              svg {
                width: 1.2rem;
                height: 1.2rem;
                color: #ff0ddf;
              }

              &:hover {
                color: #ff0ddf;
                text-decoration: underline;
              }
            }
          }
        }
      }
    }
  }

  .responsible-footer {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1rem;

    .outline-button {
      background: transparent;
      border: 2px solid #530349;
      color: #530349;
      font-weight: 600;
      padding: 0.8rem 1.5rem;
      border-radius: 2rem;
      display: flex;
      align-items: center;
      gap: 0.8rem;
      transition: all 0.3s ease;
      box-shadow: none;

      svg {
        width: 1.2rem;
        height: 1.2rem;
      }

      &:hover {
        background: #530349;
        color: white;
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(83, 3, 73, 0.2);
      }
    }
  }
}

/* footer */

footer {
  padding: 4rem 1rem;
  background: linear-gradient(
    135deg,
    rgba(83, 3, 73, 0.05) 0%,
    rgba(255, 13, 223, 0.05) 100%
  );
  border-top-left-radius: 2.5rem;
  border-top-right-radius: 2.5rem;
  box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
  border: 1px solid #ff0ddf;
  margin-top: 5rem;

  .footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3rem;
  }

  .footer-links {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(83, 3, 73, 0.2);

    .footer-section {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      min-width: 200px;

      h4 {
        font-size: 1.2rem;
        font-weight: 600;
        color: #530349;
        margin-bottom: 0.5rem;
      }

      a {
        color: #000;
        text-decoration: none;
        transition: all 0.3s ease;
        font-size: 0.9rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;

        &:hover {
          color: #ff0ddf;
          transform: translateX(5px);
        }
      }
    }
  }

  .footer-legal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;

    .legal-text {
      max-width: 800px;
      text-align: center;

      p {
        font-size: 1rem;
        color: #530349;
        line-height: 1.6;
      }
    }

    .legal-logos {
      display: flex;
      gap: 2rem;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;

      .legal-logo {
        height: 45px;
        object-fit: contain;
        transition: all 0.3s ease;

        &:hover {
          transform: scale(1.05);
        }
      }
    }

    .footer-copyright {
      text-align: center;
      font-size: 0.9rem;
      color: #530349;
      margin-top: 1rem;
    }
  }
}

@media (max-width: 768px) {
  header {
    nav {
      display: none;
    }
  }

  #hero {
    .hero-content {
      h1.hero-title {
        font-size: 2.5rem;

        .highlight {
          letter-spacing: 0;

          &::after {
            width: 80%;
          }
        }
      }

      .buttons {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1rem;
      }
    }
  }

  #how-it-works {
    .cards {
      flex-direction: column;
      align-items: center;

      .card {
        max-width: 100%;
        width: 90%;

        &:hover {
          transform: none;
        }
      }
    }
  }

  #next-draw {
    .countdownbox {
      width: 95%;
      padding: 1.5rem;
    }

    .countdown-timer {
      gap: 0.1rem;
    }

    .countdown-value {
      font-size: 2.5rem;
      min-width: 70px;
      padding: 0.7rem;
    }

    .countdown-label {
      font-size: 0.8rem;
    }

    .next-draw-date {
      font-size: 1rem;
    }
  }

  #about-us {
    .about-container {
      flex-direction: column;
      gap: 4rem;
    }

    .about-text {
      h1 {
        font-size: 2rem;
      }
    }

    .about-image {
      .stats-card {
        right: 50%;
        transform: translateX(50%);
        bottom: -50px;
        padding: 1rem;
        gap: 1.5rem;

        .stat {
          h4 {
            font-size: 1.5rem;
          }
        }
      }
    }
  }

  #responsible {
    padding: 3rem 1rem;

    .responsible-header {
      h2 {
        font-size: 1.8rem;
      }

      .subtitle {
        font-size: 1rem;
      }
    }

    .responsible-cards {
      flex-direction: column;
      align-items: center;

      .responsible-card {
        max-width: 100%;
        width: 90%;

        &:hover {
          transform: none;
        }
      }
    }

    .responsible-footer {
      flex-direction: column;
      align-items: center;

      .outline-button {
        width: 90%;
        justify-content: center;
      }
    }
  }

  footer {
    padding: 3rem 1rem;

    .footer-links {
      flex-direction: column;
      gap: 2rem;

      .footer-section {
        width: 100%;
        text-align: center;
        align-items: center;
      }
    }

    .legal-logos {
      gap: 1.5rem;

      .legal-logo {
        height: 40px;
      }
    }

    .legal-text {
      p {
        font-size: 0.9rem;
      }
    }
  }
}

/* Registration Form */

#register-section {
  padding: 4rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(
    135deg,
    rgba(83, 3, 73, 0.05) 0%,
    rgba(255, 13, 223, 0.05) 100%
  );
  border-radius: 1.5rem;
  margin: 2rem 0;
}

.register-container {
  max-width: 800px;
  width: 100%;
}

.register-header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.register-pill {
  background: #5001594e;
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #ff0ddf;
  box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
  margin-bottom: 1rem;

  svg {
    width: 1.2rem;
    height: 1.2rem;
    color: #ff0ddf;
  }
}

.register-header h1 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.registration-form {
  background: white;
  padding: 2.5rem;
  border-radius: 1.5rem;
  box-shadow: 0 0 30px rgba(83, 3, 73, 0.1);
  border: 1px solid rgba(255, 13, 223, 0.3);
}

.form-group {
  margin-bottom: 1.5rem;
}

.form-row {
  display: flex;
  gap: 1.5rem;
  margin-bottom: 1.5rem;

  .form-group {
    flex: 1;
    margin-bottom: 0;
  }
}

.form-group label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #530349;

  svg {
    width: 1.2rem;
    height: 1.2rem;
    color: #ff0ddf;
  }
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="password"],
.form-group input[type="date"] {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(83, 3, 73, 0.2);
  border-radius: 0.8rem;
  font-size: 1rem;
  transition: all 0.3s ease;

  &:focus {
    outline: none;
    border-color: #ff0ddf;
    box-shadow: 0 0 0 3px rgba(255, 13, 223, 0.1);
  }
}

.checkbox-group {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;

  input[type="checkbox"] {
    width: 1.2rem;
    height: 1.2rem;
    accent-color: #530349;
    cursor: pointer;
  }

  label {
    font-size: 0.9rem;
    margin-bottom: 0;

    a {
      color: #ff0ddf;
      text-decoration: none;

      &:hover {
        text-decoration: underline;
      }
    }
  }
}

.register-button {
  width: 100%;
  padding: 1rem;
  background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
  color: white;
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: 0.8rem;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;

  &:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(83, 3, 73, 0.2);
  }

  svg {
    width: 1.2rem;
    height: 1.2rem;
  }
}

.login-link {
  text-align: center;
  margin-top: 1.5rem;

  p {
    font-size: 1rem;

    a {
      color: #ff0ddf;
      text-decoration: none;
      font-weight: 500;

      &:hover {
        text-decoration: underline;
      }
    }
  }
}

.confirmation-message {
  background: white;
  padding: 3rem 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 0 30px rgba(83, 3, 73, 0.1);
  border: 1px solid rgba(255, 13, 223, 0.3);
  text-align: center;

  .confirmation-icon {
    width: 80px;
    height: 80px;
    background: rgba(83, 3, 73, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;

    svg {
      width: 40px;
      height: 40px;
      color: #530349;
    }
  }

  h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #530349;
  }

  p {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .confirmation-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;

    button {
      padding: 1rem 1.5rem;
      font-weight: 500;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .primary-button {
      background: #530349;
      color: white;

      &:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(83, 3, 73, 0.2);
      }
    }

    .secondary-button {
      background: white;
      color: #530349;
      border: 2px solid #530349;

      &:hover {
        background: #530349;
        color: white;
      }
    }
  }
}

@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 1.5rem;
  }

  .registration-form {
    padding: 1.5rem;
  }

  .confirmation-message {
    padding: 2rem 1rem;

    .confirmation-buttons {
      flex-direction: column;
      gap: 1rem;

      button {
        width: 100%;
        justify-content: center;
      }
    }
  }
}

/* Modal Styles */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
}

.modal.active {
  display: flex;
}

.modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  z-index: 1001;
}

.modal-content {
  position: relative;
  z-index: 1002;
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  max-width: 800px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 2rem;
  animation: modalFadeIn 0.3s ease;
}

.modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(83, 3, 73, 0.1);
  border: none;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
  z-index: 1003;

  svg {
    width: 1.2rem;
    height: 1.2rem;
    color: #530349;
  }

  &:hover {
    background: rgba(83, 3, 73, 0.2);
    transform: rotate(90deg);
  }
}

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

/* Terms and Privacy Pages */

#terms-section {
  padding: 4rem 1rem;
  max-width: 900px;
  margin: 0 auto;
}

.terms-header {
  text-align: center;
  margin-bottom: 3rem;
}

.page-pill {
  background: #5001594e;
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #ff0ddf;
  box-shadow: 0 0 20px 5px rgba(29, 0, 46, 0.15);
  margin-bottom: 1rem;

  svg {
    width: 1.2rem;
    height: 1.2rem;
    color: #ff0ddf;
  }
}

.terms-header h1 {
  font-size: 2.5rem;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, #530349 0%, #ff0ddf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.terms-header p {
  font-size: 1rem;
  color: #666;
}

.terms-content {
  background: white;
  padding: 3rem;
  border-radius: 1.5rem;
  box-shadow: 0 0 30px rgba(83, 3, 73, 0.1);
  border: 1px solid rgba(255, 13, 223, 0.3);
}

.terms-block {
  margin-bottom: 2.5rem;

  &:last-child {
    margin-bottom: 0;
  }

  h2 {
    font-size: 1.5rem;
    color: #530349;
    margin-bottom: 1rem;
    font-weight: 600;
  }

  p {
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1rem;
    color: #333;

    &:last-child {
      margin-bottom: 0;
    }
  }

  ul,
  ol {
    margin-left: 1.5rem;
    margin-bottom: 1.5rem;

    li {
      font-size: 1rem;
      line-height: 1.7;
      color: #333;
      margin-bottom: 0.8rem;
      list-style-type: disc;

      strong {
        font-weight: 600;
        color: #530349;
      }
    }
  }

  a {
    color: #ff0ddf;
    text-decoration: none;
    transition: all 0.3s ease;

    &:hover {
      text-decoration: underline;
    }
  }
}

@media (max-width: 768px) {
  #terms-section {
    padding: 2rem 1rem;
  }

  .terms-header h1 {
    font-size: 2rem;
  }

  .terms-content {
    padding: 2rem 1.5rem;
  }

  .terms-block {
    h2 {
      font-size: 1.3rem;
    }

    p,
    ul li,
    ol li {
      font-size: 0.95rem;
    }
  }
}
