/* ============================================================
   SFG Global Styles
   Brand: SILSBEE(#888) FLEET(#0077CC) GROUP(#CC1A1A)
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600;700;800&family=Inter:wght@600;800&display=swap");

:root {
  --sfg-red:#CC1A1A;--sfg-blue:#00AEEF;--sfg-blue-h:#0092CA;
  --sfg-navy:#1B2A4A;--sfg-ink:#111827;--sfg-ink-2:#374151;
  --sfg-ink-3:#6B7280;--sfg-ink-4:#9CA3AF;
  --sfg-border:#D1D5DB;--sfg-bg:#F0F2F5;--sfg-white:#FFFFFF;
}

/* overflow-x: hidden on html breaks position:sticky — use clip instead */
html, body { overflow-x: clip !important; }

/* Thin red scrollbar — WebKit/Chrome uses ::-webkit-scrollbar (square corners) */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #CC1A1A; border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: #a31515; }
/* Firefox only: standard props (radius isn't controllable there). Scoped so Chrome
   doesn't switch to its rounded standard scrollbar and ignore the rules above. */
@supports not selector(::-webkit-scrollbar) {
  * { scrollbar-width: thin; scrollbar-color: #CC1A1A transparent; }
}

/* Base font */
*, *::before, *::after {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

/* ── HEADER WRAPPER ────────────────────────────────────────── */

#reactheme-header,
#reactheme-header.rts-default-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  transition: background 0.35s ease, box-shadow 0.35s ease !important;
}

#reactheme-header.sfg-header-scrolled,
#reactheme-header.sfg-header-scrolled.rts-default-header {
  background: #001528 !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.45) !important;
  border-bottom-color: transparent !important;
}

/* ── SCROLL COLLAPSE: top bar slides up, logo slides down ───── */

#reactheme-header.sfg-header-scrolled .sfg-topbar-row {
  max-height: 0 !important;
  opacity: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  pointer-events: none !important;
}

#reactheme-header.sfg-header-scrolled .sfg-header-divider {
  max-height: 0 !important;
  opacity: 0 !important;
}

#reactheme-header.sfg-header-scrolled .sfg-topbar-logo {
  transform: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  justify-content: center !important;
}

/* ── TRANSPARENT STATE — high-contrast text over hero ───────── */

