/* Shared styles for Otty marketing + legal pages.
   Linked from each page's <head> as /_styles.css.

   Variable names are kept stable (--green, --cream-soft, --border, etc.)
   for backward compatibility with the admin dashboard CSS, but the values
   now map to the Otty palette (paper / coral / gold). Don't rename without
   touching public/admin/index.html too. */

@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@400;500;600&display=swap');

:root {
  /* Otty palette */
  --paper:       #F7F0E0;
  --paper-soft:  #EFE5CE;
  --paper-deep:  #E7DAB9;
  --ink:         #2A2218;
  --ink-soft:    #4B3F30;
  --muted:       #8A7861;
  --coral:       #B85540;
  --coral-deep:  #963D2A;
  --gold:        #B89554;
  --line:        rgba(42,34,24,0.18);
  --line-soft:   rgba(42,34,24,0.10);

  /* Legacy aliases (used by admin/index.html — do not rename) */
  --green:       #B85540;  /* was Our Table green; now Otty coral */
  --green-deep:  #963D2A;  /* was deep green; now deep coral */
  --amber:       #B89554;  /* was amber; now Otty gold */
  --cream:       #F7F0E0;  /* paper */
  --cream-soft:  #FBF5E6;  /* slightly lighter paper for backgrounds */
  --charcoal:    #2A2218;
  --border:      rgba(42,34,24,0.16);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Text",
               "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  line-height: 1.7;
  position: relative;
}
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(42,34,24,0.035) 32px),
    radial-gradient(circle at 15% 20%, rgba(184,85,64,0.05) 0%, transparent 40%),
    radial-gradient(circle at 85% 85%, rgba(184,149,84,0.04) 0%, transparent 35%);
  pointer-events: none;
  z-index: 0;
}

.page {
  max-width: 740px;
  margin: 0 auto;
  padding: 56px 32px 64px;
  position: relative;
  z-index: 1;
}

/* ── Page header (brand block on legal pages) ────────────────── */
header.page-header {
  margin-bottom: 56px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}

header.page-header a.brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
}

header.page-header .stamp {
  background: var(--coral);
  color: var(--paper);
  padding: 7px 16px;
  font-family: 'Caveat', cursive;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  transform: rotate(-3deg);
  border-radius: 2px;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(184,85,64,0.22);
  display: inline-block;
}

header.page-header .wordmark {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 30px;
  color: var(--ink);
  letter-spacing: -0.015em;
  line-height: 1;
}

header.page-header .wordmark .tagline {
  display: block;
  font-family: 'Inter', sans-serif;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--muted);
  text-transform: uppercase;
  margin-bottom: 5px;
  font-weight: 500;
}

/* ── Typography ──────────────────────────────────────────────── */
h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 56px;
  font-weight: 300;
  letter-spacing: -0.022em;
  margin: 8px 0 6px;
  color: var(--ink);
  line-height: 1.02;
}

.effective {
  font-family: 'Caveat', cursive;
  color: var(--coral);
  font-size: 22px;
  margin: 0 0 40px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0;
}

h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 28px;
  font-weight: 500;
  margin: 56px 0 14px;
  color: var(--ink);
  letter-spacing: -0.015em;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line-soft);
  line-height: 1.2;
}

h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  margin: 32px 0 8px;
  color: var(--ink);
  letter-spacing: -0.005em;
}

p, li {
  font-size: 16px;
  color: var(--ink-soft);
  margin: 0 0 14px;
  line-height: 1.75;
}

ul, ol {
  padding-left: 22px;
  margin: 0 0 14px;
}

li { margin-bottom: 6px; }

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

a {
  color: var(--coral);
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:hover { color: var(--coral-deep); }

em { font-style: italic; color: var(--coral); }

/* ── Callout (pull-quote style) ──────────────────────────────── */
.callout {
  background: var(--paper-soft);
  border-left: 3px solid var(--coral);
  padding: 22px 28px;
  margin: 32px 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink);
  position: relative;
}
.callout::before {
  content: '\201C';
  position: absolute;
  font-family: 'Cormorant Garamond', serif;
  font-size: 56px;
  color: var(--coral);
  opacity: 0.22;
  top: 6px;
  left: 14px;
  line-height: 1;
  pointer-events: none;
}
.callout strong {
  color: var(--coral-deep);
  font-style: normal;
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
}
.callout a { font-style: normal; }
.callout p:last-child { margin-bottom: 0; }

/* ── Page-number flourish ────────────────────────────────────── */
.page-number {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 16px;
  color: var(--muted);
  text-align: center;
  margin: 56px 0 16px;
  letter-spacing: 0;
}

/* ── Footer nav ──────────────────────────────────────────────── */
.footer-nav {
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}
.footer-nav a {
  color: var(--muted);
  text-decoration: none;
}
.footer-nav a:hover { color: var(--coral); text-decoration: underline; }

@media (max-width: 600px) {
  .page { padding: 40px 22px 56px; }
  h1 { font-size: 42px; }
  h2 { font-size: 24px; }
  header.page-header { margin-bottom: 40px; }
  header.page-header .wordmark { font-size: 26px; }
}
