/**
 * Terms of Service Page Styles
 * Clean, readable styling for the terms of service page
 */

.terms-of-service {
  padding: var(--spacing-8) 0;
  background: var(--color-background);
  min-height: 100vh;
}

.terms-of-service .container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 var(--spacing-6);
}

/* Header Section */
.terms-of-service__header {
  text-align: center;
  margin-bottom: var(--spacing-12);
  padding-bottom: var(--spacing-8);
  border-bottom: 2px solid var(--color-border);
}

.terms-of-service__title {
  font-family: var(--font-display);
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-4);
  line-height: 1.2;
}

.terms-of-service__subtitle {
  font-family: var(--font-mono);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  opacity: 0.8;
}

/* Content Sections */
.terms-of-service__content {
  line-height: 1.6;
}

.terms-of-service__section {
  margin-bottom: var(--spacing-10);
}

.terms-of-service__section:last-child {
  margin-bottom: 0;
}

.terms-of-service__section h2 {
  font-family: var(--font-display);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-6);
  padding-bottom: var(--spacing-3);
  border-bottom: 1px solid var(--color-border);
  line-height: 1.3;
}

.terms-of-service__section h3 {
  font-family: var(--font-display);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: var(--spacing-6) 0 var(--spacing-4) 0;
  line-height: 1.4;
}

.terms-of-service__section p {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-4);
  line-height: 1.7;
}

.terms-of-service__section ul {
  margin: var(--spacing-4) 0 var(--spacing-6) var(--spacing-6);
  padding-left: var(--spacing-4);
}

.terms-of-service__section li {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-3);
  line-height: 1.6;
}

.terms-of-service__section strong {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

/* Links */
.terms-of-service__section a {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: all var(--duration-fast) var(--ease-cyber-out);
}

.terms-of-service__section a:hover {
  color: var(--color-primary-hover);
  text-decoration-thickness: 2px;
}

.terms-of-service__section a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Responsive Design */
@media (max-width: 767px) {
  .terms-of-service {
    padding: var(--spacing-6) 0;
  }
  
  .terms-of-service .container {
    padding: 0 var(--spacing-4);
  }
  
  .terms-of-service__header {
    margin-bottom: var(--spacing-8);
    padding-bottom: var(--spacing-6);
  }
  
  .terms-of-service__title {
    font-size: var(--font-size-2xl);
  }
  
  .terms-of-service__section {
    margin-bottom: var(--spacing-8);
  }
  
  .terms-of-service__section h2 {
    font-size: var(--font-size-xl);
    margin-bottom: var(--spacing-4);
  }
  
  .terms-of-service__section h3 {
    font-size: var(--font-size-lg);
    margin: var(--spacing-4) 0 var(--spacing-3) 0;
  }
  
  .terms-of-service__section p,
  .terms-of-service__section li {
    font-size: var(--font-size-sm);
  }
  
  .terms-of-service__section ul {
    margin: var(--spacing-3) 0 var(--spacing-4) var(--spacing-4);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .terms-of-service .container {
    max-width: 700px;
  }
}

@media (min-width: 1024px) {
  .terms-of-service .container {
    max-width: 800px;
  }
  
  .terms-of-service__section h2 {
    font-size: var(--font-size-2xl);
  }
  
  .terms-of-service__section h3 {
    font-size: var(--font-size-xl);
  }
}

@media (min-width: 1440px) {
  .terms-of-service .container {
    max-width: 900px;
  }
}

/* Print Styles */
@media print {
  .terms-of-service {
    background: white;
    color: black;
  }
  
  .terms-of-service__section h2,
  .terms-of-service__section h3 {
    color: black;
    border-bottom-color: #ccc;
  }
  
  .terms-of-service__section p,
  .terms-of-service__section li {
    color: black;
  }
  
  .terms-of-service__section a {
    color: black;
    text-decoration: underline;
  }
}