#reactheme-header:not(.sfg-header-scrolled) .sfg-item-label {
  color: rgba(255,255,255,0.65) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .sfg-item-value {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .sfg-logo-silsbee {
  color: rgba(255,255,255,0.6) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .sfg-topbar-tagline {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .sfg-social-label {
  color: rgba(255,255,255,0.6) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .sfg-social-icon,
#reactheme-header:not(.sfg-header-scrolled) .sfg-icon-badge {
  color: rgba(255,255,255,0.85) !important;
  background: rgba(0,0,0,0.35) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .navbar-menu ul#primary-menu-main > li > a {
  color: rgba(255,255,255,0.85) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

#reactheme-header:not(.sfg-header-scrolled) .navbar-menu ul#primary-menu-main > li > a:hover,
#reactheme-header:not(.sfg-header-scrolled) .navbar-menu ul#primary-menu-main > li.current-menu-item > a {
  color: #ffffff !important;
}


/* ── OUTER WRAPPER: full-width, logo | right-col ───────────── */

.sfg-header-inner {
  width: 100% !important;
  display: flex !important;
  align-items: stretch !important;
}

/* ── LOGO (left column, full header height) ────────────────── */

.sfg-topbar-logo {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 0 3em 12px 9em !important;
  border-right: 1px solid rgba(255,255,255,0.28) !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  gap: 4px !important;
  transition: transform 0.35s ease !important;
}

.sfg-logo-img {
  height: 40px;
  width: auto;
  display: block;
  filter: brightness(0) invert(1);
  margin: 30px 18px 10px;
}
#reactheme-header.sfg-header-scrolled .sfg-logo-img {
  filter: none;
  height: 40px;
  margin: 10px 18px;
}

.sfg-logo-silsbee, .sfg-logo-fleet, .sfg-fleet-word, .sfg-group-word {
  display: none !important;
}

.sfg-group-word {
  color: #CC1A1A !important;
  -webkit-text-fill-color: #CC1A1A !important;
}

/* ── RIGHT COLUMN: contact row + divider + nav row ─────────── */

.sfg-header-right {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

/* ── CONTACT ROW (top of right column) ─────────────────────── */

.sfg-topbar-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.5em 7.5em 0.5em 3.75em !important;
  flex: 1 !important;
  max-height: 72px;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.3s ease !important;
}

/* Contact items */
.sfg-topbar-contact {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding-top: 0 !important;
}

.sfg-topbar-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: opacity 0.2s !important;
}

.sfg-topbar-item:hover { opacity: 0.8 !important; }

.sfg-topbar-location { cursor: default !important; }

/* Icon badge — solid rounded square */
.sfg-icon-badge {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: rgba(15,40,70,0.10) !important;
  border: none !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  color: #4a6880 !important;
  transition: background 0.2s, color 0.2s !important;
}

.sfg-topbar-item:hover .sfg-icon-badge { background: rgba(0,119,204,0.3) !important; color: #ffffff !important; }

/* Two-line contact text */
.sfg-item-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1 !important;
  gap: 2px !important;
}

.sfg-item-label {
  font-size: 9.5px !important;
  font-weight: 500 !important;
  color: #4a6880 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
}

.sfg-item-value {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #c8d8e8 !important;
}

/* Right side: tagline + social — anchored to the same right edge as the nav button */
.sfg-topbar-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 2px !important;
  flex-shrink: 0 !important;
  padding-top: 0 !important;
  margin-left: auto !important;
  margin-right: -6.5em !important;
  line-height: 1 !important;
}

.sfg-topbar-tagline {
  font-size: 9px !important;
  font-weight: 600 !important;
  color: #0077CC !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
}

.sfg-social-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1 !important;
}

.sfg-social-label {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: #4a6880 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.sfg-social-icons {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.sfg-social-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background: rgba(15,40,70,0.10) !important;
  border-radius: 4px !important;
  color: #4a6880 !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
}

.sfg-social-icon:hover {
  background: rgba(0,119,204,0.3) !important;
  color: #ffffff !important;
}

/* ── HORIZONTAL DIVIDER (full width of right column) ───────── */

.sfg-header-divider {
  height: 1px !important;
  max-height: 1px;
  background: rgba(255,255,255,0.28) !important;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.25s ease !important;
}

/* ── NAV ROW (bottom of right column) ──────────────────────── */

.sfg-mainnav-row {
  padding: 0 1.5em 0 3.75em !important;
}

#reactheme-header .rt-row-header {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
}

/* ── NAV LINKS ─────────────────────────────────────────────── */

#reactheme-header .rt-menu-responsive.menu-area {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

#reactheme-header .navbar-menu {
  flex: 1 !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li {
  padding: 0.75em 0.01em !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li > a {
  display: block !important;
  padding: 5px 15px !important;
  color: #c8d8e8 !important;
  font-family: "Lexend", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 0.2s !important;
  letter-spacing: 0.2px !important;
}

/* First nav item has no left padding — aligns with logo */
#reactheme-header .navbar-menu ul#primary-menu-main > li:first-child > a {
  padding-left: 0 !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li > a:hover,
#reactheme-header .navbar-menu ul#primary-menu-main > li.current-menu-item > a {
  color: #ffffff !important;
}

/* Dropdown chevron */
#reactheme-header .navbar-menu ul#primary-menu-main > li.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  margin-bottom: 3px !important;
  opacity: 0.6 !important;
  transition: transform 0.2s, opacity 0.2s !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li.menu-item-has-children:hover > a::after {
  transform: rotate(-135deg) !important;
  margin-bottom: -2px !important;
  opacity: 1 !important;
}

