/* Smart Green Living building-slider component.
 * Loaded only when the [building] shortcode is present.
 */

/* ==========================================================================
   SGL BUILDING SLIDER -- FIGMA REPAIR
   Scoped to the [building] component inside Elementor's .building-wapper.
   Figma reference: Smart Green Living / Home / node 43:83.
   ========================================================================== */

.building-wapper {
  /* Neutralize legacy Elementor section margins (desktop/tablet/mobile). */
  margin: 0 !important;
  --sgl-building-green: #72914e;
  --sgl-building-green-pale: #e2ebd0;
  --sgl-building-ink: #151f23;
  background: #fff !important;
  padding: 74px 64px 74px 0 !important;
}

.building-wapper > .elementor-container {
  align-items: flex-start !important;
  max-width: none !important;
  width: 100% !important;
}

.building-wapper > .elementor-container > .elementor-column:nth-child(1) {
  flex: 0 0 22.36% !important;
  width: 22.36% !important;
}

.building-wapper > .elementor-container > .elementor-column:nth-child(2) {
  flex: 0 0 20% !important;
  width: 20% !important;
}

.building-wapper > .elementor-container > .elementor-column:nth-child(3) {
  flex: 0 0 57.64% !important;
  width: 57.64% !important;
}

.building-wapper .building-info {
  color: var(--sgl-building-ink) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  padding-top: 0 !important;
}

.building-wapper .building-info h1.title {
  color: var(--sgl-building-ink) !important;
  font-size: 50px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.24 !important;
  margin: 0 0 32px !important;
  text-transform: none !important;
}

.building-wapper .building-info h1.title b,
.building-wapper .building-info h1.title strong {
  font-weight: 700 !important;
  position: relative;
  z-index: 0;
}

.building-wapper .building-info h1.title b::after,
.building-wapper .building-info h1.title strong::after {
  background: var(--sgl-building-green-pale);
  border-radius: 50%;
  bottom: 3px;
  content: "";
  height: 8px;
  left: -1%;
  opacity: 0.95;
  position: absolute;
  transform: rotate(-1deg);
  width: 102%;
  z-index: -1;
}

.building-wapper .building-info .btn-more {
  display: none !important;
}

.building-wapper .building-slider-wrap {
  overflow: visible !important;
  padding-bottom: 52px;
  width: 100%;
}

.building-wapper .building-slider {
  overflow: visible !important;
  position: relative;
  width: 100%;
}

.building-wapper .building-slider .slick-list {
  /* Slick must keep clipping inactive slides. Vertical space preserves the
     original 12 px Figma shadow without changing the slider measurement. */
  margin: -12px 0 !important;
  overflow: hidden !important;
  padding: 12px 0 !important;
}

/* Recreate the unclipped right-hand part of the Figma shadow outside Slick's
   viewport. This does not affect card widths or the number of visible slides. */
.building-wapper .building-slider::after {
  background: linear-gradient(
    to right,
    rgba(172, 172, 172, 0.16),
    rgba(172, 172, 172, 0)
  );
  bottom: 12px;
  content: "";
  pointer-events: none;
  position: absolute;
  right: -12px;
  top: 12px;
  width: 12px;
  z-index: 4;
}

.building-wapper .building-slider .slick-track {
  align-items: stretch;
  display: flex !important;
}

.building-wapper .building-slider .service-block-one {
  box-sizing: border-box;
  float: none !important;
  height: auto !important;
  min-height: 1px;
}

.building-wapper .building-slider .service-block-one .inner-box {
  background: #fff !important;
  box-shadow: 0 0 12px rgba(172, 172, 172, 0.16);
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  overflow: hidden;
  position: relative;
}

/* Adjacent white cards cover one another's outer blur. Mirror the same Figma
   colour as a subtle inner fade so every card retains a visible right edge. */
.building-wapper .building-slider .service-block-one .inner-box::after {
  background: linear-gradient(
    to left,
    rgba(172, 172, 172, 0.16),
    rgba(172, 172, 172, 0)
  );
  bottom: 0;
  content: "";
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 5px;
  z-index: 4;
}

.building-wapper .building-slider .service-block-one .caption-box {
  background: #fff !important;
  box-sizing: border-box;
  display: block !important;
  flex: 0 0 131px;
  height: 131px !important;
  inset: auto !important;
  min-height: 131px;
  order: 1;
  padding: 24px 50px 14px 66px !important;
  position: relative !important;
  transform: none !important;
  width: 100% !important;
  z-index: 2;
}

.building-wapper .building-slider .service-block-one .caption-box::before {
  background: var(--sgl-building-green);
  content: "";
  height: 1px;
  left: 18px;
  position: absolute;
  top: 42px;
  width: 36px;
}

