:root {
  --uniform-bg: #f9f5ee;
  --uniform-surface: #ffffff;
  --uniform-text: #1f2937;
  --uniform-muted: #4b5563;
  --uniform-primary: #004c4c;
  --uniform-accent: #e8a020;
  --uniform-border: rgba(15, 23, 42, 0.1);
  --uniform-shadow: 0 12px 30px rgba(2, 14, 30, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--uniform-bg);
  color: var(--uniform-text);
}

p,
li {
  color: var(--uniform-muted);
}

.container {
  width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

/* Works for both .navbar-container and .navbar.container templates */
.navbar,
header .navbar {
  background: rgba(249, 245, 238, 0.9);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--uniform-border);
}

.nav-links a,
.nav-menu .nav-link,
.nav-menu > .nav-item > a {
  color: #0f172a !important;
  font-weight: 600;
}

.nav-links a:hover,
.nav-menu .nav-link:hover,
.nav-menu > .nav-item > a:hover {
  color: var(--uniform-primary) !important;
}

.nav-links a.btn,
.nav-links a.nav-cta,
.nav-menu .cta-nav,
.btn.btn-primary {
  background: var(--uniform-accent);
  border-color: var(--uniform-accent);
  color: #ffffff !important;
}

.nav-links a.btn:hover,
.nav-links a.nav-cta:hover,
.nav-menu .cta-nav:hover,
.btn.btn-primary:hover {
  background: #cf8b18;
  border-color: #cf8b18;
}

/* Global card/surface consistency */
.card,
.feature-card,
.resource-card,
.guide-card,
.webinar-card,
.provider-card,
.testimonial-card,
.page-card,
.tracker-container {
  background: var(--uniform-surface);
  border: 1px solid var(--uniform-border);
  box-shadow: var(--uniform-shadow);
  border-radius: 14px;
}

/* Footer consistency across .footer, .site-footer and plain footer tags */
footer,
.footer,
.site-footer {
  background: #0a1414;
  color: rgba(255, 255, 255, 0.9);
}

footer p,
footer li,
footer a,
.footer p,
.footer li,
.footer a,
.site-footer p,
.site-footer li,
.site-footer a {
  color: rgba(255, 255, 255, 0.84) !important;
}

footer a:hover,
.footer a:hover,
.site-footer a:hover {
  color: #ffffff !important;
}

.footer-grid,
.footer-content {
  display: grid;
  gap: 1.25rem;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Keep article pages from drifting too narrow/wide in legacy templates */
.blog-article,
.blog-post,
.article-content {
  max-width: 860px;
  margin-inline: auto;
}
