/**
 * HelpCon: Elementor exports often keep --width (e.g. 66%, 50%) for a second column
 * that no longer exists in HTML, leaving empty space on the right.
 * When a flex row's inner has only one column child, use full width.
 * (Pages that still have two columns are unaffected: :only-child does not match.)
 */
@media (min-width: 768px) {
  .elementor .e-con.e-parent > .e-con-inner > .e-con.e-child:only-child {
    --width: 100% !important;
  }
}

/* Recent Completed Projects: full-width wrapper (export had 59% for a removed column) */
@media (min-width: 768px) {
  .elementor-745 .elementor-element.elementor-element-38228297.e-con {
    --width: 100% !important;
  }

  .elementor-745 .elementor-element.elementor-element-6c437111.e-con {
    --width: 100% !important;
  }
}

/*
 * Bento grid: left column (2 tiles), center (tall), right column (2 tiles in wrapper).
 * Matches original Elementor masonry-style layout.
 */
@media (min-width: 1024px) {
  .elementor-745 .elementor-element.elementor-element-4e465960.e-con {
    --display: grid !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: minmax(300px, auto) minmax(300px, auto);
    gap: 24px;
    --row-gap: 24px;
    --column-gap: 24px;
    align-items: stretch;
    width: 100%;
  }

  .elementor-745 .elementor-element.elementor-element-654c164.e-con {
    grid-column: 1;
    grid-row: 1;
  }

  .elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con {
    grid-column: 1;
    grid-row: 2;
  }

  .elementor-745 .elementor-element.elementor-element-5bd089b5.e-con {
    grid-column: 2;
    grid-row: 1 / span 2;
    --min-height: auto !important;
    min-height: 0 !important;
    height: 100%;
    align-self: stretch;
  }

  .elementor-745 .elementor-element.elementor-element-1868d445.e-con {
    grid-column: 3;
    grid-row: 1 / span 2;
    --display: flex !important;
    display: flex !important;
    flex-direction: column !important;
    --flex-direction: column !important;
    gap: 24px;
    --row-gap: 24px;
    --column-gap: 24px;
    min-height: 0 !important;
    height: 100%;
    align-self: stretch;
  }

  .elementor-745 .elementor-element.elementor-element-1868d445.e-con > .elementor-element.e-con {
    flex: 1 1 0;
    min-height: 0;
    --min-height: auto !important;
  }
}

@media (max-width: 1023px) {
  .elementor-745 .elementor-element.elementor-element-4e465960.e-con {
    --flex-direction: column !important;
    --display: flex !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
  }

  .elementor-745 .elementor-element.elementor-element-1868d445.e-con {
    --flex-direction: column !important;
    --display: flex !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px;
  }
}

/* Project tiles (no captions): bottom stacking for arrow / spacers */
.elementor-745 .elementor-element.elementor-element-654c164.e-con,
.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con,
.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con,
.elementor-745 .elementor-element.elementor-element-27892d29.e-con,
.elementor-745 .elementor-element.elementor-element-1516af13.e-con {
  --flex-direction: column !important;
  --justify-content: flex-end !important;
}

