/* ==========================================================================
   GIFTED HANDS CLEANING — ELEMENTOR OVERRIDES
   Prevents Elementor default styles from conflicting with our design system
   ========================================================================== */

/* Remove Elementor default section padding */
.elementor-section.elementor-section-boxed > .elementor-container { max-width:1280px !important; }
.e-con { --container-max-width:1280px !important; }

/* Ensure our widgets render full-width inside Elementor containers */
.elementor-widget-gifted_stats .elementor-widget-container,
.elementor-widget-gifted_services .elementor-widget-container,
.elementor-widget-gifted_why_choose .elementor-widget-container,
.elementor-widget-gifted_equipment .elementor-widget-container,
.elementor-widget-gifted_process .elementor-widget-container,
.elementor-widget-gifted_faq .elementor-widget-container,
.elementor-widget-gifted_testimonials .elementor-widget-container,
.elementor-widget-gifted_cta .elementor-widget-container,
.elementor-widget-gifted_contact_form .elementor-widget-container,
.elementor-widget-gifted_contact_info .elementor-widget-container {
  width: 100%;
}

/* Force full width breakout for specific widgets */
.elementor-section:has(.elementor-widget-gifted_hero) > .elementor-container,
.elementor-section:has(.elementor-widget-gifted_inner_hero) > .elementor-container,
.elementor-section:has(.elementor-widget-gifted_contact_hero) > .elementor-container,
.elementor-section:has(.elementor-widget-gifted_bond_guarantee) > .elementor-container,
.elementor-section:has(.elementor-widget-gifted_contact_section) > .elementor-container,
.elementor-section:has(.elementor-widget-gifted_areas) > .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.e-con:has(.elementor-widget-gifted_hero),
.e-con:has(.elementor-widget-gifted_inner_hero),
.e-con:has(.elementor-widget-gifted_contact_hero),
.e-con:has(.elementor-widget-gifted_bond_guarantee),
.e-con:has(.elementor-widget-gifted_contact_section),
.e-con:has(.elementor-widget-gifted_promo_banner),
.e-con:has(.elementor-widget-gifted_areas) {
    --container-max-width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.e-con:has(.elementor-widget-gifted_hero) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_inner_hero) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_contact_hero) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_bond_guarantee) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_contact_section) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_promo_banner) > .e-con-inner,
.e-con:has(.elementor-widget-gifted_areas) > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Fix top white gap above hero by removing parent container padding */
.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Hide empty top-level Elementor containers that cause white space */
.elementor-section:not(:has(.elementor-widget)),
.e-con.e-parent:not(:has(.elementor-widget)) {
    display: none !important;
}

.elementor-section:has(.elementor-widget-gifted_hero),
.elementor-section:has(.elementor-widget-gifted_inner_hero),
.elementor-section:has(.elementor-widget-gifted_contact_hero) {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-column:has(.elementor-widget-gifted_hero),
.elementor-column:has(.elementor-widget-gifted_inner_hero),
.elementor-column:has(.elementor-widget-gifted_contact_hero),
.elementor-column:has(.elementor-widget-gifted_contact_section) {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-column:has(.elementor-widget-gifted_hero) > .elementor-widget-wrap,
.elementor-column:has(.elementor-widget-gifted_inner_hero) > .elementor-widget-wrap,
.elementor-column:has(.elementor-widget-gifted_contact_hero) > .elementor-widget-wrap {
    padding: 0 !important;
    margin: 0 !important;
    align-content: flex-start;
}

.elementor-widget-gifted_hero,
.elementor-widget-gifted_inner_hero,
.elementor-widget-gifted_contact_hero {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Generic fix for Elementor SVG icons within our widgets */
.elementor-widget[data-widget_type^="gifted_"] svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    display: inline-block;
    vertical-align: middle;
}

/* Hide default Hello Elementor page titles that push the hero down */
.page-header,
h1.entry-title {
    display: none !important;
}

/* Prevent Elementor from adding extra margins to our sections */
.elementor-element .gifted-section,
.elementor-element .gifted-hero {
  margin: 0;
}

/* Make Elementor editor visibility work */
.elementor-editor-active .reveal,
.elementor-editor-active .gifted-reveal {
  opacity: 1 !important;
  transform: none !important;
}

.elementor-editor-active .gifted-faq-answer {
  max-height: none !important;
  padding: 0 2rem 1.5rem !important;
}
