/**
 * Fasthvac.us navy + burnt-orange palette.
 * Replaces remaining black / charcoal backgrounds. Layout unchanged.
 *
 * Navy:   #1E3A5F / #0D2B4B / #0A1F38
 * Orange: #C05000 / #9B3D00
 */

:root,
html,
body,
.elementor,
.elementor-kit-18221,
.elementor-kit-18094 {
  --brand: 25 100% 38%;
  --brand-dark: 24 100% 30%;
  --brand-glow: 27 100% 63%;
  --brand-foreground: 0 0% 100%;
  --ring: 25 100% 38%;
  --foreground: 211 70% 17%;
  --navy: 213 52% 25%;
  --navy-dark: 211 70% 17%;
}

.dark,
.elementor .mr-native.dark,
.elementor .e-con.mr-native.dark,
.elementor .mr-native .dark {
  --background: 211 70% 17% !important;
  --foreground: 210 40% 98% !important;
  --card: 213 52% 18% !important;
  --brand: 25 100% 38% !important;
  --brand-dark: 24 100% 30% !important;
  --brand-glow: 27 100% 63% !important;
  --ring: 25 100% 38% !important;
}

/* ---- Kill black backgrounds sitewide ---- */
.bg-black,
.bg-black\/95,
.bg-black\/80,
.bg-black\/60,
.bg-neutral-950,
.bg-neutral-950\/90,
.bg-neutral-900,
.bg-neutral-800,
.bg-foreground,
section#gallery,
section#gallery.bg-black,
section#services,
section#services.bg-neutral-950,
footer.site-footer,
footer.site-footer.bg-black,
.site-footer,
.elementor .mr-native.bg-black,
.elementor .e-con.mr-native.bg-black,
.elementor .mr-native .bg-black,
.elementor .mr-native.bg-black\/95,
.elementor .e-con.mr-native.bg-black\/95,
.elementor .mr-native .bg-black\/95,
.elementor .mr-native.bg-neutral-950,
.elementor .e-con.mr-native.bg-neutral-950,
.elementor .mr-native .bg-neutral-950,
.elementor .mr-native.bg-neutral-900,
.elementor .e-con.mr-native.bg-neutral-900,
.elementor .mr-native .bg-neutral-900,
.elementor .mr-native.bg-neutral-800,
.elementor .e-con.mr-native.bg-neutral-800,
.elementor .e-con.e-parent.mr-native.bg-foreground,
.elementor .e-con.e-parent.mr-native.bg-foreground.py-12 {
  background-color: #0d2b4b !important;
}

.elementor .mr-native.bg-black\/95,
.elementor .e-con.mr-native.bg-black\/95,
.elementor .mr-native .bg-black\/95 {
  background-color: #0d2b4bf2 !important;
}

.elementor .mr-native.bg-black\/80,
.elementor .mr-native .bg-black\/80 {
  background-color: #0d2b4bcc !important;
}

.elementor .mr-native.bg-black\/60,
.elementor .mr-native .bg-black\/60 {
  background-color: #0d2b4b99 !important;
}

/* Header strip */
.site-header > div:first-child,
header.site-header > div.relative.hidden.sm\:flex {
  background-color: #0d2b4b !important;
  background-image: linear-gradient(90deg, #0d2b4b 0%, #1e3a5f 68%, #c05000 100%) !important;
}

.site-header > div:first-child a[href^="tel"] {
  color: #fef08a;
}

footer.site-footer,
.site-footer.bg-black {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Mobile menu */
.mobile-sheet,
.mobile-sheet-cta,
.mobile-sheet-top,
.elementor .e-con.mr-native.mobile-sheet,
.elementor .e-con.mr-native.mobile-sheet-cta {
  background: #0d2b4b !important;
  background-color: #0d2b4b !important;
}

.mobile-sheet-top {
  background: #0d2b4bfa !important;
}

[data-open-menu],
[data-open-menu].bg-neutral-900,
.header-bar [data-open-menu],
.site-header [data-open-menu],
.site-header .header-bar.is-compact [data-open-menu],
.site-header[data-home="true"] .header-bar.is-compact [data-open-menu] {
  color: #fff !important;
}

[data-open-menu] svg,
.header-bar [data-open-menu] svg,
.site-header [data-open-menu] svg {
  color: #fff !important;
  stroke: #fff !important;
}

/* Contact, blog, testimonials, service heroes */
.contact-call,
.blog-hero,
.blog-featured-card,
.blog-cta-strip,
.blog-article-hero,
.blog-article-call,
.blog-side-cta,
.blog-card-media,
.t-cta,
.t-avatar,
.bottom-request-form,
.page-hero,
.elementor .e-con.mr-native.blog-hero,
.elementor .e-con.mr-native.blog-featured-card,
.elementor a.e-con.mr-native.blog-featured-card,
.elementor .e-con.mr-native.blog-cta-strip,
.elementor .e-con.mr-native.blog-article-hero,
.elementor .e-con.mr-native.blog-article-call,
.elementor .e-con.mr-native.blog-side-cta,
.elementor .e-con.mr-native.t-cta,
.elementor .e-con.mr-native.t-avatar,
.elementor .e-con.mr-native.contact-call {
  background-color: #0d2b4b !important;
}

.contact-call,
.elementor .e-con.mr-native.contact-call {
  background-image:
    radial-gradient(ellipse 80% 60% at 50% 0%, hsl(var(--brand) / 0.22), transparent 55%),
    linear-gradient(180deg, #0d2b4b 0%, #1e3a5f 100%) !important;
}

.blog-hero,
.elementor .e-con.mr-native.blog-hero {
  background-image:
    radial-gradient(ellipse 70% 55% at 15% 20%, hsl(var(--brand) / 0.28), transparent 50%),
    radial-gradient(ellipse 50% 40% at 90% 80%, hsl(var(--brand) / 0.12), transparent 45%),
    linear-gradient(165deg, #0d2b4b 0%, #1e3a5f 55%, #0a1f38 100%) !important;
}

.blog-cta-strip,
.elementor .e-con.mr-native.blog-cta-strip {
  background-image: linear-gradient(90deg, #0d2b4b 0%, #1e3a5f 60%, #c05000 100%) !important;
}

.t-cta,
.elementor .e-con.mr-native.t-cta {
  background-image: linear-gradient(180deg, #0d2b4b 0%, #1e3a5f 100%) !important;
}

.hero-overlay,
.elementor .mr-native.hero-overlay,
.elementor .e-con.mr-native.hero-overlay,
.elementor .mr-native .hero-overlay {
  background-image: linear-gradient(180deg, #0d2b4b8c, #0d2b4b59, #0d2b4bb3) !important;
}

/* Gallery page: completed projects on white */
.page-id-18224 section#gallery,
.page-id-18224 section#gallery.bg-black,
.elementor-page-18224 section#gallery,
.elementor-page-18224 section#gallery.bg-black,
body.page-gallery section#gallery,
body.page-gallery section#gallery.bg-black {
  background-color: #ffffff !important;
  color: #0d2b4b;
}

.page-id-18224 section#gallery h2,
.page-id-18224 section#gallery h2.text-white,
.elementor-page-18224 section#gallery h2,
.elementor-page-18224 section#gallery h2.text-white,
body.page-gallery section#gallery h2,
body.page-gallery section#gallery h2.text-white {
  color: #0d2b4b !important;
}
