/**
 * Homepage (elementor-6489): consistent section width and Our Solutions layout
 * - All sections: max-width 1140px on desktop (match theme)
 * - Our Solutions: full width, content starts from left like other sections
 * @package panthar
 */

/* ============================================
   Global: homepage sections (except hero) use 1140px container on desktop
   Hero (cdc158f) excluded so it stays full width and layout/padding are not broken
   ============================================ */
@media (min-width: 1025px) {
  .elementor-6489 .elementor-section-boxed:not(.elementor-element-cdc158f) .elementor-container,
  .elementor-6489 .elementor-section:not(.elementor-element-cdc158f) .elementor-container {
    max-width: 1140px !important;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}

/* ============================================
   Hero section: fix layout and padding, prevent "Right" text from being clipped
   ============================================ */
.elementor-6489 .elementor-element.elementor-element-cdc158f,
.elementor-6489 .elementor-element.elementor-element-cdc158f .elementor-container,
.elementor-6489 .elementor-element.elementor-element-cdc158f .elementor-column-wrap,
.elementor-6489 .elementor-element.elementor-element-cdc158f .elementor-widget-wrap {
  overflow: visible !important;
}

/* Hero: ensure section and inner content don't clip decorative right-side text */
.elementor-6489 .elementor-element.elementor-element-cdc158f .elementor-element-4de43e0 {
  overflow: visible !important;
}

/* Hero: extra top padding on mobile so content clears fixed/sticky navbar */
@media (max-width: 1024px) {
  .elementor-6489 .elementor-element.elementor-element-cdc158f {
    padding-top: 80px !important;
  }
}
@media (max-width: 767px) {
  .elementor-6489 .elementor-element.elementor-element-cdc158f {
    padding-top: 70px !important;
  }
}

/* Hero: don't apply 1140px container - uses Elementor default so layout/padding stay correct */

/* ============================================
   Our Solutions section: same width as other sections (1140px), not full viewport
   ============================================ */

/* Section: same width as other sections on desktop (1140px), centered */
.elementor-6489 .elementor-element.elementor-element-b5fc2ac {
    padding: 100px 15px 80px !important;
    padding-top: 100px !important;
    padding-bottom: 80px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
@media (min-width: 1025px) {
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac {
        max-width: 1140px !important;
    }
}

/* Container: 1140px on desktop, centered, content starts from left */
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-container,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-279d6c3 > .elementor-container {
    max-width: 1140px !important;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

/* Content aligned left (start) like other sections */
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-column-wrap,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-widget-wrap {
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
}

.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-widget-container {
    display: block;
    width: 100%;
    text-align: left;
}

.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-heading-title,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .theme-heading-title,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-widget-text-editor {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

/* CTA row: left-aligned, same as other sections */
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-widget-wrap {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 24px;
}

/* Inner section (79f5d35) and CTA column (92c65a4): justify left, items centered (align center) */
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-79f5d35 .elementor-container,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-79f5d35 .elementor-column-wrap,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-92c65a4 .elementor-widget-wrap {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
}

.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-92c65a4 .elementor-widget-wrap {
    width: 100%;
}

.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-92c65a4 .elementor-widget-container {
    text-align: left !important;
}

.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-icon-box-wrapper,
.elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-icon-box-content {
    text-align: left;
}

/* Desktop: ensure 1140px and comfortable padding */
@media (min-width: 1025px) {
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-container,
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-279d6c3 > .elementor-container {
        max-width: 1140px !important;
    }
}

@media (min-width: 1200px) {
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac {
        padding: 0px 15px 0px !important;
        max-width: 1140px !important;
    }
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-container,
    .elementor-6489 .elementor-element.elementor-element-b5fc2ac .elementor-element-279d6c3 > .elementor-container {
        max-width: 100% !important;
        padding-left: 0;
        padding-right: 0;
    }
}
