/* Sunshine Affordable Movers template overrides */

/* Approved Sunshine brand palette. These variables sit after the captured
   Elementor sheets and normalize the full site without rewriting vendor CSS. */
:root {
  --sam-navy: #001236;
  --sam-orange: #ff9201;
  --sam-yellow: #ffc803;
  --sam-white: #ffffff;
  --sam-black: #000000;

  --e-global-color-primary: var(--sam-navy) !important;
  --e-global-color-secondary: var(--sam-navy) !important;
  --e-global-color-text: var(--sam-navy) !important;
  --e-global-color-accent: var(--sam-orange) !important;
  --e-global-color-eb00145: var(--sam-navy) !important;
  --e-global-color-ebf42bb: var(--sam-black) !important;
  --e-global-color-5465a0b: var(--sam-navy) !important;
  --e-global-color-8e5a04f: var(--sam-white) !important;
  --e-global-color-debc750: var(--sam-white) !important;
}

html body.elementor-kit-17,
html body {
  --e-global-color-primary: #001236 !important;
  --e-global-color-secondary: #001236 !important;
  --e-global-color-text: #001236 !important;
  --e-global-color-accent: #ff9201 !important;
  --e-global-color-eb00145: #001236 !important;
  --e-global-color-3270108: #ffc803 !important;
}

body,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-heading-title { color: var(--sam-navy); }

.elementor-button,
a.elementor-button,
button.elementor-button,
input[type="submit"] {
  border-color: var(--sam-orange) !important;
  background-color: var(--sam-orange) !important;
  color: var(--sam-navy) !important;
  fill: var(--sam-navy) !important;
}

.elementor-button:hover,
.elementor-button:focus-visible,
a.elementor-button:hover,
a.elementor-button:focus-visible,
button.elementor-button:hover,
button.elementor-button:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible {
  border-color: var(--sam-navy) !important;
  background-color: var(--sam-navy) !important;
  color: var(--sam-white) !important;
  fill: var(--sam-white) !important;
  outline: 3px solid var(--sam-yellow) !important;
  outline-offset: 3px !important;
}

.elementor-widget-divider .elementor-divider-separator,
.wpr-sub-icon,
.wpr-mobile-nav-menu-icon,
.elementor-icon-list-icon {
  border-color: var(--sam-yellow) !important;
  color: var(--sam-yellow) !important;
  fill: var(--sam-yellow) !important;
}

.wpr-mobile-nav-menu-icon {
  border-color: var(--sam-orange) !important;
  background-color: var(--sam-orange) !important;
  color: var(--sam-navy) !important;
  fill: var(--sam-navy) !important;
}

::selection { background: var(--sam-yellow); color: var(--sam-navy); }

/* Homepage-only review placeholder. No rating, count, quotation, or provider
   badge is rendered until the client's business profile has been verified. */
.sam-review-placeholder {
  display: grid;
  gap: 10px;
  width: min(100%, 680px);
  margin-inline: auto;
  padding: clamp(22px, 4vw, 38px);
  border: 2px solid var(--sam-orange);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 200, 3, .16), var(--sam-white));
  box-shadow: 0 16px 38px rgba(0, 18, 54, .12);
  color: var(--sam-navy);
  text-align: center;
}
.sam-review-placeholder strong {
  color: var(--sam-navy);
  font-size: clamp(1.2rem, 2.5vw, 1.75rem);
  line-height: 1.2;
}
.sam-review-placeholder span {
  color: var(--sam-navy);
  line-height: 1.55;
}
.sam-review-placeholder__eyebrow {
  color: var(--sam-orange) !important;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sam-review-placeholder--compact {
  max-width: 540px;
  padding: 16px 20px;
  border-width: 1px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .94);
}
.sam-review-placeholder--compact strong { font-size: 1rem; }
.sam-review-placeholder--compact span { font-size: .88rem; }

/* Localized vertical fleet photos need a deliberate crop in the retained
   homepage service card. Keep the truck centered at all review widths. */
body.elementor-page-17 .elementor-element-653a2d41 {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
body.elementor-page-17 .elementor-element-653a2d41 img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 48% !important;
}

/* css3-animate-it: .animated stays at opacity:0 + transform without JS */
.animated {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}

/* Homepage-only review mode: preserve the styling of internal route links while
   preventing those links from opening unfinished pages. External links stay live. */
body.elementor-page-17 a[data-preview-internal-disabled="true"] {
  pointer-events: none !important;
  cursor: default !important;
}

/* The map iframe is redirected to Sunshine Affordable Movers's verified Google Business Profile. */
.elementor-custom-embed iframe[src*="google.com/maps"] {
  display: block !important;
}

/* SmartMenus injects a fresh .sub-arrow on init but the crawled HTML already
   has one baked in, producing two chevrons. Hide the duplicate.
   Also hide the empty Astra arrow span for safety. */
.ast-header-navigation-arrow {
  display: none !important;
}
.elementor-nav-menu .sub-arrow + .sub-arrow {
  display: none !important;
}

/* "Our Standards" section: global font-weight var is 300 which suppresses <b>.
   Force bold on titles inside this text-editor widget. */
.elementor-element-a9ae6fa b {
  font-weight: 700 !important;
}

/* WPR sticky section: WPR frontend.min.js managed position:fixed dynamically
   (removing on init, restoring on scroll) but is stripped by the SOP cleanup.
   The crawled HTML has position:fixed baked in as an inline style; !important
   overrides inline styles so both header rows stack naturally in document flow. */
.wpr-sticky-section-yes {
  position: relative !important;
  top: auto !important;
}

/* Map embed: fill the full left column height, clip to card's border-radius */
.elementor-element-cbac13f,
.elementor-element-cbac13f .elementor-widget-container,
.elementor-element-cbac13f .elementor-custom-embed {
  height: 100%;
}
.elementor-element-560755ff {
  overflow: hidden;
}

/* Template galleries: desktop keeps Elementor grid/masonry. Tablet uses
   three image columns; mobile stays one readable image per row. */
.sam-gallery-mobile-img {
  display: none;
}

@media (max-width: 1024px) {
  .elementor-widget-gallery .elementor-gallery__container.e-gallery-container {
    display: grid !important;
    gap: var(--vgap, 10px) var(--hgap, 10px) !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
    --rows: auto !important;
    --container-aspect-ratio: auto !important;
  }

  .elementor-widget-gallery .e-gallery-item.elementor-gallery-item {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .elementor-widget-gallery .e-gallery-image.elementor-gallery-item__image {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background-image: none !important;
  }

  .elementor-widget-gallery .e-gallery-image .sam-gallery-mobile-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: cover !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-gallery .elementor-gallery__container.e-gallery-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    --columns: 3 !important;
  }
}

@media (max-width: 767px) {
  /* Keep one clear hero action on phones. The services CTA remains available
     on tablet and desktop, while the primary quote CTA stays visible at every size. */
  body.elementor-page-17 .elementor-element.elementor-element-d3c10aa {
    display: none !important;
  }

  .elementor-widget-gallery .elementor-gallery__container.e-gallery-container {
    grid-template-columns: 1fr !important;
    --columns: 1 !important;
  }

  .elementor-widget-gallery .e-gallery-image .sam-gallery-mobile-img {
    object-fit: contain !important;
  }
}

/* Homepage gallery widget shared with About. The About capture retains its own
   Elementor widget shell, so the gallery contract must be scoped to the
   data marker rather than relying on the homepage's original parent class. */
[data-sam-homepage-gallery="true"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--vgap, 10px) var(--hgap, 10px) !important;
  height: auto !important;
  min-height: 0 !important;
  padding-bottom: 0 !important;
}
[data-sam-homepage-gallery="true"] .e-gallery-item.elementor-gallery-item {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4;
  margin: 0 !important;
  overflow: hidden !important;
}
[data-sam-homepage-gallery="true"] .e-gallery-image.elementor-gallery-item__image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
[data-sam-homepage-gallery="true"] .e-gallery-image .sam-gallery-mobile-img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

@media (max-width: 767px) {
  [data-sam-homepage-gallery="true"] {
    grid-template-columns: 1fr !important;
  }
}

/* Sunshine Affordable Movers bootstrap placeholders keep the copied layout usable without
   exposing retired identity, media, review, form, or social surfaces. */
.elementor-location-header .elementor-widget-wpr-logo {
  min-width: 150px !important;
}

.elementor-location-header .wpr-logo-image {
  display: block !important;
  width: 150px !important;
  max-width: 100% !important;
  height: auto !important;
}

.elementor-location-header .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
  display: block !important;
  width: 150px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}

.wpr-offcanvas-trigger svg {
  fill: currentColor !important;
}

/* Sunshine Affordable Movers submenu contract: white field and dark-blue links
   on desktop flyouts and in the expanded mobile drawer. */
