/*
 * Site-wide baseline styles inspired by index.php
 * Keeps typography, spacing and scaling consistent across pages
 */

/* Better default text scaling on mobile */
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  line-height: 1.5;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}

/* Ensure media scales nicely */
img, svg, video, canvas { max-width: 100%; height: auto; }

/* Consistent container padding on small screens */
.container,
.main-container {
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Typographic scale using clamp for responsiveness */
h1 { font-weight: 800; font-family: 'Orbitron', sans-serif; font-size: clamp(1.75rem, 3.5vw, 3rem); }
h2 { font-weight: 700; font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
h3 { font-weight: 700; font-size: clamp(1.25rem, 2vw, 1.75rem); }
h4 { font-weight: 600; font-size: clamp(1.125rem, 1.8vw, 1.5rem); }
h5 { font-weight: 600; font-size: clamp(1rem, 1.6vw, 1.25rem); }
h6 { font-weight: 600; font-size: 1rem; }

p, li, input, button, select, textarea { font-size: 1rem; }

/* Unified button sizing */
.btn,
button {
  font-size: 1rem;
  line-height: 1.25rem;
}

/* Utility spacing */
.space-y-2 > * + * { margin-top: .5rem; }
.space-y-3 > * + * { margin-top: .75rem; }
.space-y-4 > * + * { margin-top: 1rem; }

/* Cards baseline to match index look */
.card-like {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
}

/* Small screens tighten paddings a bit */
@media (max-width: 576px) {
  .container,
  .main-container { padding-left: .75rem; padding-right: .75rem; }
  p, li, input, button, select, textarea { font-size: .95rem; }
}

