/* ──────────────────────────────────────────────────────────────────────
   Overbrook — base styles + photographic placeholders
   Warm ivory paper, refined serif, Presbyterian-reverent palette.
   ────────────────────────────────────────────────────────────────────── */

html, body { margin: 0; padding: 0; }
.opc-mock, .opc-mock * { box-sizing: border-box; }
.opc-mock {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.opc-mock button { font-family: inherit; cursor: pointer; }
.opc-mock a { color: inherit; text-decoration: none; }

/* Neutral warm off-white — no yellow cast. */
.opc-paper {
  background-color: #ededea;
}
.opc-paper-cool {
  background-color: #ececea;
}

/* Photo placeholders — reverent palette: stone, moss, brass, slate, etc.
   Subtle diagonal stripe + monospace caption describing what the real
   photo should depict. */
.opc-photo {
  position: relative;
  background:
    repeating-linear-gradient(135deg,
      rgba(60,40,20,0.05) 0 1px,
      transparent 1px 18px),
    var(--opc-photo-bg, #c8b894);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.opc-photo::before {
  content: attr(data-label);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--opc-photo-fg, rgba(50,40,20,0.6));
  padding: 5px 10px;
  border: 1px solid currentColor;
  border-radius: 1px;
  opacity: 0.75;
  text-align: center;
  max-width: 80%;
}
.opc-photo.stone     { --opc-photo-bg: #b8a685; --opc-photo-fg: rgba(50,40,20,0.6); }
.opc-photo.moss      { --opc-photo-bg: #7a8a6a; --opc-photo-fg: rgba(30,40,20,0.65); }
.opc-photo.brass     { --opc-photo-bg: #b8965a; --opc-photo-fg: rgba(50,30,10,0.65); }
.opc-photo.slate     { --opc-photo-bg: #6b7888; --opc-photo-fg: rgba(20,30,50,0.7); }
.opc-photo.ash       { --opc-photo-bg: #9a958a; --opc-photo-fg: rgba(40,40,40,0.65); }
.opc-photo.oxblood   { --opc-photo-bg: #8a4a48; --opc-photo-fg: rgba(255,240,225,0.75); }
.opc-photo.twilight  { --opc-photo-bg: #4a5566; --opc-photo-fg: rgba(240,235,220,0.7); }
.opc-photo.ivory     { --opc-photo-bg: #d8c9a5; --opc-photo-fg: rgba(50,40,20,0.6); }
.opc-photo.nightfall { --opc-photo-bg: #2a2e38; --opc-photo-fg: rgba(240,235,220,0.6); }
.opc-photo.chestnut  { --opc-photo-bg: #7a5a44; --opc-photo-fg: rgba(245,235,210,0.7); }

/* Wordmark — Yellowtail substitute for the real "Overbrook" script logo,
   which would swap in at implementation. */
.opc-wordmark {
  font-family: "Yellowtail", cursive;
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 0.9;
  display: inline-block;
}

/* Drop cap — for liturgically-styled openings. */
.opc-dropcap::first-letter {
  font-family: "Newsreader", serif;
  font-size: 4.5em;
  float: left;
  line-height: 0.88;
  padding: 0.08em 0.12em 0 0;
  font-weight: 500;
}

/* Rule with center ornament — for section breaks in liturgical layouts. */
.opc-rule-ornament {
  display: flex;
  align-items: center;
  gap: 18px;
  color: currentColor;
}
.opc-rule-ornament::before,
.opc-rule-ornament::after {
  content: "";
  flex: 1;
  height: 1px;
  background: currentColor;
  opacity: 0.3;
}