.elementor-location-header .elementor-nav-menu--main .sub-menu {
  background: #ffffff !important;
  border: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item,
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus,
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus-visible,
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active {
  background: #ffffff !important;
  color: #001236 !important;
  fill: #001236 !important;
}

@media (max-width: 767px) {
  .elementor-location-header .elementor-widget-wpr-logo,
  .elementor-location-header .wpr-logo-image,
  .elementor-location-header .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
    width: 120px !important;
    min-width: 120px !important;
  }

  /* The captured offcanvas menu inherits SmartMenus desktop absolute submenu
     positioning. In the narrow drawer, child links must become an in-flow
     block so an expanded Services or Service Areas item pushes later links
     down instead of covering them. */
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu > li > .sub-menu {
    position: static !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu > li:has(> .sub-menu[aria-hidden="false"]) {
    height: auto !important;
    overflow: visible !important;
  }
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu > li > .sub-menu[aria-hidden="false"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu > li > .sub-menu .elementor-sub-item {
    display: block !important;
    padding-left: 1.75rem !important;
  }
  /* The captured widget keeps a 200px desktop width and negative margin. Let
     the drawer's menu consume its actual padded content box before child rows
     inherit that width, preventing labels from extending past the viewport. */
  .wpr-offcanvas-content .elementor-widget-nav-menu {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
  .wpr-offcanvas-content .elementor-nav-menu--main,
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu,
  .wpr-offcanvas-content .elementor-nav-menu--main > .elementor-nav-menu > li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

img[src*="sunshine-affordable-movers-photo-placeholder"],
.e-gallery-image[data-thumbnail*="sunshine-affordable-movers-photo-placeholder"] {
  background: #ffc803 !important;
  object-fit: cover !important;
}

/* Show approved library photography in the homepage split-image fields. */
.elementor-17 .elementor-element.elementor-element-f3397c1:not(.elementor-motion-effects-element-type-background),
.elementor-17 .elementor-element.elementor-element-f3397c1 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.elementor-17 .elementor-element.elementor-element-1f91a7f:not(.elementor-motion-effects-element-type-background),
.elementor-17 .elementor-element.elementor-element-1f91a7f > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.sam-form-placeholder,
.sam-review-proof {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 180px;
  padding: 1.5rem;
  border: 1px solid rgba(0, 18, 54, 0.24) !important;
  border-radius: 12px;
  background: #fff !important;
  color: #001236 !important;
  opacity: 1 !important;
  filter: none !important;
}

.sam-form-placeholder strong,
.sam-review-proof strong {
  color: #001236;
  font-size: clamp(1.2rem, 2vw, 1.75rem);
}

.sam-form-placeholder span,
.sam-review-proof span {
  color: #001236;
}

.sam-review-proof a {
  color: #001236;
  font-weight: 700;
  text-decoration: underline;
}

/* Contact: keep the approved GHL iframe inside the captured Elementor form
   widget and reserve its supplied baseline height before the loader runs. */
body.elementor-page-681 [data-sam-contact-form="true"] {
  width: 100%;
  height: auto !important;
  min-height: 576px;
  align-self: flex-start !important;
  box-sizing: border-box;
}

body.elementor-page-681 [data-sam-contact-form="true"] iframe {
  display: block;
  width: 100% !important;
  min-height: 576px;
  border: 0 !important;
  border-radius: 8px;
}

.body_wrapper.inside [data-ti-widget],
.body_wrapper.inside [data-ti-feed-widget],
.body_wrapper.inside .ti-widget-container,
.body_wrapper.inside .ti-widget {
  display: none !important;
}

@media (max-width: 767px) {
  .elementor-element-6354294 .elementor-heading-title {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

body .elementor-17 .elementor-element.elementor-element-d0f98de,
body .elementor-17 .elementor-element.elementor-element-d0f98de:not(.e-lazyloaded) {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.elementor-17 .sam-proof-icon {
  display: block;
  width: 2.6rem;
  height: 2.6rem;
  color: var(--sam-orange) !important;
  fill: var(--sam-orange) !important;
}

.elementor-17 .sam-proof-icon path {
  fill: var(--sam-orange) !important;
}

.elementor-17 [data-id="7438fff2"],
.elementor-17 [data-id="5a16b6fb"],
.elementor-17 [data-id="3c9d4348"],
.elementor-17 [data-id="6b04a9fc"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.8rem !important;
  min-height: 126px;
  text-align: center !important;
}

.elementor-17 [data-id="15f4d92d"],
.elementor-17 [data-id="d7fd6d1"],
.elementor-17 [data-id="48010b92"],
.elementor-17 [data-id="2a5e82f3"] {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

.elementor-17 [data-id="15f4d92d"] .elementor-icon-wrapper,
.elementor-17 [data-id="d7fd6d1"] .elementor-icon-wrapper,
.elementor-17 [data-id="48010b92"] .elementor-icon-wrapper,
.elementor-17 [data-id="2a5e82f3"] .elementor-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  min-height: 42px;
}

.elementor-17 [data-id="2eb07f32"],
.elementor-17 [data-id="2ea362e"],
.elementor-17 [data-id="2702ae72"],
.elementor-17 [data-id="25e933b"] {
  color: var(--sam-navy) !important;
  font-family: 'Golos Text', sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  margin: 0 !important;
  text-align: center !important;
}

.elementor-17 [data-id="2eb07f32"] *,
.elementor-17 [data-id="2ea362e"] *,
.elementor-17 [data-id="2702ae72"] *,
.elementor-17 [data-id="25e933b"] * {
  color: inherit !important;
  font: inherit !important;
}

/* Approved moving-fleet image for the Mission section. */
body .elementor-17 .elementor-element.elementor-element-a610b47.e-con.e-parent,
body .elementor-17 .elementor-element.elementor-element-a610b47.e-con.e-parent:not(.e-lazyloaded) {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Preserve the source template's full-bleed hero composition. The approved
   client photo remains at native sharpness on the right while the navy field
   and gradient provide the same readable left-side content zone as the source. */
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  background-color: #063b66 !important;
  background-image: none !important;
}
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3::after {
  background-image: linear-gradient(90deg, #063b66 0%, rgba(6, 59, 102, .98) 38%, rgba(6, 59, 102, .72) 58%, rgba(6, 59, 102, .16) 78%, rgba(6, 59, 102, 0) 100%), url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp');
  background-position: left center, right 46%;
  background-repeat: no-repeat;
  background-size: 100% 100%, auto 100%;
  content: '';
  inset: 0;
  position: absolute;
  z-index: 0;
}
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-6354294,
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-e95d3ac {
    max-width: 64% !important;
    width: 64% !important;
  }
}
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-background-slideshow {
  display: none !important;
}

body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-heading-title,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-widget-text-editor,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 p,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 a:not(.elementor-button) {
  color: #ffffff !important;
}

/* The captured hero used 350px of empty top padding. Keep it below the desktop
   header, but tighten the space around the actual hero content. */
.elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  min-height: 660px;
  padding-top: 130px !important;
  padding-bottom: 80px !important;
}

@media (max-width: 767px) {
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3::after {
    background-image: linear-gradient(180deg, #063b66 0%, rgba(6, 59, 102, .97) 48%, rgba(6, 59, 102, .55) 68%, rgba(6, 59, 102, .08) 100%), url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp');
    background-position: center, center bottom;
    background-size: 100% 100%, 100% auto;
  }
  .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    min-height: 760px;
  }
}

/* About: preserve native captured sections. The split panes, traditional-touch
   section, and final quote CTA receive client photography in their existing
   template containers, never appended beneath copy. */
body.elementor-page-510 [data-sam-about-slot] {
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
body.elementor-page-510 [data-sam-about-slot="f3397c1"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-large-truck-front-side.webp') !important;
  background-position: center center !important;
}
body.elementor-page-510 [data-sam-about-slot="1f91a7f"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-side-profile.webp') !important;
  background-position: center 38% !important;
}
body.elementor-page-510 [data-sam-about-slot="0c33a57"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-door-logo.webp') !important;
  background-position: center 42% !important;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp') !important;
  background-position: center 44% !important;
}
body.elementor-page-510 [data-sam-about-slot="d0f98de"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-box-truck-rear-left.webp') !important;
  background-position: center 48% !important;
}
body.elementor-page-510 [data-sam-about-slot="560755ff"] {
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-branded-cargo-van.webp') !important;
  background-position: center 52% !important;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"],
body.elementor-page-510 [data-sam-about-slot="d0f98de"] {
  isolation: isolate;
  position: relative;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"]::before,
body.elementor-page-510 [data-sam-about-slot="d0f98de"]::before {
  background: linear-gradient(105deg, rgba(13, 20, 26, .84), rgba(13, 20, 26, .56));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"] > .e-con-inner,
body.elementor-page-510 [data-sam-about-slot="d0f98de"] > .e-con-inner {
  position: relative;
  z-index: 1;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"] .elementor-element-02d8cc0 .elementor-heading-title,
body.elementor-page-510 [data-sam-about-slot="a610b47"] .elementor-element-02d8cc0 .elementor-widget-text-editor,
body.elementor-page-510 [data-sam-about-slot="a610b47"] .elementor-element-02d8cc0 p {
  color: #000000 !important;
}
body.elementor-page-510 [data-sam-about-slot="d0f98de"] .elementor-heading-title,
body.elementor-page-510 [data-sam-about-slot="d0f98de"] .elementor-widget-text-editor,
body.elementor-page-510 [data-sam-about-slot="d0f98de"] p {
  color: #fff !important;
}

/* About: on desktop, let the first split-image pane stretch to the paired copy
   column rather than forcing the captured 529px minimum height. Phone layout
   stacks the image ahead of the copy, so it retains its deliberate crop. */
@media (min-width: 768px) {
  .elementor-510 .elementor-element.elementor-element-f3397c1 {
    --min-height: 380px !important;
    align-self: stretch !important;
    min-height: 380px !important;
    background-position: 62% center !important;
  }
  .elementor-510 .elementor-element.elementor-element-5efcfaf {
    margin-bottom: 0 !important;
  }
}

/* The captured About copy wrapper is calculated against the 390px visual
   viewport instead of the 375px document viewport when a vertical scrollbar
   is present. Keep this one stack inside the actual phone content width. */
@media (max-width: 767px) {
  .elementor-510 .elementor-element.elementor-element-69bb258 > .e-con-inner {
    width: calc(100% - 15px) !important;
  }
}

/* About: restore the captured white copy card inside the approved moving-day
   photo field. Keep the photo space above it, then seat the card directly on
   the lower edge without an image-colored gap underneath. */
.elementor-510 .elementor-element.elementor-element-02d8cc0,
.elementor-510 .elementor-element.elementor-element-02d8cc0:not(.elementor-motion-effects-element-type-background) {
  background-color: #ffffff !important;
}
body.elementor-page-510 .elementor-element.elementor-element-fabf746 {
  background-color: #fff !important;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"] {
  padding-top: clamp(72px, 10vw, 150px) !important;
  padding-bottom: 0 !important;
}
body.elementor-page-510 [data-sam-about-slot="a610b47"] > .e-con-inner {
  padding-bottom: 0 !important;
}
@media (min-width: 1025px) {
  body.elementor-page-510 [data-sam-about-slot="a610b47"] {
    /* The wide captured card extends 50px below its inner wrapper. */
    padding-bottom: 50px !important;
  }
}

/* Long Distance: the captured one-crew feature needs a clearly visible photo
   field above its native white copy card. This is route-specific so the same
   Elementor section on other captured pages keeps its existing geometry. */
body.elementor-page-727 [data-sam-long-distance-feature="true"] {
  padding-top: clamp(224px, 16vw, 260px) !important;
}
@media (max-width: 767px) {
  body.elementor-page-727 [data-sam-long-distance-feature="true"] {
    padding-top: 240px !important;
  }
}

/* The route-specific photo belongs on a610b47, the captured background-ready
   intro section containing "Packing and moving work...". The process section
   is an image-free information grid. Keep this scoped to service routes so
   unrelated captured area-page sections retain their own approved treatment. */
body .elementor-element.elementor-element[data-sam-section="intro"] {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  isolation: isolate;
  position: relative;
}
/* Give the route image field another 150px above the overlapping copy card.
   Long Distance already has its deeper approved one-crew photo field. */
body .elementor-element.elementor-element[data-sam-section="intro"]:not([data-sam-long-distance-feature="true"]) {
  padding-top: 150px !important;
}
body .elementor-element.elementor-element[data-sam-service-process="true"] {
  background-color: transparent !important;
  background-image: none !important;
}
body .elementor-element.elementor-element[data-sam-section="cta"],
body .elementor-element.elementor-element[data-sam-section="card"] {
  isolation: isolate;
  position: relative;
  background-image: linear-gradient(110deg, rgba(14, 19, 24, .95), rgba(14, 19, 24, .78)), var(--sam-section-image) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Service-area right-crew section: the captured desktop field starts at 200px
   of top padding and its tablet/phone field starts at 50px. Add the requested
   100px at every breakpoint so the mover's head and truck mark remain in frame. */
body .elementor-element.elementor-element[data-sam-area-right-crew="true"] {
  --padding-top: 300px !important;
}
@media (max-width: 1024px) {
  body .elementor-element.elementor-element[data-sam-area-right-crew="true"] {
    --padding-top: 150px !important;
  }
}
@media (max-width: 767px) {
  body .elementor-element.elementor-element[data-sam-area-right-crew="true"] {
    --sam-card-size: cover, auto 120%;
    --sam-card-position: center center, center -126px;
  }
}
[data-sam-section="intro"] .e-con-inner,
[data-sam-section="process"] .e-con-inner,
[data-sam-section="cta"] .e-con-inner { position: relative; z-index: 1; }
[data-sam-section="process"] > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
  color: #001236 !important;
  text-align: left !important;
}
[data-sam-section="process"] .elementor-widget-divider .elementor-divider { text-align: left !important; }
[data-sam-section="process"] .elementor-widget-divider .elementor-divider-separator {
  background-color: #ff9201 !important;
  border-color: #ff9201 !important;
  border-top-width: 3px !important;
  height: 3px !important;
  width: 52px !important;
}
[data-sam-section="process"] [data-rlm-process-card] {
  align-content: flex-start !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-height: 300px;
  padding: 32px 28px 36px !important;
}
[data-sam-section="process"] [data-rlm-process-card] .elementor-widget-heading,
[data-sam-section="process"] [data-rlm-process-card] .elementor-widget-text-editor {
  margin: 0 !important;
  width: 100% !important;
}
[data-sam-section="process"] [data-rlm-process-card] .elementor-heading-title {
  color: #001236 !important;
  text-align: left !important;
}
[data-sam-section="process"] [data-rlm-process-card] .elementor-widget-text-editor,
[data-sam-section="process"] [data-rlm-process-card] p {
  color: #001236 !important;
  text-align: left !important;
}
[data-sam-section="cta"] .elementor-heading-title,
[data-sam-section="cta"] .elementor-widget-text-editor,
[data-sam-section="cta"] p { color: #fff; text-align: left !important; }

/* Contact's closing CTA uses the road-side truck photo. The desktop crop holds
   the truck to the right of the copy, while the narrow crop keeps the branded
   cab in view without letting the pale sky wash out the text panel. */
body.elementor-page-681 [data-sam-contact-cta="true"] {
  background-position: 52% 54% !important;
}
/* Keep the contact hero's copy in the open upper-left sky while preserving the
   crew and protected load as the visual proof on the right. */
body.elementor-page-681 [data-sam-contact-hero="true"] {
  background-position: center 36% !important;
}
[data-sam-section="process"] .rlm-process-title {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 18px;
  line-height: 1.12;
}
[data-sam-section="process"] .rlm-process-title small {
  color: #001236;
  display: inline;
  font-size: inherit;
  font-weight: 400;
  letter-spacing: normal;
  margin-right: .25em;
}
[data-sam-section="process"] .rlm-process-icon {
  color: #ff9201;
  display: block;
  font-size: 2.45rem;
  line-height: 1;
  min-height: 39px;
}
[data-sam-section="process"] .elementor-widget-text-editor p { max-width: 32ch; }
@media (max-width: 767px) {
  [data-sam-section="cta"] { background-position: center center !important; }
  body.elementor-page-681 [data-sam-contact-cta="true"] { background-position: 64% 54% !important; }
  body.elementor-page-681 [data-sam-contact-hero="true"] { background-position: 54% 32% !important; }
  [data-sam-section="process"] [data-rlm-process-card] {
    min-height: 0;
    padding: 28px 24px 30px !important;
  }
  [data-sam-section="process"] .rlm-process-title { gap: 14px; }
  [data-sam-section="process"] .rlm-process-icon { font-size: 2.2rem; min-height: 35px; }
}
@media (max-width: 374px) {
  /* Keep the four factual counter labels balanced in the 2×2 phone grid. */
  body.elementor-page-681 [data-sam-contact-stat] h3 {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
}
.sam-review-widget-live {
  min-height: 120px;
  margin-top: 28px;
}
@media (max-width: 1024px) {
  .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    padding-top: 100px !important;
    padding-bottom: 70px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    padding-top: 80px !important;
    padding-bottom: 60px !important;
  }
}

/* Preserve the intended focal point of each approved original hero photo. */
body .elementor-17 .elementor-background-slideshow__slide__image[style*="20230401_181302.jpg"] {
  background-position: center 55% !important;
}

body .elementor-17 .elementor-background-slideshow__slide__image[style*="20240219_123025.jpg"] {
  background-position: center 50% !important;
}

body .elementor-17 .elementor-background-slideshow__slide__image[style*="20240219_120241.jpg"] {
  background-position: center 38% !important;
}

@media (max-width: 767px) {
  body .elementor-17 .elementor-background-slideshow__slide__image[style*="20230401_181302.jpg"],
  body .elementor-17 .elementor-background-slideshow__slide__image[style*="20240219_123025.jpg"] {
    background-position: center 50% !important;
  }

  body .elementor-17 .elementor-background-slideshow__slide__image[style*="20240219_120241.jpg"] {
    background-position: center 40% !important;
  }
}

.elementor-location-header .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
  width: 150px !important;
  height: 102px !important;
  max-width: none !important;
  object-fit: contain;
}

.elementor-location-footer .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
  width: 190px !important;
  height: 129px !important;
  max-width: 100% !important;
  object-fit: contain;
}

@media (max-width: 767px) {
  .elementor-location-header .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
    width: 120px !important;
    height: 82px !important;
  }
}

/* Moving-company template: retain the approved service-page composition
   while applying Sunshine Affordable Movers photography and preview locks. */
body.sam-moving-company-template a[data-preview-internal-disabled="true"] {
  pointer-events: none !important;
  cursor: default !important;
}


body.sam-moving-company-template .elementor-619 [data-id="4b4cf09c"] .elementor-widget-image img {
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
}

body.sam-moving-company-template .elementor-619 [data-id="4b4cf09c"] .elementor-widget-text-editor ul {
  margin-left: 1.1rem;
}

body.sam-moving-company-template .elementor-619 [data-id="4b4cf09c"] .elementor-widget-text-editor li {
  margin-bottom: 0.35rem;
}

main a.sam-contextual-link {
  color: inherit;
  text-decoration-line: underline !important;
  text-decoration-color: #ff9201 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}

main a.sam-contextual-link:hover,
main a.sam-contextual-link:focus-visible {
  text-decoration-thickness: 3px !important;
}

/* Pompano Beach area hero: tighten only this route's captured hero rhythm. */
body.elementor-page-245 .elementor-element-e95d3ac .elementor-widget-heading,
body.elementor-page-245 .elementor-element-e95d3ac .elementor-widget-text-editor,
body.elementor-page-245 .elementor-element-e95d3ac .elementor-widget-button {
  margin-block-end: 10px !important;
}
body.elementor-page-245 .elementor-element-e95d3ac .e-con-inner,
body.elementor-page-245 .elementor-element-e95d3ac.e-con {
  gap: 12px !important;
}

/* Reviews keeps only the approved widget surface below the captured hero. */
body.elementor-page-624 .sam-reviews-widget-section {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 50px 20px;
  background: #fff;
}

@media (max-width: 767px) {
  body.sam-moving-company-template {
    overflow-x: hidden !important;
  }

  body.sam-moving-company-template .elementor-619 .elementor-element.elementor-element-bff8c03,
  body.sam-moving-company-template .elementor-619 .elementor-element.elementor-element-bff8c03:not(.e-lazyloaded) {
    background-position: 58% center !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="bff8c03"] > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="acab382"],
  body.sam-moving-company-template .elementor-619 [data-id="acab382"] .elementor-widget-container,
  body.sam-moving-company-template .elementor-619 [data-id="acab382"] .elementor-heading-title {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="acab382"] .elementor-heading-title {
    font-size: clamp(2.35rem, 10.75vw, 3rem) !important;
    line-height: 0.98 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="121e38c"],
  body.sam-moving-company-template .elementor-619 [data-id="c33384b"] {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0.25rem 0 0 !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="121e38c"] .elementor-button,
  body.sam-moving-company-template .elementor-619 [data-id="c33384b"] .elementor-button {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="534dcf4b"] > .e-con-inner,
  body.sam-moving-company-template .elementor-619 [data-id="610eb7c5"],
  body.sam-moving-company-template .elementor-619 [data-id="34c7c605"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="534dcf4b"] > .e-con-inner {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  body.sam-moving-company-template .elementor-619 [data-id="610eb7c5"] .elementor-heading-title,
  body.sam-moving-company-template .elementor-619 [data-id="34c7c605"] {
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  body.sam-moving-company-template .elementor-619 .elementor-element.elementor-element-f3445f1,
  body.sam-moving-company-template .elementor-619 .elementor-element.elementor-element-f3445f1:not(.e-lazyloaded) {
    background-position: 56% center !important;
  }
}

.sam-footer-address {
  color: #001236;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 10px;
}

/* The Service Areas hub lists approved towns in priority order, each linking
   out to its own town page. Preserve the captured grid while giving each
   entry a deliberate, contained card treatment. */
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
  padding: 28px 24px;
  border: 1px solid rgba(0, 18, 54, 0.14);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 18, 54, 0.05);
  justify-content: flex-start;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card]:hover {
  box-shadow: 0 10px 24px rgba(0, 18, 54, 0.1);
  transform: translateY(-2px);
  border-color: rgba(0, 18, 54, 0.26);
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] .elementor-heading-title {
  margin: 0;
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] .sam-area-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #ff9201;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] .sam-area-card-arrow {
  transition: transform 0.2s ease;
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] .sam-area-card-link:hover .sam-area-card-arrow {
  transform: translateX(3px);
}
.elementor-584 .elementor-element.elementor-element-e501aba > [data-sam-service-area-card] .sam-area-card-status {
  margin-top: auto;
  color: var(--sam-navy);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

/* Moving-services cards: space the heading, copy, and CTA inside every card.
   These rules intentionally do not touch the card grid or column gap. */
.elementor-element-4b4cf09c > .e-con.e-child .elementor-widget-heading {
  padding-bottom: 10px !important;
}
.elementor-element-4b4cf09c > .e-con.e-child .elementor-widget-text-editor {
  padding-bottom: 8px !important;
}
.elementor-element-4b4cf09c > [data-sam-home-service-card] {
  display: flex !important;
  flex-direction: column !important;
}
.elementor-element-4b4cf09c > [data-sam-home-service-card] .elementor-widget-text-editor {
  flex: 0 0 auto !important;
  min-height: 0 !important;
}
.elementor-element-4b4cf09c > [data-sam-home-service-card] .elementor-widget-button {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .elementor-element-4b4cf09c > [data-sam-home-service-card] .elementor-widget-text-editor {
    min-height: 0 !important;
  }
}


@media (min-width: 1025px) {
  .elementor-element-4b4cf09c > [data-sam-home-service-card]:last-child {
    grid-column: 2 !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-4b4cf09c > [data-sam-home-service-card]:last-child {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: calc((100% - 20px) / 2) !important;
  }
}

body.sam-moving-company-template .elementor-619 [data-id="6f22b09"],
body.sam-moving-company-template .elementor-619 [data-id="6f22b09"] p,
body.sam-moving-company-template .elementor-619 [data-id="6f22b09"] li {
  text-align: left !important;
  word-spacing: normal !important;
}

body.sam-moving-company-template .elementor-619 [data-id="121e38c"] .elementor-button,
body.sam-moving-company-template .elementor-619 [data-id="c33384b"] .elementor-button {
  min-width: 196px !important;
  justify-content: center !important;
}
.elementor-986 .elementor-element-4b4cf09c > .e-con.e-child .elementor-heading-title {
  margin-bottom: 10px;
}
.elementor-986 .elementor-element-4b4cf09c > .e-con.e-child .elementor-widget-text-editor {
  margin-bottom: 18px;
}

/* Area page trust card (a610b47): the outer container had no top padding, so
   almost none of the background photo was visible above the white card. */
.elementor-986 .elementor-element-a610b47 {
  padding-top: 64px;
}

/* Area page: several captured text blocks default to text-align: justify,
   which stretches word spacing unevenly, especially in narrow cards. Left-align
   everywhere on this template family. */
.elementor-986 .elementor-element.elementor-element-5352fb4,
.elementor-986 .elementor-element.elementor-element-2f033e6,
.elementor-986 .elementor-element.elementor-element-582e2cf,
.elementor-986 .elementor-element.elementor-element-a86a9a8,
.elementor-986 .elementor-element.elementor-element-c050ca4,
.elementor-986 .elementor-element.elementor-element-cc145c6,
.elementor-986 .elementor-element.elementor-element-1648225 {
  text-align: left;
}
.elementor-986 .elementor-element.elementor-element-5352fb4 ul,
.elementor-986 .elementor-element.elementor-element-2f033e6 ul {
  margin: 12px 0;
  padding-left: 20px;
}
.elementor-986 .elementor-element.elementor-element-5352fb4 li,
.elementor-986 .elementor-element.elementor-element-2f033e6 li {
  margin-bottom: 8px;
}

/* Long-distance move details use seven equal sentence modules instead of a
   mixed list and unrelated text fragments. */
body.elementor-page-619 [data-sam-move-detail] {
  margin: 0 !important;
}
body.elementor-page-619 [data-sam-move-detail] .elementor-widget-container {
  border-left: 3px solid #ff9201;
  min-height: 100%;
  padding-left: 18px;
}
body.elementor-page-619 [data-sam-move-detail] p {
  margin: 0 !important;
  max-width: 35ch;
}

/* Privacy policy: reuse Sunshine Affordable Movers's approved palette while
   keeping long legal copy readable and independent of captured Elementor CSS. */
.sam-legal-main {
  background: #ffffff;
  color: #001236;
}
.sam-legal-shell {
  width: min(100% - 40px, 920px);
  margin-inline: auto;
}
.sam-legal-hero {
  padding: clamp(72px, 9vw, 116px) 0 clamp(58px, 7vw, 88px);
  background: #001236;
}
.sam-legal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.sam-legal-kicker::before {
  width: 42px;
  height: 3px;
  background: #ff9201;
  content: '';
}
.sam-legal-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(44px, 7vw, 76px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.02;
}
.sam-legal-summary {
  max-width: 720px;
  margin: 24px 0 0;
  color: #ffffff;
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.6;
}
.sam-legal-effective {
  margin: 20px 0 0;
  color: #ffffff;
  font-size: 15px;
}
.sam-legal-content {
  padding: clamp(42px, 7vw, 84px) 0 clamp(64px, 9vw, 112px);
}
.sam-legal-card {
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid #001236;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 50px rgba(0, 18, 54, 0.08);
}
.sam-legal-card h2 {
  margin: 46px 0 14px;
  color: #001236;
  font-size: clamp(25px, 3.5vw, 34px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.sam-legal-card h2:first-of-type {
  margin-top: 40px;
}
.sam-legal-card p,
.sam-legal-card li,
.sam-legal-card address {
  color: #001236;
  font-size: 18px;
  line-height: 1.75;
}
.sam-legal-card p {
  margin: 0 0 18px;
}
.sam-legal-card ul {
  margin: 4px 0 24px;
  padding-left: 24px;
}
.sam-legal-card li {
  margin-bottom: 8px;
}
.sam-legal-card address {
  padding: 22px 24px;
  border-left: 3px solid #ff9201;
  background: #ffffff;
  font-style: normal;
}
.sam-legal-card a {
  color: #ff9201;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.sam-legal-card a:hover,
.sam-legal-card a:focus-visible {
  color: #ff9201;
}

@media (max-width: 767px) {
  .sam-legal-shell {
    width: min(100% - 32px, 920px);
  }
  .sam-legal-hero {
    padding-top: 54px;
  }
  .sam-legal-card {
    padding: 26px 20px 32px;
    border-radius: 12px;
  }
  .sam-legal-card h2 {
    margin-top: 36px;
  }
  .sam-legal-card p,
  .sam-legal-card li,
  .sam-legal-card address {
    font-size: 16px;
    line-height: 1.7;
  }
  .sam-legal-card address {
    padding: 18px;
  }
}

/* Transactional and error pages keep the captured global header/footer while
   replacing the inherited page body with one focused action. */
.sam-utility-main {
  background: #ffffff;
  color: #001236;
}
.sam-utility-section {
  display: grid;
  min-height: 560px;
  padding: clamp(64px, 9vw, 112px) 0;
  place-items: center;
}
.sam-utility-shell {
  width: min(100% - 40px, 900px);
  margin-inline: auto;
}
.sam-utility-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(48px, 8vw, 88px) clamp(28px, 7vw, 76px);
  border-radius: 20px;
  background: #001236;
  box-shadow: 0 20px 60px rgba(0, 18, 54, 0.16);
  text-align: center;
}
.sam-utility-card::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: 72px;
  height: 4px;
  background: #ff9201;
  content: '';
  transform: translateX(-50%);
}
.sam-utility-kicker {
  display: block;
  margin-bottom: 20px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.sam-utility-code {
  margin: -10px 0 4px;
  color: rgba(255, 200, 3, 0.28);
  font-size: clamp(84px, 15vw, 152px);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
}
.sam-utility-card h1 {
  max-width: 760px;
  margin: 0 auto;
  color: #ffffff;
  font-size: clamp(40px, 6.5vw, 68px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
}
.sam-utility-copy {
  max-width: 620px;
  margin: 24px auto 0;
  color: #ffffff;
  font-size: clamp(17px, 2.2vw, 21px);
  line-height: 1.65;
}
.sam-utility-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 34px;
  padding: 14px 28px;
  border: 2px solid #ff9201;
  border-radius: 6px;
  background: #ff9201;
  color: #001236;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sam-utility-button:hover,
.sam-utility-button:focus-visible {
  border-color: #ffffff;
  background: #ffffff;
  color: #001236;
}

@media (max-width: 767px) {
  .sam-utility-section {
    min-height: 460px;
    padding: 48px 0 64px;
  }
  .sam-utility-shell {
    width: min(100% - 32px, 900px);
  }
  .sam-utility-card {
    padding: 48px 20px 52px;
    border-radius: 14px;
  }
  .sam-utility-copy {
    margin-top: 20px;
  }
  .sam-utility-button {
    width: 100%;
    max-width: 260px;
    margin-top: 30px;
  }
}

/* Final brand enforcement follows all captured-template overrides. */
body.elementor-page-17 .elementor-background-slideshow,
body.elementor-page-17 .elementor-background-slideshow__slide,
body.elementor-page-17 .elementor-background-slideshow__slide__image {
  background-color: #ffffff !important;
  background-image: none !important;
}

body.elementor-page-17 .elementor-element.elementor-element-6354294 .elementor-heading-title {
  color: #001236 !important;
}

/* Keep navy in its primary role as the site's text color. The two captured
   desktop header rows and homepage hero previously formed one oversized navy
   slab; white surfaces restore hierarchy while retaining orange actions. */
.elementor-location-header .elementor-element.elementor-element-d0d5f96,
.elementor-location-header .elementor-element.elementor-element-3b1f0c0,
.elementor-location-header .elementor-element.elementor-element-cd5ab7c {
  background-color: #ffffff !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-icon-list-text,
.elementor-location-header .elementor-icon-list-text a,
.elementor-location-header .elementor-icon-box-title,
.elementor-location-header .elementor-icon-box-title a {
  color: #001236 !important;
}

body.elementor-page-17 .elementor-element.elementor-element-70b8cd3::before,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .elementor-background-video-container::before,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-background-video-container::before,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .elementor-background-slideshow::before,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-background-slideshow::before,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  background-color: #ffffff !important;
  opacity: 1 !important;
}

body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .elementor-background-overlay {
  background-color: #ffffff !important;
  opacity: 1 !important;
}

body.elementor-page-17 .elementor-element.elementor-element-70b8cd3,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-heading-title,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-widget-text-editor,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 p {
  color: #001236 !important;
}

body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 {
  background-color: #ffffff !important;
}

.elementor-location-header .elementor-icon-list-icon,
.elementor-location-header .elementor-social-icon,
.elementor-location-header .elementor-icon,
.elementor-location-header .elementor-icon svg {
  color: #ff9201 !important;
  fill: #ff9201 !important;
}

.elementor-menu-toggle,
.wpr-offcanvas-trigger {
  border-color: #ff9201 !important;
  background: #ff9201 !important;
  color: #001236 !important;
  fill: #001236 !important;
}

.elementor-menu-toggle svg,
.wpr-offcanvas-trigger svg {
  color: #001236 !important;
  fill: #001236 !important;
}

@media (max-width: 767px) {
  html,
  body { overflow-x: hidden !important; }

  .elementor-location-header .elementor-widget-wpr-logo,
  .elementor-location-header .wpr-logo-image { min-width: 0 !important; }

  .elementor-location-header .wpr-logo-image img[src*="sunshine-affordable-movers-logo.webp"] {
    width: 120px !important;
    height: auto !important;
    max-width: 120px !important;
    max-height: 82px !important;
  }

  .elementor-location-header .wpr-offcanvas-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
  }

  .elementor-location-header .elementor-element-a48c296 {
    display: block !important;
    position: absolute !important;
    top: 24px !important;
    right: 20px !important;
    width: 48px !important;
    min-width: 48px !important;
    transform: none !important;
    z-index: 20 !important;
  }

  .elementor-510 .elementor-element-f3397c1 {
    align-self: center !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    width: calc(100vw - 60px) !important;
    max-width: calc(100vw - 60px) !important;
    min-width: 0 !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
    box-sizing: border-box !important;
    background-position: 62% center !important;
  }

  .elementor-510 .elementor-element-2322713d .elementor-button {
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  img[src*="sunshine-affordable-movers-photo-placeholder"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-image:has(img[src*="sunshine-affordable-movers-photo-placeholder"]) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .elementor-heading-title,
  .elementor-widget-heading,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  body.elementor-page-510 .elementor-location-header .e-con-inner,
  body.elementor-page-510 main .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.elementor-page-510 main .e-con-inner > *,
  body.elementor-page-510 .elementor-location-header .e-con-inner > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.elementor-page-510 .elementor-element.elementor-element-70b8cd3 > .e-con-inner,
  body.elementor-page-510 .elementor-element.elementor-element-5efcfaf > .e-con-inner {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  body.elementor-page-17 .elementor-element-6354294,
  body.elementor-page-17 .elementor-element-e95d3ac {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.elementor-page-17 .elementor-element-6354294 .elementor-heading-title,
  body.elementor-page-17 .elementor-element-e95d3ac .elementor-heading-title,
  body.elementor-page-17 .elementor-element-e95d3ac .elementor-heading-title span {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.elementor-page-17 .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .elementor-13 .elementor-element.elementor-element-cd5ab7c > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .elementor-13 .elementor-element.elementor-element-d7d1370 {
    width: 100% !important;
    min-width: 0 !important;
  }

  .elementor-13 .elementor-element.elementor-element-a48c296 {
    position: static !important;
    display: block !important;
    width: 48px !important;
    min-width: 48px !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .elementor-510 .elementor-element.elementor-element-69bb258 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-510 .elementor-element.elementor-element-f3397c1,
  .elementor-510 .elementor-element.elementor-element-5efcfaf {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
  }

  .elementor-510 .elementor-element.elementor-element-f3397c1 {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
    min-height: 300px !important;
  }

  .elementor-510 .elementor-element.elementor-element-5efcfaf {
    padding: 34px 20px 36px !important;
  }

  .elementor-510 .elementor-element.elementor-element-5efcfaf .elementor-heading-title {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

/* Approved footer and dark-section contrast corrections. */
.elementor-location-footer .elementor-element-d68d32a {
  background-color: #001236 !important;
  padding-bottom: 20px !important;
}

.elementor-location-footer [data-id="dbf4c22"] .elementor-icon,
.elementor-location-footer [data-id="ff315bc"] .elementor-icon,
.elementor-location-footer [data-id="dbf4c22"] .elementor-icon svg,
.elementor-location-footer [data-id="ff315bc"] .elementor-icon svg {
  color: #ffc803 !important;
  fill: #ffc803 !important;
}

.elementor-location-footer [data-id="70f95e6"] p {
  margin: 0 0 8px !important;
  color: #f7f4ed !important;
}

.elementor-location-footer [data-id="70f95e6"] p:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-location-footer .elementor-element-c658eef.elementor-hidden-tablet {
    display: flex !important;
  }
}

.elementor-location-footer .wpr-logo-image img[src*="sunshine-affordable-movers-logo-footer.webp"] {
  display: block;
  width: 210px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain;
}

.elementor-location-footer .elementor-widget-button .elementor-button,
.elementor-location-footer .elementor-widget-button .elementor-button:hover,
.elementor-location-footer .elementor-widget-button .elementor-button:focus-visible {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f7f4ed !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button:hover,
.elementor-location-footer .elementor-widget-button .elementor-button:focus-visible {
  color: #ffc803 !important;
  text-decoration: none !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button:hover {
  outline: 0 !important;
}

.elementor-location-footer .elementor-widget-button .elementor-button:focus-visible {
  outline: 2px solid #ffc803 !important;
  outline-offset: 4px !important;
}

.elementor-location-footer .elementor-element-e341998 {
  box-sizing: border-box;
  width: 100% !important;
  padding: 14px 20px !important;
  background: #ffffff !important;
  color: #001236 !important;
}

.elementor-location-footer .elementor-element-e341998 p {
  margin: 0 !important;
  color: #001236 !important;
}

/* This captured CTA has a navy surface but inherited navy paragraph text. */
.elementor-element.elementor-element-d0f98de .elementor-widget-text-editor,
.elementor-element.elementor-element-d0f98de .elementor-widget-text-editor p,
.elementor-element.elementor-element-d0f98de .elementor-widget-text-editor a {
  color: #ffffff !important;
}

.elementor-element.elementor-element-d0f98de .elementor-widget-text-editor a {
  text-decoration-color: #ffc803 !important;
}

/* Homepage media fallback: the captured slideshow rotates these localized
   client photos when its vendor script is available. */
.elementor-17 .elementor-element-70b8cd3 {
  background-color: #fff !important;
  background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-backlit-side-view.webp') !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
  background-size: 48% 100% !important;
}

.elementor-17 [data-id="237685e"],
.elementor-17 [data-id="534dcf4b"],
.elementor-17 [data-id="4b4cf09c"] {
  --min-height: 0px !important;
  min-height: 0 !important;
  height: auto !important;
}

.elementor-17 [data-id="4b4cf09c"] {
  grid-template-rows: auto !important;
  align-items: start !important;
}

@media (max-width: 767px) {
  html,
  body,
  .elementor-17 {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .elementor-17 .elementor-element-70b8cd3 {
    background-position: center bottom !important;
    background-size: 100% 330px !important;
    padding-bottom: 330px !important;
  }

  .elementor-17 .e-con,
  .elementor-17 .e-con-inner,
  .elementor-17 .elementor-widget,
  .elementor-17 .elementor-widget-container {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .elementor-17 .elementor-element.elementor-element-f3397c1,
  .elementor-17 .elementor-element.elementor-element-1f91a7f {
    left: auto !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .elementor-17 .elementor-button,
  .elementor-17 .elementor-button-wrapper,
  .elementor-17 .elementor-button-content-wrapper {
    box-sizing: border-box !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .elementor-17 [data-id="7438fff2"],
  .elementor-17 [data-id="5a16b6fb"],
  .elementor-17 [data-id="3c9d4348"],
  .elementor-17 [data-id="6b04a9fc"] {
    min-height: 0 !important;
  }
}

/* Captured entrance animations must not reserve invisible homepage space when
   vendor reveal scripts are delayed or unavailable in a static preview. */
.elementor-17 .elementor-invisible,
.elementor-17 [data-settings*="_animation"] {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Elementor may rebuild the gallery wrapper and drop the custom marker. Keep
   the localized <img> fallback visible even when that happens. */
.elementor-17 .e-gallery-image .sam-gallery-mobile-img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Final homepage hero lock. Keep these declarations last so the captured
   Elementor positioning cannot scatter hero content across the photograph. */
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 {
  background-color: #063b66 !important;
  background-image: linear-gradient(90deg, rgba(0, 18, 54, .94) 0%, rgba(0, 18, 54, .86) 38%, rgba(0, 18, 54, .48) 68%, rgba(0, 18, 54, .22) 100%), url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp') !important;
  background-position: center, center 54% !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  padding: 0 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3::before,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3::after,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .elementor-background-overlay {
  display: none !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  align-items: flex-start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  justify-content: center !important;
  min-height: 660px !important;
  padding: 90px 24px 76px !important;
  width: min(1320px, 100%) !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > *,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-6354294,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-e95d3ac,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-9e79a4e,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-element-d3c10aa {
  inset: auto !important;
  margin: 0 !important;
  max-width: 760px !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-heading-title,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-heading-title span,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 .elementor-widget-text-editor,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 p {
  color: #ffffff !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-6354294 .elementor-heading-title {
  font-size: clamp(15px, 1.3vw, 19px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  max-width: 620px !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac .elementor-heading-title {
  font-size: clamp(48px, 5.3vw, 76px) !important;
  letter-spacing: -.035em !important;
  line-height: .98 !important;
  max-width: 760px !important;
  overflow-wrap: normal !important;
  text-transform: uppercase;
  white-space: normal !important;
  word-break: normal !important;
}

.sam-hero-review-card {
  width: auto !important;
}

.sam-hero-review-card a {
  align-items: center;
  backdrop-filter: blur(8px);
  background: rgba(255, 255, 255, .94);
  border-radius: 10px;
  color: #001236 !important;
  display: inline-flex;
  gap: 12px;
  padding: 11px 14px;
  text-decoration: none;
}

.sam-hero-review-label {
  font-size: 14px;
  font-weight: 800;
}

.sam-hero-review-action {
  border-left: 1px solid rgba(0, 18, 54, .18);
  font-size: 13px;
  padding-left: 12px;
}

body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e .elementor-button-wrapper,
body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa .elementor-button-wrapper {
  text-align: left !important;
}

@media (min-width: 768px) {
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    padding-left: max(40px, calc((100vw - 1320px) / 2 + 24px)) !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e,
  body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa {
    display: inline-block !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 {
    background-image: linear-gradient(180deg, rgba(0, 18, 54, .96) 0%, rgba(0, 18, 54, .88) 52%, rgba(0, 18, 54, .52) 76%, rgba(0, 18, 54, .3) 100%), url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp') !important;
    background-position: center, center 59% !important;
    background-size: cover !important;
    padding: 0 !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    gap: 15px !important;
    min-height: 650px !important;
    padding: 58px 20px 64px !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(38px, 12vw, 52px) !important;
    line-height: 1 !important;
  }

  .sam-hero-review-card a {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .sam-hero-review-action {
    border-left: 0;
    padding-left: 0;
  }
}

/* Hero contrast and responsive visibility corrections after screenshot QA. */
body.elementor-page-17 .elementor-17 .sam-hero-review-card a,
body.elementor-page-17 .elementor-17 .sam-hero-review-card span {
  color: #001236 !important;
  opacity: 1 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e,
body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-6354294 .elementor-heading-title {
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 768px) {
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 {
    background-image: linear-gradient(90deg, rgba(0, 18, 54, .98) 0%, rgba(0, 18, 54, .94) 44%, rgba(0, 18, 54, .84) 76%, rgba(0, 18, 54, .72) 100%), url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-truck-broadside-view.webp') !important;
    background-size: cover, min(1320px, 100vw) auto !important;
  }
}

@media (max-width: 767px) {
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > *,
  body.elementor-page-17 .elementor-17 .elementor-element-6354294,
  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac,
  body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e,
  body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-6354294 .elementor-heading-title {
    box-sizing: border-box !important;
    font-size: 13px !important;
    max-width: 100% !important;
    padding-right: 8px !important;
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac .elementor-heading-title {
    box-sizing: border-box !important;
    font-size: 34px !important;
    letter-spacing: -.02em !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-right: 6px !important;
    white-space: normal !important;
    width: 100% !important;
    word-break: normal !important;
  }
}

/* Sunshine homepage portrait treatment. The client photo is kept at
   native/downscaled size on desktop instead of being enlarged across 16:9. */
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 {
  background-color: #061b3f !important;
  background-image: none !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3::after {
  background-image: linear-gradient(90deg, #061b3f 0%, #061b3f 44%, rgba(6, 27, 63, .98) 53%, rgba(6, 27, 63, .62) 72%, rgba(6, 27, 63, .26) 100%), url('/images/sunshine-affordable-movers/library/two-sunshine-affordable-movers-trucks.webp') !important;
  background-position: center, right 46% !important;
  background-repeat: no-repeat !important;
  background-size: cover, auto 100% !important;
  display: block !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  z-index: 2 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  align-content: center !important;
  align-items: center !important;
  display: grid !important;
  gap: 18px 14px !important;
  grid-template-columns: max-content max-content 1fr !important;
  grid-template-rows: auto auto auto auto !important;
  justify-content: start !important;
  min-height: 650px !important;
  padding-bottom: 78px !important;
  padding-top: 78px !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .sam-hero-review-card,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-6354294,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-e95d3ac {
  grid-column: 1 / 4 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-9e79a4e {
  grid-column: 1 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-d3c10aa {
  grid-column: 2 !important;
}

body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-9e79a4e,
body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-d3c10aa {
  display: block !important;
  max-width: none !important;
  width: auto !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-6354294 .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  max-width: 660px !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac {
  max-width: 840px !important;
  width: 840px !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac .elementor-heading-title {
  font-size: clamp(50px, 4.35vw, 63px) !important;
  letter-spacing: -.035em !important;
  line-height: 1.01 !important;
  max-width: 830px !important;
}

body.elementor-page-17 .elementor-17 .sam-hero-review-card a {
  background: #ffffff !important;
  border-radius: 5px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
  min-height: 58px !important;
  padding: 10px 15px !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e .elementor-button,
body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa .elementor-button {
  align-items: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 14px 22px !important;
  width: auto !important;
}

body.elementor-page-17 .elementor-17 .elementor-element-e5dac3c {
  display: none !important;
}

@media (max-width: 767px) {
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3::after {
    background-image: linear-gradient(180deg, rgba(6, 27, 63, .95) 0%, rgba(6, 27, 63, .84) 55%, rgba(6, 27, 63, .55) 100%), url('/images/sunshine-affordable-movers/library/two-sunshine-affordable-movers-trucks.webp') !important;
    background-position: center, center 40% !important;
    background-size: cover, cover !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    min-height: 650px !important;
    padding: 58px 20px 64px !important;
  }

  body.elementor-page-17 .elementor-17 .sam-hero-review-card {
    align-self: center !important;
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
  }

  body.elementor-page-17 .elementor-17 .sam-hero-review-card a {
    align-items: center !important;
    flex-direction: row !important;
    gap: 7px !important;
    min-height: 0 !important;
    padding: 7px 10px !important;
  }

  body.elementor-page-17 .elementor-17 .sam-hero-review-label {
    font-size: 11px !important;
  }

  body.elementor-page-17 .elementor-17 .sam-hero-review-action {
    border-left: 1px solid rgba(0, 18, 54, .18) !important;
    font-size: 10px !important;
    padding-left: 7px !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-6354294,
  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac {
    text-align: center !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-6354294 .elementor-heading-title {
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(40px, 12vw, 50px) !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-9e79a4e,
  body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element-d3c10aa {
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 .elementor-element-9e79a4e .elementor-button,
  body.elementor-page-17 .elementor-17 .elementor-element-d3c10aa .elementor-button {
    width: 100% !important;
  }
}

/* Approved correction: one full-bleed photo only. No split image and no gradient. */
html body.elementor-page-510 [data-elementor-id="510"] .elementor-element.elementor-element-70b8cd3 {
  background: #061b3f url('/images/sunshine-affordable-movers/library/two-sunshine-affordable-movers-trucks.webp') right 48% / auto 100% no-repeat !important;
}

html body.elementor-page-510 [data-elementor-id="510"] .elementor-element.elementor-element-70b8cd3::after {
  content: none !important;
  display: none !important;
}

html body.elementor-page-510 [data-elementor-id="510"] .elementor-element.elementor-element-70b8cd3::before {
  background: rgba(6, 27, 63, .5) !important;
  content: '' !important;
  display: block !important;
  inset: 0 !important;
  opacity: 1 !important;
  position: absolute !important;
  z-index: 0 !important;
}

/* About page: preserve the captured split-image layout at every review width. */
@media (max-width: 1024px) {
  [data-elementor-id="510"] [data-id="f3397c1"],
  [data-elementor-id="510"] [data-id="1f91a7f"],
  [data-elementor-id="510"] [data-id="0c33a57"],
  [data-elementor-id="510"] [data-id="560755ff"] {
    min-height: 320px !important;
  }

}

[data-elementor-id="510"] main p,
[data-elementor-id="510"] .elementor-widget-text-editor p {
  text-align: left !important;
}

/* Approved 2026-09-18 hub correction pass. Keep the homepage and About hero
   rules fully route-scoped, then use one consistent navy overlay on the hub
   hero and final CTA surfaces. */
html body.elementor-page-510 [data-elementor-id="510"] .elementor-element.elementor-element-70b8cd3 {
  background-position: center 48% !important;
  background-size: cover !important;
}

html body.elementor-page-510 [data-elementor-id="510"] .elementor-element.elementor-element-70b8cd3::before {
  background: rgba(6, 27, 63, .76) !important;
}

body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] > .e-con-inner {
  align-content: center !important;
  align-items: center !important;
  display: flex !important;
  flex-flow: row wrap !important;
  gap: 20px 14px !important;
  justify-content: center !important;
  min-height: 560px !important;
  padding-bottom: 72px !important;
  padding-top: 72px !important;
}

body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="e95d3ac"] {
  flex: 0 0 100% !important;
}

body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="e95d3ac"] {
  grid-column: 1 / 3 !important;
}

body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="e95d3ac"],
body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="9e79a4e"],
body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="d3c10aa"] {
  margin: 0 !important;
}

body.elementor-page-510 [data-sam-about-slot="d0f98de"]::before {
  background: rgba(6, 27, 63, .82) !important;
}

body.elementor-page-584 [data-id="bff8c03"],
body.sam-moving-company-template [data-id="bff8c03"] {
  isolation: isolate !important;
  position: relative !important;
}

body.elementor-page-584 [data-id="bff8c03"]::before,
body.sam-moving-company-template [data-id="bff8c03"]::before {
  background: rgba(6, 27, 63, .76) !important;
  content: '' !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

body.elementor-page-584 [data-id="bff8c03"] > .e-con-inner,
body.sam-moving-company-template [data-id="bff8c03"] > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 767px) {
  body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    min-height: 520px !important;
    padding: 56px 20px 60px !important;
  }
}

/* Restore the approved homepage hero exactly: one continuous full-bleed photo,
   one even navy overlay, and no pseudo-element split or gradient seam. */
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3 {
  background: #061b3f url('/images/sunshine-affordable-movers/library/two-sunshine-affordable-movers-trucks.webp') center 48% / cover no-repeat !important;
}

html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3::after {
  content: none !important;
  display: none !important;
}

html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3::before {
  background: rgba(6, 27, 63, .68) !important;
  content: '' !important;
  display: block !important;
  inset: 0 !important;
  opacity: 1 !important;
  position: absolute !important;
  z-index: 0 !important;
}

/* Hero containment at every review width. Elementor's captured width-initial
   values otherwise push headings, CTAs, and the following image pane off-screen. */
body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="e95d3ac"] {
  max-width: min(1100px, 100%) !important;
  text-align: center !important;
  width: auto !important;
}
body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="9e79a4e"],
body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] [data-id="d3c10aa"] {
  max-width: none !important;
  width: auto !important;
}

@media (max-width: 767px) {
  body.elementor-page-17,
  body.elementor-page-510 {
    overflow-x: hidden !important;
  }

  body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner,
  body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] > .e-con-inner {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > *,
  body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] > .e-con-inner > * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .elementor-heading-title,
  body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] .elementor-heading-title {
    box-sizing: border-box !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
    margin-inline: auto !important;
    max-width: calc(100vw - 48px) !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .elementor-button,
  body.elementor-page-510 [data-elementor-id="510"] [data-id="70b8cd3"] .elementor-button {
    box-sizing: border-box !important;
    display: block !important;
    margin-inline: auto !important;
    max-width: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
  }

  body.elementor-page-17 main .e-con-inner,
  body.elementor-page-17 main .e-con-inner > *,
  body.elementor-page-510 main .e-con-inner,
  body.elementor-page-510 main .e-con-inner > * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.elementor-page-619,
  body.elementor-page-584 {
    overflow-x: hidden !important;
  }

  body.elementor-page-619 [data-id="70b8cd3"] .elementor-heading-title,
  body.elementor-page-584 [data-id="70b8cd3"] .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.08 !important;
    max-width: calc(100vw - 48px) !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  body.elementor-page-619 main .e-con-inner,
  body.elementor-page-619 main .e-con-inner > *,
  body.elementor-page-584 main .e-con-inner,
  body.elementor-page-584 main .e-con-inner > * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Homepage hero content is left-aligned at every breakpoint. */
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner {
  align-content: flex-start !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: left !important;
}
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] [data-id="e95d3ac"],
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] [data-id="6354294"],
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] [data-id="6e13931f"] {
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  width: 100% !important;
}
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .elementor-heading-title,
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .elementor-widget-container,
body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] p {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* Match the approved reference: full-bleed hero with the entire content stack
 * anchored to the left edge of one wide, centered site container. */
body.elementor-page-17 [data-elementor-id="17"] [data-id="70b8cd3"] > .e-con-inner {
  width: calc(100% - 80px) !important;
  max-width: 1310px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  align-items: flex-start !important;
}
body.elementor-page-17 [data-elementor-id="17"] [data-id="70b8cd3"] > .e-con-inner > .elementor-element {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  align-self: flex-start !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
}
body.elementor-page-17 [data-elementor-id="17"] [data-id="70b8cd3"] .elementor-element.elementor-element-6354294,
body.elementor-page-17 [data-elementor-id="17"] [data-id="70b8cd3"] .elementor-element.elementor-element-e95d3ac,
body.elementor-page-17 [data-elementor-id="17"] [data-id="70b8cd3"] .elementor-heading-title {
  width: 100% !important;
  max-width: none !important;
}

/* Use one media ratio for every homepage service-card image. */
body.elementor-page-17 [data-elementor-id="17"] [data-id="4b4cf09c"] > .e-con > .elementor-widget-image {
  aspect-ratio: 1.22 / 1 !important;
  overflow: hidden !important;
}
body.elementor-page-17 [data-elementor-id="17"] [data-id="4b4cf09c"] > .e-con > .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* Final hero alignment uses the element's rendered class names so the rule also
   applies when the runtime omits Elementor's data-elementor-id wrapper. */
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
  width: calc(100% - 80px) !important;
  max-width: 1310px !important;
  margin-inline: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
  align-items: flex-start !important;
}
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-element.elementor-element-6354294,
body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 .elementor-element.elementor-element-e95d3ac {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  align-self: flex-start !important;
}
@media (max-width: 1366px) {
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element {
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
}
@media (max-width: 767px) {
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner {
    width: calc(100% - 40px) !important;
  }
  body.elementor-page-17 .elementor-element.elementor-element-70b8cd3 > .e-con-inner > .elementor-element {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    transform: translateX(20px) !important;
  }
}

/* Pompano Beach location hero: preserve the captured structure while
   tightening inherited full-height spacing and framing the Sunshine truck. */
body.elementor-page-986 [data-id="70b8cd3"] {
  min-height: 560px !important;
  background-position: center 48% !important;
}
body.elementor-page-986 [data-id="70b8cd3"] > .e-con-inner {
  align-content: center !important;
  justify-content: center !important;
  gap: 20px !important;
  min-height: 560px !important;
}
body.elementor-page-986 [data-id="70b8cd3"] [data-id="e95d3ac"],
body.elementor-page-986 [data-id="70b8cd3"] [data-id="e611ea1"] {
  width: 100% !important;
}

@media (max-width: 767px) {
  body.elementor-page-986 [data-id="70b8cd3"] {
    min-height: 520px !important;
    background-image: url('/images/sunshine-affordable-movers/library/sunshine-affordable-movers-cab-over-truck-front-view.webp') !important;
    background-position: center 42% !important;
  }
  body.elementor-page-986 [data-id="70b8cd3"] > .e-con-inner {
    align-content: center !important;
    gap: 16px !important;
    min-height: 520px !important;
    padding-bottom: 42px !important;
    padding-top: 42px !important;
  }
  body.elementor-page-986 [data-id="70b8cd3"] [data-id="e95d3ac"] .elementor-heading-title {
    font-size: 42px !important;
    line-height: 1.04 !important;
  }
}

/* Approved mobile homepage hero hierarchy. Keep this final to beat captured Elementor rules. */
@media (max-width: 767px) {
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > .sam-hero-review-card {
    align-self: center !important;
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .sam-hero-review-card a {
    gap: 6px !important;
    min-height: 0 !important;
    padding: 6px 9px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .sam-hero-review-label {
    font-size: 10px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] .sam-hero-review-action {
    font-size: 9px !important;
    padding-left: 6px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="6354294"] {
    text-align: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="6354294"] .elementor-heading-title {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="e95d3ac"] {
    text-align: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="e95d3ac"] .elementor-heading-title {
    font-size: 42px !important;
    line-height: 1 !important;
    text-align: center !important;
  }
}


@media (min-width: 768px) and (max-width: 1024px) {
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > .sam-hero-review-card {
    justify-self: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="6354294"],
  html body.elementor-page-17 .elementor-17 [data-id="e95d3ac"] {
    justify-self: center !important;
    text-align: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="6354294"] .elementor-heading-title {
    font-size: 15px !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="e95d3ac"] .elementor-heading-title {
    text-align: center !important;
  }
}


/* Approved mobile hero alignment and lower-spacing correction. */
@media (max-width: 767px) {
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"],
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner {
    min-height: 0 !important;
    --min-height: 520px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner {
    padding: 48px 20px 32px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="9e79a4e"],
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="d3c10aa"] {
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    width: 100% !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="9e79a4e"] .elementor-button,
  html body.elementor-page-17 .elementor-17 [data-id="d3c10aa"] .elementor-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}


@media (max-width: 767px) {
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con,
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    min-height: 0 !important;
  }

  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    padding: 48px 20px 32px !important;
  }

  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-9e79a4e,
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-d3c10aa {
    align-self: stretch !important;
    margin: 0 !important;
    max-width: none !important;
    transform: none !important;
    width: 100% !important;
  }

  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-9e79a4e .elementor-button,
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-d3c10aa .elementor-button {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
}


@media (max-width: 767px) {
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-6354294,
  html body.elementor-page-17 .elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-e95d3ac {
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    transform: none !important;
    width: 100% !important;
  }
}


/* Expanded submenu stays visually continuous with the white menu surface. */
.elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu > li:has(> .sub-menu[aria-hidden="false"]) > .elementor-item::after {
  background: transparent !important;
  display: none !important;
}


/* Local residential hero: keep the title, subtitle, and actions as one compact group. */
body.elementor-page-727 [data-id="70b8cd3"] > .e-con-inner {
  align-content: center !important;
  gap: 24px !important;
}

@media (max-width: 767px) {
  body.elementor-page-727 [data-id="70b8cd3"] > .e-con-inner {
    gap: 24px !important;
  }
}


/* Approved laptop/tablet homepage hero tightening. */
@media (min-width: 768px) {
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"],
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner {
    min-height: 0 !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner {
    align-content: center !important;
    column-gap: 18px !important;
    min-height: 520px !important;
    padding-bottom: 52px !important;
    padding-top: 52px !important;
    row-gap: 22px !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > .sam-hero-review-card,
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="6354294"],
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="e95d3ac"] {
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="9e79a4e"],
  html body.elementor-page-17 .elementor-17 [data-id="70b8cd3"] > .e-con-inner > [data-id="d3c10aa"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  html body.elementor-page-17 .elementor-17 .sam-hero-review-card a {
    align-items: center !important;
    flex-direction: row !important;
  }
}


/* Contact corrections: compact the hero content, use the brand accent for
   contact icons, and present the temporary form status in the existing slot. */
body.elementor-page-681 [data-sam-contact-hero="true"] > .e-con-inner {
  align-content: center !important;
  justify-content: center !important;
  gap: 18px !important;
}
body.elementor-page-681 [data-sam-contact-hero="true"] [data-id="e95d3ac"],
body.elementor-page-681 [data-sam-contact-hero="true"] [data-id="9e79a4e"],
body.elementor-page-681 [data-sam-contact-hero="true"] [data-id="d3c10aa"] {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  align-self: auto !important;
}
body.elementor-page-681 [data-id="f5037c8"] .elementor-icon,
body.elementor-page-681 [data-id="f5037c8"] .elementor-icon svg,
body.elementor-page-681 [data-id="f5037c8"] .elementor-icon path {
  color: var(--sam-orange) !important;
  fill: var(--sam-orange) !important;
}
body.elementor-page-681 [data-sam-contact-form="true"] {
  display: flex !important;
  min-height: 320px !important;
  align-items: center !important;
  justify-content: center !important;
}
body.elementor-page-681 .sam-contact-form-coming-soon {
  display: flex;
  width: 100%;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 32px 24px;
  border: 2px solid var(--sam-orange);
  border-radius: 18px;
  background: var(--sam-yellow);
  color: var(--sam-navy);
  text-align: center;
}
body.elementor-page-681 .sam-contact-form-coming-soon strong {
  color: var(--sam-navy);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.15;
}

/* Reviews: full-width white body surface for the TrustIndex grid. */
body.elementor-page-624 .sam-reviews-widget-section {
  display: flex;
  width: 100%;
  min-height: clamp(260px, 36vw, 480px);
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  padding: 64px 20px;
  background: #fff;
  text-align: center;
}
body.elementor-page-624 .sam-reviews-widget-section h2 {
  margin: 0;
  color: var(--sam-navy);
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.05;
  text-transform: none;
}


/* Homepage hero: left-align the whole content stack to the header logo's left
   edge at every width (header container is 1140px with a 10px inset). Kept last
   and high-specificity so earlier centered tablet/mobile hero rules cannot win. */
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
  align-items: flex-start !important;
  box-sizing: border-box !important;
  margin-inline: auto !important;
  max-width: 1140px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  --padding-left: 10px !important;
  --padding-right: 10px !important;
  text-align: left !important;
  width: 100% !important;
}
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > * {
  align-self: flex-start !important;
  justify-self: start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  transform: none !important;
}
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-6354294,
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-e95d3ac {
  max-width: 980px !important;
  width: 100% !important;
}
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con .elementor-element-6354294 .elementor-heading-title,
html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con .elementor-element-e95d3ac .elementor-heading-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
@media (max-width: 1180px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    max-width: none !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    --padding-left: 40px !important;
    --padding-right: 40px !important;
  }
}
@media (max-width: 767px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-9e79a4e,
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-d3c10aa {
    align-self: stretch !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con .elementor-button {
    margin-left: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* Homepage hero with the HLM multi-step price form on the right. Content width
   matches the header (1140px). Text column narrows so the 440px form fits. */
@media (min-width: 1025px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    display: grid !important;
    grid-template-columns: max-content max-content minmax(0, 1fr) minmax(380px, 440px) !important;
    grid-auto-rows: auto !important;
    align-content: center !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 22px !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-review-card { grid-column: 1 / 4 !important; grid-row: 1 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-6354294 { grid-column: 1 / 4 !important; grid-row: 2 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-e95d3ac { grid-column: 1 / 4 !important; grid-row: 3 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-9e79a4e { grid-column: 1 !important; grid-row: 4 !important; width: auto !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-d3c10aa { grid-column: 2 !important; grid-row: 4 !important; width: auto !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form {
    grid-column: 4 !important;
    grid-row: 1 / span 4 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 440px !important;
    margin-left: 32px !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-6354294,
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-e95d3ac {
    max-width: 640px !important;
    width: 100% !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(42px, 3.7vw, 56px) !important;
    max-width: 640px !important;
  }
}
/* Tablet and phone: the form stacks under the hero buttons, left-aligned. */
@media (max-width: 1024px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 440px !important;
    margin-top: 12px !important;
  }
}
@media (max-width: 767px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form {
    max-width: 100% !important;
    margin-top: 8px !important;
  }
}

/* Contact: the captured form widget now hosts the HLM price form. */
body.elementor-page-681 [data-sam-contact-form="true"] {
  display: block !important;
  min-height: 0 !important;
}
body.elementor-page-681 .sam-contact-hlm-form {
  width: 100%;
  max-width: 440px;
}

/* Tablet/phone: force the form onto its own line; cap the form, not the row. */
@media (max-width: 1024px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form {
    flex: 0 0 100% !important;
    max-width: none !important;
    width: 100% !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form > [data-hlm-form] {
    display: block;
    max-width: 440px;
  }
}

@media (max-width: 1024px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form {
    grid-column: 1 / -1 !important;
  }
}

/* Contact: center the 440px HLM card inside the wide form panel. */
body.elementor-page-681 [data-sam-contact-form="true"] > .elementor-widget-container,
body.elementor-page-681 [data-sam-contact-form="true"] {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
body.elementor-page-681 .sam-contact-hlm-form {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Contact hero: much shorter. Drop the 660px floor and most of the padding. */
html body.elementor-page-681 .elementor-element.elementor-element-70b8cd3[data-sam-contact-hero="true"] > .e-con-inner {
  min-height: 0 !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
@media (max-width: 767px) {
  html body.elementor-page-681 .elementor-element.elementor-element-70b8cd3[data-sam-contact-hero="true"] > .e-con-inner {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}


/* Service and area heroes: left-aligned copy with the HLM price form on the
   right, inside the header's 1140px content width (mirrors the homepage). */
html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
  align-items: flex-start !important;
  box-sizing: border-box !important;
  margin-inline: auto !important;
  max-width: 1140px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  --padding-left: 10px !important;
  --padding-right: 10px !important;
  text-align: left !important;
  width: 100% !important;
}
html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > * {
  align-self: flex-start !important;
  justify-self: start !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  transform: none !important;
}
html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .elementor-element-e95d3ac .elementor-heading-title,
html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .elementor-element-e611ea1 .elementor-heading-title {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
@media (min-width: 1025px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
    display: grid !important;
    grid-template-columns: max-content max-content minmax(0, 1fr) minmax(380px, 440px) !important;
    grid-auto-rows: auto !important;
    align-content: center !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 22px !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e95d3ac { grid-column: 1 / 4 !important; grid-row: 1 !important; width: 100% !important; max-width: 640px !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e611ea1 { grid-column: 1 / 4 !important; grid-row: 2 !important; width: 100% !important; max-width: 640px !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-9e79a4e { grid-column: 1 !important; grid-row: 3 !important; width: auto !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-d3c10aa { grid-column: 2 !important; grid-row: 3 !important; width: auto !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form {
    grid-column: 4 !important;
    grid-row: 1 / span 3 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 440px !important;
    margin-left: 32px !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(38px, 3.3vw, 50px) !important;
    line-height: 1.08 !important;
    max-width: 640px !important;
  }
}
@media (max-width: 1180px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
    max-width: none !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    --padding-left: 40px !important;
    --padding-right: 40px !important;
  }
}
@media (max-width: 1024px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e95d3ac,
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e611ea1 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 12px !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form > [data-hlm-form] {
    display: block;
    max-width: 440px;
  }
}
@media (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-9e79a4e,
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-d3c10aa {
    flex: 0 0 100% !important;
    align-self: stretch !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .elementor-button {
    margin-left: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form > [data-hlm-form] { max-width: 100%; }
}

/* Split heroes on phones: keep long service names from breaking mid-word. */
@media (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .elementor-element-e95d3ac .elementor-heading-title {
    font-size: clamp(28px, 8.4vw, 38px) !important;
    line-height: 1.1 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
}

html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .sam-hero-compound { white-space: nowrap; }

/* Phones: a long hyphenated name may wrap at its hyphen rather than overflow. */
@media (max-width: 767px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] .sam-hero-compound { white-space: normal; }
}

/* The captured hero darkens its photo with an absolutely positioned ::before.
   Lift the form card above it so it is not dimmed and can be clicked. */
html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form {
  position: relative !important;
  z-index: 3 !important;
}

/* Desktop split hero: the taller form was stretching the text rows apart.
   Put flexible spacer rows above and below so the headline, subtitle and
   buttons stay together as one block, vertically centered beside the form. */
@media (min-width: 1025px) {
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner {
    grid-template-rows: 1fr auto auto auto 1fr !important;
    row-gap: 0 !important;
    align-items: start !important;
  }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e95d3ac { grid-row: 2 !important; margin: 0 0 18px !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e611ea1 { grid-row: 3 !important; margin: 0 0 26px !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-9e79a4e,
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-d3c10aa { grid-row: 4 !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .sam-hero-form { grid-row: 1 / -1 !important; }
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e95d3ac .elementor-heading-title,
  html body .elementor .elementor-element.elementor-element-70b8cd3.e-con[data-sam-split-hero="true"] > .e-con-inner > .elementor-element.elementor-element-e611ea1 .elementor-heading-title { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* Sitewide service-area list (77eb3b8b): 14 towns read as tidy columns, not ragged inline rows. */
html body .elementor .elementor-element.elementor-element-77eb3b8b ul.elementor-icon-list-items.elementor-inline-items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 10px !important;
  margin: 0 !important;
}
html body .elementor .elementor-element.elementor-element-77eb3b8b ul.elementor-inline-items > li.elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  min-width: 0 !important;
}
html body .elementor .elementor-element.elementor-element-77eb3b8b ul.elementor-inline-items > li.elementor-icon-list-item::after { display: none !important; }
@media (max-width: 359px) {
  html body .elementor .elementor-element.elementor-element-77eb3b8b ul.elementor-icon-list-items.elementor-inline-items { grid-template-columns: 1fr !important; }
}

/* Phones: one town per row so long names like Lauderdale-by-the-Sea stay on one line. */
@media (max-width: 600px) {
  html body .elementor .elementor-element.elementor-element-77eb3b8b ul.elementor-icon-list-items.elementor-inline-items { grid-template-columns: 1fr !important; row-gap: 8px !important; }
}


/* Homepage hero TrustIndex badge: the widget centers its own inner container
   inside the full-width card. Pin the whole badge to the left edge of the hero
   text column at every width so it lines up with the eyebrow, H1 and buttons. */
html body.elementor-page-17 .sam-hero-review-card.sam-hero-trustindex {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
html body.elementor-page-17 .sam-hero-trustindex .ti-widget,
html body.elementor-page-17 .sam-hero-trustindex .ti-widget-container,
html body.elementor-page-17 .sam-hero-trustindex .ti-header {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}
html body.elementor-page-17 .sam-hero-trustindex .ti-widget-container {
  width: auto !important;
  max-width: 100% !important;
}

/* Preserved blog: hub and posts use the Sunshine navy/orange system from the
   legal pages, with a card grid for the hub and a readable article column. */
.sam-blog-main { background: #ffffff; color: #001236; }
.sam-blog-shell { width: min(100% - 40px, 1180px); margin-inline: auto; }
.sam-blog-hero { padding: clamp(72px, 9vw, 116px) 0 clamp(58px, 7vw, 88px); background: #001236; }
.sam-blog-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.sam-blog-kicker::before { width: 42px; height: 3px; background: #ff9201; content: ''; }
.sam-blog-hero h1 { max-width: 920px; margin: 0; color: #ffffff; font-size: clamp(40px, 6.4vw, 72px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.06; }
.sam-blog-summary { max-width: 720px; margin: 24px 0 0; color: #ffffff; font-size: clamp(18px, 2.2vw, 22px); line-height: 1.6; }
.sam-blog-list { padding: clamp(48px, 7vw, 88px) 0 clamp(64px, 9vw, 112px); }
.sam-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.sam-blog-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(0, 18, 54, 0.14); border-radius: 18px; background: #ffffff; box-shadow: 0 16px 50px rgba(0, 18, 54, 0.08); }
.sam-blog-card-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #001236; }
.sam-blog-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sam-blog-card:hover .sam-blog-card-media img { transform: scale(1.04); }
.sam-blog-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px 24px 28px; }
.sam-blog-card-body time { color: #5a6478; font-size: 14px; font-weight: 600; }
.sam-blog-card-body h2, .sam-blog-card-body h3 { margin: 10px 0 12px; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; }
.sam-blog-card-body h2 a, .sam-blog-card-body h3 a { color: #001236; text-decoration: none; }
.sam-blog-card-body h2 a:hover, .sam-blog-card-body h3 a:hover { color: #ff9201; }
.sam-blog-card-body p { margin: 0 0 20px; color: #001236; font-size: 16px; line-height: 1.6; }
.sam-blog-card-more { margin-top: auto; color: #ff9201; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.sam-blog-back { display: inline-block; margin-bottom: 22px; color: #ffffff; font-size: 15px; font-weight: 700; text-decoration: none; }
.sam-blog-back::before { content: '\2190\00a0'; color: #ff9201; }
.sam-post-hero { padding-bottom: clamp(120px, 14vw, 180px); }
.sam-post-meta { margin: 20px 0 0; color: #ffffff; font-size: 16px; }
.sam-post-figure { max-width: 1000px; margin-top: clamp(-150px, -11vw, -90px); }
.sam-post-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 18, 54, 0.18); }
.sam-post-body { max-width: 780px; padding: clamp(40px, 6vw, 72px) 0 clamp(48px, 7vw, 80px); }
.sam-post-body h2 { margin: 44px 0 14px; color: #001236; font-size: clamp(24px, 3vw, 32px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; }
.sam-post-body p, .sam-post-body li { color: #001236; font-size: 18px; line-height: 1.75; }
.sam-post-body p { margin: 0 0 18px; }
.sam-post-body ul, .sam-post-body ol { margin: 4px 0 24px; padding-left: 24px; }
.sam-post-body li { margin-bottom: 10px; }
.sam-post-body li::marker { color: #ff9201; font-weight: 700; }
.sam-post-body a { color: #ff9201; font-weight: 700; }
.sam-post-cta { padding: clamp(48px, 7vw, 80px) 0; background: #001236; text-align: left; }
.sam-post-cta h2 { margin: 0 0 12px; color: #ffffff; font-size: clamp(28px, 4vw, 42px); font-weight: 800; }
.sam-post-cta p { margin: 0 0 24px; color: #ffffff; font-size: 18px; }
.sam-post-cta p a { color: #ff9201; font-weight: 700; }
.sam-post-cta-button { display: inline-block; padding: 16px 30px; border-radius: 999px; background: #ff9201; color: #001236; font-weight: 800; text-decoration: none; }
.sam-post-cta-button:hover { background: #ffffff; color: #001236; }
.sam-post-related h2#sam-related-title { margin: 0 0 32px; color: #001236; font-size: clamp(28px, 4vw, 42px); font-weight: 800; }
@media (max-width: 1024px) { .sam-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .sam-blog-shell { width: min(100% - 32px, 1180px); }
  .sam-blog-hero { padding-top: 54px; }
  .sam-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .sam-post-body p, .sam-post-body li { font-size: 16px; line-height: 1.7; }
  .sam-post-figure img { border-radius: 12px; }
}

/* Homepage hero (desktop): keep reviews, eyebrow, H1 and buttons as one tight
   stack, vertically centered beside the taller form. The form spans two flexible
   spacer rows so its height no longer stretches the gaps between text rows. */
@media (min-width: 1025px) {
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner {
    grid-template-rows: 1fr auto auto auto auto 1fr !important;
    row-gap: 0 !important;
  }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-review-card { grid-row: 2 !important; margin: 0 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-6354294 { grid-row: 3 !important; margin: 0 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-e95d3ac { grid-row: 4 !important; margin: 0 0 6px !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-9e79a4e,
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .elementor-element.elementor-element-d3c10aa { grid-row: 5 !important; margin: 0 !important; }
  html body.elementor-page-17 .elementor.elementor-17 .elementor-element.elementor-element-70b8cd3.e-con > .e-con-inner > .sam-hero-form { grid-row: 1 / -1 !important; }
}
