/* ── CSS CUSTOM PROPERTIES ── */
:root {
  --charcoal: #2d3748;
  --charcoal-dark: #1a202c;
  --green: #4a9e4f;
  --green-dark: #3a7d3e;
  --green-mid: #7dd87f;
  --green-light: #e8f5e9;
  --green-border: #c6e9c8;
  --grey-bg: #f7f8fa;
  --grey-mid: #e2e8f0;
  --grey-text: #718096;
  --white: #ffffff;
  --app-dark: #1e2d3d;
  --red-light: #fff5f5;
  --red-border: #fed7d7;
  --red-text: #742a2a;
  --red-header: #c53030;
  --gold: #fbbf24;
  --font: 'Inter', 'Segoe UI', sans-serif;
}

/* ── RESET ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── BASE ── */
html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  font-family: var(--font);
  color: var(--charcoal);
  background: var(--white);
  line-height: 1.6;
  padding-top: 52px;
  overflow-x: clip;
}

@media (min-width: 1024px) {
  body { padding-top: 64px; }
}

body.no-nav {
  padding-top: 0;
}

.admin-bar body {
  padding-top: calc(64px + 32px);
}

@media screen and (max-width: 782px) {
  .admin-bar body {
    padding-top: calc(52px + 46px);
  }
}

/* ── CONTAINER ── */
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px;
}