/* Brand typeface: Cinzel SemiBold (SIL Open Font License, self-hosted) */
@font-face {
  font-family: "Cinzel";
  src: url("/fonts/cinzel-600.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}
:root {
  --ink: #1a1a2e;
  --paper: #f5f0e6;
  --gold: #b8963e;   /* accents on dark only */
  --bronze: #7a5f1e; /* gold-coloured text on light backgrounds */
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.5;
}
main { max-width: 34rem; padding: 2rem 1.25rem; text-align: center; }
.brand { letter-spacing: 0.35em; font-size: 0.9rem; color: var(--bronze); margin: 0 0 1.5rem; }
h1 { font-weight: 600; font-size: 1.9rem; margin: 0 0 1rem; }
.uk { color: #4a4a5e; }
.motto { margin-top: 2rem; font-style: italic; color: var(--bronze); }

/* serial numbers: monospace so 0 never looks like the letter o */
.serial { font-family: ui-monospace, Menlo, Consolas, "Courier New", monospace; font-size: 0.95em; letter-spacing: 0.02em; white-space: nowrap; }

/* links and buttons */
a { color: inherit; }
.brand a { text-decoration: none; }
.button {
  display: inline-block; margin: 0.75rem 0 0; padding: 0.8rem 1.4rem;
  background: var(--ink); color: var(--paper); border: 0; border-radius: 0.4rem;
  font: inherit; font-size: 1rem; text-decoration: none; cursor: pointer;
}
.button:disabled { opacity: 0.5; cursor: wait; }
.button.secondary { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.uk-inline { display: block; font-size: 0.85em; opacity: 0.8; }

/* forms and messages */
form { display: grid; gap: 0.5rem; justify-items: center; margin-top: 0.5rem; }
input[type="email"] {
  width: 100%; max-width: 22rem; padding: 0.75rem 0.9rem; font: inherit; font-size: 1rem;
  border: 1px solid #c9bfa9; border-radius: 0.4rem; background: #fffdf8; color: var(--ink);
}
.bi p { margin: 0.4rem 0; }
.ok p:first-child { color: #2e6b3a; }
.error p:first-child { color: #9b2c2c; }
.fine { font-size: 0.85rem; color: #6b6b7b; }
.or { margin: 1rem 0 0; font-size: 0.9rem; color: #6b6b7b; }
.piece { font-size: 1.1rem; }

/* collection list */
.collection { list-style: none; padding: 0; margin: 1.25rem 0; display: grid; gap: 0.75rem; }
.collection li { padding: 0.9rem 1rem; border: 1px solid #ddd3bd; border-radius: 0.5rem; background: #fffdf8; }
.collection small { color: #6b6b7b; }

/* large brand name on the home page */
.brand-hero {
  font-family: "Cinzel", Georgia, serif; font-weight: 600;
  font-size: clamp(2.1rem, 10vw, 3.6rem); letter-spacing: 0.12em;
  margin: 0 0 1.75rem; line-height: 1.1;
}
.msg { margin: 0.5rem 0; }
.msg.ok { color: #2e6b3a; }
.msg.error { color: #9b2c2c; }
.brand-scan { font-family: "Cinzel", Georgia, serif; font-weight: 600; font-size: 1.6rem; letter-spacing: 0.12em; }
