/* Frontier Perspectives — brand overrides layered on Bootstrap 5 */
:root {
  --navy: #0F5C5C;
  --navy-light: #0E7C7B;
  --gold: #F26B3A;
  --gold-light: #F5895F;
  --cream: #F4FAFA;
  --mist: #E3F2F0;
  --ink: #14343A;
  --slate2: #5C7784;
  --link: #0D9488;
  --font-display: Georgia, 'Times New Roman', serif;
  --bs-body-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
body { background: var(--cream); color: var(--ink); }
a { color: var(--link); text-decoration: none; }
h1, h2, h3, .font-display { font-family: var(--font-display); }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #000; font-weight: 600; }
.btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); color: #000; }
.btn-navy { background: var(--navy); border-color: var(--navy); color: #fff; font-weight: 600; }
.btn-navy:hover { background: var(--navy-light); border-color: var(--navy-light); color: #fff; }
.text-navy { color: var(--navy) !important; }
.text-gold { color: var(--gold) !important; }
.text-muted2 { color: var(--slate2) !important; }
.bg-navy { background: var(--navy) !important; }
.bg-mist { background: var(--mist) !important; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1030; background: var(--cream); transition: box-shadow .2s; }
.site-header.scrolled { box-shadow: 0 2px 10px rgba(15,92,92,.08); }
.brand-logo { width: 40px; height: 40px; border-radius: 12px; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 18px; }
.navbar-nav .nav-link { font-weight: 500; color: var(--ink); border-radius: 999px; padding: .5rem 1rem; }
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover { background: rgba(15,92,92,.08); color: var(--ink); }
.dropdown-menu { border-radius: 16px; border: 1px solid rgba(15,92,92,.1); box-shadow: 0 14px 44px rgba(15,92,92,.12); }
.dropdown-item:hover { background: rgba(15,92,92,.08); }

/* Cards */
.opp-card { border: 1px solid rgba(15,92,92,.08); border-radius: 20px; box-shadow: 0 1px 2px rgba(15,92,92,.05), 0 8px 24px rgba(15,92,92,.06); transition: transform .15s; }
.opp-card:hover { transform: translateY(-3px); }
.opp-logo { width: 48px; height: 48px; border-radius: 50%; background: var(--mist); display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.opp-logo img { width: 100%; height: 100%; object-fit: cover; }
.pill { display: inline-block; background: var(--mist); color: var(--navy); font-size: 12px; font-weight: 500; padding: 3px 10px; border-radius: 999px; }
.deadline { font-weight: 600; font-size: 14px; color: var(--navy); }
.deadline.urgent { color: #dc2626; }

/* Filter pills */
.filter-pill { border-radius: 999px; padding: .35rem .9rem; font-size: 14px; font-weight: 500; border: 1px solid rgba(15,92,92,.15); color: var(--slate2); display: inline-block; margin: 2px; }
.filter-pill.active { background: var(--navy); color: #fff; border-color: var(--navy); }

/* Prose */
.prose p { margin-top: 1.25em; line-height: 1.8; white-space: pre-wrap; }
.prose h2 { margin-top: 1.5em; color: var(--navy); }
.prose h3 { margin-top: 1.3em; color: var(--navy); }
.prose blockquote { border-left: 3px solid var(--link); background: var(--mist); padding: 1em 1.5em; border-radius: 0 14px 14px 0; font-style: italic; }
.prose img { border-radius: 18px; margin-top: 1.5em; }
.prose table.doc-columns { width: 100%; border-collapse: separate; border-spacing: 24px 0; }
.prose table.doc-columns td { vertical-align: top; }

/* Footer */
.site-footer { background: var(--navy); color: rgba(255,255,255,.7); border-radius: 28px 28px 0 0; margin-top: 80px; }
.site-footer a { color: rgba(255,255,255,.7); }
.site-footer a:hover { color: var(--gold-light); }
.site-footer h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #fff; font-weight: 700; }

/* Admin */
.admin-sidebar { width: 240px; background: var(--navy); color: #fff; min-height: 100vh; }
.admin-sidebar a { color: #e5e7eb; display: flex; align-items: center; gap: 10px; padding: .5rem .75rem; border-radius: 8px; }
.admin-sidebar a:hover, .admin-sidebar a.active { background: rgba(255,255,255,.12); color: #fff; }
.tag-input { border: 1px solid #ced4da; border-radius: 8px; padding: 8px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tag-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--mist); color: var(--navy); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 500; }
.tag-chip button { border: none; background: none; color: rgba(15,92,92,.5); cursor: pointer; }
.doc-editor { min-height: 400px; background: #fff; border: 1px solid #ced4da; border-radius: 0 0 8px 8px; padding: 1rem; }
.editor-toolbar { background: #f8f9fa; border: 1px solid #ced4da; border-bottom: none; border-radius: 8px 8px 0 0; padding: 6px 8px; display: flex; flex-wrap: wrap; gap: 2px; }
.editor-toolbar button { border: none; background: none; padding: 5px 10px; border-radius: 6px; font-size: 13px; }
.editor-toolbar button:hover { background: #e9ecef; }
