@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,700;1,400&family=Source+Sans+Pro:wght@400;600;700&display=swap');

:root {
  --bg-primary: #FDF6E2;
  --bg-secondary: #F4E8C1;
  --bg-card: #FDF6E2;
  --text-ink: #2D1E18;
  --text-muted: #5C4538;
  --accent-amber: #A66914;
  --font-title: 'Libre Baskerville', Georgia, serif;
  --font-sans: 'Source Sans Pro', sans-serif;
  --container-max: 1240px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font-sans); background-color: var(--bg-primary); color: var(--text-ink); line-height: 1.65; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 1.5rem; }

.journal-masthead { background: #FDF6E2; border-bottom: 3px double var(--text-ink); padding: 1.5rem 0; text-align: center; }
.journal-title { font-family: var(--font-title); font-size: 2.6rem; font-weight: 700; color: var(--text-ink); text-transform: uppercase; letter-spacing: 0.08em; }
.journal-date { font-family: var(--font-sans); font-size: 0.85rem; color: var(--accent-amber); margin-top: 0.4rem; font-weight: 600; letter-spacing: 0.05em; }

.btn-amber { background: var(--text-ink); color: #FDF6E2; padding: 0.9rem 2.2rem; font-family: var(--font-title); font-weight: 700; border-radius: 4px; border: 1px solid var(--accent-amber); cursor: pointer; transition: 0.3s; display: inline-block; box-shadow: 0 10px 25px rgba(45, 30, 24, 0.2); }
.btn-amber:hover { background: var(--accent-amber); color: var(--text-ink); transform: translateY(-2px); }

.dropcap::first-letter { font-family: var(--font-title); font-size: 3.8rem; float: left; line-height: 0.8; padding-right: 0.8rem; color: var(--accent-amber); }

.patron-table { width: 100%; border-collapse: collapse; margin: 2rem 0; background: var(--bg-primary); border: 2px solid var(--text-ink); }
.patron-table th, .patron-table td { padding: 1.2rem; text-align: left; border-bottom: 1px solid var(--text-ink); }
.patron-table th { background: rgba(166, 105, 20, 0.15); font-family: var(--font-title); font-size: 1.1rem; color: var(--text-ink); }
