/* Public booking site (§12). Palette inherited from nickiparrott.com. */
:root {
  --gold: #C9A962; --gold-light: #D4BC7D; --gold-dark: #A68B4B;
  --black: #0A0A0A; --black-medium: #1A1A1A;
  --white: #F5F5F5; --gray: #888888; --gray-dark: #444444;
  --font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-body: 'Outfit', system-ui, sans-serif;
  --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px;
  --space-8: 48px; --space-10: 64px;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--black); color: var(--white);
  font-family: var(--font-body); font-size: 16px; line-height: 1.55;
}
a { color: var(--gold-light); text-decoration: none; }
a:hover { color: var(--gold); }

.site-top { padding: var(--space-5) var(--space-6); border-bottom: 1px solid var(--gray-dark); }
.site-brand { font-family: var(--font-display); font-size: 1.4rem; color: var(--gold); }
.site-main { max-width: 880px; margin: 0 auto; padding: var(--space-8) var(--space-6); }
.site-foot { text-align: center; color: var(--gray); padding: var(--space-8) var(--space-6); font-size: 0.85rem; }

h1 { font-family: var(--font-display); font-weight: 500; font-size: 2.4rem; margin: 0 0 var(--space-3); }
h2 { font-family: var(--font-display); font-weight: 500; color: var(--gold); }
.lead { color: var(--gray); font-size: 1.05rem; margin-bottom: var(--space-5); }
.muted { color: var(--gray); }

/* Base form styling for site_layout pages (checkout). */
label { display: block; margin: var(--space-4) 0 6px; color: var(--gray); font-size: 0.85rem; }
input[type=text], input[type=email], input[type=tel] {
  width: 100%; padding: var(--space-3); background: var(--black-medium);
  border: 1px solid var(--gray-dark); color: var(--white); border-radius: 6px;
  font-family: inherit; font-size: 1rem;
}
input:focus { outline: 2px solid var(--gold-dark); border-color: var(--gold-dark); }
select, textarea {
  width: 100%; padding: var(--space-3); background: var(--black-medium);
  border: 1px solid var(--gray-dark); color: var(--white); border-radius: 6px;
  font-family: inherit; font-size: 1rem;
}
textarea { resize: vertical; }
select:focus, textarea:focus { outline: 2px solid var(--gold-dark); border-color: var(--gold-dark); }
button {
  margin-top: var(--space-5); padding: var(--space-3) var(--space-6); background: var(--gold);
  color: var(--black); border: none; border-radius: 6px; font-family: inherit; font-size: 1rem;
  font-weight: 600; cursor: pointer;
}
button:disabled { background: var(--gray-dark); color: var(--gray); cursor: not-allowed; }
button:not(:disabled):hover { background: var(--gold-light); }
.summary { color: var(--gray); margin-top: var(--space-4); }
.summary strong { color: var(--white); }
