/* USA National Parks Explorer — light design system */
:root {
  --parks-primary: #0EA5E9;
  --parks-primary-dark: #0284C7;
  --parks-accent: #EA580C;
  --parks-accent-dark: #C2410C;
  --parks-bg: #F0F9FF;
  --parks-surface: #FFFFFF;
  --parks-fg: #0C4A6E;
  --parks-muted: #64748B;
  --parks-border: rgba(12, 74, 110, 0.14);
}

html { scroll-behavior: smooth; }

body {
  background-color: var(--parks-bg) !important;
  color: var(--parks-fg) !important;
  font-family: var(--font-primary, 'Atkinson Hyperlegible', 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, 'Crimson Pro', Georgia, serif);
  color: var(--parks-fg) !important;
}

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

.site_hero_subtitle {
  color: var(--parks-accent) !important;
  font-weight: 600;
}

.header-featured {
  background: rgba(240, 249, 255, 0.94) !important;
  border-bottom: 1px solid var(--parks-border);
  backdrop-filter: blur(10px);
}

.header-featured.scrolled {
  box-shadow: 0 8px 32px rgba(14, 165, 233, 0.12);
}

.sitename-featured { color: var(--parks-fg) !important; }
.logo-accent-featured { background: var(--parks-primary) !important; }

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

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

.hamburger-line-featured { background: var(--parks-fg) !important; }

.hero-container {
  background:
    radial-gradient(1200px 600px at 8% 0%, rgba(14, 165, 233, 0.14), transparent 55%),
    radial-gradient(900px 500px at 92% 18%, rgba(234, 88, 12, 0.1), transparent 50%),
    var(--parks-bg) !important;
}

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

.btn-hero-secondary {
  border-color: var(--parks-accent) !important;
  color: var(--parks-accent) !important;
}

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

.usp-section, .about-section, .services-section, .blog-section, #team {
  background: var(--parks-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(--parks-surface) !important;
  border: 1px solid var(--parks-border) !important;
  box-shadow: 0 12px 40px rgba(14, 165, 233, 0.08);
}

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

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

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

.accordion-button:not(.collapsed) {
  background: rgba(14, 165, 233, 0.1) !important;
  color: var(--parks-primary-dark) !important;
}

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

.site10-important-info-card {
  background: var(--parks-surface) !important;
  border: 1px solid var(--parks-border) !important;
  border-radius: 0.75rem;
  padding: 1.5rem;
}

.site10-important-info-title { color: var(--parks-fg) !important; }

.footer-variant {
  background: var(--parks-fg) !important;
  color: #E0F2FE !important;
}

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

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

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

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

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

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

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

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