/* Hide repurposed cart button ("Contact") from navbar */
.header-wrapper .w-commerce-commercecartwrapper {
  display: none !important;
}

/* Leftover e-commerce checkout UI (no shop on this site) */
[data-node-type="commerce-cart-quick-checkout-button"],
[data-node-type="cart-checkout-button"],
.w-commerce-commercecartemptystate .primary-button.w-button {
  display: none !important;
}

/* Hide placeholder Project insights until real articles exist */
.mg-top-section-large:has(.blog-grid-v3) {
  display: none !important;
}

.footer-logo-wrapper.v1 .logo-link img,
.header-wrapper .logo-link img[src*="gardenia-logo"] {
  max-width: 220px;
  width: 100%;
  height: auto;
}

.footer-logo-wrapper.v1 .logo-link img[src*="gardenia-logo-white"] {
  max-width: 200px;
}

/* Home services slider — match template breakpoints (desktop 3-up, phone 1-up) */
.slider-wrapper.service-slider---home-v3.w-slider {
  height: auto !important;
}

.slider-wrapper.service-slider---home-v3 .w-slider-mask {
  height: auto !important;
}

.slider-wrapper.service-slider---home-v3 .service-card-v3---wrapper {
  display: block;
  width: 100%;
}

.slider-wrapper.service-slider---home-v3 .service-card-v3---wrapper .image-wrapper {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.slider-wrapper.service-slider---home-v3 .service-card-v3---wrapper .image-wrapper .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
}

@media screen and (min-width: 992px) {
  .slider-wrapper.service-slider---home-v3.w-slider {
    min-height: 520px;
  }

  .slider-wrapper.service-slider---home-v3 .w-slider-mask {
    min-height: 480px;
  }

  .slider-wrapper.service-slider---home-v3 .service-slide-v2 {
    max-width: 32%;
    margin-right: 2%;
    height: auto;
  }

  .slider-wrapper.service-slider---home-v3 .service-card-v3---card-wrapper {
    position: absolute;
    inset: auto 28px 28px;
    left: 28px;
    right: 28px;
  }
}

@media screen and (max-width: 991px) {
  .slider-wrapper.service-slider---home-v3 .service-slide-v2 {
    max-width: 48%;
    margin-right: 4%;
  }
}

@media screen and (max-width: 767px) {
  .slider-wrapper.service-slider---home-v3 .service-slide-v2 {
    max-width: 48%;
  }

  .slider-wrapper.service-slider---home-v3 .service-card-v3---card-wrapper {
    margin-top: -80px;
    position: relative;
    inset: 0;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 479px) {
  .slider-wrapper.service-slider---home-v3 .service-slide-v2 {
    max-width: 100%;
    margin-right: 24px;
  }
}

/* Offline: Webflow scroll-in animations stuck at opacity 0 */
.inner-container.center[data-w-id][style*="opacity: 0"][style*="translate3d(0px, 10%"],
.mg-top-section-large > .inner-container[data-w-id][style*="opacity: 0"][style*="translate3d(0px, 10%"] {
  opacity: 1 !important;
  transform: none !important;
}

.tabs-wrapper---offices-tabs[style*="opacity: 0"],
.footer-top[style*="opacity: 0"],
.image-wrapper.footer-bg-image-v1[style*="opacity: 0"] {
  opacity: 1 !important;
}

/* Contact: office location tabs — restore accordion expand/chevron animation */
.tabs-menu---offices-tabs .accordion-bottom.v1 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.tabs-menu---offices-tabs .office-tab-accordion.w--current .accordion-bottom.v1 {
  max-height: 360px !important;
  height: auto !important;
}

.tabs-menu---offices-tabs .office-tab-accordion:not(.w--current) .accordion-bottom.v1 {
  max-height: 0 !important;
  height: 0 !important;
}

.tabs-menu---offices-tabs .accordion-paragraph.v2 {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.tabs-menu---offices-tabs .office-tab-accordion.w--current .accordion-paragraph.v2 {
  opacity: 1 !important;
  transform: none !important;
}

.tabs-menu---offices-tabs .office-tab-accordion:not(.w--current) .accordion-paragraph.v2 {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
}

.tabs-menu---offices-tabs .tertiary-button-icon.accordion-button.v2 {
  transition: transform 0.35s ease, background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease !important;
  transition-property: transform, background-color, color, border-color !important;
}

.tabs-menu---offices-tabs .office-tab-accordion.w--current .accordion-button.v2 {
  transform: rotate(90deg) !important;
  background-color: rgb(0, 129, 81) !important;
  border-color: rgb(0, 129, 81) !important;
  color: rgb(255, 255, 255) !important;
}

.tabs-menu---offices-tabs .office-tab-accordion:not(.w--current) .accordion-button.v2 {
  transform: rotate(0deg) !important;
}

/* Contact: FAQ accordions */
.card.accordion-card .accordion-bottom.v2 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.card.accordion-card.is-open .accordion-bottom.v2 {
  max-height: 240px !important;
  height: auto !important;
}

.card.accordion-card .accordion-paragraph {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.card.accordion-card.is-open .accordion-paragraph {
  opacity: 1 !important;
  transform: none !important;
}

.card.accordion-card:not(.is-open) .accordion-paragraph {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
}

.card.accordion-card .tertiary-button-icon.accordion-button {
  transition: transform 0.35s ease, background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease !important;
  transition-property: transform, background-color, color, border-color !important;
}

.card.accordion-card.is-open .accordion-button {
  transform: rotate(90deg) !important;
  background-color: rgb(0, 129, 81) !important;
  border-color: rgb(0, 129, 81) !important;
  color: rgb(255, 255, 255) !important;
}

/* Services page: 3 + 3 + 2 card grid, centered last row */
.services-flex-container.w-dyn-items.gardenia-services-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  column-gap: 2% !important;
  row-gap: 24px !important;
  flex-flow: unset !important;
  justify-content: unset !important;
}

.services-flex-container.w-dyn-items.gardenia-services-grid .service-item {
  width: 100% !important;
  margin-left: 0 !important;
  grid-column: span 2;
}

.services-flex-container.w-dyn-items.gardenia-services-grid .service-item:nth-child(7) {
  grid-column: 2 / span 2;
}

.services-flex-container.w-dyn-items.gardenia-services-grid .service-item:nth-child(8) {
  grid-column: 4 / span 2;
}

@media screen and (max-width: 991px) {
  .services-flex-container.w-dyn-items.gardenia-services-grid {
    display: flex !important;
    flex-flow: wrap !important;
    justify-content: center !important;
  }

  .services-flex-container.w-dyn-items.gardenia-services-grid .service-item {
    width: 48.5% !important;
    grid-column: unset !important;
  }
}

@media screen and (max-width: 767px) {
  .services-flex-container.w-dyn-items.gardenia-services-grid .service-item {
    width: 100% !important;
  }
}

/* Service detail: uniform landscape image blocks (matches template rich-text figure) */
.service-single-grid .rich-text figure.w-richtext-align-fullwidth {
  width: 100%;
  max-width: 100%;
  display: block;
}

.service-single-grid .rich-text figure.w-richtext-align-fullwidth > div {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--components--cards--border-radius--br-regular, 24px);
  aspect-ratio: 1376 / 688;
}

.service-single-grid .rich-text figure.w-richtext-align-fullwidth img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}
