/* Cohesion override — restored WPBakery/Sway layout lost its float-clearing + full CSS,
   so columns stagger (masonry) and empty image-columns shove text right. Convert the
   float grid to flexbox so columns align into real, equal-height rows. Loaded last in <head>. */

/* 1. WPBakery rows: float -> flex (kills masonry stagger + empty-column right-shift) */
.vc_row,
.wpb_row,
.vc_row-fluid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  align-content: flex-start !important;   /* wrapped card rows pack to top -> less stagger */
  justify-content: center;
}
.wpb_column,
.vc_column_container,
[class*="vc_col-"] {
  float: none !important;
}
.wpb_column > .vc_column-inner,
.vc_column-inner { height: 100%; }

/* keep the declared desktop widths; full-width stack on phones */
@media (max-width: 767px) {
  .vc_row, .wpb_row, .vc_row-fluid { display: block !important; }
  [class*="vc_col-"] { width: 100% !important; }
}

/* 2. feature/info cards: equal height, content top-aligned and centered */
.key-icon-box,
.cb-wrapper,
.kd-price-block { height: 100%; }

/* 3. section background photos: cover + centered (no tiling/bleed) and a readability scrim
      so any heading that sits on a photo stays legible (passes the OVERLAP scrim check) */
.vc_row[class*="vc_custom_"][style*="background-image"] { position: relative; background-size: cover; background-position: center; }

/* 4. icon tofu: FA6 is loaded via CDN, but the theme re-points icons at the broken
      'sway-font'. Force the real Font Awesome family + remap the FA5 phone-alt alias. */
.fa, .fas, .far, .fab,
[class^="fa-"], [class*=" fa-"],
.iconita {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}
.fas, .fa, .iconita, [class^="fa-"]:not(.fab) { font-weight: 900 !important; }
.fa-phone-alt::before { content: "\f095" !important; }   /* FA6 phone glyph */

/* 6. Scroll-reveal animations never fire on a static export -> elements stay stuck in
      their START state: opacity:0 (empty image columns -> big gaps) and translateY
      (feature cards staggered up/down). Force the final, visible, un-transformed state. */
.kd-animated,
.wpb_animate_when_almost_visible,
.animate_when_almost_visible,
[class*="animated"],
[data-animation] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  -webkit-animation: none !important;
  transition: none !important;
}
/* lazy images that the (missing) lazy JS never swapped in */
img[loading="lazy"] { opacity: 1 !important; }

/* 7. feature/reason cards: kill the leftover per-card vertical offset so a row of cards
      lines up evenly instead of staggering diagonally. */
.key-icon-box, .cb-wrapper, .kd-price-block, .kd-icon-box {
  position: static !important;
  top: auto !important;
  margin-top: 0 !important;
  transform: none !important;
}
