/**
 * Public Pages Common Styles
 * Shared styles for public-facing pages (about, privacy, etc.)
 * Requires: md3-components.css
 */

/* Public Page Background */
body {
  background: linear-gradient(135deg, #1A1C1E 0%, #2C3647 50%, #1A1C1E 100%);
  padding: 20px;
}

/* Container */
.container {
  max-width: 900px;
  margin: 0 auto;
}

/* Header Card */
.header-card {
  background: var(--md-sys-color-surface-1);
  border-radius: 16px;
  padding: 40px;
  margin-bottom: 20px;
  box-shadow: var(--md-sys-elevation-2);
  text-align: center;
}

.server-name {
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--md-sys-color-primary);
  margin-bottom: 15px;
}

.tagline {
  font-size: 1rem;
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 10px;
}

.page-title {
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--md-sys-color-primary);
  margin-bottom: 15px;
}

.page-subtitle {
  font-size: 1rem;
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 10px;
}

/* Content Card */
.content-card {
  background: var(--md-sys-color-surface-1);
  border-radius: 16px;
  padding: 40px;
  margin-bottom: 20px;
  box-shadow: var(--md-sys-elevation-2);
}

/* Footer */
.footer-container {
  margin-top: 48px;
  padding: 32px 0;
  border-top: 1px solid var(--md-sys-color-outline-variant);
  display: flex;
  justify-content: center;
  gap: 64px;
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 160px;
}

.footer-column-title {
  font-size: 11px;
  font-weight: 500;
  color: var(--md-sys-color-on-surface-variant);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.footer-link {
  color: var(--md-sys-color-primary);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}

.footer-link:hover {
  opacity: 0.8;
}

.footer-link .material-icons {
  font-size: 18px;
  transition: opacity 0.2s ease;
}

/* Legacy support */
.footer-links {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--md-sys-color-outline);
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }

  .footer-column {
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 600px) {
  body {
    padding: 10px;
  }

  .header-card,
  .content-card {
    padding: 20px;
  }

  .page-title {
    font-size: 2rem;
  }
}
