/* TSR marketing site polish — global layout fixes (excludes Timeline page selectors) */

.e-grid > .elementor-element .elementskit-infobox,
.e-grid > .elementor-element .uc_icon_image_content_box {
  height: 100%;
}

.e-grid > .elementor-element .elementskit-infobox .elementskit-infobox,
.e-grid > .elementor-element .elementskit-infobox > .ekit-wid-con {
  height: 100%;
}

.elementskit-infobox .elementskit-infobox {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.elementskit-infobox .box-body {
  flex: 1 1 auto;
}

.swiper-slide-inner {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.swiper-slide-image {
  object-fit: cover;
}

.elementskit-single-testimonial-slider {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 280px;
}

.elementskit-single-testimonial-slider .elementskit-commentor-content {
  flex: 1 1 auto;
}

.elementskit-commentor-image.ekit-testimonial--avatar,
.elementskit-commentor-image.ekit-testimonial--avatar img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  margin-left: auto;
  margin-right: auto;
}

.tsr-testimonial-avatar {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 auto 12px;
  border-radius: 50%;
  overflow: hidden;
  background: #d5deea;
}

.tsr-testimonial-avatar svg {
  display: block;
  width: 72px;
  height: 72px;
}

.elementor-image-gallery .gallery-item {
  overflow: hidden;
}

.elementor-image-gallery .gallery-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  height: auto;
}

.ekit-heading--title {
  text-wrap: balance;
}

@media (max-width: 767px) {
  .elementor-1753 .elementor-element.elementor-element-3f4735a {
    --padding-left: 24px;
    --padding-right: 24px;
  }
}

/* Venues partner cards (/venues — elementor-780) */
.elementor-780 .elementor-element.elementor-element-8914950 {
  align-items: stretch;
}

.elementor-780 .elementor-element.elementor-element-8914950 > .elementor-element {
  height: 100%;
}

.elementor-780 .elementor-element.elementor-element-8914950 .ekit-wid-con,
.elementor-780 .elementor-element.elementor-element-8914950 .elementskit-infobox {
  height: 100%;
}

.elementor-780 .elementskit-infobox.icon-top-align {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.elementor-780 .elementskit-infobox .elementskit-box-header {
  flex: 0 0 auto;
}

.elementor-780 .elementskit-infobox .box-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.elementor-780 .elementskit-infobox .box-footer {
  margin-top: auto;
}

.elementor-780 .elementskit-infobox .elementskit-info-box-icon {
  width: 100%;
  height: 197px;
  overflow: hidden;
  line-height: 0;
}

.elementor-780 .elementskit-infobox .elementskit-info-box-icon img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.elementor-780 .elementskit-infobox .elementskit-info-box-title {
  line-height: 1.35;
  text-wrap: balance;
  overflow-wrap: break-word;
  min-height: 2.7em;
  font-size: clamp(0.85rem, 1.5vw, 1.125rem);
}

@media (max-width: 1024px) {
  .elementor-780 .elementskit-infobox .elementskit-info-box-icon {
    height: 142px;
  }

  .elementor-780 .elementskit-infobox .elementskit-info-box-title {
    min-height: 2.5em;
  }
}