/* SGL building-card legacy hover reset:
   keep the Figma caption visible and suppress Diaco's duplicate title line. */
.building-wapper .building-slider .service-block-one .caption-box h4::before {
  content: none !important;
  display: none !important;
}

.building-wapper .building-slider .service-block-one .inner-box:hover .caption-box,
.building-wapper .building-slider .service-block-one .inner-box:focus-within .caption-box {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.building-wapper .building-slider .service-block-one .heading-txt {
  position: static !important;
}

.building-wapper .building-slider .service-block-one h4 {
  color: var(--sgl-building-ink) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 27px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}

.building-wapper .building-slider .service-block-one h4 a {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.building-wapper .building-slider .service-block-one .btn-read {
  color: var(--sgl-building-green) !important;
  display: inline-block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  margin-top: 5px;
  text-decoration: underline !important;
  text-transform: none !important;
  text-underline-offset: 2px;
}

.building-wapper .building-slider .service-block-one .count-text {
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  height: 42px !important;
  inset: 0 0 auto auto !important;
  line-height: 42px !important;
  overflow: hidden;
  position: absolute !important;
  text-indent: -9999px;
  transform: none !important;
  width: 42px !important;
  z-index: 3;
}

.building-wapper .building-slider .service-block-one .count-text::after {
  background: url("../images/figma/building-card-arrow-down-right.svg") center / 43px 43px no-repeat;
  content: "";
  display: block;
  height: 42px;
  left: 0;
  position: absolute;
  text-indent: 0;
  top: 0;
  width: 42px;
}

.building-wapper .building-slider .service-block-one .image-box {
  aspect-ratio: 7 / 6;
  background: transparent !important;
  flex: 0 0 auto;
  height: auto !important;
  margin: 0 !important;
  order: 2;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

.building-wapper .building-slider .service-block-one .image-box a {
  display: block;
  height: 100%;
  width: 100%;
}

.building-wapper .building-slider .service-block-one .image-box img {
  display: block !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  opacity: 1 !important;
  transform: none !important;
  transition: transform 0.35s ease;
  width: 100% !important;
}

.building-wapper .building-slider .service-block-one a:hover img,
.building-wapper .building-slider .service-block-one a:focus img {
  transform: scale(1.025) !important;
}

.building-wapper .building-slider .slick-arrow {
  background: transparent !important;
  border: 0 !important;
  bottom: auto !important;
  color: transparent !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  top: calc(100% + 26px) !important;
  transform: none !important;
  width: 18px !important;
  z-index: 5;
}

.building-wapper .building-slider .slick-prev {
  left: calc(50% - 55px) !important;
  right: auto !important;
}

.building-wapper .building-slider .slick-next {
  left: calc(50% + 19px) !important;
  right: auto !important;
}

.building-wapper .building-slider .slick-arrow::before {
  color: var(--sgl-building-green) !important;
  font-family: Arial, sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  opacity: 1 !important;
}

.building-wapper .building-slider .slick-prev::before {
  content: "\2039" !important;
}

.building-wapper .building-slider .slick-next::before {
  content: "\203A" !important;
}

@media (max-width: 1024px) {
  .building-wapper {
    padding: 64px 32px 82px 0 !important;
  }

  .building-wapper > .elementor-container > .elementor-column:nth-child(1) {
    display: none !important;
  }

  .building-wapper > .elementor-container > .elementor-column:nth-child(2) {
    flex: 0 0 32% !important;
    width: 32% !important;
  }

  .building-wapper > .elementor-container > .elementor-column:nth-child(3) {
    flex: 0 0 68% !important;
    width: 68% !important;
  }

  .building-wapper .building-info h1.title {
    font-size: 42px !important;
    line-height: 1.18 !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 767px) {
  .building-wapper {
    padding: 56px 24px 82px !important;
  }

  .building-wapper > .elementor-container {
    flex-wrap: wrap !important;
  }

  .building-wapper > .elementor-container > .elementor-column:nth-child(2),
  .building-wapper > .elementor-container > .elementor-column:nth-child(3) {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .building-wapper > .elementor-container > .elementor-column:nth-child(2) > .elementor-widget-wrap,
  .building-wapper > .elementor-container > .elementor-column:nth-child(3) > .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .building-wapper .building-info {
    margin-bottom: 40px;
  }

  .building-wapper .building-info h1.title {
    font-size: 40px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 479px) {
  .building-wapper {
    padding: 48px 18px 76px !important;
  }

  .building-wapper .building-info h1.title {
    font-size: 34px !important;
    line-height: 1.22 !important;
  }

  .building-wapper .building-slider .service-block-one .caption-box {
    padding-right: 54px !important;
  }
}
