/* Smooth scroll for anchor links */
html {
  scroll-behavior: smooth;
}

/* Offset scroll target so sticky header doesn't cover it */
[id="contact"],
[id="about"],
[id="services"] {
  scroll-margin-top: 100px;
}

/* Sticky header full-width fix */
.elementor-sticky--active {
  left: 0 !important;
  width: 100% !important;
}

/* Dropdown caret arrow for menu items with children */
.elementor-nav-menu--main .menu-item-has-children > a .sub-arrow {
  font-size: 0.65em;
  line-height: 1;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
}

/* Fix dropdown submenu overflow — allow wrapping for long items */
.elementor-nav-menu--main .sub-menu {
  min-width: 240px !important;
  max-width: 320px !important;
}

.elementor-nav-menu--main .sub-menu a {
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* About page: images in Our Story section fill column height */
.elementor-element-2930acc > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
}

.elementor-element-2930acc > .elementor-widget-wrap > .elementor-widget-image {
  flex: 1;
  min-height: 0;
}

.elementor-element-2930acc > .elementor-widget-wrap > .elementor-widget-image > .elementor-widget-container {
  height: 100%;
}

.elementor-element-2930acc > .elementor-widget-wrap > .elementor-widget-image > .elementor-widget-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* TrustIndex reviews: static slider display */
.ti-widget {
  display: block !important;
}

.ti-reviews-container-wrapper {
  display: flex !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 16px;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}

.ti-review-item {
  flex: 0 0 calc(25% - 12px);
  min-width: 275px;
  scroll-snap-align: start;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .ti-review-item {
    flex: 0 0 calc(50% - 8px);
  }
}

@media (max-width: 767px) {
  .ti-review-item {
    flex: 0 0 85%;
  }
}

/* Generic: images in two-column layouts fill adjacent column height */
.elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image {
  height: 100%;
}

.elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image > .elementor-widget-container {
  height: 100%;
}

.elementor-section-content-middle > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image > .elementor-widget-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/* Mobile: reduce button font size on small screens */
@media (max-width: 600px) {
  .reg-btn a,
  .cta-btn a {
    font-size: 15px !important;
    padding: 12px 20px !important;
  }
}
