html { font-size: 16px; }

body {
  font-family: var(--font-sans);
  color: var(--navy);
  background-color: var(--cream);
  line-height: 1.6;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  line-height: 1.3;
  color: var(--navy);
}

h1 { font-size: 2.5rem; font-weight: 500; }
h2 { font-size: 2rem; font-weight: 500; }
h3 { font-size: 1.5rem; font-weight: 500; }
h4 { font-size: 1.125rem; font-weight: 600; }

p { color: var(--gray); line-height: 1.7; }

a { color: var(--gold); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--gold-dark); }

img { max-width: 100%; height: auto; }

strong { font-weight: 600; color: var(--navy); }

hr { border: none; border-top: 1px solid var(--gray-light); margin: var(--space-8) 0; }

small { font-size: 0.75rem; color: var(--gray); }

code {
  font-family: 'Courier New', monospace;
  font-size: 0.875rem;
  background: var(--gray-lighter);
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius-sm);
}

/* Italic gold emphasis — used in headings */
.text-accent { color: var(--gold); font-style: italic; }
.text-navy { color: var(--navy); }
.text-gray { color: var(--gray); }
.text-gold { color: var(--gold); }
.text-white { color: var(--white); }

/* Serif class for non-heading elements */
.font-serif { font-family: var(--font-serif); }

/* Django messages */
.messages { list-style: none; padding: 0; margin: 0; }
.messages li { padding: var(--space-4) var(--space-6); margin-bottom: var(--space-2); }
.messages li.success { background: #ecfdf5; border-left: 4px solid #22c55e; color: #166534; }
.messages li.error { background: #fef2f2; border-left: 4px solid var(--red); color: var(--red); }
.messages li.warning { background: #fffbeb; border-left: 4px solid var(--gold); color: #92400e; }
.messages li.info { background: #eff6ff; border-left: 4px solid #3b82f6; color: #1d4ed8; }
