/* ===== FAQ Toggle Accordion Styling ===== */
  .elementor-widget-toggle {
    margin-top: 10px !important;
  }
  .elementor-widget-heading + .elementor-widget-toggle {
    margin-top: 15px !important;
  }
  .elementor-toggle .elementor-toggle-item {
    margin-bottom: 8px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    overflow: hidden;
  }
  .elementor-toggle .elementor-tab-title {
    padding: 18px 22px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    background-color: #f9fafb !important;
    border: none !important;
    line-height: 1.4 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }
  .elementor-toggle .elementor-tab-title:hover {
    background-color: #f0f4ff !important;
  }
  .elementor-toggle .elementor-tab-title.elementor-active {
    color: #2563eb !important;
    background-color: #eff6ff !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
  .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
    color: #2563eb !important;
    font-size: 14px !important;
  }
  .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon {
    color: #1e40af !important;
  }
  .elementor-toggle .elementor-tab-content {
    padding: 20px 22px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
    background-color: #ffffff !important;
    border-top: none !important;
  }
  .elementor-toggle .elementor-tab-content p {
    margin-bottom: 0 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #374151 !important;
  }

  /* ===== Service Area & More Services Bubble Styling ===== */
  [data-elementor-type="wp-page"] .elementor-widget-icon-list.elementor-list-item-link-full_width .elementor-icon-list-items.elementor-inline-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
    margin-right: 0 !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 20px !important;
    background-color: #ffffff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 25px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a:hover {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(37,99,235,0.25) !important;
    transform: translateY(-1px) !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a:hover .elementor-icon-list-icon i,
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a:hover .elementor-icon-list-icon svg,
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: #ffffff !important;
    fill: #ffffff !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon i {
    color: #2563eb !important;
    font-size: 14px !important;
    transition: color 0.2s ease !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon svg {
    fill: #2563eb !important;
    transition: fill 0.2s ease !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-text {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    transition: color 0.2s ease !important;
  }

  /* ===== Header Top Bar ===== */
  [data-elementor-type="header"] .elementor-widget-icon-list .elementor-icon-list-icon svg {
    fill: #2563eb !important;
  }
  [data-elementor-type="header"] .elementor-widget-icon-list .elementor-icon-list-text {
    color: #374151 !important;
  }
  [data-elementor-type="header"] .elementor-widget-icon-list .elementor-icon-list-item:last-child .elementor-icon-list-text {
    color: #ffffff !important;
  }
  [data-elementor-type="header"] .elementor-widget-icon-list .elementor-icon-list-item:last-child .elementor-icon-list-icon svg {
    fill: #93c5fd !important;
  }

  /* =============================================================
     TABLET — max-width: 1024px
     ============================================================= */
  @media (max-width: 1024px) {
    /* Bubbles */
    [data-elementor-type="wp-page"] .elementor-widget-icon-list.elementor-list-item-link-full_width .elementor-icon-list-items.elementor-inline-items {
      gap: 10px !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a {
      padding: 9px 16px !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-text {
      font-size: 14px !important;
    }
    /* FAQ */
    .elementor-toggle .elementor-tab-title {
      padding: 16px 18px !important;
      font-size: 16px !important;
    }
    .elementor-toggle .elementor-tab-content,
    .elementor-toggle .elementor-tab-content p {
      padding: 16px 18px !important;
      font-size: 15px !important;
    }
    /* Hub hero */
    .elementor-element-95bd79e {
      --padding-top: 80px !important;
      --padding-bottom: 80px !important;
    }
    .elementor-element-95bd79e .elementor-heading-title {
      font-size: 42px !important;
    }
    /* Content sections side padding */
    [data-elementor-type="wp-page"] > .elementor > .e-con {
      --padding-left: 20px !important;
      --padding-right: 20px !important;
    }
    [data-elementor-type="wp-page"] > .elementor > .elementor-section {
      padding-left: 20px !important;
      padding-right: 20px !important;
    }
    [data-elementor-type="wp-page"] > .elementor > .e-con > .e-con-inner,
    [data-elementor-type="wp-page"] > .elementor > .elementor-section > .elementor-container {
      max-width: 100% !important;
    }
  }

  /* =============================================================
     MOBILE — max-width: 767px
     ============================================================= */
  
/* ===== Hub page heading/text spacing fixes ===== */
/* H1 heading widget after image widget in content area */
.elementor-element-6d5f8c9 .elementor-widget-image + .elementor-widget-heading,
.elementor-element-ab6cf1a .elementor-widget-image + .elementor-widget-heading {
  margin-top: 20px !important;
}
/* Widget-boundary heading spacing: text-editor starting with h2/h3 after another widget */
.elementor-element-6d5f8c9 .elementor-widget-text-editor + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child,
.elementor-element-ab6cf1a .elementor-widget-text-editor + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child,
.elementor-element-6d5f8c9 .elementor-widget + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child,
.elementor-element-ab6cf1a .elementor-widget + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child {
  margin-top: 50px !important;
}

.elementor-element-6d5f8c9 .elementor-widget-text-editor + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child,
.elementor-element-ab6cf1a .elementor-widget-text-editor + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child,
.elementor-element-6d5f8c9 .elementor-widget + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child,
.elementor-element-ab6cf1a .elementor-widget + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child {
  margin-top: 35px !important;
}


/* H2 and H3 headings after paragraphs inside text-editor widgets */
.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h2,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h2 {
  margin-top: 50px !important;
}

.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h3 {
  margin-top: 35px !important;
}

/* H3 after H2 - slight gap */
.elementor-element-6d5f8c9 .elementor-widget-text-editor h2 + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor h2 + h3 {
  margin-top: 8px !important;
}


/* ===== Hub page heading/text spacing fixes ===== */
/* H1 heading widget after image widget in content area */
.elementor-element-6d5f8c9 .elementor-widget-image + .elementor-widget-heading,
.elementor-element-ab6cf1a .elementor-widget-image + .elementor-widget-heading {
  margin-top: 20px !important;
}

/* H2 and H3 headings after paragraphs inside text-editor widgets */
.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h2,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h2 {
  margin-top: 50px !important;
}

.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h3 {
  margin-top: 35px !important;
}

/* H3 after H2 - slight gap */
.elementor-element-6d5f8c9 .elementor-widget-text-editor h2 + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor h2 + h3 {
  margin-top: 8px !important;
}


/* ===== Hub page heading/text spacing fixes ===== */
/* H1 heading widget after image widget in content area */
.elementor-element-6d5f8c9 .elementor-widget-image + .elementor-widget-heading,
.elementor-element-ab6cf1a .elementor-widget-image + .elementor-widget-heading {
  margin-top: 20px !important;
}

/* H2 and H3 headings after paragraphs inside text-editor widgets */
.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h2,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h2 {
  margin-top: 50px !important;
}

.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h3 {
  margin-top: 35px !important;
}

/* H3 after H2 - slight gap */
.elementor-element-6d5f8c9 .elementor-widget-text-editor h2 + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor h2 + h3 {
  margin-top: 8px !important;
}


/* ===== Hub page heading/text spacing fixes ===== */
/* H1 heading widget after image widget in content area */
.elementor-element-6d5f8c9 .elementor-widget-image + .elementor-widget-heading,
.elementor-element-ab6cf1a .elementor-widget-image + .elementor-widget-heading {
  margin-top: 20px !important;
}

/* H2 and H3 headings after paragraphs inside text-editor widgets */
.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h2,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h2 {
  margin-top: 50px !important;
}

.elementor-element-6d5f8c9 .elementor-widget-text-editor p + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor p + h3 {
  margin-top: 35px !important;
}

/* H3 after H2 - slight gap */
.elementor-element-6d5f8c9 .elementor-widget-text-editor h2 + h3,
.elementor-element-ab6cf1a .elementor-widget-text-editor h2 + h3 {
  margin-top: 8px !important;
}


/* Container followed by text-editor starting with heading */
.elementor-element-6d5f8c9 .e-con + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child,
.elementor-element-ab6cf1a .e-con + .elementor-widget-text-editor > .elementor-widget-container > h2:first-child,
.elementor-element-6d5f8c9 .e-con + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child,
.elementor-element-ab6cf1a .e-con + .elementor-widget-text-editor > .elementor-widget-container > h3:first-child {
  margin-top: 50px !important;
}


/* Hub inner content container gap for consistent widget spacing */
.elementor-element-836cee5 {
  gap: 10px !important;
}

@media (max-width: 767px) {
    /* --- Bubbles: compact for mobile --- */
    [data-elementor-type="wp-page"] .elementor-widget-icon-list.elementor-list-item-link-full_width .elementor-icon-list-items.elementor-inline-items {
      gap: 8px !important;
      justify-content: center !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-inline-items .elementor-icon-list-item a {
      padding: 8px 14px !important;
      border-radius: 20px !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-text {
      font-size: 13px !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-icon-list .elementor-icon-list-icon i {
      font-size: 12px !important;
    }

    /* --- FAQ: tighter for mobile --- */
    .elementor-toggle .elementor-tab-title {
      padding: 14px 16px !important;
      font-size: 15px !important;
    }
    .elementor-toggle .elementor-tab-content {
      padding: 14px 16px !important;
      font-size: 14px !important;
    }
    .elementor-toggle .elementor-tab-content p {
      font-size: 14px !important;
    }
    .elementor-toggle .elementor-toggle-item {
      margin-bottom: 6px !important;
      border-radius: 6px !important;
    }

    /* --- Hub hero: CSS variables for containers --- */
    .elementor-element-95bd79e {
      --padding-top: 110px !important;
      --padding-bottom: 70px !important;
      --padding-left: 16px !important;
      --padding-right: 16px !important;
      min-height: 250px !important;
      background-position: center center !important;
      background-size: cover !important;
    }
    .elementor-element-95bd79e .elementor-heading-title {
      font-size: 28px !important;
      line-height: 1.3 !important;
    }

    /* --- Hub main content: CSS variables for containers --- */
    .elementor-element-6d5f8c9,
    .elementor-element-ab6cf1a {
      --padding-left: 16px !important;
      --padding-right: 16px !important;
    }

    /* --- Hub sticky sidebar: HIDE on mobile (prevents duplicate form + white space) --- */
    .elementor-element-ad677a8 {
      display: none !important;
    }

    /* --- Hub service areas (sections): regular padding --- */
    [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] .elementor-element-e988793 > .elementor-container,
    [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] .elementor-element-1559895 > .elementor-container,
    [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] [data-elementor-type="wp-page"] .elementor-element-3736372 > .elementor-container {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    /* --- Hub about sections (sections): regular padding --- */
    .elementor-element-3edc191f > .elementor-container,
    .elementor-element-43463e75 > .elementor-container,
    .elementor-element-3248fa56 > .elementor-container,
    .elementor-element-19da341e > .elementor-container {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    /* --- Hub form sections: reduce negative margin --- */
    .elementor-element-13f09bfc,
    .elementor-element-7f3631f5,
    .elementor-element-417fc29c,
    .elementor-element-7a2a0355 {
      margin-top: -10% !important;
    }

    /* --- Global: Content sections side padding --- */
    [data-elementor-type="wp-page"] > .elementor > .e-con {
      --padding-left: 16px !important;
      --padding-right: 16px !important;
    }
    [data-elementor-type="wp-page"] > .elementor > .elementor-section {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    /* --- Prevent horizontal overflow --- */
    [data-elementor-type="wp-page"] .e-con {
      max-width: 100% !important;
      overflow-x: hidden !important;
    }
    [data-elementor-type="wp-page"] .elementor-widget-image img {
      max-width: 100% !important;
      height: auto !important;
    }
    [data-elementor-type="wp-page"] .elementor-heading-title {
      word-wrap: break-word !important;
      overflow-wrap: break-word !important;
    }

    /* --- Sticky: disable on mobile --- */
    [data-elementor-type="wp-page"] .elementor-sticky--active {
      position: relative !important;
      top: auto !important;
      width: 100% !important;
    }
  }