/* ── DROPDOWN ──────────────────────────────────────────────── */

#reactheme-header .navbar-menu .sub-menu {
  background: #ffffff !important;
  border-top: none !important;
  border-radius: 4px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  min-width: 200px !important;
  padding: 0 !important;
}

#reactheme-header .navbar-menu .sub-menu li a {
  padding: 10px 20px !important;
  color: #003B71 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: block !important;
  transition: background 0.15s, color 0.15s !important;
}

#reactheme-header .navbar-menu .sub-menu li a:hover {
  background: #f0f4f8 !important;
  color: #0077CC !important;
}

#reactheme-header .navbar-menu .sub-menu li:not(:last-child) {
  border-bottom: 1px solid #e8edf2 !important;
}

/* ── REQUEST A QUOTE — red pill button, far right ───────────── */

#reactheme-header .navbar-menu ul#primary-menu-main > li.menu-item-6593 {
  margin-left: auto !important;
  padding: 0 !important;          /* remove li padding so the <a> controls all spacing */
  display: flex !important;
  align-items: center !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a,
#reactheme-header:not(.sfg-header-scrolled) .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a,
#reactheme-header.sfg-header-scrolled .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a {
  background: #CC1A1A !important;
  color: #ffffff !important;
  padding: 11px 26px !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.3px !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

#reactheme-header .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a:hover,
#reactheme-header:not(.sfg-header-scrolled) .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a:hover,
#reactheme-header.sfg-header-scrolled .navbar-menu ul#primary-menu-main > li.menu-item-6593 > a:hover {
  background: #a31515 !important;
  color: #ffffff !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

/* ── HAMBURGER (mobile) ────────────────────────────────────── */

#reactheme-header .menu-button svg rect {
  fill: #ffffff !important;
}

#reactheme-header .menu-button {
  padding: 8px !important;
}

/* ── MOBILE ────────────────────────────────────────────────── */

@media (max-width: 1024px) {
  .sfg-topbar-logo { padding: 0 3em 12px 9em !important; }
  .sfg-topbar-row { padding-right: 7.5em !important; padding-left: 3.75em !important; }
  .sfg-mainnav-row { padding-right: 1.5em !important; padding-left: 3.75em !important; }
  .sfg-topbar-contact { gap: 20px !important; }
}

@media (max-width: 767px) {
  #reactheme-header,
  #reactheme-header.rts-default-header { width: 100% !important; left: 0 !important; right: 0 !important; }

  /* One tidy row: logo (left) · tap-to-call + hamburger (right).
     The full contact strip, tagline and socials are intentionally hidden on
     phones — they're in the slide-out menu and footer, and the homepage hero
     keeps its own Call button. This kills the truncated "800.464.2…" clutter. */
  .sfg-header-inner { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; width: 100% !important; }
  .sfg-header-right { display: contents !important; }

  .sfg-topbar-logo {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    padding: 10px 0 10px 16px !important;
    border-right: none !important;
    border-bottom: none !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }
  .sfg-logo-img { height: 28px !important; margin: 0 !important; }
  .sfg-logo-silsbee, .sfg-logo-fleet, .sfg-fleet-word, .sfg-group-word { display: none !important; }

  /* Contact strip collapses to a single circular tap-to-call button, pushed right */
  .sfg-topbar-row {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    min-width: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 4px 0 0 !important;
    gap: 0 !important;
  }
  .sfg-topbar-contact { flex-direction: row !important; gap: 0 !important; flex: 0 0 auto !important; align-items: center !important; overflow: visible !important; }
  .sfg-topbar-item { display: none !important; }
  a.sfg-topbar-item[href^="tel"] { display: inline-flex !important; align-items: center !important; gap: 0 !important; min-width: 0 !important; }
  a.sfg-topbar-item[href^="tel"] .sfg-item-text { display: none !important; }
  a.sfg-topbar-item[href^="tel"] .sfg-icon-badge {
    display: flex !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
  }
  .sfg-topbar-right, .sfg-header-divider { display: none !important; }

  /* Nav row collapses to just the hamburger, pinned to the far right.
     Higher-specificity selectors here override the unconditional width/flex
     rules injected late in <head> by sfg_quote_button_late_css(). */
  .sfg-mainnav-row {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 12px 0 2px !important;
    border-top: none !important;
    display: flex !important;
    align-items: center !important;
  }
  #reactheme-header .sfg-mainnav-row .rt-row-header { width: auto !important; }
  #reactheme-header .sfg-mainnav-row .rt-menu-responsive.menu-area {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    justify-content: flex-end !important;
  }
  .menu-button { padding: 10px !important; }
  .menu-wrap-off { max-width: 100% !important; width: 100% !important; padding: 24px 20px !important; }
  .menu-ofcn.off-open { transform: translate3d(0, 0, 0) !important; }
}

