/* Final visual alignment with the ColumbusLocalIndex live preview. */
:root {
  --paper: #f7f9fc;
  --paper-light: #ffffff;
  --ink: #0b1f3a;
  --ink-soft: #405c7d;
  --forest: #0b1f3a;
  --forest-2: #193e6a;
  --terra: #ce2029;
  --terra-dark: #ce2029;
  --line: #c7d8e9;
  --cream: #eef5fb;
  --shadow: 0 14px 34px rgba(7,31,67,.10);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: Manrope, Arial, sans-serif;
}

.clindex-site { background: linear-gradient(180deg, #f7f9fc 0%, #fff 32%, #eef5fb 70%, #fff 100%); color: var(--ink); }
.clindex-site::before { background-image: radial-gradient(rgba(7,31,67,.13) .55px, transparent .55px); }
.clindex-site-header { height: 78px; border-top: 4px solid #ce2029; border-bottom-color: #c7d8e9; background: rgba(255,255,255,.96); box-shadow: 0 6px 18px rgba(7,31,67,.06); }
.clindex-brand { color: #0b1f3a; }
.clindex-brand-word small { color: #ce2029; }
.clindex-nav-links a { color: #314c6b; }
.clindex-nav-links a:hover { color: #ce2029; }
.clindex-nav-links::after { color: #0b1f3a; }
.clindex-add-button { background: #0b1f3a; color: #fff !important; box-shadow: 0 8px 20px rgba(7,31,67,.16); }
.clindex-add-button:hover { background: #193e6a !important; }

.clindex-page-hero, .clindex-profile-hero { background: linear-gradient(135deg, #0b1f3a 0%, #193e6a 65%, #254f7d 100%) !important; }
.clindex-page-hero h1, .clindex-profile-hero h1, .clindex-profile-hero .clindex-breadcrumb { color: #fff !important; }
.clindex-page-hero p, .clindex-profile-hero p { color: #e7f0f9 !important; }
.clindex-page-hero .clindex-eyebrow, .clindex-profile-hero .clindex-eyebrow { color: #ce2029 !important; }
.clindex-page-hero .clindex-eyebrow::before, .clindex-profile-hero .clindex-eyebrow::before { background: #ce2029 !important; }

.clindex-current-hero, .clindex-patriotic-hero { border-bottom-color: #c7d8e9; }
.clindex-current-hero h1, .clindex-patriotic-hero h1 { color: #fff; }
.clindex-current-hero h1 em, .clindex-patriotic-hero h1 em { color: #ce2029; }
.clindex-current-hero-lead, .clindex-search-help { color: #e7f0f9; }
.clindex-current-hero-note > div, .clindex-current-hero-note a { color: #ce2029; }
.clindex-current-search > span { color: #ce2029; }
.clindex-current-search button { background: #0b1f3a; }
.clindex-current-category-rail { border-color: #c7d8e9; background: #fff; box-shadow: var(--shadow); }
.clindex-current-category-rail button { color: #2f5f94; }
.clindex-current-category-rail button.is-active { background: #ce2029; box-shadow: 0 8px 20px rgba(206,32,41,.22); }
.clindex-current-category-rail button.is-active small { color: #fff; }

.clindex-current-neighbor { border-color: #c7d8e9; background: #eef5fb; }
.clindex-neighbor-image div, .clindex-current-answer-list article, .clindex-card, .clindex-article-card, .clindex-info-card, .clindex-review, .clindex-claim-card { border-color: #c7d8e9; background: #fff; box-shadow: 0 10px 25px rgba(7,31,67,.06); }
.clindex-neighbor-image small, .clindex-cta-photo small, .clindex-current-answer-list small, .clindex-eyebrow, .clindex-text-link, .clindex-post-topics a { color: #ce2029; }
.clindex-current-answer-list a, .clindex-text-link { text-decoration-color: rgba(206,32,41,.55); }
.clindex-current-business-cta { background: #0b1f3a; }
.clindex-current-business-cta .clindex-add-button { background: #ce2029; }
.clindex-current-business-cta .clindex-add-button:hover { background: #a8131c !important; }
.clindex-partners { border-color: #c7d8e9; }
.clindex-partner-link { border-color: #c7d8e9; color: #0b1f3a; }
.clindex-partner-link:hover { background: #fff1f2; }
.clindex-sidebar-ad > div { background: #0b1f3a; }
.clindex-sidebar-ad small, .clindex-sidebar-ad a, .clindex-sidebar-ad section small { color: #ce2029; }
.clindex-sidebar-ad section { border-color: #f0a3a7; background: #fff5f5; }

.clindex-footer { margin-top: 0; border-top: 4px solid #ce2029; background: #fff; color: #0b1f3a; }
.clindex-footer-grid { border-bottom: 1px solid #c7d8e9; }
.clindex-footer h2, .clindex-footer p, .clindex-footer a, .clindex-footer-bottom { color: #405c7d; }
.clindex-footer h2 { color: #0b1f3a; }
.clindex-footer .clindex-eyebrow { color: #ce2029; }
.clindex-footer a:hover { color: #ce2029; }
.clindex-footer-bottom { border-top-color: #c7d8e9; }

@media (max-width: 620px) {
  .clindex-site-header { height: 68px; }
  .clindex-footer { margin-top: 0; }
}
