/* Services page — Our Services equal cards (all visible, no arrows) + CTA band */

.elementor-11 .vs-services-section {
  width: 100%;
  position: relative;
}

.elementor-11 .vs-services-grid,
.elementor-11 .vs-services-slider {
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
}

.elementor-11 .vs-services-slider.e-con,
.elementor-11 .vs-services-grid.e-con,
.elementor-11 .vs-services-slider > .e-con-inner,
.elementor-11 .vs-services-grid > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 14px !important;
  --flex-wrap: nowrap !important;
  --align-items: stretch !important;
  --justify-content: space-between !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}

/* Equal-width cards in one row; stretch to same height */
.elementor-11 .vs-services-grid > .e-con-inner > .vs-service-card,
.elementor-11 .vs-services-grid > .vs-service-card,
.elementor-11 .vs-services-slider > .vs-service-card,
.elementor-11 .vs-service-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
  flex: 1 1 0 !important;
  width: 18.5% !important;
  min-width: 0 !important;
  max-width: none !important;
  --width: 18.5% !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(11, 37, 69, 0.08) !important;
}

.elementor-11 .vs-service-card-body,
.elementor-11 .vs-service-card > .vs-service-card-body,
.elementor-11 .vs-service-card .vs-service-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  flex: 1 1 auto !important;
  padding: 14px 16px 18px !important;
  min-height: 160px !important;
}

/* Keep titles/descriptions filling remaining space consistently */
.elementor-11 .vs-service-card .elementor-widget-heading {
  margin-bottom: 8px !important;
}
.elementor-11 .vs-service-card .elementor-widget-text-editor {
  flex: 1 1 auto !important;
}

.elementor-11 .vs-service-card .elementor-widget-image,
.elementor-11 .vs-service-card .elementor-widget-image .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-11 .vs-service-card .elementor-widget-image img,
.elementor-11 .vs-service-card img {
  width: 100% !important;
  max-width: 100% !important;
  height: 160px !important;
  min-height: 160px !important;
  max-height: 160px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 12px 12px 0 0 !important;
}
.elementor-11 .vs-service-card .elementor-heading-title,
.elementor-11 .vs-service-card .elementor-heading-title a {
  color: #0B2545 !important;
  text-decoration: none !important;
}
.elementor-11 .vs-service-card .elementor-widget-text-editor,
.elementor-11 .vs-service-card .elementor-widget-text-editor p {
  color: #4A5D73 !important;
}

/* Hide leftover slider arrows */
.elementor-11 .vs-services-section .vs-svc-nav,
.elementor-11 .vs-svc-nav {
  display: none !important;
}

@media (max-width: 1024px) {
  .elementor-11 .vs-services-slider.e-con,
  .elementor-11 .vs-services-grid.e-con,
  .elementor-11 .vs-services-slider > .e-con-inner,
  .elementor-11 .vs-services-grid > .e-con-inner {
    flex-wrap: wrap !important;
    --flex-wrap: wrap !important;
  }
  .elementor-11 .vs-service-card {
    flex: 1 1 calc(50% - 14px) !important;
    width: calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
  }
}
@media (max-width: 767px) {
  .elementor-11 .vs-service-card {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-11 .vs-service-card .elementor-widget-image img,
  .elementor-11 .vs-service-card img {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
  }
}

/* Blue CTA — inner content width only (~1080px), not full bleed */
.elementor-11 .elementor-element-01b0c90,
.elementor-11 .vs-cta-band {
  max-width: 1080px !important;
  width: 75% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  --width: 75% !important;
  background: #286CB6 !important;
  background-color: #286CB6 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.elementor-11 .elementor-element-6ca64d2 {
  background: transparent !important;
  background-color: transparent !important;
}
.elementor-11 .elementor-element-2d9dde4 .elementor-icon-box-description {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1024px) {
  .elementor-11 .elementor-element-01b0c90,
  .elementor-11 .vs-cta-band {
    width: 92% !important;
    max-width: 1080px !important;
  }
}
@media (max-width: 767px) {
  .elementor-11 .elementor-element-01b0c90,
  .elementor-11 .vs-cta-band {
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
  }
}

/* Center other text sections ~1080px; keep section backgrounds full-bleed */
.elementor-11 .vs-content-1080,
.elementor-11 .elementor-element-a942f89,
.elementor-11 .elementor-element-5a1cc51,
.elementor-11 .elementor-element-e818481 {
  max-width: 1080px !important;
  width: 92% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-11 .elementor-element-8a97f0c,
.elementor-11 .elementor-element-8a97f0c p {
  color: #FFFFFF !important;
}

/* Why Choose — breathing room above heading */
.elementor-11 .elementor-element-a942f89 {
  padding-top: 70px !important;
  padding-bottom: 50px !important;
}
.elementor-11 .elementor-element-72cc7e7 {
  margin-top: 0 !important;
}


/* Force equal Our Services cards — overrides old cached width rules */
.elementor.elementor-11 .vs-services-section .vs-services-grid.e-con,
.elementor.elementor-11 .vs-services-section .vs-services-slider.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 14px !important;
  overflow: visible !important;
  max-width: 1080px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor.elementor-11 .vs-services-section .vs-service-card.e-con {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  --width: auto !important;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100% !important;
}
.elementor.elementor-11 .vs-services-section .vs-service-card.e-con img {
  height: 160px !important;
  min-height: 160px !important;
  max-height: 160px !important;
  width: 100% !important;
  object-fit: cover !important;
}
.elementor.elementor-11 .vs-services-section .vs-service-card-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 170px !important;
}
.elementor.elementor-11 .vs-svc-nav { display: none !important; visibility: hidden !important; }