/* ── PARALLAX sections ─────────────────────────────────────── */

/*
 * CSS parallax — background-attachment:fixed.
 * Apply .sfg-parallax via Elementor CSS Classes field.
 * Note: iOS Safari ignores fixed attachment on non-body elements,
 * so Jarallax (sfg-parallax.js) handles mobile when data-sfg-parallax is set.
 */
.sfg-parallax,
.sfg-parallax > .elementor-background-overlay {
  background-attachment: fixed !important;
}

@media (max-width: 1024px) {
  /* Disable CSS fixed on tablet/mobile — Jarallax takes over */
  .sfg-parallax { background-attachment: scroll !important; }
}

/* ── HERO HEIGHT ────────────────────────────────────────────── */

.elementor-element-4141d1df {
  min-height: 100vh !important;
}

.elementor-element-4141d1df .elementor-widget-wrap {
  margin-top: calc(var(--sfg-header-h, 96px) + 100px) !important;
}

.elementor-element-540d5109 p {
  color: rgba(255,255,255,0.9) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important;
}

/* ── HIDE BREADCRUMB on all Elementor full-width pages ────── */
.reactheme-breadcrumbs { display: none !important; }

/* ── INNER PAGE CONTENT WIDTH ──────────────────────────────── */
/* Cap full-width sections on inner pages so content doesn't stretch
   edge-to-edge. First section (hero) stays full-bleed. */
body:not(.home) .elementor-section-full_width:not(:first-child) > .elementor-container {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 60px !important;
}

/* ── OFF-CANVAS SIDEBAR NAV ─────────────────────────────────── */

.menu-wrap-off .inner-offcan .nav-link-container {
  top: 20px !important;
}

