:root {
  --enh-primary: #585eaa;
  --enh-primary-dark: #4c5197;
  --enh-secondary: #252423;
  --enh-accent: #bbc9e7;
  --enh-light: #e9f0ff;
  --enh-white: #ffffff;
  --enh-shadow-sm: 0 6px 18px rgba(37, 36, 35, 0.12);
  --enh-shadow-md: 0 10px 28px rgba(37, 36, 35, 0.16);
  --enh-shadow-lg: 0 18px 40px rgba(37, 36, 35, 0.18);
}

/* Hero "Professional Plumbing" badge shine effect — on the oval container */
.elementor-element-983fe15 > .elementor-widget-container {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.elementor-element-983fe15 > .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255, 255, 255, 0.35) 45%,
    rgba(255, 255, 255, 0.55) 50%,
    rgba(255, 255, 255, 0.35) 55%,
    transparent 60%
  );
  transition: left 0.6s ease;
  pointer-events: none;
  z-index: 1;
}

.elementor-element-983fe15 > .elementor-widget-container:hover::after {
  left: 125%;
}

.elementor-element-983fe15 > .elementor-widget-container:hover {
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.7) !important;
}

/* Hero trust badges */
.elementor-element-983fe15 > .elementor-widget-container {
  border-color: rgba(134, 206, 171, 0.7) !important;
}
.elementor-element-983fe15:hover > .elementor-widget-container {
  border-color: rgba(134, 206, 171, 0.95) !important;
}

.elementor-10 .elementor-element.elementor-element-0542964 {
  --divider-color: rgba(134, 206, 171, 0.85) !important;
}
.elementor-10 .elementor-element.elementor-element-0542964 .elementor-divider-separator {
  border-block-start-color: rgba(134, 206, 171, 0.85) !important;
}

.client-experience-year-cls .e-con-full {
  border-color: rgba(134, 206, 171, 0.45) !important;
  --border-color: rgba(134, 206, 171, 0.45) !important;
}

.client-experience-year-cls {
  --gap: 16px 16px !important;
  --row-gap: 16px !important;
  --column-gap: 16px !important;
  margin-top: 0 !important;
}

.client-experience-year-cls .e-con-full {
  --gap: 8px 8px !important;
  --row-gap: 8px !important;
  --column-gap: 8px !important;
  align-items: center !important;
  flex-direction: row !important;
}

.client-experience-year-cls .elementor-widget-image img {
  width: 34px !important;
  height: auto !important;
}

.client-experience-year-cls .elementor-counter-title {
  font-size: 12px !important;
  letter-spacing: 0.3px;
  opacity: 0.9;
  margin-bottom: 0 !important;
}

.client-experience-year-cls .elementor-counter-number-wrapper {
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.client-experience-year-cls .elementor-counter {
  display: flex;
  flex-direction: column-reverse;
  gap: 2px;
}

.client-experience-year-cls .elementor-widget-image .elementor-widget-container:hover img {
  transform: scale(0.9) !important;
  filter: none !important;
}

/* Hero form — tight consistent spacing (high specificity to beat Elementor inline) */
.elementor-10 .elementor-element.elementor-element-e237f9e {
  --padding-top: 18px !important;
  --padding-bottom: 4px !important;
  --padding-left: 22px !important;
  --padding-right: 22px !important;
  --gap: 4px 4px !important;
  --row-gap: 4px !important;
  --column-gap: 4px !important;
}

/* Compact home hero */
.elementor-element-9063c11 {
  --padding-top: 40px !important;
  --padding-bottom: 40px !important;
}

.elementor-element-f26e2e9 {
  --gap: 30px 30px !important;
  --row-gap: 30px !important;
  --column-gap: 30px !important;
}

.elementor-10 .elementor-element.elementor-element-e237f9e {
  background: linear-gradient(160deg, #ffffff 0%, #eef2ff 40%, #dde4f9 100%) !important;
  border: 1px solid rgba(88, 94, 170, 0.15) !important;
  box-shadow: 0 8px 32px rgba(88, 94, 170, 0.12), 0 2px 8px rgba(37, 36, 35, 0.06) !important;
}

/* Form card heading */
.elementor-element-e237f9e .elementor-heading-title {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px;
  text-align: center !important;
  padding-bottom: 8px;
  margin-bottom: 6px !important;
  border-bottom: 2px solid rgba(88, 94, 170, 0.12);
}

@media (max-width: 1024px) {
  .elementor-element-9063c11 {
    --padding-top: 30px !important;
    --padding-bottom: 30px !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-9063c11 {
    --padding-top: 24px !important;
    --padding-bottom: 24px !important;
  }

  .elementor-10 .elementor-element.elementor-element-e237f9e {
    --padding-top: 14px !important;
    --padding-bottom: 6px !important;
    --padding-left: 14px !important;
    --padding-right: 14px !important;
  }

  /* Hero top badge — mobile */
  .elementor-element-983fe15 > .elementor-widget-container {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 40px !important;
    padding: 8px 16px !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
  }
  .elementor-element-983fe15 .elementor-image-box-wrapper {
    gap: 8px !important;
  }
  .elementor-element-983fe15 .elementor-image-box-img img {
    width: 22px !important;
    height: auto !important;
  }
  .elementor-element-983fe15 .elementor-image-box-title {
    font-size: 12px !important;
    letter-spacing: 0.3px !important;
  }

  /* Trust badges — single horizontal row on mobile */
  .client-experience-year-cls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    --gap: 0 0 !important;
    --row-gap: 0 !important;
    --column-gap: 0 !important;
    gap: 0 !important;
  }
  .client-experience-year-cls > .e-con-full {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 10px 4px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-radius: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    --gap: 4px 4px !important;
    --row-gap: 4px !important;
    --column-gap: 4px !important;
  }
  .client-experience-year-cls > .e-con-full:first-child {
    border-radius: 12px 0 0 12px !important;
  }
  .client-experience-year-cls > .e-con-full:last-child {
    border-radius: 0 12px 12px 0 !important;
    border-right: none !important;
  }
  .client-experience-year-cls .elementor-widget-image img {
    width: 24px !important;
  }
  .client-experience-year-cls .elementor-counter-number-wrapper {
    font-size: 18px !important;
    line-height: 1 !important;
  }
  .client-experience-year-cls .elementor-counter-title {
    font-size: 10px !important;
    line-height: 1.2 !important;
    opacity: 0.75;
  }
}

/* Mobile slide-out menu */
/* Block Elementor popup modal from appearing (replaced by custom mobile nav) */
#elementor-popup-modal-78,
.elementor-popup-modal,
[data-elementor-type="popup"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.enh-mobile-nav {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 280px !important;
  height: 100% !important;
  background: #fff !important;
  z-index: 100000 !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15) !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s ease !important;
  overflow-y: auto !important;
  font-family: "Inter", Arial, sans-serif !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}
.enh-mobile-nav.open {
  transform: translateX(0) !important;
}
.enh-mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(88, 94, 170, 0.1);
}
.enh-mobile-nav-header span {
  font-size: 18px;
  font-weight: 700;
  color: #252423;
}
.enh-mobile-nav-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #555;
  font-size: 22px;
  line-height: 1;
}
.enh-mobile-nav ul {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.enh-mobile-nav ul ul {
  padding: 0 0 0 16px;
  display: none;
}
.enh-mobile-nav li a {
  display: block;
  padding: 13px 20px;
  color: #252423;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: background 0.2s ease, color 0.2s ease;
  text-transform: none;
}
.enh-mobile-nav li a:hover {
  background: rgba(88, 94, 170, 0.06);
  color: #585eaa;
}
.enh-mobile-nav li.has-children > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.enh-mobile-nav li.has-children > a::after {
  content: "+";
  font-size: 16px;
  font-weight: 700;
  color: #585eaa;
  transition: transform 0.2s ease;
}
.enh-mobile-nav li.has-children.open > a::after {
  content: "−";
}
.enh-mobile-nav li.has-children.open > ul {
  display: block;
}
.enh-mobile-nav li ul a {
  font-size: 14px;
  color: #555;
  padding: 10px 20px;
}
.enh-mobile-nav-cta {
  padding: 16px 20px;
  border-top: 1px solid rgba(88, 94, 170, 0.1);
}
.enh-mobile-nav-cta a {
  display: block;
  text-align: center;
  padding: 12px;
  background: linear-gradient(135deg, #585eaa, #4c5197);
  color: #fff !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-transform: none;
}
.enh-mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 99999;
}
.enh-mobile-overlay.open {
  display: block;
}
/* Stable nav — no zoom, no shift (exclude mobile panel) */
.header-cls *:not(.enh-mobile-nav):not(.enh-mobile-overlay),
.header-cls *:not(.enh-mobile-nav):not(.enh-mobile-overlay)::before,
.header-cls *:not(.enh-mobile-nav):not(.enh-mobile-overlay)::after {
  animation: none !important;
}

.header-cls .elementor-widget-image .elementor-widget-container:hover img {
  transform: scale(0.9) !important;
}

.header-cls .elementor-button:hover {
  transform: translateY(-2px) !important;
}

/* Keep navigation fixed at top while scrolling */
.header-cls,
.elementor-element-6b79685 {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 10000 !important;
}

/* Enhanced header CTA phone section */
.header-third-clum-cls {
  align-items: center !important;
}

.call-us-today-cls {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  top: -3px;
}

.call-us-today-cls .elementor-widget-container,
.call-us-today-cls .elementor-image-box-content,
.call-us-today-cls .elementor-image-box-title,
.call-us-today-cls .elementor-image-box-description {
  margin: 0 !important;
  padding: 0 !important;
}

.call-us-today-cls .elementor-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  background: linear-gradient(135deg, rgba(107, 184, 150, 0.08), rgba(107, 184, 150, 0.15));
  border: 1px solid rgba(107, 184, 150, 0.25);
  border-radius: 10px;
  padding: 0 14px 0 4px;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}

.call-us-today-cls .elementor-image-box-wrapper:hover {
  box-shadow: 0 4px 16px rgba(107, 184, 150, 0.2);
  border-color: rgba(107, 184, 150, 0.4);
}

.call-us-today-cls .elementor-image-box-img {
  flex-shrink: 0;
  width: 28px !important;
  height: 28px !important;
  position: relative;
  left: 6px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #6BB896, #529E7F);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(88, 94, 170, 0.25);
}

.call-us-today-cls .elementor-image-box-img img {
  width: 12px !important;
  height: 12px !important;
  filter: brightness(0) invert(1) !important;
}

.call-us-today-cls .elementor-image-box-title,
.call-us-today-cls .elementor-image-box-title a {
  font-size: 9px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6b7080 !important;
  margin-bottom: 0 !important;
  line-height: 1.2 !important;
}

.call-us-today-cls .elementor-image-box-description,
.call-us-today-cls .elementor-image-box-description a {
  font-size: 14px !important;
  font-weight: 700 !important;
  position: relative;
  top: 2px;
  color: #252423 !important;
  letter-spacing: -0.3px;
}

.call-us-today-cls .elementor-image-box-description a:hover {
  color: #585EAA !important;
}


.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item:focus,
.elementor-nav-menu--main .elementor-item.highlighted,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: normal !important;
  padding: 13px 20px !important;
  transform: none !important;
  text-decoration: none !important;
  transition: color 0.22s ease !important;
}

.elementor-nav-menu--main .elementor-item::before,
.elementor-nav-menu--main .elementor-item::after {
  display: none !important;
}

.elementor-nav-menu--main .elementor-item.elementor-item-active:hover {
  color: #585EAA !important;
}

/* Buttons */
.elementor-button,
.ff-btn-submit,
.ff-btn.ff-btn-submit {
  border-radius: 10px !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease,
    color 0.28s ease, border-color 0.28s ease !important;
  position: relative;
  overflow: hidden;
}

.elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 1;
}

.elementor-button::after,
.ff-btn-submit::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -35%;
  width: 28%;
  height: 320%;
  transform: rotate(20deg);
  background: rgba(255, 255, 255, 0.2);
  transition: left 0.45s ease;
  pointer-events: none;
}

.elementor-button:hover,
.elementor-button:focus-visible,
.ff-btn-submit:hover,
.ff-btn-submit:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--enh-shadow-md);
}

.elementor-button:hover::after,
.elementor-button:focus-visible::after,
.ff-btn-submit:hover::after,
.ff-btn-submit:focus-visible::after {
  left: 120%;
}



.elementor-button:focus-visible,
.ff-btn-submit:focus-visible {
  outline: 2px solid rgba(134, 206, 171, 0.4);
  outline-offset: 2px;
}

/* Interactive cards and images */
.elementor-widget-call-to-action .elementor-cta {
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.32s ease, box-shadow 0.32s ease;
  box-shadow: var(--enh-shadow-sm);
}

.elementor-widget-call-to-action .elementor-cta:hover,
.elementor-widget-call-to-action .elementor-cta:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--enh-shadow-lg);
}

.elementor-widget-call-to-action .elementor-cta .elementor-cta__bg {
  transition: transform 0.45s ease, filter 0.45s ease;
}

.elementor-widget-call-to-action .elementor-cta:hover .elementor-cta__bg {
  transform: scale(1.06);
  filter: brightness(0.85);
}

.elementor-image-box-img,
.elementor-widget-image .elementor-widget-container {
  border-radius: 12px;
  overflow: hidden;
}

.elementor-image-box-img img,
.elementor-widget-image img {
  transition: transform 0.35s ease, filter 0.35s ease;
}

.elementor-image-box:hover .elementor-image-box-img img,
.elementor-widget-image .elementor-widget-container:hover img {
  transform: scale(1.03);
  filter: saturate(1.05);
}

/* Icon and list micro-interactions */
.elementor-social-icon,
.elementor-icon-list-icon i,
.elementor-icon-list-icon svg {
  transition: transform 0.24s ease, color 0.24s ease, fill 0.24s ease, background-color 0.24s ease;
}

.elementor-social-icon:hover {
  transform: translateY(-2px) scale(0.88);
}

.elementor-icon-list-item {
  transition: transform 0.22s ease;
}

.elementor-icon-list-item:hover {
  transform: translateX(3px);
}

/* Footer logos/icons zoom out on hover */
.elementor-element-c60f3f7 .elementor-widget-image img,
.elementor-element-a947979 .elementor-widget-image img {
  transition: transform 0.3s ease !important;
}

.elementor-element-c60f3f7 .elementor-widget-image .elementor-widget-container:hover img,
.elementor-element-a947979 .elementor-widget-image .elementor-widget-container:hover img {
  transform: scale(0.9) !important;
}

