/* Terms & Conditions page-specific styles. Keep minimal and complementary to base.css */
.legal-container { max-width: 1024px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.legal-header { margin-bottom: 1.5rem; }
.legal-header h1 { font-size: 2rem; line-height: 1.2; }
.legal-intro { opacity: 0.9; }
.legal-meta { font-size: 0.875rem; opacity: 0.8; }

.toc { margin: 1.5rem 0 2rem; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 1rem; background: rgba(255,255,255,0.03); }
.toc-title { font-size: 1.125rem; margin: 0 0 0.5rem; }
.toc-list { list-style: decimal inside; display: grid; gap: 0.25rem; }
.toc a { text-decoration: none; }
.toc a:focus, .toc a:hover { text-decoration: underline; }

.section-card { padding: 1.25rem; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; background: rgba(255,255,255,0.02); margin-bottom: 1rem; }
.section-card h2 { font-size: 1.25rem; margin-bottom: 0.5rem; }
.section-card h3 { font-size: 1.05rem; margin: 0.75rem 0 0.25rem; }
.section-card p { margin: 0.5rem 0; }
.section-card ul { padding-left: 1.25rem; margin: 0.5rem 0; }

.contact-list { list-style: none; padding: 0; margin: 0.5rem 0 0; }
.contact-list li { margin: 0.25rem 0; }

.cta-row { margin-top: 1rem; display: flex; gap: 0.75rem; }
.cta-btn { display: inline-block; padding: 0.75rem 1rem; border-radius: 10px; background: linear-gradient(180deg, rgba(120,80,200,0.6), rgba(50,20,90,0.8)); color: #fff; text-decoration: none; font-weight: 600; }
.cta-btn:focus, .cta-btn:hover { filter: brightness(1.1); }

.back-to-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 50; }
.back-to-top__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,0.5); color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,0.15); box-shadow: 0 4px 14px rgba(0,0,0,0.35); backdrop-filter: blur(4px); }
.back-to-top__btn:focus, .back-to-top__btn:hover { background: rgba(60,40,80,0.75); }

/* Reduce motion if user prefers */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (min-width: 768px) {
  .legal-header h1 { font-size: 2.25rem; }
  .section-card { padding: 1.5rem; }
}
