:root {
  --om-bg: #f7f3ea;
  --om-surface: #fffdf8;
  --om-burgundy: #7a2230;
  --om-burgundy-dark: #5c1924;
  --om-navy: #2b3a52;
  --om-gold: #b8923f;
  --om-ink: #2a2723;
  --om-muted: #7a7368;
  --om-border: #e4dccb;
  --om-head: "Playfair Display", Georgia, serif;
  --om-body: "PT Sans", Helvetica, Arial, sans-serif;
}

.om-body {
  background-color: #f7f3ea;
  color: #2a2723;
  font-family: "PT Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  display: flex; flex-direction: column; min-height: 100vh;
}
.om-main { flex: 1 0 auto; }

h1, h2, h3, h4, .om-h, .om-brand, .om-hero-title, .card-title.om-h {
  font-family: "Playfair Display", Georgia, serif !important;
  color: #7a2230;
  line-height: 1.2;
}
h1, .om-hero-title { font-size: 36px; font-weight: 700; }
h2 { font-size: 27px; font-weight: 700; }
h3 { font-size: 20px; font-weight: 600; }

/* nav */
.om-navbar { background-color: #7a2230 !important; }
.om-navbar .om-brand { font-family: var(--om-head); color: #fffdf8 !important; font-size: 1.2rem; }
.om-navbar a { color: #fffdf8; }
.om-navbar .dropdown-content li > a { color: #7a2230; }
.dropdown-content { background: #fffdf8; }
.sidenav li > a { color: #7a2230; }
.om-sub { padding-left: 38px !important; font-size: 0.9rem; }
.sidenav .om-brand { color: #7a2230; }

/* hero */
.om-hero { background: linear-gradient(135deg, #7a2230 0%, #2b3a52 100%); color: #fffdf8; padding: 3rem 0; }
.om-hero-title { color: #fffdf8; }
.om-hero-sub { color: #f0e4cf; }

/* sections / prose */
.om-section { padding: 2.5rem 0; }
.om-prose { background: #fffdf8; border: 1px solid #e4dccb; border-radius: 6px; padding: 2rem 2.25rem; box-shadow: 0 2px 6px rgba(122,34,48,0.06); }
.om-prose img, .om-img { max-width: 100%; height: auto; border: 4px solid #fffdf8; box-shadow: 0 0 0 1px #e4dccb; }
.om-prose a { color: #7a2230; text-decoration: underline; text-decoration-color: #e4dccb; }
.om-prose a:hover { color: #5c1924; text-decoration-color: #b8923f; }
.om-muted { color: #7a7368; }
.om-quote { border-left: 4px solid #b8923f; padding-left: 1rem; color: #2a2723; background: #f7f3ea; font-style: italic; }
.om-listing-title { border-bottom: 2px solid #b8923f; padding-bottom: 0.4rem; margin-bottom: 1.5rem; }
.om-divider { background-color: #e4dccb; }
.om-toc { background: #f7f3ea; border: 1px solid #e4dccb; border-radius: 6px; padding: 1rem 1.25rem; }
.breadcrumb, .om-breadcrumb-nav { color: #7a7368; }
.om-breadcrumb-nav { background: transparent; }
.om-breadcrumb-nav .breadcrumb { color: #7a2230; }

/* cards */
.om-card .card-title a { color: #7a2230; }
.om-card .card-title a:hover { color: #b8923f; }
.read-more { color: #7a2230 !important; font-weight: 700; }
.read-more:hover { color: #b8923f !important; }

/* footer */
.om-footer { background-color: #2b3a52 !important; }
.om-footer .om-brand { color: #b8923f; font-family: var(--om-head); }
.om-footer, .om-footer p { color: #cdd5e0; }
.om-footer-sitemap { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.om-footer-link { color: #cdd5e0; text-decoration: none; font-size: 0.9rem; }
.om-footer-link:hover { color: #b8923f; }
.om-footer .footer-copyright { background: rgba(0,0,0,0.2); color: #aab4c2; }

@media print { .om-navbar, .om-footer { display: none; } }