/* Better form visuals */
.frm-fluent-form {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* Nuke ALL wrapper spacing in the hero form card */
.elementor-element-e237f9e .elementor-widget-container,
.elementor-element-e237f9e .fluentform-widget-wrapper,
.elementor-element-e237f9e .fluentform,
.elementor-element-e237f9e .frm-fluent-form,
.elementor-element-e237f9e .frm-fluent-form fieldset,
.elementor-element-e237f9e .ff-el-input--content,
.elementor-element-e237f9e .ff-t-container,
.elementor-element-e237f9e .ff-t-cell {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-element-e237f9e .ff-t-container {
  gap: 0 !important;
}

.elementor-element-e237f9e .ff-errors-in-stack {
  display: none !important;
}

/* Uniform 6px gap between every field row */
.elementor-element-e237f9e .ff-el-group,
.elementor-element-e237f9e .ff-field_container,
.elementor-element-e237f9e .ff-name-field-wrapper {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

/* Name field — kill extra gap from nested wrappers */
.elementor-element-e237f9e .ff-name-field-wrapper .ff-t-container .ff-t-cell .ff-el-group {
  margin: 0 !important;
}

/* Consent checkbox */
.ff-consent-wrapper {
  margin: 6px 0 4px 0 !important;
}

.ff-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 11.5px;
  line-height: 1.4;
  color: #6b7080;
  font-family: "Inter", Arial, sans-serif;
}

.ff-consent-checkbox {
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 1px;
  accent-color: var(--enh-primary);
  cursor: pointer;
  border-radius: 3px;
}

.ff-consent-text a {
  color: var(--enh-primary);
  text-decoration: underline;
  font-weight: 600;
}

.ff-consent-text a:hover {
  color: var(--enh-primary-dark);
}

/* Submit — snug to last field */
.elementor-element-e237f9e .ff_submit_btn_wrapper {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

.frm-fluent-form .ff-el-input--label label,
.frm-fluent-form .ff-el-input--label span {
  color: #303455 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.2px;
}

.frm-fluent-form .ff-el-form-control {
  min-height: 44px;
  padding: 10px 14px !important;
  border: 1.5px solid rgba(88, 94, 170, 0.18) !important;
  border-radius: 10px !important;
  background-color: rgba(255, 255, 255, 0.85) !important;
  color: #252423 !important;
  font-size: 13.5px !important;
  font-family: "Inter", Arial, sans-serif !important;
  box-shadow: 0 1px 3px rgba(88, 94, 170, 0.06);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, transform 0.2s ease;
}

.frm-fluent-form .ff-el-form-control::placeholder {
  color: #9098ad;
  opacity: 1;
  font-weight: 500;
}

.frm-fluent-form .ff-el-form-control:focus {
  border-color: var(--enh-primary) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 3px rgba(88, 94, 170, 0.13), 0 2px 6px rgba(88, 94, 170, 0.08);
  transform: translateY(-1px);
}

.frm-fluent-form select.ff-el-form-control {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23d97706' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: rgba(255, 255, 255, 0.85) !important;
  padding-right: 36px !important;
  cursor: pointer;
  border-radius: 10px !important;
}

/* Custom styled dropdown */
.enh-select-wrapper {
  position: relative;
  width: 100%;
}

.enh-select-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 10px 14px;
  border: 1.5px solid rgba(88, 94, 170, 0.18);
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.85);
  color: #252423;
  font-size: 13.5px;
  font-family: "Inter", Arial, sans-serif;
  cursor: pointer;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  user-select: none;
}

.enh-select-display:hover {
  border-color: rgba(88, 94, 170, 0.35);
}

.enh-select-wrapper.open .enh-select-display {
  border-color: var(--enh-primary);
  box-shadow: 0 0 0 3px rgba(88, 94, 170, 0.13), 0 2px 6px rgba(88, 94, 170, 0.08);
}

.enh-select-arrow {
  display: flex;
  align-items: center;
  transition: transform 0.25s ease;
  flex-shrink: 0;
  margin-left: 8px;
}

.enh-select-wrapper.open .enh-select-arrow {
  transform: rotate(180deg);
}

.enh-select-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1.5px solid rgba(88, 94, 170, 0.15);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(88, 94, 170, 0.15), 0 2px 8px rgba(37, 36, 35, 0.06);
  list-style: none;
  margin: 0;
  padding: 4px 0;
  max-height: 220px;
  overflow-y: auto;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.enh-select-wrapper.open .enh-select-list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.enh-select-list li {
  padding: 9px 14px;
  font-size: 13.5px;
  font-family: "Inter", Arial, sans-serif;
  color: #252423;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  border-radius: 6px;
  margin: 0 4px;
}

.enh-select-list li:hover {
  background: rgba(88, 94, 170, 0.08);
  color: var(--enh-primary);
}

.enh-select-list li.selected {
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark));
  color: #ffffff;
  font-weight: 600;
}

.frm-fluent-form .ff_submit_btn_wrapper {
  margin-top: 2px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style) {
  background: linear-gradient(135deg, #6BB896, #529E7F) !important;
  border-color: transparent !important;
  color: #fff !important;
  width: 100% !important;
  min-height: 46px;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px;
  border-radius: 10px !important;
}

.frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style):hover {
  background: linear-gradient(135deg, #529E7F, #3F8568) !important;
  box-shadow: 0 10px 22px rgba(107, 184, 150, 0.35) !important;
}

.frm-fluent-form textarea.ff-el-form-control {
  min-height: 90px;
  resize: vertical;
}

.frm-fluent-form .ff-message-success,
.frm-fluent-form .ff-message-error {
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
}

.frm-fluent-form .ff-message-success {
  background: rgba(31, 122, 53, 0.1);
  color: #1f7a35;
}

.frm-fluent-form .ff-message-error {
  background: rgba(154, 29, 47, 0.1);
  color: #9a1d2f;
}

/* Better two-column flow where FluentForm uses t-columns */
.frm-fluent-form .ff-column-container {
  gap: 12px;
}

@media (max-width: 767px) {
  .frm-fluent-form .ff-el-form-control {
    min-height: 40px;
    padding: 9px 12px !important;
  }

  .frm-fluent-form textarea.ff-el-form-control {
    min-height: 70px;
  }
}

/* Decorative wrench background on alternating sections */
.enh-wrench-bg {
  position: relative;
  overflow: hidden;
}

.enh-wrench-bg::before,
.enh-wrench-bg::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
}

.enh-wrench-bg::before {
  top: 20px;
  right: -20px;
  transform: rotate(15deg);
}

.enh-wrench-bg::after {
  bottom: 20px;
  left: -20px;
  transform: rotate(-30deg);
  width: 90px;
  height: 90px;
}

.enh-wrench-icon {
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
}

@media (max-width: 767px) {
  .enh-wrench-bg::before {
    width: 80px;
    height: 80px;
    top: 10px;
    right: -15px;
  }

  .enh-wrench-bg::after {
    width: 60px;
    height: 60px;
    bottom: 10px;
    left: -10px;
  }

  .enh-wrench-icon {
    display: none;
  }
}

/* Section badge / tag labels */
.enh-badge.elementor-widget {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.enh-badge .elementor-widget-container {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  background: linear-gradient(135deg, rgba(88, 94, 170, 0.07) 0%, rgba(187, 201, 231, 0.18) 100%);
  border: 1px solid rgba(88, 94, 170, 0.16);
  border-radius: 50px;
  height: 36px;
  padding: 0 20px;
  text-align: center !important;
  position: relative;
  overflow: hidden;
}

.enh-badge .elementor-widget-container::before {
  content: "";
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, #86CEAB, #6BB896);
  box-shadow: 0 0 6px rgba(134, 206, 171, 0.5);
  animation: enhDotPulse 2s ease-in-out infinite;
}

.enh-badge .elementor-widget-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: enhBadgeShine 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes enhDotPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(134, 206, 171, 0.5); }
  50% { opacity: 0.4; box-shadow: 0 0 2px rgba(134, 206, 171, 0.2); }
}

.enh-badge .elementor-widget-container {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: var(--enh-primary) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.enh-badge .elementor-widget-container p {
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  display: inline !important;
}

.enh-badge:hover .elementor-widget-container {
  box-shadow: 0 4px 14px rgba(88, 94, 170, 0.18);
}

.enh-badge:hover .elementor-widget-container::before {
  animation: enhBadgePulse 0.8s ease-out;
}

@keyframes enhBadgePulse {
  0% { transform: scale(1); box-shadow: 0 0 6px rgba(134, 206, 171, 0.5); }
  50% { transform: scale(1.5); box-shadow: 0 0 12px rgba(134, 206, 171, 0.7); }
  100% { transform: scale(1); box-shadow: 0 0 6px rgba(134, 206, 171, 0.5); }
}

@media (max-width: 767px) {
  .enh-badge .elementor-widget-container {
    height: 32px;
    padding: 0 16px;
    gap: 6px;
  }

  .enh-badge .elementor-widget-container {
    font-size: 11px !important;
    letter-spacing: 1.4px !important;
  }

  .enh-badge .elementor-widget-container::before {
    width: 6px;
    height: 6px;
  }
}

/* Reveal effects disabled — all sections visible immediately */

/* "What Our Clients Say" section */
.elementor-element-71473d4 {
  position: relative;
  padding-top: 6px !important;
  padding-bottom: 4px !important;
}

.elementor-element-71473d4 .elementor-element-ea88c0f {
  align-items: center !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

.elementor-element-71473d4 .elementor-element-ea88c0f > .elementor-element {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-element-71473d4 .elementor-element-645cb45 .elementor-heading-title {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: var(--enh-secondary) !important;
  line-height: 1.2 !important;
  position: relative;
  display: inline-block;
}

.elementor-element-71473d4 .elementor-element-645cb45 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark));
  border-radius: 2px;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .elementor-element-71473d4 .elementor-element-645cb45 .elementor-heading-title::after {
    display: none;
  }
  .elementor-element-71473d4 .elementor-element-1f0cd89 {
    margin-top: 12px !important;
  }
}

.elementor-element-71473d4 .elementor-element-1f0cd89 .elementor-button {
  background: linear-gradient(135deg, #6BB896, #529E7F) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  box-shadow: 0 4px 14px rgba(107, 184, 150, 0.25);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.elementor-element-71473d4 .elementor-element-1f0cd89 .elementor-button,
.elementor-element-71473d4 .elementor-element-1f0cd89 .elementor-button:hover,
.elementor-element-71473d4 .elementor-element-1f0cd89 .elementor-button .elementor-button-text,
.elementor-element-31aa288 .elementor-element-9d8f8db .elementor-button,
.elementor-element-31aa288 .elementor-element-9d8f8db .elementor-button:hover,
.elementor-element-31aa288 .elementor-element-9d8f8db .elementor-button .elementor-button-text,
.frm-fluent-form .ff-btn-submit,
.frm-fluent-form .ff-btn-submit:hover {
  color: #fff !important;
}

.elementor-element-71473d4 .elementor-element-1f0cd89 .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(107, 184, 150, 0.35);
}

/* Testimonial cards */
.enh-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 4px 0 0;
  width: 100%;
}

.enh-testimonial-card {
  background: #ffffff;
  border: 1px solid rgba(88, 94, 170, 0.1);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 8px rgba(37, 36, 35, 0.06);
}

.enh-testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(88, 94, 170, 0.15);
}

.enh-testimonial-stars {
  color: #f5a623;
  font-size: 14px;
  letter-spacing: 1px;
}

.enh-testimonial-text {
  font-size: 12.5px;
  line-height: 1.55;
  color: #444;
  font-family: "Inter", Arial, sans-serif;
  font-style: italic;
  margin: 0;
  flex-grow: 1;
}

.enh-testimonial-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(88, 94, 170, 0.08);
}

.enh-testimonial-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark));
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "Inter", Arial, sans-serif;
}

.enh-testimonial-author strong {
  display: block;
  font-size: 13px;
  color: #252423;
  font-family: "Inter", Arial, sans-serif;
}

.enh-testimonial-author span {
  font-size: 11px;
  color: var(--enh-primary);
  font-weight: 500;
  font-family: "Inter", Arial, sans-serif;
}

@media (max-width: 1024px) {
  .enh-testimonials {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .enh-testimonials {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .enh-testimonials::-webkit-scrollbar {
    display: none;
  }
  .enh-testimonial-card {
    flex: 0 0 88%;
    scroll-snap-align: center;
    padding: 18px;
    margin: 0 6%;
  }
  .enh-testimonial-card:first-child {
    margin-left: 6%;
  }
  .enh-testimonial-card:last-child {
    margin-right: 6%;
  }
  .enh-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .enh-carousel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(88, 94, 170, 0.2);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
  }
  .enh-carousel-dot.active {
    background: #585eaa;
    transform: scale(1.3);
  }
}
.enh-carousel-dots {
  display: none;
}

/* "We Make Plumbing Repairs Easy" section enhancements */
.elementor-element-31aa288 .elementor-element-ffb2cf8 {
  gap: 16px !important;
}

.elementor-element-31aa288 .elementor-element-bc00a79 .elementor-widget-container p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #555 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-31aa288 .elementor-element-4d96012 .elementor-image-box-wrapper,
.elementor-element-31aa288 .elementor-element-c434858 .elementor-image-box-wrapper {
  background: #fff !important;
  border: 1px solid rgba(88, 94, 170, 0.1) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: 0 2px 8px rgba(37, 36, 35, 0.05) !important;
}

.elementor-element-31aa288 .elementor-element-4d96012 .elementor-image-box-wrapper:hover,
.elementor-element-31aa288 .elementor-element-c434858 .elementor-image-box-wrapper:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(88, 94, 170, 0.15) !important;
  border-color: rgba(88, 94, 170, 0.2) !important;
}

.elementor-element-31aa288 .elementor-image-box-img {
  background: linear-gradient(135deg, rgba(88, 94, 170, 0.08), rgba(88, 94, 170, 0.03)) !important;
  border-radius: 10px !important;
  padding: 10px !important;
}

.elementor-element-31aa288 .elementor-image-box-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--enh-secondary) !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-31aa288 .elementor-image-box-description {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #666 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-31aa288 .elementor-element-83badc8,
.elementor-element-31aa288 .elementor-element-ab25102 {
  display: none !important;
}

.elementor-element-31aa288 .elementor-element-5efa20b {
  align-items: flex-start !important;
}

.elementor-element-31aa288 .elementor-element-6ab689c .elementor-widget-container {
  text-align: left !important;
}

.elementor-element-31aa288 .elementor-element-6ab689c .elementor-widget-container p {
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: var(--enh-primary) !important;
  font-family: "Inter", Arial, sans-serif !important;
  display: inline-block !important;
}

.elementor-element-31aa288 .elementor-element-21711bc .elementor-heading-title {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: var(--enh-secondary) !important;
  line-height: 1.2 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-31aa288 .elementor-element-9d8f8db .elementor-button {
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark)) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 14px rgba(88, 94, 170, 0.25) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}

.elementor-element-31aa288 .elementor-element-9d8f8db .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(88, 94, 170, 0.35) !important;
}

/* Green keypoints */
.enh-keypoints {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 16px;
}

.enh-keypoint {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  color: #3a3a3a;
  background: rgba(107, 184, 150, 0.08);
  border: 1px solid rgba(107, 184, 150, 0.18);
  border-radius: 6px;
  padding: 7px 12px;
  transition: background 0.25s ease, transform 0.25s ease;
}

.enh-keypoint:hover {
  background: rgba(107, 184, 150, 0.14);
  transform: translateX(4px);
}

.enh-keypoint-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(107, 184, 150, 0.15);
  color: #6BB896;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .enh-keypoints {
    gap: 8px;
    margin-top: 16px;
    align-items: center;
    width: 100%;
  }

  .enh-keypoint {
    font-size: 13px;
    padding: 8px 12px;
    justify-content: center;
    text-align: center;
    width: auto;
  }

  .elementor-element-31aa288 .elementor-element-5efa20b {
    align-items: center !important;
    text-align: center !important;
  }
  .elementor-element-31aa288 .elementor-element-5efa20b > .e-con-inner {
    align-items: center !important;
  }
  .elementor-element-31aa288 .elementor-element-5efa20b .elementor-widget {
    text-align: center !important;
    width: 100% !important;
  }
  .elementor-element-31aa288 .elementor-element-6ab689c .elementor-widget-container {
    text-align: center !important;
  }
  .elementor-element-31aa288 .elementor-element-5efa20b .elementor-heading-title,
  .elementor-element-31aa288 .elementor-element-5efa20b .elementor-widget-container p {
    text-align: center !important;
  }
  .elementor-element-31aa288 .enh-badge {
    justify-content: center !important;
  }
}

