/* Academus shared palette — matches homepage */
:root {
  --ac-ink: #1a2433;
  --ac-muted: #5a6575;
  --ac-accent: #0d6e6e;
  --ac-accent-deep: #0a5555;
  --ac-sand: #f3efe6;
  --ac-paper: #faf8f4;
  --ac-line: rgba(26, 36, 51, 0.12);
  --ac-display: "Fraunces", "CMU Serif", Georgia, serif;
  --ac-body: "Source Serif 4", "CMU Serif", Georgia, serif;
  --ac-sans: "Source Serif 4", Georgia, "Times New Roman", serif;
}

body {
  font-size: 15px;
  color: var(--ac-ink);
  background: var(--ac-paper);
}

a {
  text-decoration: none;
  color: var(--ac-accent);
}

a:hover {
  color: var(--ac-accent-deep);
}

.container {
  color: var(--ac-ink);
}

.blog-masthead {
  background: linear-gradient(180deg, #0a5555 0%, #0d6e6e 100%);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

.blog-masthead .nav-link,
.blog-masthead .nav-link.active {
  color: rgba(255, 255, 255, 0.92) !important;
}

.blog-masthead .nav-link:hover {
  color: #fff !important;
}

.blog-masthead .badge.bg-secondary {
  background-color: rgba(255, 255, 255, 0.22) !important;
  color: #fff;
}

.btn-primary,
.nav-link.active {
  background-color: var(--ac-accent) !important;
  border: none !important;
}

.btn-primary:hover {
  background-color: var(--ac-accent-deep) !important;
}

.nav-link {
  color: var(--ac-accent);
}

.navbar-brand {
  padding-top: 0.1rem;
}

.blog-title {
  margin-top: 30px;
  margin-bottom: 0;
  font-family: var(--ac-display);
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--ac-ink);
}

.blog-footer {
  padding: 1.5rem 1.25rem;
  color: var(--ac-muted);
  text-align: center;
  background-color: var(--ac-sand);
  border-top: 1px solid var(--ac-line);
}

.blog-footer a {
  color: var(--ac-accent-deep);
}

.footer-x-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
}

.footer-x-icon {
  display: inline-block;
  vertical-align: -0.1em;
  flex-shrink: 0;
}

.blog-footer p:last-child {
  margin-bottom: 0;
}

.sans {
  font-family: var(--ac-sans);
}

.page-shell {
  background:
    radial-gradient(ellipse 70% 40% at 10% 0%, rgba(13, 110, 110, 0.07), transparent 55%),
    var(--ac-paper);
  min-height: calc(100vh - 56px - 80px);
  padding-bottom: 2.5rem;
}

.page-shell .blog-header hr {
  border-color: var(--ac-line);
  opacity: 1;
}

.page-shell .blog-post-meta,
.page-shell .blog-post-date {
  color: var(--ac-muted);
}

.page-shell .form-control {
  border-color: var(--ac-line);
  border-radius: 10px;
  font-family: var(--ac-body);
}

.page-shell .form-control:focus {
  border-color: var(--ac-accent);
  box-shadow: 0 0 0 3px rgba(13, 110, 110, 0.18);
}

.page-shell .input-group .btn-primary {
  border-radius: 0 10px 10px 0;
}
