/*
 * Styles for the Terms of Service Page
 */

.terms-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #ccc;
  /* Margin-top pushes content below the fixed header */
  margin-top: 150px;
  margin-bottom: 60px;
}

.terms-container h1 {
  font-size: 2.8rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  background: rgb(255, 255, 255);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  line-height: 1.2;
}

.terms-container .last-updated {
  font-size: 1rem;
  color: #888;
  margin-bottom: 40px;
}

.terms-container h2 {
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  margin-top: 40px;
  margin-bottom: 15px;
  border-left: 3px solid rgb(176, 255, 8);
  padding-left: 15px;
}

.terms-container p,
.terms-container li {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 15px;
}

.terms-container ul {
  list-style-type: disc;
  padding-left: 25px;
  margin-bottom: 20px;
}

.terms-container li::marker {
  color: rgb(176, 255, 8);
}

.terms-container strong {
  color: #fff;
  font-weight: 600;
}

.terms-container a {
  color: rgb(176, 255, 8);
  text-decoration: none;
  transition: text-decoration 0.3s ease;
}

.terms-container a:hover {
  text-decoration: underline;
}

/* Responsive styles for smaller screens */
@media (max-width: 768px) {
  .terms-container {
    margin-top: 120px;
    padding: 20px 25px;
  }

  .terms-container h1 {
    font-size: 2.2rem;
  }

  .terms-container h2 {
    font-size: 1.5rem;
  }

  .terms-container p,
  .terms-container li {
    font-size: 1rem;
  }
}