/* "Why Choose Us" section enhancements */
.elementor-element-855ce99 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.elementor-element-855ce99 .elementor-element-9c5d660 .elementor-widget-container {
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: var(--enh-primary) !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-855ce99 .elementor-element-b26b5e4 .elementor-heading-title {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: var(--enh-secondary) !important;
  line-height: 1.2 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-element-855ce99 .elementor-element-ff144bd .elementor-widget-container p {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #555 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.flexible-pricing-details-cls .elementor-icon-list-text {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.flexible-pricing-details-cls .elementor-icon-list-item {
  padding: 8px 16px !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
  background: rgba(107, 184, 150, 0.08) !important;
  border: 1px solid rgba(107, 184, 150, 0.18) !important;
  border-radius: 8px !important;
  margin-bottom: 6px !important;
}

.flexible-pricing-details-cls .elementor-icon-list-item:hover {
  transform: translateX(4px) !important;
  background: rgba(107, 184, 150, 0.14) !important;
}

.flexible-pricing-details-cls .elementor-icon-list-icon svg rect {
  fill: #6BB896 !important;
}

.elementor-element-855ce99 .elementor-element-2627947 {
  transform: scale(0.75);
  transform-origin: top center;
  margin-bottom: -15% !important;
}
@media (max-width: 767px) {
  .elementor-element-855ce99 .elementor-element-2627947 {
    transform: none;
    margin-bottom: 0 !important;
  }
  .elementor-element-855ce99 .elementor-element-4762890 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .elementor-element-855ce99 .elementor-element-c9c5c8d,
  .elementor-element-855ce99 .elementor-element-f342472,
  .elementor-element-855ce99 .elementor-element-c1ed63a,
  .elementor-element-855ce99 .elementor-element-decba49 {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-855ce99 .elementor-image-box-title {
    font-size: 14px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  .elementor-element-855ce99 .elementor-image-box-description {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  .elementor-element-855ce99 .elementor-image-box-img img {
    width: 36px !important;
    height: auto !important;
  }
}

.elementor-element-855ce99 .elementor-element-c9c5c8d,
.elementor-element-855ce99 .elementor-element-f342472,
.elementor-element-855ce99 .elementor-element-c1ed63a,
.elementor-element-855ce99 .elementor-element-decba49 {
  border-radius: 12px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-element-855ce99 .elementor-element-c9c5c8d:hover,
.elementor-element-855ce99 .elementor-element-f342472:hover,
.elementor-element-855ce99 .elementor-element-c1ed63a:hover,
.elementor-element-855ce99 .elementor-element-decba49:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(88, 94, 170, 0.15) !important;
}

.elementor-element-855ce99 .elementor-image-box-img img {
  transition: transform 0.3s ease !important;
}

.elementor-element-855ce99 .elementor-element-c9c5c8d:hover .elementor-image-box-img img,
.elementor-element-855ce99 .elementor-element-f342472:hover .elementor-image-box-img img,
.elementor-element-855ce99 .elementor-element-c1ed63a:hover .elementor-image-box-img img,
.elementor-element-855ce99 .elementor-element-decba49:hover .elementor-image-box-img img {
  transform: scale(0.88) !important;
}


/* Client reviews / plumber image section */
.elementor-10 .elementor-element.elementor-element-6f47670 {
  --padding-top: 30px !important;
  --padding-bottom: 30px !important;
}

/* Left purple card - glassmorphism + animated border glow */
.elementor-element-6f47670 .elementor-element-58e2c12.client-review-details-cls {
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow:
    0 8px 32px rgba(88, 94, 170, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: box-shadow 0.4s ease !important;
}

/* Inner reviews card - frosted glass look */
.elementor-element-6f47670 .elementor-element-2ca5399 {
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element-6f47670 .elementor-element-2ca5399:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2) !important;
}

/* Avatar image */
.elementor-element-6f47670 .elementor-element-9a2a8f7 img {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25)) !important;
}

/* "More Then 1k Clients Reviews" heading */
.elementor-element-6f47670 .elementor-element-7aebcb9 .elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  letter-spacing: -0.01em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}
.elementor-element-6f47670 .elementor-element-7aebcb9 .elementor-heading-title span {
  text-shadow: 0 0 12px rgba(246, 147, 46, 0.4) !important;
}

/* 100% counter - gradient number with glow */
.elementor-element-6f47670 .elementor-element-237f871 .elementor-counter-number-wrapper {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 56px !important;
  background: linear-gradient(135deg, #fff 30%, #F6932E 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  filter: drop-shadow(0 2px 8px rgba(246, 147, 46, 0.3)) !important;
}

/* Counter description text */
.elementor-element-6f47670 .elementor-element-237f871 .elementor-counter-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  letter-spacing: 0.01em !important;
}

/* Right plumber image container */
.elementor-element-6f47670 .elementor-element-2a5b69b {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
.elementor-element-6f47670 .elementor-element-2a5b69b:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22) !important;
}

/* "Need a Help?" call section - button style matching Book An Appointment */
.enh-need-help-call .elementor-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: rgba(107, 184, 150, 0.15) !important;
  border: 1.5px solid rgba(107, 184, 150, 0.4) !important;
  border-radius: 10px !important;
  padding: 10px 20px 10px 10px !important;
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer !important;
  height: auto !important;
  box-sizing: border-box !important;
}
.enh-need-help-call {
  align-self: center !important;
  position: relative !important;
  top: -4px !important;
}
.enh-need-help-call .elementor-image-box-wrapper:hover {
  background: rgba(107, 184, 150, 0.25) !important;
  border-color: rgba(107, 184, 150, 0.6) !important;
  box-shadow: 0 4px 16px rgba(107, 184, 150, 0.15) !important;
}
.enh-need-help-call .elementor-image-box-img {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(107, 184, 150, 0.25) !important;
  border-radius: 50% !important;
}
.enh-need-help-call .elementor-image-box-img img {
  width: 14px !important;
  height: 14px !important;
  filter: brightness(0) invert(1) !important;
}
.enh-need-help-call .elementor-image-box-content {
  margin: 0 !important;
  padding: 0 !important;
}
.enh-need-help-call .elementor-image-box-title,
.enh-need-help-call .elementor-image-box-title a {
  font-size: 9px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.enh-need-help-call .elementor-image-box-description,
.enh-need-help-call .elementor-image-box-description a {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: -0.3px !important;
  line-height: 1.3 !important;
}

/* "Need a Help?" plumber image - lower + zoom out on hover */
.elementor-element-d616ad1 img {
  margin-top: 40px !important;
  transition: transform 0.4s ease !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.elementor-element-d616ad1:hover img {
  transform: scale(0.95) !important;
}

/* Service cards carousel — mobile */
@media (max-width: 767px) {
  .elementor-element-210a864 {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0 !important;
    padding-bottom: 4px;
  }
  .elementor-element-210a864::-webkit-scrollbar {
    display: none;
  }
  .elementor-element-210a864 > .e-con {
    flex: 0 0 78% !important;
    scroll-snap-align: center;
    margin: 0 4% !important;
    min-width: 0;
  }
  .elementor-element-210a864 > .e-con:first-child {
    margin-left: 6% !important;
  }
  .elementor-element-210a864 > .e-con:last-child {
    margin-right: 6% !important;
  }
  .elementor-element-210a864 .plumbing-services-cls {
    min-height: 220px;
  }
  .enh-services-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .enh-services-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(88, 94, 170, 0.2);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
  }
  .enh-services-dot.active {
    background: #585eaa;
    transform: scale(1.3);
  }
}
.enh-services-dots {
  display: none;
}

/* Hide stacked images on mobile (We Guarantee Quality section) */
@media (max-width: 767px) {
  .elementor-element-48c886e {
    display: none !important;
  }

  .elementor-element-5718fb2 .elementor-icon-list-items {
    display: none !important;
  }

  .enh-qual-carousel {
    display: flex;
    overflow: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overflow-x: auto;
    width: 100%;
    max-width: 100%;
  }
  .enh-qual-carousel::-webkit-scrollbar { display: none; }

  .enh-qual-slide {
    flex: 0 0 100%;
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    scroll-snap-align: start;
    box-sizing: border-box;
    padding: 0 10px;
  }

  .enh-qual-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: rgba(134, 206, 171, 0.08);
    border: 1px solid rgba(134, 206, 171, 0.15);
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
    line-height: 1.4;
    gap: 10px;
    box-sizing: border-box;
  }

  .enh-qual-item svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
  }

  .enh-qual-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .enh-qual-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-qual-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}

/* Areas We Cover — mobile carousel */
@media (max-width: 767px) {
  .elementor-element-38803f0 {
    --padding-bottom: 0px !important;
  }

  .elementor-element-a51029d,
  .elementor-element-a027020 {
    display: none !important;
  }

  .enh-areas-carousel {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    max-width: 100%;
  }
  .enh-areas-carousel::-webkit-scrollbar { display: none; }

  .enh-areas-slide {
    flex: 0 0 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 8px;
    scroll-snap-align: start;
    box-sizing: border-box;
    padding: 0 10px;
    align-content: start;
  }

  .enh-areas-item {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    background: rgba(134, 206, 171, 0.08);
    border: 1px solid rgba(134, 206, 171, 0.15);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
    color: #1f2937;
    line-height: 1.3;
    gap: 8px;
    box-sizing: border-box;
  }

  .enh-areas-item svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
  }

  .enh-areas-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    margin-bottom: 10px;
  }
  .enh-areas-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-areas-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}

/* Team cards carousel on mobile */
@media (max-width: 767px) {
  .elementor-element-e0b0732 {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    --e-con-grid-template-columns: none !important;
  }
  .elementor-element-e0b0732::-webkit-scrollbar {
    display: none;
  }
  .elementor-element-e0b0732 > .e-con {
    flex: 0 0 80% !important;
    scroll-snap-align: center;
    margin: 0 4% !important;
    width: 80% !important;
    min-width: 80% !important;
  }
  .elementor-element-e0b0732 > .e-con:first-child {
    margin-left: 6% !important;
  }
  .elementor-element-e0b0732 > .e-con:last-child {
    margin-right: 6% !important;
  }
  .enh-team-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
  }
  .enh-team-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-team-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}
.enh-team-dots {
  display: none;
}

/* About page "Trusted Partner" carousel on mobile */
@media (max-width: 767px) {
  .elementor-element-9aeaa6e {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    --flex-wrap: nowrap !important;
    --gap: 0px 0px !important;
    --row-gap: 0px !important;
    --column-gap: 0px !important;
  }
  .elementor-element-9aeaa6e::-webkit-scrollbar {
    display: none;
  }
  .elementor-element-9aeaa6e > .e-con {
    flex: 0 0 80% !important;
    scroll-snap-align: center;
    margin: 0 4% !important;
    width: 80% !important;
    min-width: 80% !important;
  }
  .elementor-element-9aeaa6e > .e-con:first-child {
    margin-left: 6% !important;
  }
  .elementor-element-9aeaa6e > .e-con:last-child {
    margin-right: 6% !important;
  }
  .enh-about-partner-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
  }
  .enh-about-partner-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-about-partner-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}
.enh-about-partner-dots {
  display: none;
}

/* Services ticker slider */
.enh-ticker-wrap {
  overflow: hidden;
  width: 100%;
  padding: 14px 0;
}
.enh-ticker-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: enhTickerScroll 20s linear infinite;
  width: max-content;
}
.enh-ticker-item {
  display: inline-block;
  padding: 0 24px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  text-transform: none;
  transition: opacity 0.2s ease;
}
.enh-ticker-item:hover {
  opacity: 0.75;
  color: #fff;
}
.enh-ticker-dot {
  color: rgba(255, 255, 255, 0.4);
  font-size: 20px;
}
@keyframes enhTickerScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Map & Contact Section */
.enh-map-section {
  padding: 60px 20px;
  background: #f7f8fc;
  font-family: "Inter", Arial, sans-serif;
  position: relative;
  overflow: hidden;
}
.enh-map-section .enh-wrench-icon {
  opacity: 0.06 !important;
}
.enh-map-embed {
  position: relative !important;
  z-index: 2 !important;
}
.enh-map-info {
  position: relative !important;
  z-index: 2 !important;
}
.enh-map-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: stretch;
}
.enh-map-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #585eaa;
  margin-bottom: 10px;
}
.enh-map-heading {
  font-size: 32px;
  font-weight: 800;
  color: #252423;
  margin: 0 0 12px;
  line-height: 1.2;
}
.enh-map-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #6b7080;
  margin: 0 0 28px;
}
.enh-map-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 28px;
}
.enh-map-detail {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(88, 94, 170, 0.1);
  border-radius: 14px;
  padding: 16px;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  min-height: 90px;
  box-sizing: border-box;
}
.enh-map-detail:hover {
  box-shadow: 0 4px 18px rgba(107, 184, 150, 0.18);
  border-color: rgba(107, 184, 150, 0.3);
}
.enh-map-detail-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #585eaa, #4c5197);
  border-radius: 12px;
  color: #fff;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.enh-map-detail-icon svg {
  fill: #fff;
}
.enh-map-detail:hover .enh-map-detail-icon {
  background: linear-gradient(135deg, #6BB896, #529E7F);
  box-shadow: 0 3px 12px rgba(107, 184, 150, 0.35);
}
.enh-map-detail strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #252423;
  margin-bottom: 3px;
}
.enh-map-detail p {
  margin: 0;
  font-size: 13px;
  color: #6b7080;
  line-height: 1.45;
}
.enh-map-detail a {
  color: #585eaa;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  text-transform: none !important;
  word-break: break-all;
}
.enh-map-detail a[href^="mailto"],
.enh-map-detail a[href^="tel"] {
  font-size: 13px;
  word-break: normal;
}
.enh-map-detail p {
  text-transform: none !important;
}
.enh-map-detail a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .enh-map-details {
    grid-template-columns: 1fr;
  }
}
.enh-map-directions-btn {
  display: inline-block;
  padding: 12px 28px;
  background: linear-gradient(135deg, #6BB896, #529E7F);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(107, 184, 150, 0.25);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  position: relative;
  overflow: hidden;
}
.enh-map-directions-btn::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -35%;
  width: 28%;
  height: 320%;
  transform: rotate(20deg);
  background: rgba(255, 255, 255, 0.2);
  transition: left 0.45s ease;
  pointer-events: none;
}
.enh-map-directions-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(107, 184, 150, 0.35);
  color: #fff !important;
}
.enh-map-directions-btn:hover::after {
  left: 120%;
}
.enh-map-embed {
  min-height: 400px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .enh-map-inner {
    grid-template-columns: 1fr;
  }
  .enh-map-heading {
    font-size: 26px;
  }
  .enh-map-embed {
    min-height: 300px;
  }
  .enh-map-info {
    text-align: center;
  }
  .enh-map-details {
    text-align: left;
  }
}

