:root {
  --font-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Space Grotesk", sans-serif;
  --font-mono: "JetBrains Mono", monospace;

  --color-gold-50: #fbf7f0;
  --color-gold-100: #f4eae1;
  --color-gold-200: #e2cbb2;
  --color-gold-300: #cb9d75;
  --color-gold-400: #b57444;
  --color-gold-500: #935832;
  --color-gold-600: #724225;
}

body { font-family: var(--font-sans); }
.font-serif { font-family: var(--font-serif); }
.font-sans { font-family: var(--font-sans); }
.font-display { font-family: var(--font-display); }
.font-mono { font-family: var(--font-mono); }

.text-gold-500, .text-gold-600 { color: var(--color-gold-500); }
.text-gold-300, .text-gold-200 { color: var(--color-gold-300); }
.bg-gold-500 { background-color: var(--color-gold-500); }
.bg-gold-500:hover, .hover\:bg-gold-600:hover { background-color: var(--color-gold-600); }
.bg-gold-50 { background-color: var(--color-gold-50); }
.fill-gold-300 { fill: var(--color-gold-300); }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.1); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.2); }

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Toggle switch (softcopy add-on) */
.toggle-switch { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
.toggle-switch input { position: absolute; opacity: 0; }
.toggle-track {
  width: 36px; height: 20px; background: #e7e5e4; border-radius: 9999px; position: relative; transition: background .2s;
}
.toggle-switch input:checked + .toggle-track { background: #0c0a09; }
.toggle-track:after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px;
  background: #fff; border: 1px solid #d6d3d1; border-radius: 9999px; transition: transform .2s;
}
.toggle-switch input:checked + .toggle-track:after { transform: translateX(16px); border-color: #fff; }
