/**
 * Shared fixes for migrated Elementor HTML without Elementor runtime JS.
 */

/* Brand fonts — replace legacy Elementor Poppins references */
.elementor-kit-9 button,
.elementor-kit-9 input[type="button"],
.elementor-kit-9 input[type="submit"],
.elementor-kit-9 .elementor-button {
  font-family: var(--font-roboto), "Roboto", sans-serif !important;
}

.elementor-765 .elementor-heading-title {
  font-family: var(--font-roboto), "Roboto", sans-serif !important;
}

.elementor-765 .elementor-element-8f90189 .elementor-heading-title,
.elementor-765 .elementor-element-f2a78e6 .elementor-heading-title {
  font-family: var(--font-lora), "Lora", serif !important;
}

/* Hero scroll-down buttons (mouse-track) — enforce perfect circle */
.elementor-widget-button[data-settings*='motion_fx_mouseTrack_effect'] .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 6.5rem !important;
  height: 6.5rem !important;
  min-width: 6.5rem !important;
  min-height: 6.5rem !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

.elementor-widget-button[data-settings*='motion_fx_mouseTrack_effect']
  .elementor-button-content-wrapper {
  justify-content: center;
  width: 100%;
}

@media (max-width: 767px) {
  .elementor-widget-button[data-settings*='motion_fx_mouseTrack_effect'] .elementor-button {
    width: 4.75rem !important;
    height: 4.75rem !important;
    min-width: 4.75rem !important;
    min-height: 4.75rem !important;
  }
}

/* Hide duplicate WP theme page title above Elementor hero sections */
.page-template-default .page-header {
  display: none;
}

/* Services accordion — show content when item/title is active */
.elementor-toggle .elementor-toggle-item.elementor-active .elementor-tab-content,
.elementor-toggle .elementor-tab-title.elementor-active + .elementor-tab-content {
  display: block;
}

/* CSR gallery — grid layout + thumbnails without Elementor gallery JS */
.elementor-widget-gallery .elementor-gallery__container.e-gallery-grid {
  display: grid;
  grid-template-columns: repeat(var(--columns, 3), 1fr);
  gap: var(--vgap, 21px) var(--hgap, 21px);
}

@media (max-width: 1024px) {
  .elementor-widget-gallery .elementor-gallery__container.e-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .elementor-widget-gallery .elementor-gallery__container.e-gallery-grid {
    grid-template-columns: 1fr;
  }
}

.elementor-widget-gallery .e-gallery-item {
  display: block;
  overflow: hidden;
}

.elementor-widget-gallery .e-gallery-image.elementor-gallery-item__image[data-thumbnail] {
  aspect-ratio: 4 / 3;
  width: 100%;
  min-height: 0;
  background-size: cover;
  background-position: center;
}

/* Google Maps embed — Elementor JS normally sets iframe width/height */
.elementor-section-stretched.elementor-section-full_width {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.elementor-widget-google_maps .elementor-custom-embed {
  line-height: 0;
  width: 100%;
}

.elementor-widget-google_maps iframe {
  width: 100% !important;
  max-width: 100%;
  display: block;
  border: 0;
}

.elementor-1201 .elementor-element-21258c46 iframe,
.elementor-1219 .elementor-element-f46f889 iframe,
.elementor-1192 .elementor-element-aba75ed iframe {
  height: 600px;
}

.elementor-1192 .elementor-element-67d7b8b iframe {
  height: 400px;
}