/* Footer form card — match hero form style */
.elementor-102 .elementor-element.elementor-element-903bc0a {
  background: linear-gradient(160deg, #ffffff 0%, #eef2ff 40%, #dde4f9 100%) !important;
  border: 1px solid rgba(88, 94, 170, 0.15) !important;
  box-shadow: 0 8px 32px rgba(88, 94, 170, 0.12), 0 2px 8px rgba(37, 36, 35, 0.06) !important;
  --padding-top: 18px !important;
  --padding-bottom: 14px !important;
  --padding-left: 22px !important;
  --padding-right: 22px !important;
  --gap: 4px 4px !important;
  --row-gap: 4px !important;
  --column-gap: 4px !important;
}
.elementor-element-903bc0a .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
  text-align: center !important;
  padding-bottom: 8px !important;
  margin-bottom: 6px !important;
  border-bottom: 2px solid rgba(88, 94, 170, 0.12) !important;
}
.elementor-element-903bc0a .elementor-widget-container,
.elementor-element-903bc0a .fluentform-widget-wrapper,
.elementor-element-903bc0a .fluentform,
.elementor-element-903bc0a .frm-fluent-form fieldset,
.elementor-element-903bc0a .ff-el-input--content,
.elementor-element-903bc0a .ff-t-container,
.elementor-element-903bc0a .ff-t-cell {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-element-903bc0a .ff-el-group,
.elementor-element-903bc0a .ff-field_container,
.elementor-element-903bc0a .ff-name-field-wrapper {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}
.elementor-element-903bc0a .ff-name-field-wrapper .ff-t-container .ff-t-cell .ff-el-group {
  margin: 0 !important;
}
.elementor-element-903bc0a .ff_submit_btn_wrapper {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}
.elementor-element-903bc0a .ff-errors-in-stack {
  display: none !important;
}
.elementor-102 .elementor-element.elementor-element-903bc0a {
  align-self: flex-start !important;
  height: auto !important;
  --padding-bottom: 22px !important;
}

/* Footer contact details section enhancement */
.contact-details-cls .elementor-image-box-img {
  position: relative !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #585eaa, #4c5197) !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 12px rgba(88, 94, 170, 0.3) !important;
  overflow: hidden !important;
  padding: 8px !important;
  transition: box-shadow 0.3s ease !important;
}

.contact-details-cls .elementor-image-box-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, #6BB896, #529E7F) !important;
  border-radius: 12px !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  z-index: 0 !important;
}

.contact-details-cls .elementor-widget-image-box:hover .elementor-image-box-img::after {
  opacity: 1 !important;
}

.contact-details-cls .elementor-image-box-img img {
  position: relative !important;
  z-index: 1 !important;
}
.contact-details-cls .elementor-image-box-img img {
  width: 20px !important;
  height: 20px !important;
  filter: brightness(0) invert(1) !important;
  object-fit: contain !important;
}
.contact-details-cls .elementor-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.contact-details-cls .elementor-image-box-title,
.contact-details-cls .elementor-image-box-title a {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 2px !important;
}
.contact-details-cls .elementor-image-box-description,
.contact-details-cls .elementor-image-box-description a {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: none !important;
}
.contact-details-cls .elementor-image-box-description a:hover {
  color: #fff !important;
}
.contact-details-cls .elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
}
.contact-details-cls .elementor-divider-separator {
  border-color: rgba(255, 255, 255, 0.08) !important;
}
.contact-details-cls .elementor-social-icon {
  background: rgba(134, 206, 171, 0.2) !important;
  border: 1.5px solid rgba(134, 206, 171, 0.65) !important;
  border-radius: 50% !important;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important;
}
.contact-details-cls .elementor-social-icon svg rect {
  fill: #6BB896 !important;
  stroke: rgba(134, 206, 171, 0.95) !important;
}
.contact-details-cls .elementor-social-icon svg path {
  fill: #fff7db !important;
}
.contact-details-cls .elementor-social-icon:hover {
  background: rgba(107, 184, 150, 0.35) !important;
  border-color: rgba(134, 206, 171, 0.95) !important;
  transform: scale(0.92) !important;
  border-radius: 50% !important;
}
.contact-details-cls .elementor-social-icon:hover svg rect {
  fill: #529E7F !important;
  stroke: rgba(134, 206, 171, 1) !important;
}
.contact-details-cls .elementor-social-icon:hover svg path {
  fill: #fff7db !important;
}

@media (max-width: 767px) {
  .contact-details-cls {
    align-items: center !important;
    text-align: center !important;
  }
  .contact-details-cls > .e-con-inner {
    align-items: center !important;
  }
  .contact-details-cls .elementor-widget {
    width: 100% !important;
    text-align: center !important;
  }
  .contact-details-cls .elementor-image-box-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: center !important;
  }
  .contact-details-cls .elementor-image-box-content {
    text-align: center !important;
  }
  .contact-details-cls .elementor-heading-title {
    text-align: center !important;
  }
  .contact-details-cls .elementor-social-icons-wrapper {
    justify-content: center !important;
  }
}

/* Footer section enhancements */
.elementor-102 .elementor-element.elementor-element-c60f3f7 {
  --padding-top: 112px !important;
  --padding-bottom: 112px !important;
}

/* Footer main area (a947979) */
.elementor-element-a947979 {
  position: relative !important;
}

/* Footer column headings - accent underline */
.elementor-element-a947979 .elementor-element-2db3c33 .elementor-heading-title,
.elementor-element-a947979 .elementor-element-c474c7b .elementor-heading-title,
.elementor-element-a947979 .elementor-element-cbb3583 .elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  color: #fff !important;
  padding-bottom: 8px !important;
  margin-bottom: 4px !important;
  border-bottom: 2px solid rgba(88, 94, 170, 0.5) !important;
  display: inline-block !important;
}
.elementor-element-a947979 .elementor-element-25dcb4c,
.elementor-element-a947979 .elementor-element-daab911 {
  gap: 6px !important;
}

/* Footer nav links */
.elementor-element-a947979 .elementor-icon-list-item a {
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease !important;
  display: inline-block !important;
  color: #fff !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
}
.elementor-element-a947979 .elementor-icon-list-item a:hover,
.elementor-element-a947979 .elementor-icon-list-item a:hover .elementor-icon-list-text {
  transform: translateX(4px) !important;
  color: #fff !important;
}
.elementor-element-a947979 .elementor-icon-list-text {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Footer description text */
.elementor-element-56142f7 .elementor-widget-container p {
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.6) !important;
}
.enh-footer-247 {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 12px !important;
  padding: 8px 16px !important;
  background: rgba(107, 184, 150, 0.65) !important;
  border: 1.5px solid rgba(134, 206, 171, 0.9) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  font-family: "Inter", Arial, sans-serif !important;
  text-transform: none !important;
  box-shadow: 0 0 0 1px rgba(134, 206, 171, 0.28), 0 6px 18px rgba(134, 206, 171, 0.2) !important;
}

p.enh-footer-247,
.elementor-widget-container p.enh-footer-247,
.elementor-widget-container .enh-footer-247 {
  color: #fff !important;
}

.enh-footer-247 svg,
.elementor-widget-container .enh-footer-247 svg {
  fill: #fff !important;
  color: #fff !important;
}

/* Footer subscribe section */
.elementor-element-1b6a46f .elementor-widget-container p {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Footer subscribe section replaced with contact info */
.elementor-element-57c8c75 .elementor-element-cbb3583,
.elementor-element-57c8c75 .elementor-element-1b6a46f,
.elementor-element-57c8c75 .elementor-element-9f15d9d,
.elementor-element-57c8c75 .elementor-element-b8185ad {
  display: none !important;
}

/* Footer contact info (right column) */
.enh-footer-contact {
  font-family: "Inter", Arial, sans-serif;
}
.enh-footer-contact-heading {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding-bottom: 10px !important;
  margin: 0 0 14px !important;
  border-bottom: 2px solid rgba(88, 94, 170, 0.5) !important;
  display: inline-block !important;
  text-transform: capitalize !important;
}
.enh-footer-contact-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.enh-footer-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  font-size: 13.5px;
  transition: color 0.2s ease, transform 0.2s ease;
  text-transform: none;
}
.enh-footer-contact-item:hover {
  color: #fff;
  transform: translateX(4px);
}
.enh-footer-contact-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  color: #fff;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.enh-footer-contact-item:hover .enh-footer-contact-icon {
  background: rgba(107, 184, 150, 0.25);
  border-color: rgba(107, 184, 150, 0.5);
  transform: scale(0.92);
}
.enh-footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-weight: 600;
}
.enh-footer-social-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: #fff;
  transition: background 0.3s ease, transform 0.3s ease;
}
.enh-footer-social-icon:hover {
  background: rgba(107, 184, 150, 0.2);
  border-color: rgba(107, 184, 150, 0.45);
  transform: scale(0.92);
}

/* Footer email subscribe input */
.elementor-element-a947979 .subscribe-email-cls .ff-el-form-control {
  border-radius: 10px !important;
  border: 2px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}
.elementor-element-a947979 .subscribe-email-cls .ff-el-form-control::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}
.elementor-element-a947979 .subscribe-email-cls .ff-el-form-control:focus {
  border-color: rgba(255, 255, 255, 0.6) !important;
  background: rgba(255, 255, 255, 0.18) !important;
  outline: none !important;
}
.elementor-element-a947979 .subscribe-email-cls .ff-btn-submit {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #6BB896, #529E7F) !important;
  transition: box-shadow 0.3s ease !important;
  min-height: 44px !important;
}
.elementor-element-a947979 .subscribe-email-cls .ff-btn-submit:hover {
  background: linear-gradient(135deg, #529E7F, #3F8568) !important;
  box-shadow: 0 4px 14px rgba(107, 184, 150, 0.4) !important;
}

/* Footer social icons */
.elementor-element-a947979 .elementor-social-icon {
  background: rgba(134, 206, 171, 0.2) !important;
  border: 1.5px solid rgba(134, 206, 171, 0.65) !important;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease !important;
}
.elementor-element-a947979 .elementor-social-icon svg {
  fill: #fff7db !important;
  opacity: 0.9 !important;
}
.elementor-element-a947979 .elementor-social-icon:hover {
  background: rgba(107, 184, 150, 0.35) !important;
  border-color: rgba(134, 206, 171, 0.95) !important;
  border-radius: 50% !important;
  transform: scale(0.92) !important;
}
.elementor-element-a947979 .elementor-social-icon:hover svg {
  opacity: 1 !important;
  fill: #fff7db !important;
}

/* Bottom footer bar */
.inner-footer-cls {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.inner-footer-cls .elementor-widget-container {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.5) !important;
}
.inner-footer-cls a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color 0.2s ease !important;
}
.inner-footer-cls a:hover {
  color: #fff !important;
}

