/**
 * Core Typography & Base Styles
 * Includes: font imports, body styling, base colors, and component foundations
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&family=Roboto+Slab:wght@400;700&display=swap');

body {
  font-family: 'Inter', sans-serif;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #e2e8f0;
  font-size: clamp(14px, 1.1vw, 16px);
}

/* Ensure layouts can grow on small screens instead of clipping */
html, body {
  min-height: 100%;
  overflow-x: hidden;
}

body, #root {
  min-height: 100vh;
}

.glass-card, section, main, .container {
  min-height: auto;
}

.gradient-bg {
  background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
  animation: aurora 6s ease infinite;
}

.dark .gradient-bg {
  background: linear-gradient(135deg, #1e3a8a 0%, #4c1d95 50%, #831843 100%);
}

.glass-card {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(226, 232, 240, 0.1);
  border-radius: 1rem;
  transition: all 0.3s ease;
}

.glass-card:hover {
  border-color: rgba(226, 232, 240, 0.2);
  background: rgba(15, 23, 42, 0.8);
}

.tool-card {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.6) 0%, rgba(51, 65, 85, 0.4) 100%);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(148, 163, 184, 0.15);
  border-radius: 0.75rem;
  padding: 1.5rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tool-card:hover {
  transform: translateY(-4px);
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(51, 65, 85, 0.6) 100%);
  border-color: rgba(148, 163, 184, 0.3);
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.1);
}

.contact-input {
  background: rgba(51, 65, 85, 0.5);
  border: 1px solid rgba(148, 163, 184, 0.2);
  color: #e2e8f0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
}

.glass-card,
.tool-card {
  will-change: transform;
}

@media (max-width: 768px) {
  .tool-card {
    padding: 1rem;
  }

  .glass-card {
    padding: 1rem;
  }

  .glass-card, section, main, .container {
    width: 100%;
  }
}

.legal-text {
  font-family: 'Roboto Slab', serif;
}

.prose-invert h1,
.prose-invert h2,
.prose-invert h3 {
  font-family: 'Inter', sans-serif;
}

/* Global selection disable */
html, body, * {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
}

/* Allow text selection for important elements */
input, textarea, .selectable {
  user-select: text;
  -webkit-user-select: text;
}
