/* LittleFrames Home + Services Elementor layout repair. */
.lf-elementor-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}
.lf-elementor-main > .elementor,
.lf-elementor-main > [data-elementor-type],
body.elementor-page .lf-elementor-main .elementor-section-wrap {
  width: 100%;
  max-width: 100%;
}
.lf-elementor-main .elementor-section-wrap > .elementor-section,
.lf-elementor-main > .elementor > .elementor-section {
  max-width: 100%;
  overflow: visible;
}
.lf-el-services-heading > .elementor-container,
.lf-el-services-index-heading > .elementor-container,
.lf-el-services-page-hero > .elementor-container {
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px !important;
  margin-right: auto;
  margin-left: auto;
}
.lf-el-services-heading > .elementor-container { gap: 70px; }
.lf-el-services-page-hero > .elementor-container { gap: 90px; }
.lf-el-services-index-heading > .elementor-container { gap: 80px; }

/* Homepage nine services: three cards per row. */
.lf-el-services-grid > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  width: min(1260px, calc(100% - 48px));
  max-width: 1260px !important;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
.lf-el-services-grid .lf-el-card {
  position: relative;
  display: flex;
  width: auto !important;
  min-width: 0;
  min-height: 515px;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 24px !important;
  border-top: 5px solid #8b5cf6 !important;
  box-shadow: 0 12px 35px rgba(16,33,63,.06);
}
.lf-el-services-grid .lf-el-card > .elementor-column-wrap,
.lf-el-services-grid .lf-el-card > .elementor-widget-wrap,
.lf-el-services-grid .lf-el-card > .elementor-element-populated {
  width: 100%;
}
.lf-el-services-grid .lf-el-card .elementor-widget-image {
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lf-el-services-grid .lf-el-card .elementor-widget-image img {
  width: min(190px, 68%);
  height: 190px;
  object-fit: contain;
  border-radius: 14px;
}

/* Services overview: three cards per row. */
.lf-el-services-index > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 25px;
  width: min(1260px, calc(100% - 48px));
  max-width: 1260px !important;
  margin-right: auto;
  margin-left: auto;
  padding: 0 20px;
}
.lf-el-services-index .lf-el-card {
  width: auto !important;
  min-width: 0;
  min-height: 560px;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 24px !important;
  box-shadow: 0 16px 50px rgba(13,28,62,.05);
}
.lf-el-services-index .lf-el-card .elementor-widget-image {
  min-height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -27px -25px 26px;
  padding: 25px;
  background: radial-gradient(circle at 30% 20%,rgba(255,79,163,.16),transparent 35%),radial-gradient(circle at 80% 75%,rgba(72,198,255,.16),transparent 35%),#f7f9fd;
}
.lf-el-services-index .lf-el-card .elementor-widget-image img {
  width: min(255px, 86%);
  max-height: 220px;
  object-fit: contain;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .lf-el-services-grid > .elementor-container,
  .lf-el-services-index > .elementor-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: min(100% - 32px, 900px);
    padding: 0 16px;
  }
  .lf-el-services-grid .lf-el-card:last-child:nth-child(odd),
  .lf-el-services-index .lf-el-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: 100% !important;
    max-width: calc(50% - 12px);
  }
}

@media (max-width: 767px) {
  .lf-el-services-heading > .elementor-container,
  .lf-el-services-index-heading > .elementor-container,
  .lf-el-services-page-hero > .elementor-container {
    width: calc(100% - 24px);
    gap: 20px;
  }
  .lf-el-services-grid > .elementor-container,
  .lf-el-services-index > .elementor-container {
    grid-template-columns: 1fr;
    gap: 20px;
    width: calc(100% - 24px);
    padding: 0;
  }
  .lf-el-services-grid .lf-el-card,
  .lf-el-services-index .lf-el-card {
    width: 100% !important;
    min-height: 0;
  }
  .lf-el-services-grid .lf-el-card .elementor-widget-image { min-height: 170px; }
  .lf-el-services-grid .lf-el-card .elementor-widget-image img {
    width: min(150px,58%);
    height: 145px;
  }
  .lf-el-services-index .lf-el-card .elementor-widget-image { min-height: 190px; }
  .lf-el-services-index .lf-el-card .elementor-widget-image img {
    width: min(190px,68%);
    max-height: 170px;
  }
}