/* Home page About section image swap */
.elementor-745 .elementor-element.elementor-element-6e2056f0:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-6e2056f0 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("./bulden/wp-content/uploads/2026/05/3.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Home page (Why choose us block) image swap */
.elementor-745 .elementor-element.elementor-element-6d6c5cdc:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-6d6c5cdc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("./bulden/wp-content/uploads/2026/05/6.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Home page (FAQ email card) image swap */
.elementor-745 .elementor-element.elementor-element-a2d2765:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-a2d2765 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("./bulden/wp-content/uploads/2026/05/11.jpg") !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/*
 * Recent Completed Projects: photos are CSS backgrounds on .e-con (not <img>), so global
 * img:hover grayscale does nothing. Static export paints on the container; if motion-effects
 * wraps the bg, hover the layer instead.
 */
.elementor-745 .elementor-element.elementor-element-654c164:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-7a9a66ce:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-5bd089b5:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-27892d29:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-1516af13:not(.elementor-motion-effects-element-type-background) {
  background-image: none !important;
}

.elementor-745 .elementor-element.elementor-element-654c164.e-con:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-27892d29.e-con:not(.elementor-motion-effects-element-type-background),
.elementor-745 .elementor-element.elementor-element-1516af13.e-con:not(.elementor-motion-effects-element-type-background) {
  position: relative;
  isolation: isolate;
}

/* Photo sits behind tiles; do not set position/z-index on direct children — that breaks
   Elementor absolute widgets (arrow) by shrinking their containing block to widget width. */

.elementor-745 .elementor-element.elementor-element-654c164.e-con:not(.elementor-motion-effects-element-type-background)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("bulden/wp-content/uploads/2026/05/1.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con:not(.elementor-motion-effects-element-type-background)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("bulden/wp-content/uploads/2026/05/2.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con:not(.elementor-motion-effects-element-type-background)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("bulden/wp-content/uploads/2026/05/3.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-27892d29.e-con:not(.elementor-motion-effects-element-type-background)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("bulden/wp-content/uploads/2026/05/4.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-1516af13.e-con:not(.elementor-motion-effects-element-type-background)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background-image: url("bulden/wp-content/uploads/2026/05/5.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-654c164.e-con:not(.elementor-motion-effects-element-type-background):hover::after,
.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con:not(.elementor-motion-effects-element-type-background):hover::after,
.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con:not(.elementor-motion-effects-element-type-background):hover::after,
.elementor-745 .elementor-element.elementor-element-27892d29.e-con:not(.elementor-motion-effects-element-type-background):hover::after,
.elementor-745 .elementor-element.elementor-element-1516af13.e-con:not(.elementor-motion-effects-element-type-background):hover::after {
  filter: grayscale(1);
}

.elementor-745 .elementor-element.elementor-element-654c164.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-27892d29.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-1516af13.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  transition: filter 0.35s ease;
}

.elementor-745 .elementor-element.elementor-element-654c164.e-con:hover > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con:hover > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-5bd089b5.e-con:hover > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-27892d29.e-con:hover > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-745 .elementor-element.elementor-element-1516af13.e-con:hover > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  filter: grayscale(1);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-745 .elementor-element.elementor-element-654c164.e-con:not(.elementor-motion-effects-element-type-background)::after,
  .elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con:not(.elementor-motion-effects-element-type-background)::after,
  .elementor-745 .elementor-element.elementor-element-5bd089b5.e-con:not(.elementor-motion-effects-element-type-background)::after,
  .elementor-745 .elementor-element.elementor-element-27892d29.e-con:not(.elementor-motion-effects-element-type-background)::after,
  .elementor-745 .elementor-element.elementor-element-1516af13.e-con:not(.elementor-motion-effects-element-type-background)::after,
  .elementor-745 .elementor-element.elementor-element-654c164.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
  .elementor-745 .elementor-element.elementor-element-7a9a66ce.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
  .elementor-745 .elementor-element.elementor-element-5bd089b5.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
  .elementor-745 .elementor-element.elementor-element-27892d29.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer,
  .elementor-745 .elementor-element.elementor-element-1516af13.e-con > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    transition: none;
  }
}

/* Projects page (elementor-727): 15 tiles from uploads/2026/05, bento + cutout arrow */
@media (min-width: 768px) {
  .elementor-727 .elementor-element.elementor-element-ab9c48b.e-con {
    --width: 100% !important;
  }
}

.elementor-727 .helpcon-projects-page-bento {
  width: 100%;
}

.elementor-727 .helpcon-project-tile {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 10px;
  min-height: 260px;
  text-decoration: none;
  color: #fff;
  box-shadow: none;
  isolation: isolate;
  background-color: transparent;
  cursor: default;
}

.elementor-727 .helpcon-project-tile__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.35s ease;
}

.elementor-727 .helpcon-project-tile:hover .helpcon-project-tile__bg {
  filter: grayscale(1);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-727 .helpcon-project-tile__bg {
    transition: none;
  }
}

/* White top-right notch (matches Elementor project cards) */
.elementor-727 .helpcon-project-tile__cutout {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 5.25rem;
  height: 5.25rem;
  background: #ffffff;
  border-bottom-left-radius: 15px;
  pointer-events: none;
}

.elementor-727 .helpcon-project-tile__btn {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background-color: var(--e-global-color-primary, #f26037);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.elementor-727 .helpcon-project-tile__arrow-svg {
  width: 17px;
  height: 17px;
  display: block;
}

@media (min-width: 1024px) {
  .elementor-727 .helpcon-projects-page-bento {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(6, minmax(260px, auto));
    gap: 24px;
    align-items: stretch;
  }

  /* Three stacked “5-tile” bento blocks: 1–5, 6–10, 11–15 */
  .elementor-727 .helpcon-project-tile:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .elementor-727 .helpcon-project-tile:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
  }

  .elementor-727 .helpcon-project-tile:nth-child(3) {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 0;
  }

  .elementor-727 .helpcon-project-tile:nth-child(2) {
    grid-column: 3;
    grid-row: 1;
  }

  .elementor-727 .helpcon-project-tile:nth-child(5) {
    grid-column: 3;
    grid-row: 2;
  }

  .elementor-727 .helpcon-project-tile:nth-child(6) {
    grid-column: 1;
    grid-row: 3;
  }

  .elementor-727 .helpcon-project-tile:nth-child(9) {
    grid-column: 1;
    grid-row: 4;
  }

  .elementor-727 .helpcon-project-tile:nth-child(8) {
    grid-column: 2;
    grid-row: 3 / span 2;
    min-height: 0;
  }

  .elementor-727 .helpcon-project-tile:nth-child(7) {
    grid-column: 3;
    grid-row: 3;
  }

  .elementor-727 .helpcon-project-tile:nth-child(10) {
    grid-column: 3;
    grid-row: 4;
  }

  .elementor-727 .helpcon-project-tile:nth-child(11) {
    grid-column: 1;
    grid-row: 5;
  }

  .elementor-727 .helpcon-project-tile:nth-child(14) {
    grid-column: 1;
    grid-row: 6;
  }

  .elementor-727 .helpcon-project-tile:nth-child(13) {
    grid-column: 2;
    grid-row: 5 / span 2;
    min-height: 0;
  }

  .elementor-727 .helpcon-project-tile:nth-child(12) {
    grid-column: 3;
    grid-row: 5;
  }

  .elementor-727 .helpcon-project-tile:nth-child(15) {
    grid-column: 3;
    grid-row: 6;
  }
}

@media (max-width: 1023px) {
  .elementor-727 .helpcon-projects-page-bento {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .elementor-727 .helpcon-project-tile {
    min-height: 300px;
  }
}