/* Footer — mobile compact */
@media (max-width: 767px) {
  .elementor-102 .elementor-element.elementor-element-c60f3f7 {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
  }
  .elementor-element-a947979 {
    --gap: 24px 0 !important;
    --row-gap: 24px !important;
  }
  .elementor-element-a947979 > .e-con-inner {
    gap: 24px !important;
  }
  .elementor-element-37cde2d > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .elementor-element-762e7d2 {
    text-align: center !important;
  }
  .elementor-element-762e7d2 .elementor-widget-image {
    text-align: center !important;
  }
  /* Nav + Services side by side */
  .elementor-element-25dcb4c,
  .elementor-element-daab911 {
    display: inline-block !important;
    vertical-align: top !important;
  }
  .elementor-element-37cde2d > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
  }
  .elementor-element-762e7d2 {
    grid-column: 1 / -1 !important;
  }
  .elementor-element-57c8c75 {
    grid-column: 1 / -1 !important;
    text-align: center !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-heading {
    text-align: center !important;
    margin-bottom: 10px !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-items {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-item {
    font-size: 0 !important;
    gap: 0 !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-item span:not(.enh-footer-contact-icon) {
    display: none !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-icon {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }
  .elementor-element-57c8c75 .enh-footer-contact-item:hover {
    transform: none !important;
  }
  .elementor-element-57c8c75 .enh-footer-socials {
    justify-content: center !important;
  }
  .elementor-element-a947979 .elementor-element-2db3c33 .elementor-heading-title,
  .elementor-element-a947979 .elementor-element-c474c7b .elementor-heading-title,
  .elementor-element-a947979 .elementor-element-cbb3583 .elementor-heading-title {
    font-size: 15px !important;
    padding-bottom: 6px !important;
    margin-bottom: 2px !important;
  }
  .elementor-element-a947979 .elementor-icon-list-text {
    font-size: 13px !important;
  }
  .elementor-element-a947979 .elementor-icon-list-item a {
    padding: 3px 8px !important;
  }
  .elementor-element-a947979 .elementor-element-25dcb4c,
  .elementor-element-a947979 .elementor-element-daab911 {
    gap: 4px !important;
  }
  .elementor-element-a947979 .elementor-element-56142f7 .elementor-widget-container p,
  .elementor-element-a947979 .elementor-element-1b6a46f .elementor-widget-container p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .enh-footer-247 {
    font-size: 11px !important;
    padding: 5px 10px !important;
    margin-top: 8px !important;
  }
  .elementor-element-a947979 .elementor-social-icon {
    width: 32px !important;
    height: 32px !important;
  }
  .inner-footer-cls .elementor-widget-container {
    font-size: 11px !important;
  }
  .contact-details-cls .elementor-image-box-title,
  .contact-details-cls .elementor-image-box-title a {
    font-size: 13px !important;
  }
  .contact-details-cls .elementor-image-box-description,
  .contact-details-cls .elementor-image-box-description a {
    font-size: 12px !important;
  }
  .contact-details-cls .elementor-image-box-img {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }
  .contact-details-cls .elementor-heading-title {
    font-size: 20px !important;
  }
}

/* Hide footer "1k Clients Reviews" badge */
.elementor-element-93a2fa2 {
  display: none !important;
}

/* FAQ Section */
.enh-faq-section {
  padding: 60px 20px;
  background: #fff;
  font-family: "Inter", Arial, sans-serif;
}
.enh-faq-inner {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}
.enh-faq-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #585eaa;
  margin-bottom: 10px;
}
.enh-faq-heading {
  font-size: 32px;
  font-weight: 800;
  color: #252423;
  margin: 0 0 12px;
  line-height: 1.2;
}
.enh-faq-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #6b7080;
  margin: 0 0 32px;
}
.enh-faq-list {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.enh-faq-item {
  background: #f7f8fc;
  border: 1px solid rgba(88, 94, 170, 0.1);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.enh-faq-item:hover {
  border-color: rgba(88, 94, 170, 0.2);
}
.enh-faq-item[open] {
  border-color: rgba(88, 94, 170, 0.25);
  box-shadow: 0 4px 18px rgba(88, 94, 170, 0.08);
}
.enh-faq-question {
  padding: 18px 22px;
  font-size: 16px;
  font-weight: 700;
  color: #252423;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: color 0.2s ease;
}
.enh-faq-question::-webkit-details-marker {
  display: none;
}
.enh-faq-question::after {
  content: "+";
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(134, 206, 171, 0.12);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
  color: #6BB896;
  transition: transform 0.3s ease, background 0.3s ease;
}
.enh-faq-item[open] .enh-faq-question::after {
  content: "−";
  background: rgba(134, 206, 171, 0.22);
  transform: rotate(180deg);
}
.enh-faq-item[open] .enh-faq-question {
  color: #585eaa;
}
.enh-faq-answer {
  padding: 0 22px 20px;
  font-size: 14.5px;
  line-height: 1.75;
  color: #4a4a4a;
}
.enh-faq-answer p {
  margin: 0 0 12px;
  text-transform: none;
}
.enh-faq-answer p:last-child {
  margin-bottom: 0;
}
.enh-faq-answer a {
  color: #585eaa;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(88, 94, 170, 0.25);
  transition: border-color 0.2s ease;
}
.enh-faq-answer a:hover {
  border-color: #585eaa;
}
.enh-faq-answer strong {
  color: #252423;
}
@media (max-width: 768px) {
  .enh-faq-heading {
    font-size: 26px;
  }
  .enh-faq-question {
    font-size: 15px;
    padding: 16px 18px;
  }
  .enh-faq-answer {
    padding: 0 18px 16px;
    font-size: 14px;
  }
}

/* Floating CTA */
.enh-floating-cta {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 10000;
  font-family: "Inter", Arial, sans-serif;
}

.enh-floating-cta__toggle {
  width: 62px;
  height: 62px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark));
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: var(--enh-shadow-lg);
  position: relative;
}

.enh-floating-cta__toggle::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  border: 2px solid rgba(134, 206, 171, 0.45);
  animation: enhPulse 1.8s ease-out infinite;
}

.enh-floating-cta__panel {
  position: absolute;
  right: 0;
  bottom: 74px;
  width: min(350px, 84vw);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(20, 20, 28, 0.24);
  border: 1px solid #e7e9f0;
  padding: 14px;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.enh-floating-cta.is-open .enh-floating-cta__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.enh-cta-row {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.enh-cta-call {
  flex: 1;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.enh-cta-call--full {
  width: 100%;
  background: linear-gradient(135deg, var(--enh-primary), var(--enh-primary-dark));
  color: #fff;
  border: none;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 16px;
}

.enh-cta-call--full:hover {
  transform: translateY(-1px);
  box-shadow: var(--enh-shadow-sm);
}

.enh-floating-cta__panel input,
.enh-floating-cta__panel textarea {
  width: 100%;
  border: 1.5px solid #d8dce6;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  margin-bottom: 8px;
  font-family: inherit;
}

.enh-floating-cta__panel input:focus,
.enh-floating-cta__panel textarea:focus {
  outline: none;
  border-color: var(--enh-primary);
  box-shadow: 0 0 0 3px rgba(88, 94, 170, 0.14);
}

.enh-floating-cta__panel button[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #6BB896, #529E7F);
  color: #fff;
  padding: 10px 12px;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.enh-floating-cta__panel button[type="submit"]:hover {
  background: linear-gradient(135deg, #529E7F, #3F8568);
  box-shadow: 0 6px 18px rgba(107, 184, 150, 0.35);
}

.enh-floating-cta__close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  color: #555;
  z-index: 10;
  border: 0;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: #7d8496;
}

.enh-floating-cta__feedback {
  margin-top: 8px;
  font-size: 13px;
}

.enh-floating-cta__feedback.success {
  color: #1f7a35;
}

.enh-floating-cta__feedback.error {
  color: #9a1d2f;
}

@keyframes enhPulse {
  0% {
    transform: scale(0.95);
    opacity: 0.95;
  }
  70% {
    transform: scale(1.2);
    opacity: 0;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .enh-floating-cta {
    right: 14px;
    bottom: 14px;
  }

  .enh-floating-cta__toggle {
    width: 56px;
    height: 56px;
  }
}

/* ===== Sitewide – Blueish list-item / section backgrounds to yellowish ===== */

.guarantee-quality-services-details-cls .elementor-icon-list-item {
  background: rgba(134, 206, 171, 0.08) !important;
  border: 1px solid rgba(134, 206, 171, 0.15) !important;
  border-radius: 120px !important;
  padding: 10px 20px !important;
  margin-bottom: 6px !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.guarantee-quality-services-details-cls .elementor-icon-list-item:hover {
  background: rgba(134, 206, 171, 0.15) !important;
}

/* Sitewide section buttons (exclude header, hero, footer) */
[data-elementor-type="wp-page"] > .e-parent ~ .e-parent .elementor-button {
  background: linear-gradient(135deg, #6BB896, #529E7F) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 15px rgba(107, 184, 150, 0.3) !important;
  transition: all 0.3s ease !important;
}

[data-elementor-type="wp-page"] > .e-parent ~ .e-parent .elementor-button:hover {
  background: linear-gradient(135deg, #529E7F, #3F8568) !important;
  box-shadow: 0 6px 20px rgba(107, 184, 150, 0.4) !important;
  transform: translateY(-1px);
}

[data-elementor-type="wp-page"] > .e-parent ~ .e-parent .elementor-button .elementor-button-text {
  color: #fff !important;
}

/* ===== ABOUT PAGE – Yellowish accents ===== */

.elementor-774 .elementor-element-1a26512 .elementor-icon-list-icon svg rect {
  fill: #86CEAB !important;
}

.elementor-774 .elementor-element-38803f0 .elementor-icon-list-icon svg rect {
  fill: #86CEAB !important;
}

.elementor-774 .elementor-element-cfb0d65 .elementor-divider-separator,
.elementor-774 .elementor-element-2247166 .elementor-divider-separator,
.elementor-774 .elementor-element-3ae950a .elementor-divider-separator {
  border-top-color: #86CEAB !important;
  border-top-width: 3px !important;
}

/* ── Contact page — interactive squares ── */

/* Rating/badge squares */
.elementor-element-d78640f > .e-con {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  cursor: pointer;
}

.elementor-element-d78640f > .e-con:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 30px rgba(107, 184, 150, 0.15) !important;
  border-color: rgba(107, 184, 150, 0.3) !important;
  --border-color: rgba(107, 184, 150, 0.3) !important;
}

.elementor-element-d78640f > .e-con:hover .elementor-image-box-img img {
  transform: scale(0.95);
  transition: transform 0.3s ease;
}

.elementor-element-d78640f > .e-con .elementor-image-box-img img {
  transition: transform 0.3s ease;
}

/* Contact detail items */
.contact-details-cls .elementor-widget-image-box {
  transition: transform 0.3s ease, background 0.3s ease !important;
  border-radius: 12px !important;
  padding: 8px 12px !important;
}

.contact-details-cls .elementor-widget-image-box:hover {
  transform: translateX(8px) !important;
  background: rgba(134, 206, 171, 0.06) !important;
}

.contact-details-cls .elementor-widget-image-box:hover .elementor-image-box-title a {
  color: #529E7F !important;
}

.contact-details-cls .elementor-widget-image-box .elementor-image-box-img img {
  transition: transform 0.3s ease;
}

.contact-details-cls .elementor-widget-image-box:hover .elementor-image-box-img img {
  transform: scale(1.15);
}

.contact-details-cls .elementor-widget-image-box:hover .elementor-image-box-img {
  box-shadow: 0 3px 12px rgba(107, 184, 150, 0.35) !important;
}

/* ── About page stacked images (We Guarantee Quality) ── */
.elementor-element-48c886e {
  gap: 20px !important;
  --gap: 20px 20px !important;
  --row-gap: 20px !important;
  justify-content: center !important;
  align-self: center !important;
  margin-top: 35px !important;
}

.elementor-element-48c886e .elementor-widget-image img {
  max-height: 317px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
}

.elementor-element-aee36df img {
  max-height: 412px !important;
}

/* ── Team section enhancements ── */
.elementor-element-eeea482 .elementor-widget-social-icons {
  display: none !important;
}

/* Card container */
.elementor-element-e0b0732 > .e-con {
  border: 1px solid rgba(107, 184, 150, 0.18) !important;
  border-color: rgba(107, 184, 150, 0.18) !important;
  --border-color: rgba(107, 184, 150, 0.18) !important;
  background: #fff !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
  overflow: hidden !important;
}

.elementor-element-e0b0732 > .e-con:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 35px rgba(107, 184, 150, 0.15) !important;
  border-color: rgba(107, 184, 150, 0.4) !important;
  --border-color: rgba(107, 184, 150, 0.4) !important;
}

/* Yellowish accent bar at top of each card */
.elementor-element-e0b0732 > .e-con::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #86CEAB, #6BB896);
  border-radius: 0 0 4px 4px;
  z-index: 3;
  transition: width 0.35s ease;
}

.elementor-element-e0b0732 > .e-con:hover::before {
  width: 100px;
}

/* Image enhancements */
.elementor-element-e0b0732 > .e-con .elementor-widget-image img {
  transition: transform 0.4s ease, filter 0.4s ease !important;
}

.elementor-element-e0b0732 > .e-con:hover .elementor-widget-image img {
  transform: scale(0.97) !important;
  filter: brightness(1.05) !important;
}

/* Name heading */
.elementor-element-e0b0732 > .e-con .elementor-widget-heading h4.elementor-heading-title {
  font-size: 20px !important;
  letter-spacing: -0.3px !important;
  transition: color 0.3s ease !important;
}

.elementor-element-e0b0732 > .e-con:hover .elementor-widget-heading h4.elementor-heading-title {
  color: #529E7F !important;
}

/* Role subtitle as a styled badge */
.elementor-element-e0b0732 > .e-con .elementor-widget-heading p.elementor-heading-title {
  display: inline-block !important;
  background: rgba(134, 206, 171, 0.1) !important;
  color: #529E7F !important;
  padding: 3px 14px !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  margin-top: 2px !important;
}

/* Description text */
.elementor-element-e0b0732 > .e-con .plumbing-area-details-cls p {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #6b7280 !important;
}

.enh-team-actions {
  position: absolute;
  top: 28px;
  right: 27px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 5;
}

.enh-team-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: linear-gradient(135deg, #6BB896, #529E7F);
  color: #fff;
  box-shadow: 0 3px 12px rgba(107, 184, 150, 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  text-decoration: none;
}

.enh-team-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 5px 18px rgba(107, 184, 150, 0.5);
  background: linear-gradient(135deg, #529E7F, #3F8568);
}

.enh-team-btn svg {
  width: 18px;
  height: 18px;
  fill: #fff;
}

/* Hide description texts below contact page rating badges */
.elementor-element-d78640f .elementor-image-box-content {
  display: none !important;
}

/* Center icons inside badge white squares */
.elementor-element-d78640f > .e-con,
.elementor-element-d78640f > a.e-con {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-d78640f .elementor-widget-image-box {
  width: 100% !important;
}

.elementor-element-d78640f .elementor-image-box-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-d78640f .elementor-image-box-img {
  margin: 0 auto !important;
}

/* Contact page rating badges — mobile carousel */
@media (max-width: 767px) {
  .elementor-element-d78640f {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 0 !important;
    --gap: 0px !important;
    --e-con-grid-template-columns: none !important;
  }
  .elementor-element-d78640f::-webkit-scrollbar {
    display: none;
  }
  .elementor-element-d78640f > .e-con,
  .elementor-element-d78640f > a.e-con {
    flex: 0 0 85% !important;
    min-width: 85% !important;
    scroll-snap-align: center;
    margin: 0 7.5% !important;
  }
  .enh-contact-badges-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .enh-contact-badges-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-contact-badges-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}
.enh-contact-badges-dots {
  display: none;
}

/* Contact page locations — mobile carousel */
@media (max-width: 767px) {
  .elementor-element-130209a,
  .elementor-element-59c42ba {
    display: none !important;
  }

  .enh-contact-loc-carousel {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    max-width: 100%;
  }
  .enh-contact-loc-carousel::-webkit-scrollbar { display: none; }

  .enh-contact-loc-slide {
    flex: 0 0 100%;
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    scroll-snap-align: start;
    box-sizing: border-box;
    padding: 0 10px;
  }

  .enh-contact-loc-item {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    background: rgba(134, 206, 171, 0.08);
    border: 1px solid rgba(134, 206, 171, 0.15);
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #1f2937;
    line-height: 1.3;
    gap: 10px;
    box-sizing: border-box;
  }

  .enh-contact-loc-item svg {
    flex-shrink: 0;
    width: 25px;
    height: 25px;
  }

  .enh-contact-loc-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .enh-contact-loc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c4c4c4;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .enh-contact-loc-dot.active {
    background: #6BB896;
    transform: scale(1.3);
  }
}
.enh-contact-loc-dots {
  display: none;
}

/* Blog post sidebar CTA — sticky on scroll */
.elementor-element-522e45d {
  overflow: visible !important;
}

.elementor-element-673e39a {
  align-self: stretch !important;
}

.elementor-element-e02c718 {
  position: sticky !important;
  top: 120px !important;
  align-self: flex-start !important;
  height: fit-content !important;
  z-index: 3;
}

/* Blog section — content above wrench decorations */
.elementor-element-a455dca > .e-con-inner {
  position: relative;
  z-index: 1;
}

/* Blog post cards — fix thumbnail white space */
.elementor-posts--skin-cards .elementor-post__thumbnail {
  aspect-ratio: 16 / 11;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.elementor-posts--skin-cards .elementor-post__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Blog archive cards — visual enhancement */
.blog-archive-cls .elementor-post__card {
  border: 1px solid rgba(107, 184, 150, 0.12);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(17, 24, 39, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  background: #fff;
}

.blog-archive-cls .elementor-post__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(17, 24, 39, 0.14);
  border-color: rgba(107, 184, 150, 0.3);
}

.blog-archive-cls .elementor-post__thumbnail__link {
  display: block;
}

.blog-archive-cls .elementor-post__thumbnail {
  border-radius: 14px 14px 0 0;
}

.blog-archive-cls .elementor-post__thumbnail img {
  transition: transform 0.4s ease;
}

.blog-archive-cls .elementor-post__card:hover .elementor-post__thumbnail img {
  transform: scale(1.05);
}

.blog-archive-cls .elementor-post__text {
  padding: 20px 20px 10px;
}

.blog-archive-cls .elementor-post__title {
  margin-bottom: 12px;
}

.blog-archive-cls .elementor-post__title a {
  font-weight: 600;
  line-height: 1.3;
  transition: color 0.2s ease;
}

.blog-archive-cls .elementor-post__card:hover .elementor-post__title a {
  color: #585eaa;
}

.blog-archive-cls .elementor-post__excerpt p {
  color: #4b5563;
  line-height: 1.6;
}

.blog-archive-cls .elementor-post__read-more-wrapper {
  margin-top: 16px;
}

.blog-archive-cls .elementor-post__read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 10px;
  background: linear-gradient(135deg, #6BB896, #529E7F);
  color: #fff !important;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(107, 184, 150, 0.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.blog-archive-cls .elementor-post__read-more:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(82, 158, 127, 0.34);
  background: linear-gradient(135deg, #529E7F, #3F8568);
}

.blog-archive-cls .elementor-post__meta-data {
  margin: 0 20px 18px;
  padding: 10px 0 0 12px;
  border-top: 1px solid rgba(17, 24, 39, 0.08);
  border-left: 3px solid rgba(134, 206, 171, 0.8);
}

.blog-archive-cls .elementor-post-date {
  color: #6b7280;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

/* Individual blog post content — visual enhancement */
.elementor-widget-theme-post-content .elementor-widget-container p {
  color: #374151;
  line-height: 1.8;
}

.elementor-widget-theme-post-content .elementor-widget-container h2,
.elementor-widget-theme-post-content .elementor-widget-container h3 {
  border-left: 3px solid #6BB896;
  padding-left: 12px;
  letter-spacing: -0.01em;
  color: #252423;
  padding-bottom: 4px;
}

.elementor-widget-theme-post-content .elementor-widget-container a {
  color: #6BB896;
  text-decoration: underline;
  text-decoration-color: rgba(107, 184, 150, 0.3);
  text-underline-offset: 2px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.elementor-widget-theme-post-content .elementor-widget-container a:hover {
  color: #529E7F;
  text-decoration-color: rgba(82, 158, 127, 0.6);
}

.elementor-widget-theme-post-content .elementor-widget-container img {
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.14);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.elementor-widget-theme-post-content .elementor-widget-container img:hover {
  transform: scale(0.99);
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.18);
}

/* Post navigation — card-based redesign */
.post-navigation-cls .elementor-post-navigation {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  gap: 20px !important;
  box-shadow: none !important;
  margin-top: 40px !important;
  overflow: visible !important;
}

.post-navigation-cls .elementor-post-navigation__separator-wrapper {
  display: none !important;
}

.post-navigation-cls .elementor-post-navigation__prev,
.post-navigation-cls .elementor-post-navigation__next {
  min-width: 0 !important;
  width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  text-align: left !important;
}

.post-navigation-cls .elementor-post-navigation__next {
  text-align: right !important;
}

.post-navigation-cls .elementor-post-navigation a {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-height: 150px !important;
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #585eaa 0%, #6b72c4 50%, #7b82d8 100%) !important;
  padding: 22px 20px !important;
  color: #fff !important;
  text-decoration: none !important;
  overflow: hidden !important;
  white-space: normal !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: 0 8px 24px rgba(88, 94, 170, 0.25) !important;
}

.post-navigation-cls .elementor-post-navigation a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 50%);
  pointer-events: none;
}

.post-navigation-cls .elementor-post-navigation a:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #6BB896 0%, #529E7F 50%, #3F8568 100%) !important;
  box-shadow: 0 16px 36px rgba(107, 184, 150, 0.4) !important;
  transform: translateY(-4px) !important;
}

.post-navigation-cls .post-navigation__arrow-wrapper {
  color: rgba(255, 255, 255, 0.85) !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(4px);
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  fill: #fff !important;
  transition: background 0.2s ease, transform 0.2s ease;
  margin-bottom: 12px !important;
}

.post-navigation-cls .elementor-post-navigation a:hover .post-navigation__arrow-wrapper {
  background: rgba(255, 255, 255, 0.28) !important;
  transform: scale(1.08);
}

.post-navigation-cls .post-navigation__arrow-wrapper svg,
.post-navigation-cls .post-navigation__arrow-wrapper .e-font-icon-svg {
  width: 14px !important;
  height: 14px !important;
  fill: #fff !important;
}

.post-navigation-cls .post-navigation__prev--label,
.post-navigation-cls .post-navigation__next--label {
  display: block !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  white-space: normal !important;
  overflow: visible !important;
}

.post-navigation-cls .post-navigation__prev--title,
.post-navigation-cls .post-navigation__next--title {
  display: -webkit-box !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  white-space: normal !important;
  text-overflow: unset !important;
}

.post-navigation-cls .elementor-post-navigation__next a {
  align-items: flex-end !important;
  text-align: right !important;
}

.post-navigation-cls .elementor-post-navigation__prev a {
  align-items: flex-start !important;
  text-align: left !important;
}

@media (max-width: 767px) {
  .post-navigation-cls .elementor-post-navigation {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  .post-navigation-cls .elementor-post-navigation a {
    min-height: 110px !important;
    padding: 18px 16px !important;
  }

  .post-navigation-cls .post-navigation__prev--title,
  .post-navigation-cls .post-navigation__next--title {
    font-size: 14px !important;
  }

  .post-navigation-cls .post-navigation__arrow-wrapper {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 10px !important;
  }
}

/* Blog post sidebar CTA card — refined styling */
.elementor-element-e02c718 {
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.2);
}

.elementor-element-e02c718::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #86CEAB, #6BB896);
  z-index: 2;
}

/* CTA "Need Plumbing Help?" — proper responsive CSS matching homepage */
/* -- outer container */
.elementor-element.elementor-element-4f3246f {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --gap: 30px 30px;
  --overlay-opacity: 1;
  --overlay-mix-blend-mode: multiply;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-element.elementor-element-4f3246f:not(.elementor-motion-effects-element-type-background) {
  background-color: var(--e-global-color-primary);
}
.elementor-element.elementor-element-4f3246f::before {
  background-image: url("../wp-content/uploads/2025/11/Plumbing-help-background-01.png");
  --background-overlay: '';
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
/* -- inner row */
.elementor-element.elementor-element-7933106 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: initial;
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --gap: 0px 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
/* -- text column (left) */
.elementor-element.elementor-element-3b60878 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --gap: 20px 20px;
  --justify-content: center;
  --padding-top: 10px;
  --padding-bottom: 10px;
  --padding-left: 15px;
  --padding-right: 0px;
}
/* -- "Need a Help?" badge */
.elementor-element.elementor-element-feefbdd > .elementor-widget-container {
  background-color: var(--e-global-color-95f846f);
  padding: 10px 20px;
  border-radius: 120px;
}
.elementor-element.elementor-element-feefbdd.elementor-element {
  --align-self: flex-start;
}
.elementor-element.elementor-element-feefbdd {
  text-align: center;
  line-height: 24px;
  color: var(--e-global-color-text);
}
/* -- heading */
.elementor-element.elementor-element-3cacf91 {
  width: var(--container-widget-width, 530px);
  max-width: 530px;
  --container-widget-width: 530px;
  --container-widget-flex-grow: 0;
}
.elementor-element.elementor-element-3cacf91 .elementor-heading-title {
  font-weight: 800 !important;
  line-height: 60px !important;
  color: var(--e-global-color-727fa22) !important;
}
/* -- description */
.elementor-element.elementor-element-b720fa9 {
  width: var(--container-widget-width, 542px);
  max-width: 542px;
  --container-widget-width: 542px;
  --container-widget-flex-grow: 0;
  text-transform: none;
  line-height: 30px;
  color: var(--e-global-color-727fa22);
}
/* -- call+book row */
.elementor-element.elementor-element-8911403 {
  --display: flex;
  --flex-direction: row;
  --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
  --container-widget-height: 100%;
  --container-widget-flex-grow: 1;
  --container-widget-align-self: stretch;
  --align-items: center;
  --gap: 25px 25px;
}
/* -- call card */
.elementor-element.elementor-element-c8686b5.elementor-position-left .elementor-image-box-img {
  margin-right: 15px;
}
.elementor-element.elementor-element-c8686b5 .elementor-image-box-title {
  margin-bottom: 5px;
  font-size: 13px;
  font-weight: 400;
  text-transform: capitalize;
  color: var(--e-global-color-727fa22);
}
.elementor-element.elementor-element-c8686b5 .elementor-image-box-wrapper .elementor-image-box-img {
  width: 35px;
}
.elementor-element.elementor-element-c8686b5 .elementor-image-box-description {
  font-family: "Inter", Sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 24px;
  color: var(--e-global-color-727fa22);
}
/* -- book button */
.elementor-element.elementor-element-0b9b740 .elementor-button {
  background-color: var(--e-global-color-727fa22);
  font-family: "Inter", Sans-serif;
  font-size: 16px;
  font-weight: 800;
  text-transform: capitalize;
  fill: var(--e-global-color-primary);
  color: var(--e-global-color-primary);
  border-style: solid;
  border-width: 2px;
  border-color: var(--e-global-color-727fa22);
  border-radius: 10px;
  padding: 20px 30px;
}
.elementor-element.elementor-element-0b9b740 .elementor-button:hover,
.elementor-element.elementor-element-0b9b740 .elementor-button:focus {
  background-color: #02010100;
  color: var(--e-global-color-727fa22);
  border-color: var(--e-global-color-727fa22);
}
.elementor-element.elementor-element-0b9b740.elementor-element {
  --align-self: flex-end;
}
/* -- image column (right) */
.elementor-element.elementor-element-f31c6b6 {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --justify-content: flex-end;
  --align-items: flex-end;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
/* -- plumber image */
.elementor-element.elementor-element-d616ad1 img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
/* -- desktop: 50/50 columns */
@media (min-width: 768px) {
  .elementor-element.elementor-element-3b60878 {
    --width: 50% !important;
  }
  .elementor-element.elementor-element-f31c6b6 {
    --width: 50% !important;
  }
}
/* -- tablet adjustments */
@media (max-width: 1199px) {
  .elementor-element.elementor-element-3cacf91 {
    --container-widget-width: 1000px;
    width: var(--container-widget-width, 1000px);
    max-width: 1000px;
  }
  .elementor-element.elementor-element-3cacf91 .elementor-heading-title {
    line-height: 50px !important;
  }
  .elementor-element.elementor-element-b720fa9 {
    --container-widget-width: 420px;
    width: var(--container-widget-width, 420px);
    max-width: 420px;
    line-height: 25px;
  }
  .elementor-element.elementor-element-0b9b740 .elementor-button {
    font-size: 14px;
  }
}
@media (max-width: 1024px) {
  .elementor-element.elementor-element-3cacf91 .elementor-heading-title {
    line-height: 45px !important;
  }
  .elementor-element.elementor-element-0b9b740 .elementor-button {
    font-size: 14px;
    padding: 20px 23px;
  }
}
@media (max-width: 991px) {
  .elementor-element.elementor-element-3b60878 {
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 50px;
    --padding-right: 50px;
  }
  .elementor-element.elementor-element-b720fa9 {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }
  .elementor-element.elementor-element-d616ad1 img {
    height: 400px;
  }
}
/* -- mobile */
@media (max-width: 767px) {
  .elementor-element.elementor-element-4f3246f {
    --padding-left: 15px;
    --padding-right: 15px;
  }
  .elementor-element.elementor-element-7933106 {
    --flex-wrap: wrap;
  }
  .elementor-element.elementor-element-3b60878 {
    --width: 100% !important;
    --padding-top: 20px;
    --padding-bottom: 20px;
    --padding-left: 20px;
    --padding-right: 20px;
  }
  .elementor-element.elementor-element-feefbdd.elementor-element {
    --align-self: center;
  }
  .elementor-element.elementor-element-feefbdd {
    text-align: center;
    font-size: 16px;
  }
  .elementor-element.elementor-element-3cacf91 {
    text-align: center;
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100% !important;
  }
  .elementor-element.elementor-element-3cacf91 .elementor-heading-title {
    line-height: 35px !important;
  }
  .elementor-element.elementor-element-b720fa9 {
    text-align: center;
    font-size: 16px;
  }
  .elementor-element.elementor-element-8911403 {
    --justify-content: center;
  }
  .elementor-element.elementor-element-0b9b740 {
    width: 100%;
    max-width: 100%;
  }
  .elementor-element.elementor-element-0b9b740.elementor-element {
    --align-self: center;
  }
  .elementor-element.elementor-element-0b9b740 .elementor-button {
    padding: 15px 30px;
  }
  .elementor-element.elementor-element-f31c6b6 {
    --width: 100% !important;
  }
  .elementor-element.elementor-element-d616ad1 img {
    object-position: bottom center;
  }
}

/* Services ticker strip — shared from homepage */
.elementor-element.elementor-element-6128efa {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --padding-top: 20px;
  --padding-bottom: 20px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-element.elementor-element-6128efa:not(.elementor-motion-effects-element-type-background) {
  background-color: var(--e-global-color-primary);
}

/* ── Service page "Chicagoland Area" section enhancement ── */
.elementor-element.elementor-element-e6bc218 {
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
}

.elementor-element.elementor-element-d49e662 {
  border-radius: 18px;
  overflow: hidden;
}
.elementor-element.elementor-element-d49e662 img {
  border-radius: 18px;
  transition: transform 0.5s ease;
}
.elementor-element.elementor-element-d49e662:hover img {
  transform: scale(0.97);
}

/* ── Sitewide pill-badge shine + green dot (service pages & all Elementor badges with 95f846f bg) ── */
.elementor-element-7127ce2 > .elementor-widget-container,
.elementor-element-ecdeea7 > .elementor-widget-container,
.elementor-element-b86062d > .elementor-widget-container,
.elementor-element-32ed413 > .elementor-widget-container,
.elementor-element-c3f07d4 > .elementor-widget-container,
.elementor-element-3da4dac > .elementor-widget-container,
.elementor-element-e5688d2 > .elementor-widget-container,
.elementor-element-969d615 > .elementor-widget-container,
.elementor-element-e8d9f9e > .elementor-widget-container,
.elementor-element-c3858aa > .elementor-widget-container,
.elementor-element-f5ceabf > .elementor-widget-container,
.elementor-element-f007997 > .elementor-widget-container,
.elementor-element-6ab689c > .elementor-widget-container,
.elementor-element-9c5d660 > .elementor-widget-container,
.elementor-element-ea7017c > .elementor-widget-container,
.elementor-element-feefbdd > .elementor-widget-container,
.elementor-element-20a4574 > .elementor-widget-container,
.elementor-element-e0976fd > .elementor-widget-container,
.elementor-element-2d04d95 > .elementor-widget-container,
.elementor-element-2aba2de > .elementor-widget-container,
.elementor-element-eb9d84d > .elementor-widget-container,
.elementor-element-95b73b6 > .elementor-widget-container,
.elementor-element-ee10336 > .elementor-widget-container {
  position: relative !important;
  overflow: hidden !important;
}

.elementor-element-7127ce2 > .elementor-widget-container::after,
.elementor-element-ecdeea7 > .elementor-widget-container::after,
.elementor-element-b86062d > .elementor-widget-container::after,
.elementor-element-32ed413 > .elementor-widget-container::after,
.elementor-element-c3f07d4 > .elementor-widget-container::after,
.elementor-element-3da4dac > .elementor-widget-container::after,
.elementor-element-e5688d2 > .elementor-widget-container::after,
.elementor-element-969d615 > .elementor-widget-container::after,
.elementor-element-e8d9f9e > .elementor-widget-container::after,
.elementor-element-c3858aa > .elementor-widget-container::after,
.elementor-element-f5ceabf > .elementor-widget-container::after,
.elementor-element-f007997 > .elementor-widget-container::after,
.elementor-element-6ab689c > .elementor-widget-container::after,
.elementor-element-9c5d660 > .elementor-widget-container::after,
.elementor-element-ea7017c > .elementor-widget-container::after,
.elementor-element-feefbdd > .elementor-widget-container::after,
.elementor-element-20a4574 > .elementor-widget-container::after,
.elementor-element-e0976fd > .elementor-widget-container::after,
.elementor-element-2d04d95 > .elementor-widget-container::after,
.elementor-element-2aba2de > .elementor-widget-container::after,
.elementor-element-eb9d84d > .elementor-widget-container::after,
.elementor-element-95b73b6 > .elementor-widget-container::after,
.elementor-element-ee10336 > .elementor-widget-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  animation: enhBadgeShine 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes enhBadgeShine {
  0% { left: -100%; }
  50% { left: 150%; }
  100% { left: 150%; }
}

.elementor-756 .elementor-element.elementor-element-55075e9 .elementor-heading-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px;
}

.elementor-756 .elementor-element.elementor-element-846f2fd {
  line-height: 28px !important;
}

.elementor-756 .elementor-element.elementor-element-457ccec .elementor-image-box-wrapper,
.elementor-756 .elementor-element.elementor-element-e08493e .elementor-image-box-wrapper {
  background: rgba(107, 184, 150, 0.06);
  border: 1px solid rgba(107, 184, 150, 0.15);
  border-radius: 14px;
  padding: 22px 20px;
  transition: all 0.3s ease;
}
.elementor-756 .elementor-element.elementor-element-457ccec .elementor-image-box-wrapper:hover,
.elementor-756 .elementor-element.elementor-element-e08493e .elementor-image-box-wrapper:hover {
  background: rgba(107, 184, 150, 0.12);
  border-color: rgba(107, 184, 150, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(107, 184, 150, 0.12);
}

.elementor-756 .elementor-element.elementor-element-457ccec .elementor-image-box-title,
.elementor-756 .elementor-element.elementor-element-e08493e .elementor-image-box-title {
  font-size: 17px !important;
}

.elementor-756 .elementor-element.elementor-element-06b6f69 {
  --divider-color: rgba(107, 184, 150, 0.3) !important;
}

@media (max-width: 767px) {
  .elementor-element.elementor-element-e6bc218 {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
  }
  .elementor-756 .elementor-element.elementor-element-457ccec .elementor-image-box-wrapper,
  .elementor-756 .elementor-element.elementor-element-e08493e .elementor-image-box-wrapper {
    padding: 16px 14px;
  }
}

/* ── Plumbing repair & gas line: first section images ── */
.elementor-765 .elementor-element.elementor-element-92acbb2 img,
.elementor-765 .elementor-element.elementor-element-e5e5bcf img,
.elementor-768 .elementor-element.elementor-element-628e4a5 img,
.elementor-768 .elementor-element.elementor-element-34e347f img {
  border-radius: 18px !important;
}
.elementor-765 .elementor-element.elementor-element-396d2c3,
.elementor-768 .elementor-element.elementor-element-af78959 {
  margin-top: 140px !important;
}
.elementor-765 .elementor-element.elementor-element-e5e5bcf,
.elementor-768 .elementor-element.elementor-element-34e347f {
  margin-top: 40px !important;
}

/* ── Service pages "first content" section enhancement ── */
.elementor-element.elementor-element-d9228d8,
.elementor-element.elementor-element-e2a2f39,
.elementor-element.elementor-element-3fdf312,
.elementor-element.elementor-element-360e46c,
.elementor-element.elementor-element-7f1f738 {
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
}

.elementor-element.elementor-element-de2e830,
.elementor-element.elementor-element-80c9931,
.elementor-element.elementor-element-396d2c3,
.elementor-element.elementor-element-af78959,
.elementor-element.elementor-element-e0b79d2 {
  border-radius: 18px;
  overflow: hidden;
}
.elementor-element.elementor-element-de2e830 img,
.elementor-element.elementor-element-80c9931 img,
.elementor-element.elementor-element-396d2c3 img,
.elementor-element.elementor-element-af78959 img,
.elementor-element.elementor-element-e0b79d2 img {
  border-radius: 18px;
  transition: transform 0.5s ease;
}
.elementor-element.elementor-element-de2e830:hover img,
.elementor-element.elementor-element-80c9931:hover img,
.elementor-element.elementor-element-396d2c3:hover img,
.elementor-element.elementor-element-af78959:hover img,
.elementor-element.elementor-element-e0b79d2:hover img {
  transform: scale(0.97);
}

.elementor-759 .elementor-element.elementor-element-5f1e847 .elementor-heading-title,
.elementor-762 .elementor-element.elementor-element-2537710 .elementor-heading-title,
.elementor-765 .elementor-element.elementor-element-b801a16 .elementor-heading-title,
.elementor-768 .elementor-element.elementor-element-a60dd85 .elementor-heading-title,
.elementor-771 .elementor-element.elementor-element-df70b47 .elementor-heading-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px;
}

.elementor-759 .elementor-element.elementor-element-d4ff886,
.elementor-762 .elementor-element.elementor-element-b941bee,
.elementor-765 .elementor-element.elementor-element-89c8d80,
.elementor-768 .elementor-element.elementor-element-cb36dca,
.elementor-771 .elementor-element.elementor-element-d6a5bf9 {
  line-height: 28px !important;
}

.elementor-759 .elementor-element.elementor-element-8c26e20 .elementor-image-box-wrapper,
.elementor-759 .elementor-element.elementor-element-b317e9d .elementor-image-box-wrapper,
.elementor-759 .elementor-element.elementor-element-c3cb62b .elementor-image-box-wrapper,
.elementor-762 .elementor-element.elementor-element-0eb6212 .elementor-image-box-wrapper,
.elementor-762 .elementor-element.elementor-element-cf0b846 .elementor-image-box-wrapper,
.elementor-762 .elementor-element.elementor-element-fe28610 .elementor-image-box-wrapper,
.elementor-765 .elementor-element.elementor-element-48be56f .elementor-image-box-wrapper,
.elementor-765 .elementor-element.elementor-element-ef7ed36 .elementor-image-box-wrapper,
.elementor-765 .elementor-element.elementor-element-48c215c .elementor-image-box-wrapper,
.elementor-768 .elementor-element.elementor-element-0de724c .elementor-image-box-wrapper,
.elementor-768 .elementor-element.elementor-element-227641d .elementor-image-box-wrapper,
.elementor-768 .elementor-element.elementor-element-d369c0a .elementor-image-box-wrapper,
.elementor-768 .elementor-element.elementor-element-5c58387 .elementor-image-box-wrapper {
  background: rgba(107, 184, 150, 0.06);
  border: 1px solid rgba(107, 184, 150, 0.15);
  border-radius: 14px;
  padding: 22px 20px;
  transition: all 0.3s ease;
}
.elementor-759 .elementor-element.elementor-element-8c26e20 .elementor-image-box-wrapper:hover,
.elementor-759 .elementor-element.elementor-element-b317e9d .elementor-image-box-wrapper:hover,
.elementor-759 .elementor-element.elementor-element-c3cb62b .elementor-image-box-wrapper:hover,
.elementor-762 .elementor-element.elementor-element-0eb6212 .elementor-image-box-wrapper:hover,
.elementor-762 .elementor-element.elementor-element-cf0b846 .elementor-image-box-wrapper:hover,
.elementor-762 .elementor-element.elementor-element-fe28610 .elementor-image-box-wrapper:hover,
.elementor-765 .elementor-element.elementor-element-48be56f .elementor-image-box-wrapper:hover,
.elementor-765 .elementor-element.elementor-element-ef7ed36 .elementor-image-box-wrapper:hover,
.elementor-765 .elementor-element.elementor-element-48c215c .elementor-image-box-wrapper:hover,
.elementor-768 .elementor-element.elementor-element-0de724c .elementor-image-box-wrapper:hover,
.elementor-768 .elementor-element.elementor-element-227641d .elementor-image-box-wrapper:hover,
.elementor-768 .elementor-element.elementor-element-d369c0a .elementor-image-box-wrapper:hover,
.elementor-768 .elementor-element.elementor-element-5c58387 .elementor-image-box-wrapper:hover {
  background: rgba(107, 184, 150, 0.12);
  border-color: rgba(107, 184, 150, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(107, 184, 150, 0.12);
}

.elementor-759 .elementor-element.elementor-element-8c26e20 .elementor-image-box-title,
.elementor-759 .elementor-element.elementor-element-b317e9d .elementor-image-box-title,
.elementor-759 .elementor-element.elementor-element-c3cb62b .elementor-image-box-title,
.elementor-762 .elementor-element.elementor-element-0eb6212 .elementor-image-box-title,
.elementor-762 .elementor-element.elementor-element-cf0b846 .elementor-image-box-title,
.elementor-762 .elementor-element.elementor-element-fe28610 .elementor-image-box-title,
.elementor-765 .elementor-element.elementor-element-48be56f .elementor-image-box-title,
.elementor-765 .elementor-element.elementor-element-ef7ed36 .elementor-image-box-title,
.elementor-765 .elementor-element.elementor-element-48c215c .elementor-image-box-title,
.elementor-768 .elementor-element.elementor-element-0de724c .elementor-image-box-title,
.elementor-768 .elementor-element.elementor-element-227641d .elementor-image-box-title,
.elementor-768 .elementor-element.elementor-element-d369c0a .elementor-image-box-title,
.elementor-768 .elementor-element.elementor-element-5c58387 .elementor-image-box-title {
  font-size: 17px !important;
}

.elementor-759 .elementor-element.elementor-element-d6d4e51,
.elementor-759 .elementor-element.elementor-element-c6fbe48,
.elementor-759 .elementor-element.elementor-element-f403137,
.elementor-762 .elementor-element.elementor-element-f3c3ae8,
.elementor-762 .elementor-element.elementor-element-b344351,
.elementor-762 .elementor-element.elementor-element-b0b7b5f,
.elementor-765 .elementor-element.elementor-element-142bb9a,
.elementor-765 .elementor-element.elementor-element-27b01fb,
.elementor-765 .elementor-element.elementor-element-92f32a9,
.elementor-768 .elementor-element.elementor-element-c616780,
.elementor-768 .elementor-element.elementor-element-a328228,
.elementor-768 .elementor-element.elementor-element-b12da78,
.elementor-768 .elementor-element.elementor-element-5bd4d07 {
  --divider-color: rgba(107, 184, 150, 0.3) !important;
}

@media (max-width: 767px) {
  .elementor-element.elementor-element-d9228d8,
  .elementor-element.elementor-element-e2a2f39,
  .elementor-element.elementor-element-3fdf312,
  .elementor-element.elementor-element-360e46c,
  .elementor-element.elementor-element-7f1f738 {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
  }
  .elementor-762 .elementor-element.elementor-element-80c9931,
  .elementor-765 .elementor-element.elementor-element-396d2c3,
  .elementor-768 .elementor-element.elementor-element-af78959 {
    display: none !important;
  }
  .elementor-759 .elementor-element.elementor-element-8c26e20 .elementor-image-box-wrapper,
  .elementor-759 .elementor-element.elementor-element-b317e9d .elementor-image-box-wrapper,
  .elementor-759 .elementor-element.elementor-element-c3cb62b .elementor-image-box-wrapper,
  .elementor-762 .elementor-element.elementor-element-0eb6212 .elementor-image-box-wrapper,
  .elementor-762 .elementor-element.elementor-element-cf0b846 .elementor-image-box-wrapper,
  .elementor-762 .elementor-element.elementor-element-fe28610 .elementor-image-box-wrapper,
  .elementor-765 .elementor-element.elementor-element-48be56f .elementor-image-box-wrapper,
  .elementor-765 .elementor-element.elementor-element-ef7ed36 .elementor-image-box-wrapper,
  .elementor-765 .elementor-element.elementor-element-48c215c .elementor-image-box-wrapper,
  .elementor-768 .elementor-element.elementor-element-0de724c .elementor-image-box-wrapper,
  .elementor-768 .elementor-element.elementor-element-227641d .elementor-image-box-wrapper,
  .elementor-768 .elementor-element.elementor-element-d369c0a .elementor-image-box-wrapper,
  .elementor-768 .elementor-element.elementor-element-5c58387 .elementor-image-box-wrapper {
    padding: 16px 14px;
  }
}

/* Heading gradient removed — client prefers original black headings */

/* ── "Benefits of Choosing Us" section enhancement ── */
.elementor-element.elementor-element-35db59e {
  position: relative;
  background: linear-gradient(135deg, #f8faf9 0%, #eef5f1 50%, #f8faf9 100%) !important;
  border-radius: 20px;
  overflow: hidden;
}
.elementor-element.elementor-element-35db59e::before {
  content: '';
  position: absolute;
  top: 20px;
  right: -15px;
  width: 110px;
  height: 110px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236BB896' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.12;
  transform: rotate(15deg);
  pointer-events: none;
}
.elementor-element.elementor-element-35db59e::after {
  content: '';
  position: absolute;
  bottom: 25px;
  left: -10px;
  width: 80px;
  height: 80px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23585EAA' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.08;
  transform: rotate(-30deg);
  pointer-events: none;
}

.elementor-element.elementor-element-a473dc1.elementor-widget-text-editor .elementor-widget-container {
  line-height: 28px !important;
}
.elementor-element.elementor-element-a473dc1 .elementor-widget-container a {
  color: #6BB896 !important;
  font-weight: 700;
  text-decoration: none !important;
  border-bottom: 2px solid rgba(107, 184, 150, 0.3);
  transition: all 0.3s ease;
}
.elementor-element.elementor-element-a473dc1 .elementor-widget-container a:hover {
  border-bottom-color: #6BB896;
}

.elementor-element.elementor-element-d237d23 {
  position: relative;
}
.elementor-element.elementor-element-905c569 img {
  transition: transform 0.5s ease !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}
.elementor-element.elementor-element-d237d23:hover .elementor-element-905c569 img {
  transform: scale(1.04);
}

/* ── Feature cards (Fast Response, Expert Team, etc.) — interactive hover sitewide ── */
.elementor-element-4762890 > .e-con,
.elementor-element-a043bd5 > .e-con,
.elementor-element-cde1ead > .e-con,
.elementor-element-34f0a88 > .e-con,
.elementor-element-01e92ec > .e-con,
.elementor-element-44e4fd7 > .e-con,
.elementor-element-547c360 > .e-con,
.elementor-element-295aea7 > .e-con {
  transition: all 0.35s ease;
  cursor: default;
}

.elementor-element-4762890 > .e-con:hover,
.elementor-element-a043bd5 > .e-con:hover,
.elementor-element-cde1ead > .e-con:hover,
.elementor-element-34f0a88 > .e-con:hover,
.elementor-element-01e92ec > .e-con:hover,
.elementor-element-44e4fd7 > .e-con:hover,
.elementor-element-547c360 > .e-con:hover,
.elementor-element-295aea7 > .e-con:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.elementor-element-4762890 > .e-con .elementor-image-box-img img,
.elementor-element-a043bd5 > .e-con .elementor-image-box-img img,
.elementor-element-cde1ead > .e-con .elementor-image-box-img img,
.elementor-element-34f0a88 > .e-con .elementor-image-box-img img,
.elementor-element-01e92ec > .e-con .elementor-image-box-img img,
.elementor-element-44e4fd7 > .e-con .elementor-image-box-img img,
.elementor-element-547c360 > .e-con .elementor-image-box-img img,
.elementor-element-295aea7 > .e-con .elementor-image-box-img img {
  transition: transform 0.35s ease;
}

.elementor-element-4762890 > .e-con:hover .elementor-image-box-img img,
.elementor-element-a043bd5 > .e-con:hover .elementor-image-box-img img,
.elementor-element-cde1ead > .e-con:hover .elementor-image-box-img img,
.elementor-element-34f0a88 > .e-con:hover .elementor-image-box-img img,
.elementor-element-01e92ec > .e-con:hover .elementor-image-box-img img,
.elementor-element-44e4fd7 > .e-con:hover .elementor-image-box-img img,
.elementor-element-547c360 > .e-con:hover .elementor-image-box-img img,
.elementor-element-295aea7 > .e-con:hover .elementor-image-box-img img {
  transform: scale(0.92);
}

/* ── Feature cards 2×2 grid on mobile ── */
@media (max-width: 767px) {
  .elementor-element-a043bd5,
  .elementor-element-d3bed12,
  .elementor-element-547c360,
  .elementor-element-295aea7,
  .elementor-element-cde1ead,
  .elementor-element-34f0a88 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .elementor-element-a043bd5 > .e-con,
  .elementor-element-d3bed12 > .e-con,
  .elementor-element-547c360 > .e-con,
  .elementor-element-295aea7 > .e-con,
  .elementor-element-cde1ead > .e-con,
  .elementor-element-34f0a88 > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 10px !important;
    text-align: center !important;
    border-radius: 12px !important;
  }
  .elementor-element-a043bd5 > .e-con .elementor-image-box-title,
  .elementor-element-d3bed12 > .e-con .elementor-image-box-title,
  .elementor-element-547c360 > .e-con .elementor-image-box-title,
  .elementor-element-295aea7 > .e-con .elementor-image-box-title,
  .elementor-element-cde1ead > .e-con .elementor-image-box-title,
  .elementor-element-34f0a88 > .e-con .elementor-image-box-title {
    font-size: 14px !important;
  }
  .elementor-element-a043bd5 > .e-con .elementor-image-box-description,
  .elementor-element-d3bed12 > .e-con .elementor-image-box-description,
  .elementor-element-547c360 > .e-con .elementor-image-box-description,
  .elementor-element-295aea7 > .e-con .elementor-image-box-description,
  .elementor-element-cde1ead > .e-con .elementor-image-box-description,
  .elementor-element-34f0a88 > .e-con .elementor-image-box-description {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .elementor-element-a043bd5 > .e-con .elementor-image-box-img,
  .elementor-element-d3bed12 > .e-con .elementor-image-box-img,
  .elementor-element-547c360 > .e-con .elementor-image-box-img,
  .elementor-element-295aea7 > .e-con .elementor-image-box-img,
  .elementor-element-cde1ead > .e-con .elementor-image-box-img,
  .elementor-element-34f0a88 > .e-con .elementor-image-box-img {
    margin-bottom: 8px !important;
  }
  .elementor-element-a043bd5 > .e-con .elementor-image-box-img img,
  .elementor-element-d3bed12 > .e-con .elementor-image-box-img img,
  .elementor-element-547c360 > .e-con .elementor-image-box-img img,
  .elementor-element-295aea7 > .e-con .elementor-image-box-img img,
  .elementor-element-cde1ead > .e-con .elementor-image-box-img img,
  .elementor-element-34f0a88 > .e-con .elementor-image-box-img img {
    max-width: 48px !important;
    height: auto !important;
  }
}

/* ── Service page detail cards sections — shared wrapper polish ── */
.elementor-element.elementor-element-6c1449e,
.elementor-element.elementor-element-7b9efe8,
.elementor-element.elementor-element-7595b88,
.elementor-element.elementor-element-f3f5282,
.elementor-element.elementor-element-ca0b64b,
.elementor-element.elementor-element-19b172f {
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
}

.elementor-759 .elementor-element.elementor-element-d573611 .elementor-heading-title,
.elementor-756 .elementor-element.elementor-element-3d811a8 .elementor-heading-title,
.elementor-762 .elementor-element.elementor-element-8cf78c4 .elementor-heading-title,
.elementor-765 .elementor-element.elementor-element-b17a936 .elementor-heading-title,
.elementor-768 .elementor-element.elementor-element-cf6de70 .elementor-heading-title,
.elementor-771 .elementor-element.elementor-element-1de12fb .elementor-heading-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px;
}

.elementor-759 .elementor-element.elementor-element-aee42e0,
.elementor-756 .elementor-element.elementor-element-004b214,
.elementor-762 .elementor-element.elementor-element-787fdd0,
.elementor-765 .elementor-element.elementor-element-8b49b79,
.elementor-768 .elementor-element.elementor-element-cb729f9,
.elementor-771 .elementor-element.elementor-element-2cea7e5 {
  line-height: 28px !important;
}
.elementor-759 .elementor-element.elementor-element-aee42e0 a,
.elementor-756 .elementor-element.elementor-element-004b214 a,
.elementor-762 .elementor-element.elementor-element-b941bee a,
.elementor-765 .elementor-element.elementor-element-89c8d80 a,
.elementor-768 .elementor-element.elementor-element-cb36dca a,
.elementor-771 .elementor-element.elementor-element-d6a5bf9 a {
  color: #6BB896 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.elementor-759 .elementor-element.elementor-element-aee42e0 a:hover,
.elementor-756 .elementor-element.elementor-element-004b214 a:hover,
.elementor-762 .elementor-element.elementor-element-b941bee a:hover,
.elementor-765 .elementor-element.elementor-element-89c8d80 a:hover,
.elementor-768 .elementor-element.elementor-element-cb36dca a:hover,
.elementor-771 .elementor-element.elementor-element-d6a5bf9 a:hover {
  color: #4a9e7a !important;
}

/* ── Service page detail cards — green hover ── */
.emergency-plumbing-details-cls > .e-con {
  transition: all 0.35s ease;
  border: 1px solid transparent;
  border-radius: 20px !important;
  overflow: hidden;
}
.emergency-plumbing-details-cls > .e-con img {
  transition: transform 0.5s ease;
}
.emergency-plumbing-details-cls > .e-con:hover {
  background-color: rgba(107, 184, 150, 0.08) !important;
  border-color: rgba(107, 184, 150, 0.3);
  box-shadow: 0 8px 28px rgba(107, 184, 150, 0.15);
  transform: translateY(-4px);
}
.emergency-plumbing-details-cls > .e-con:hover img {
  transform: scale(1.04);
}
.emergency-plumbing-details-cls > .e-con:hover .elementor-heading-title {
  color: #529E7F !important;
}

@media (max-width: 767px) {
  .elementor-element.elementor-element-6c1449e,
  .elementor-element.elementor-element-7b9efe8,
  .elementor-element.elementor-element-7595b88,
  .elementor-element.elementor-element-f3f5282,
  .elementor-element.elementor-element-ca0b64b,
  .elementor-element.elementor-element-19b172f {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
  }
}

/* ── Mobile carousel for emergency detail cards ── */
.enh-emrg-carousel {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 0;
  padding: 0 0 12px;
  scrollbar-width: none;
}
.enh-emrg-carousel::-webkit-scrollbar {
  display: none;
}
.enh-emrg-carousel > .e-con {
  flex: 0 0 calc(100vw - 48px);
  width: calc(100vw - 48px);
  max-width: calc(100vw - 48px);
  min-width: calc(100vw - 48px);
  scroll-snap-align: center;
  margin: 0 6px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(107, 184, 150, 0.15);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.enh-emrg-carousel > .e-con:first-child {
  margin-left: 24px;
}
.enh-emrg-carousel > .e-con:last-child {
  margin-right: 24px;
}
.enh-emrg-carousel > .e-con img {
  border-radius: 12px 12px 0 0;
  width: 100%;
  height: auto;
}
.enh-emrg-carousel > .e-con:hover {
  transform: none;
}
.enh-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 0;
  margin: 8px 0 0;
  list-style: none;
}
.enh-carousel-dots li {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(88, 94, 170, 0.2);
  transition: background 0.25s ease, transform 0.25s ease;
  cursor: pointer;
}
.enh-carousel-dots li.active {
  background: #585eaa;
  transform: scale(1.25);
}
@media (min-width: 768px) {
  .enh-emrg-carousel,
  .enh-carousel-dots {
    display: none !important;
  }
}

/* ── Service items (image-box) mobile carousel ── */
@media (max-width: 767px) {
  .enh-svc-items-carousel {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    scrollbar-width: none;
  }
  .enh-svc-items-carousel::-webkit-scrollbar { display: none; }
  .enh-svc-items-carousel > .elementor-widget {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    scroll-snap-align: start;
    box-sizing: border-box;
  }
  .enh-svc-items-carousel > .elementor-widget:first-child {
    margin-left: 4px;
  }
  .enh-svc-items-carousel > .elementor-widget:last-child {
    margin-right: 4px;
  }
}
@media (max-width: 767px) {
  .enh-svc-divider-hidden {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .enh-svc-items-carousel {
    display: block !important;
    overflow: visible !important;
  }
  .enh-svc-items-carousel > .elementor-widget {
    flex: none !important;
    max-width: none !important;
    width: auto !important;
  }
}

/* Hero dividers — yellowish sitewide */
.elementor-element.elementor-element-a5189fd .elementor-divider-separator,
.elementor-element.elementor-element-b6aa275 .elementor-divider-separator,
.elementor-element.elementor-element-cfb0d65 .elementor-divider-separator,
.elementor-element.elementor-element-6386441 .elementor-divider-separator,
.elementor-element.elementor-element-679b885 .elementor-divider-separator,
.elementor-element.elementor-element-d14bf24 .elementor-divider-separator,
.elementor-element.elementor-element-0e92c3c .elementor-divider-separator,
.elementor-element.elementor-element-5d3d4d6 .elementor-divider-separator,
.elementor-element.elementor-element-617c9ee .elementor-divider-separator,
.elementor-element.elementor-element-b2cc34e .elementor-divider-separator {
  border-block-start-color: #6BB896 !important;
  --divider-color: #6BB896 !important;
}

/* ── Service pages "Why Choose" sections ── */
.elementor-element.elementor-element-92a8975,
.elementor-element.elementor-element-b81a267,
.elementor-element.elementor-element-5f4d603,
.elementor-element.elementor-element-504b5e4 {
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
}

.elementor-element.elementor-element-6ffa33d,
.elementor-element.elementor-element-d98afcc,
.elementor-element.elementor-element-6837b08,
.elementor-element.elementor-element-a8fb3b1 {
  border-radius: 18px;
  overflow: hidden;
}
.elementor-element.elementor-element-6ffa33d img,
.elementor-element.elementor-element-d98afcc img,
.elementor-element.elementor-element-6837b08 img,
.elementor-element.elementor-element-a8fb3b1 img {
  transition: transform 0.5s ease;
}
.elementor-element.elementor-element-6ffa33d:hover img,
.elementor-element.elementor-element-d98afcc:hover img,
.elementor-element.elementor-element-6837b08:hover img,
.elementor-element.elementor-element-a8fb3b1:hover img {
  transform: scale(0.97);
}

.elementor-762 .elementor-element.elementor-element-0e6f41f .elementor-heading-title,
.elementor-765 .elementor-element.elementor-element-5b50bd1 .elementor-heading-title,
.elementor-768 .elementor-element.elementor-element-6807fcd .elementor-heading-title,
.elementor-771 .elementor-element.elementor-element-3c1fc9d .elementor-heading-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px;
}

.elementor-762 .elementor-element.elementor-element-8a9f9fc,
.elementor-765 .elementor-element.elementor-element-5490333,
.elementor-768 .elementor-element.elementor-element-01388a6,
.elementor-771 .elementor-element.elementor-element-bb6ea3d {
  line-height: 28px !important;
}

.elementor-762 .elementor-element.elementor-element-8a9f9fc a,
.elementor-765 .elementor-element.elementor-element-5490333 a,
.elementor-768 .elementor-element.elementor-element-01388a6 a,
.elementor-771 .elementor-element.elementor-element-bb6ea3d a {
  color: #6BB896 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.elementor-762 .elementor-element.elementor-element-8a9f9fc a:hover,
.elementor-765 .elementor-element.elementor-element-5490333 a:hover,
.elementor-768 .elementor-element.elementor-element-01388a6 a:hover,
.elementor-771 .elementor-element.elementor-element-bb6ea3d a:hover {
  color: #4a9e7a !important;
}

@media (max-width: 767px) {
  .elementor-element.elementor-element-92a8975,
  .elementor-element.elementor-element-b81a267,
  .elementor-element.elementor-element-5f4d603,
  .elementor-element.elementor-element-504b5e4 {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
  }
}

/* ══════════════════════════════════════════════
   Privacy Policy & Terms pages — polished look
   ══════════════════════════════════════════════ */

/* ── Privacy Policy (Elementor page, elementor-3) ── */
.elementor-3 .elementor-element.elementor-element-530ffe5e {
  --padding-top: 60px !important;
  --padding-bottom: 80px !important;
  --padding-left: 15px !important;
  --padding-right: 15px !important;
}
.elementor-3 .elementor-element.elementor-element-530ffe5e > .e-con-inner {
  max-width: 820px;
  margin: 0 auto;
}
.elementor-3 .elementor-element.elementor-element-03d2b3b .elementor-heading-title {
  font-size: 42px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px;
  margin-bottom: 8px !important;
  padding-bottom: 20px;
  border-bottom: 3px solid rgba(107, 184, 150, 0.3);
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd {
  line-height: 1.8 !important;
  color: #3a3a3a !important;
  font-size: 16px !important;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd h2,
.elementor-3 .elementor-element.elementor-element-3e38d9cd h3 {
  font-weight: 700 !important;
  color: var(--e-global-color-primary) !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(107, 184, 150, 0.15);
  -webkit-text-fill-color: initial !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd h3 {
  font-size: 22px !important;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd p {
  margin-bottom: 16px !important;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd a {
  color: #6BB896 !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.2s ease;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd a:hover {
  color: #4a9e7a !important;
  border-bottom-color: #4a9e7a;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd ul,
.elementor-3 .elementor-element.elementor-element-3e38d9cd ol {
  padding-left: 24px !important;
  margin-bottom: 16px !important;
}
.elementor-3 .elementor-element.elementor-element-3e38d9cd li {
  margin-bottom: 8px !important;
}

/* ── Terms & Conditions (WordPress default template, page-id-2450) ── */
.page-id-2450 #content {
  max-width: 820px;
  margin: 0 auto;
  padding: 60px 24px 80px;
}
.page-id-2450 .page-header {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 3px solid rgba(107, 184, 150, 0.3);
}
.page-id-2450 h1.entry-title {
  font-size: 42px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px;
  color: #252423 !important;
}
.page-id-2450 .page-content {
  line-height: 1.8;
  color: #3a3a3a;
  font-size: 16px;
}
.page-id-2450 .page-content h2.wp-block-heading,
.page-id-2450 .page-content h3.wp-block-heading {
  font-weight: 700 !important;
  color: var(--e-global-color-primary, #585EAA) !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(107, 184, 150, 0.15);
}
.page-id-2450 .page-content h2.wp-block-heading {
  font-size: 28px !important;
}
.page-id-2450 .page-content h3.wp-block-heading {
  font-size: 22px !important;
}
.page-id-2450 .page-content p {
  margin-bottom: 16px;
}
.page-id-2450 .page-content a {
  color: #6BB896;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.2s ease;
}
.page-id-2450 .page-content a:hover {
  color: #4a9e7a;
  border-bottom-color: #4a9e7a;
}
.page-id-2450 .page-content ul,
.page-id-2450 .page-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}
.page-id-2450 .page-content li {
  margin-bottom: 8px;
}

/* ── Mobile adjustments for both pages ── */
@media (max-width: 767px) {
  .elementor-3 .elementor-element.elementor-element-530ffe5e {
    --padding-top: 32px !important;
    --padding-bottom: 48px !important;
  }
  .elementor-3 .elementor-element.elementor-element-03d2b3b .elementor-heading-title {
    font-size: 30px !important;
  }
  .elementor-3 .elementor-element.elementor-element-3e38d9cd h3 {
    font-size: 19px !important;
  }
  .page-id-2450 #content {
    padding: 32px 16px 48px;
  }
  .page-id-2450 h1.entry-title {
    font-size: 30px !important;
  }
  .page-id-2450 .page-content h2.wp-block-heading {
    font-size: 23px !important;
  }
  .page-id-2450 .page-content h3.wp-block-heading {
    font-size: 19px !important;
  }
}
