/* Historic Route 66 Travel Guide — light design system */
:root {
  --r66-primary: #1E3A8A;
  --r66-primary-dark: #1E3A5F;
  --r66-accent: #EA580C;
  --r66-accent-dark: #C2410C;
  --r66-bg: #FFFFFF;
  --r66-surface: #FFFFFF;
  --r66-fg: #1E293B;
  --r66-muted: #64748B;
  --r66-border: rgba(30, 58, 138, 0.14);
  --r66-warm: #FFF7ED;
}

html { scroll-behavior: smooth; }

body {
  background-color: var(--r66-bg) !important;
  color: var(--r66-fg) !important;
  font-family: var(--font-primary, 'Public Sans', system-ui, sans-serif);
}

h1, h2, h3, h4, h5, h6,
.light_section_title, .minimal_hero_title, .display-4, .display-5 {
  font-family: var(--font-accent, 'Fraunces', Georgia, serif);
  color: var(--r66-fg) !important;
}

.text-muted { color: var(--r66-muted) !important; }
.text-secondary { color: #475569 !important; }

.site_hero_subtitle {
  color: var(--r66-accent) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.header-featured {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 2px solid var(--r66-border);
  backdrop-filter: blur(10px);
}

.header-featured.scrolled {
  box-shadow: 0 8px 32px rgba(30, 58, 138, 0.1);
}

.sitename-featured { color: var(--r66-primary) !important; font-weight: 700; }
.logo-accent-featured { background: var(--r66-accent) !important; }

.nav-link-featured { color: #334155 !important; }
.nav-link-featured:hover,
.nav-link-featured.active { color: var(--r66-primary) !important; }

.nav-content-featured {
  background: var(--r66-surface) !important;
  border: 1px solid var(--r66-border);
}

.hamburger-line-featured { background: var(--r66-primary) !important; }

.hero-container {
  background:
    linear-gradient(105deg, rgba(30, 58, 138, 0.06) 0%, transparent 42%),
    radial-gradient(900px 480px at 95% 12%, rgba(234, 88, 12, 0.12), transparent 55%),
    var(--r66-bg) !important;
}

.btn-hero-primary,
.btn-primary,
.btn-leadgen-submit {
  background: linear-gradient(135deg, var(--r66-primary), var(--r66-primary-dark)) !important;
  border: none !important;
  color: #FFFFFF !important;
  font-weight: 600;
  border-radius: 4px !important;
}

.btn-hero-secondary {
  border: 2px solid var(--r66-accent) !important;
  color: var(--r66-accent) !important;
  border-radius: 4px !important;
}

.btn-hero-secondary:hover {
  background: rgba(234, 88, 12, 0.08) !important;
}

.usp-section, .about-section, .services-section, .blog-section, #team {
  background: var(--r66-bg) !important;
}

.usp-card, .about-feature-card, .service-card, .blog-card,
.leadgen-form-card, .contact-form-wrapper, .contact-info-wrapper .info-card,
.team-card-site10, .legal-container, .blog-article {
  background: var(--r66-surface) !important;
  border: 1px solid var(--r66-border) !important;
  box-shadow: 0 10px 36px rgba(30, 58, 138, 0.07);
  border-radius: 6px;
}

.usp-card-accent { background: var(--r66-primary) !important; }
.usp-card-accent.accent-secondary { background: var(--r66-accent) !important; }

.leadgen-section-secondary {
  background: linear-gradient(180deg, var(--r66-warm) 0%, var(--r66-bg) 100%) !important;
}

.form-control, .form-select, .accordion-button {
  background: #FFFFFF !important;
  border-color: var(--r66-border) !important;
  color: var(--r66-fg) !important;
  border-radius: 4px;
}

.accordion-button:not(.collapsed) {
  background: rgba(30, 58, 138, 0.08) !important;
  color: var(--r66-primary) !important;
}

.site10-important-info {
  background: linear-gradient(180deg, var(--r66-bg), var(--r66-warm)) !important;
}

.site10-important-info-card {
  background: var(--r66-surface) !important;
  border: 1px solid var(--r66-border) !important;
  border-left: 4px solid var(--r66-accent);
  border-radius: 6px;
  padding: 1.5rem;
}

.site10-important-info-title { color: var(--r66-primary) !important; }

.footer-variant {
  background: var(--r66-primary) !important;
  color: #E2E8F0 !important;
}

.footer-variant .brand-name,
.footer-variant .column-title { color: #F8FAFC !important; }

.footer-variant .brand-description,
.footer-variant .contact-text,
.footer-variant .copyright-text { color: #CBD5E1 !important; }

.footer-variant a { color: #FDBA74 !important; }
.footer-variant a:hover { color: #FFFFFF !important; }

.footer-accent-line {
  background: linear-gradient(90deg, var(--r66-accent), #F97316) !important;
}

.blog-card-link, .service-cta, .read-more-link { color: var(--r66-primary) !important; }

.map-embed-r66 iframe {
  border: 0;
  width: 100%;
  min-height: 360px;
  border-radius: 6px;
  border: 1px solid var(--r66-border);
}

.team-card-site10 img {
  border-radius: 50%;
  border: 3px solid var(--r66-accent);
  object-fit: cover;
}

.article-container, .legal-container { max-width: 960px; }
.blog-article, .legal-container { padding: 2rem; border-radius: 6px; }

.hero-media-grid .hero-img {
  border-radius: 6px;
  border: 2px solid var(--r66-border);
}