.menu-wrap-off { background: #ffffff !important; }

/* All top-level items */
.menu-area-addon-offcan .navbar ul > li > a {
  color: #0a1f33 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  border-bottom: none !important;
  padding: 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Current / active item */
.menu-area-addon-offcan .navbar ul > li.current-menu-item > a,
.menu-area-addon-offcan .navbar ul > li.current-menu-ancestor > a,
.menu-area-addon-offcan .navbar ul > li.current_page_item > a {
  color: #0077CC !important;
}

/* Hover */
.menu-area-addon-offcan .navbar ul > li > a:hover { color: #0077CC !important; opacity: 1 !important; }

/* Sub-menu items */
.menu-area-addon-offcan .navbar ul li ul.sub-menu li a {
  color: #2a4a66 !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  padding: 8px 0 8px 12px !important;
  border-bottom: none !important;
}
.menu-area-addon-offcan .navbar ul li ul.sub-menu li a:hover { color: #0077CC !important; }

/* Dropdown chevron — position right */
.menu-area-addon-offcan .rtd-arrow {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: auto !important;
  color: #0077CC !important;
}
.menu-area-addon-offcan .rtd-arrow svg { width: 18px !important; height: 18px !important; }

/* ── HIDE unnecessary Autovault elements ───────────────────── */
.header-top-area,
.rts-header-two-area,
.rts-header-three-area { display: none !important; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */

h1, h2 {
  font-weight: 700 !important;
  color: #003B71;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
h3, h4 { font-weight: 600 !important; color: #003B71; }
h5, h6 { font-weight: 600 !important; color: #888888; text-transform: uppercase; letter-spacing: 0.08em; font-size: 12px !important; }

h1 { font-size: 52px; }
h2 { font-size: 38px; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }

body, p { font-size: 16px; line-height: 1.75; color: #1a1a1a; font-weight: 400; }
small { font-size: 14px; line-height: 1.6; color: #6b7280; }

@media (max-width: 1024px) {
  h1 { font-size: 38px !important; }
  h2 { font-size: 30px !important; }
  h3 { font-size: 22px !important; }
}
@media (max-width: 767px) {
  h1 { font-size: 28px !important; letter-spacing: -0.01em !important; }
  h2 { font-size: 24px !important; }
  h3 { font-size: 20px !important; }
  body, p { font-size: 15px !important; }
}

/* ============================================================
   ELEMENTOR COMPONENTS
   ============================================================ */

/* Buttons */
.elementor-button {
  font-weight: 600 !important;
  font-size: 15px !important;
  border-radius: 4px !important;
  padding: 13px 30px !important;
  background: #0077CC !important;
  color: #fff !important;
  border: none !important;
  transition: background 0.2s ease !important;
}
.elementor-button:hover { background: #005FA3 !important; }

/* Section backgrounds — ensure they render */
.elementor-section[data-settings*="background_color"] { }

/* ============================================================
   QUOTE PAGE HERO OVERRIDE (page-id-16)
   ============================================================ */
.page-id-16 .elementor-element-0079cd4c {
  background-image: url('https://silsbeefleet.com/wp-content/themes/autovault-child/images/heroes/hero-quote.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  padding: 180px 20px 140px !important;
}
.page-id-16 .elementor-element-0079cd4c > .elementor-background-overlay {
  background: rgba(10,34,64,.85) !important;
  opacity: 1 !important;
}
.page-id-16 .elementor-element-0079cd4c .elementor-heading-title {
  color: #fff !important;
  font-size: 50px !important;
  text-align: center !important;
}
.page-id-16 .elementor-element-0079cd4c .elementor-widget-text-editor p {
  color: #d0e4f5 !important;
}

/* Quote form section */
.page-id-16 .elementor-element-00c15ce2 {
  padding: 70px 8% !important;
  background: #f5f7fa !important;
}

/* Form column */
.page-id-16 .elementor-element-00d78859 > .elementor-widget-wrap {
  background: #fff;
  border-radius: 8px;
  padding: 40px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.page-id-16 .elementor-field-label {
  font-weight: 600 !important;
  color: #0a2240 !important;
  font-size: 13px !important;
}
.page-id-16 .elementor-field-textual {
  border: 1px solid #D1D5DB !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  transition: border-color .15s !important;
}
.page-id-16 .elementor-field-textual:focus {
  border-color: #0077CC !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,119,204,.1) !important;
}
.page-id-16 .elementor-button[type="submit"] {
  background: #CC1A1A !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-top: 8px !important;
}
.page-id-16 .elementor-button[type="submit"]:hover {
  background: #a31515 !important;
}

/* Right sidebar column */
.page-id-16 .elementor-element-00802d18 > .elementor-widget-wrap {
  background: #0a2240;
  border-radius: 8px;
  padding: 40px !important;
  color: #fff;
}
.page-id-16 .elementor-element-00802d18 .elementor-heading-title {
  color: #fff !important;
}
.page-id-16 .elementor-element-00802d18 .elementor-widget-text-editor p {
  color: rgba(255,255,255,.8) !important;
}
.page-id-16 .elementor-element-00802d18 .elementor-widget-text-editor a {
  color: #c8a500 !important;
}
.page-id-16 .elementor-element-00802d18 .elementor-divider-separator {
  border-color: rgba(255,255,255,.2) !important;
}

/* Icons */
.elementor-icon i,
.elementor-icon-box-icon .elementor-icon i { color: #0077CC !important; }

/* Icon-box */
.elementor-icon-box-title { font-weight: 600 !important; color: #003B71 !important; font-size: 17px !important; margin-bottom: 8px; }
.elementor-icon-box-description { font-size: 15px !important; color: #4a5568 !important; line-height: 1.65 !important; }

/* Counter */
.elementor-counter-number-wrapper { font-weight: 700 !important; }
.elementor-counter-title { font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; opacity: 0.9; }

/* Icon-list */
.elementor-icon-list-text { font-size: 15px !important; color: #1a1a1a !important; }
.elementor-icon-list-icon i { color: #0077CC !important; }

/* Links */
a { color: #0077CC; }
a:hover { color: #CC1A1A; }
a[href^="tel"] { white-space: nowrap; color: inherit; }
@media (max-width: 767px) {
  a[href^="tel"] { display: inline-block; padding: 4px 0; }
  .elementor-button { padding: 12px 24px !important; font-size: 14px !important; }
}

/* ============================================================
   SITEWIDE FOOTER
   ============================================================ */

.sfg-footer{padding:44px 40px 26px;background:var(--sfg-white);border-top:1px solid var(--sfg-border)}
.sfg-footer .f-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:220px;margin-bottom:36px;padding-bottom:32px;border-bottom:1px solid var(--sfg-border);margin-left:-40px;margin-right:-40px;padding-left:150px;padding-right:200px}
.sfg-footer .f-logo{display:block;line-height:1;margin-bottom:10px;text-decoration:none}
.sfg-footer .f-logo .l-top,.sfg-footer .f-logo .l-main{display:none}
.f-logo-img{height:28px;width:auto;display:block}
.sfg-footer .f-tagline{font-size:12.5px;color:var(--sfg-ink-4);line-height:1.65;max-width:210px;margin-bottom:14px}
.sfg-footer .f-contact{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sfg-ink-4);margin-bottom:6px}
.sfg-footer .f-contact svg{width:11px;height:11px;flex-shrink:0}
.sfg-footer .f-contact a{color:var(--sfg-ink-4);transition:color .15s}
.sfg-footer .f-contact a:hover{color:var(--sfg-blue)}
.sfg-footer .f-social{display:flex;gap:5px;margin-top:12px}
.sfg-footer .f-sl{width:27px;height:27px;border:1px solid var(--sfg-border);border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--sfg-ink-4);transition:color .15s,border-color .15s;text-decoration:none}
.sfg-footer .f-sl:hover{color:var(--sfg-blue);border-color:rgba(0,174,239,.3)}
.sfg-footer .f-sl svg{width:11px;height:11px}
.sfg-footer .f-col-t{font-size:11px;font-weight:700;color:var(--sfg-ink);margin-bottom:12px;letter-spacing:.02em}
.sfg-footer .f-col a{display:block;font-size:12.5px;color:var(--sfg-ink-4);margin-bottom:8px;transition:color .15s;text-decoration:none}
.sfg-footer .f-col a:hover{color:var(--sfg-ink)}
.sfg-footer .f-bottom{display:flex;align-items:center;justify-content:space-between}
.sfg-footer .f-bottom p,.sfg-footer .f-bottom a{font-size:11.5px;color:var(--sfg-ink-4)}
.sfg-footer .f-bottom-r{display:flex;gap:14px}
.sfg-footer .f-bottom-r a{text-decoration:none}
.sfg-footer .f-bottom-r a:hover{color:var(--sfg-ink-3)}

@media (max-width: 767px) {
  .sfg-footer{padding:32px 20px 20px}
  .sfg-footer .f-top{grid-template-columns:1fr;gap:28px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
  .sfg-footer .f-bottom{flex-direction:column;gap:8px;text-align:center}
}
