/* Elementor Framework CSS — Core layout engine for WP Elementor content */

/* ===== Container & Section ===== */
.elementor-section {
  position: relative;
  width: 100%;
}
.elementor-section .elementor-container {
  display: flex;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1140px;
}
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100%;
}
.elementor-section-height-default > .elementor-container {
  align-items: stretch;
}

/* ===== Column System ===== */
.elementor-column {
  position: relative;
  min-height: 1px;
  display: flex;
}
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 10px;
}
.elementor-column-gap-no > .elementor-column > .elementor-element-populated {
  padding: 0;
}

/* Column widths */
.elementor-col-100 { width: 100%; }
.elementor-col-50 { width: 50%; }
.elementor-col-33 { width: 33.333%; }
.elementor-col-66 { width: 66.666%; }
.elementor-col-25 { width: 25%; }
.elementor-col-75 { width: 75%; }
.elementor-col-20 { width: 20%; }
.elementor-col-80 { width: 80%; }
.elementor-col-16 { width: 16.666%; }
.elementor-col-83 { width: 83.333%; }

/* ===== Widget Wrap ===== */
.elementor-widget-wrap {
  position: relative;
  width: 100%;
  flex-wrap: wrap;
  align-content: flex-start;
}
.elementor-element-populated {
  width: 100%;
}

/* ===== Widget ===== */
.elementor-widget {
  position: relative;
  width: 100%;
}
.elementor-widget:not(:last-child) {
  margin-bottom: 20px;
}
.elementor-widget-container {
  transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
}

/* ===== Image Widget ===== */
.elementor-widget-image img {
  max-width: 100%;
  height: auto;
  display: block;
}
.elementor-widget-image .elementor-widget-container {
  text-align: inherit;
}

/* ===== Heading Widget ===== */
.elementor-heading-title {
  padding: 0;
  margin: 0;
  line-height: 1.2;
}

/* ===== Button Widget ===== */
.elementor-button-wrapper {
  text-align: center;
}
.elementor-button {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  transition: all .3s;
  border: none;
}
.elementor-button .elementor-button-text {
  display: inline-block;
}

/* ===== Text Editor Widget ===== */
.elementor-widget-text-editor {
  line-height: 1.7;
}

/* ===== Background Overlay ===== */
.elementor-background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.elementor-section > .elementor-container {
  position: relative;
  z-index: 1;
}

/* ===== Animations — Override (no JS) ===== */
.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}
.animated {
  animation-duration: 1s;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1024px;
  }
}
@media (max-width: 767px) {
  .elementor-section .elementor-container {
    flex-wrap: wrap;
  }
  .elementor-column {
    width: 100% !important;
  }
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 767px;
  }
  .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 10px 0;
  }
}

/* ===== Utility ===== */
.elementor-align-center {
  text-align: center;
}
.elementor-align-left {
  text-align: left;
}
.elementor-align-right {
  text-align: right;
}

/* ===== WP Content Container ===== */
.wp-content {
  max-width: 100%;
  overflow-x: hidden;
}
.wp-content .elementor-section {
  padding-left: 0;
  padding-right: 0;
}
.wp-content img {
  max-width: 100%;
  height: auto;
}
