/* Hero Call button - white outline style */
.hero-cta-secondary .wp-block-button__link {
  border: 2px solid #ffffff !important;
  background-color: transparent !important;
  border-radius: 30px;
}
/* ---- Mr. Anthony homepage: side-by-side children, handles both e-con-full and e-con-boxed ---- */

/* Force inner rows to be flex-row + wrap */
#how-it-works > .e-con,
#our-services > .e-con > .e-con-inner,
#service-areas > .e-con > .e-con-inner,
#stats-strip > .e-con > .e-con-inner,
#proof-section > .e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 20px !important;
  width: 100% !important;
}

/* Column/card children — equal width, wrap when too narrow */
#how-it-works > .e-con > .e-con,
#our-services > .e-con > .e-con-inner > .e-con,
#service-areas > .e-con > .e-con-inner > .e-con,
#stats-strip > .e-con > .e-con-inner > .e-con,
#proof-section > .e-con > .e-con-inner > .e-con {
  flex: 1 1 180px !important;
  width: auto !important;
  min-width: 0;
}

/* Desktop layouts — enforce max columns per section */
#how-it-works > .e-con > .e-con,
#service-areas > .e-con > .e-con-inner > .e-con,
#proof-section > .e-con > .e-con-inner > .e-con {
  max-width: calc(33.333% - 14px) !important;  /* 3-up */
}
#our-services > .e-con > .e-con-inner > .e-con {
  max-width: calc(50% - 10px) !important;       /* 2-up */
}
#stats-strip > .e-con > .e-con-inner > .e-con {
  max-width: calc(25% - 16px) !important;       /* 4-up */
}

/* Tablet (600–1023px): 3-col sections collapse to 2-up; stats & services unchanged */
@media (min-width: 600px) and (max-width: 1023px) {
  #how-it-works > .e-con > .e-con,
  #service-areas > .e-con > .e-con-inner > .e-con,
  #proof-section > .e-con > .e-con-inner > .e-con {
    max-width: calc(50% - 10px) !important;
  }
}

/* Mobile (≤599px): stack everything; stats stay 2-up since they're short */
@media (max-width: 599px) {
  #how-it-works > .e-con > .e-con,
  #our-services > .e-con > .e-con-inner > .e-con,
  #service-areas > .e-con > .e-con-inner > .e-con,
  #proof-section > .e-con > .e-con-inner > .e-con {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  #stats-strip > .e-con > .e-con-inner > .e-con {
    flex: 1 1 80px !important;
    max-width: calc(33.33% - 2px) !important;
    min-width: 0 !important;
  }
}
/* ---- Mr. Anthony homepage: mobile-friendly type and spacing (v3) ---- */

/* Tablet (600–1023px): nudge H2s down */
@media (min-width: 600px) and (max-width: 1023px) {
  #how-it-works .elementor-heading-title,
  #our-services .elementor-heading-title,
  #service-areas .elementor-heading-title,
  #proof-section .elementor-heading-title,
  #final-cta .elementor-heading-title { font-size: 30px !important; }
}

/* Mobile (≤599px): compact everything */
@media (max-width: 599px) {
  /* TYPE -------------------- */
  #how-it-works > .elementor-widget-heading .elementor-heading-title,
  #our-services > .elementor-widget-heading .elementor-heading-title,
  #service-areas > .elementor-widget-heading .elementor-heading-title,
  #proof-section > .elementor-widget-heading .elementor-heading-title,
  #final-cta > .elementor-widget-heading .elementor-heading-title {
    font-size: 22px !important; line-height: 1.1 !important;
    margin: 0 0 2px 0 !important;
  }
  #how-it-works > .elementor-widget-text-editor p,
  #our-services > .elementor-widget-text-editor p,
  #service-areas > .elementor-widget-text-editor p,
  #proof-section > .elementor-widget-text-editor p,
  #final-cta > .elementor-widget-text-editor p {
    font-size: 14px !important; line-height: 1.35 !important;
    margin: 0 !important;
  }

  #hero-section h1.elementor-heading-title { font-size: 24px !important; line-height: 1.1 !important; margin: 0 0 4px 0 !important; }
  #hero-section .elementor-widget-text-editor p { font-size: 14px !important; line-height: 1.35 !important; margin: 0 !important; }

  #our-services .e-con.e-con-boxed h3.elementor-heading-title { font-size: 18px !important; margin: 0 !important; }
  #our-services .e-con.e-con-boxed h3.elementor-heading-title + * h3 { font-size: 20px !important; margin: 0 !important; }
  #our-services .e-con.e-con-boxed .elementor-widget-text-editor p { font-size: 13px !important; line-height: 1.4 !important; margin: 0 !important; }

  #how-it-works .elementor-widget-image img { max-width: 80px !important; height: auto !important; }
  #how-it-works > .e-con > .e-con h3.elementor-heading-title { font-size: 16px !important; line-height: 1.15 !important; margin: 0 !important; }
  #how-it-works > .e-con > .e-con .elementor-widget-text-editor p { font-size: 13px !important; line-height: 1.4 !important; margin: 0 !important; }

  #service-areas .e-con.e-con-boxed h3.elementor-heading-title { font-size: 16px !important; margin: 0 !important; }

  #stats-strip h3.elementor-heading-title { font-size: 22px !important; line-height: 1 !important; margin: 0 !important; white-space: nowrap !important; }
  #stats-strip .elementor-widget-text-editor p { font-size: 11px !important; line-height: 1.2 !important; margin: 0 !important; }

  /* SECTION VERTICAL PADDING — tight */
  #hero-section, #how-it-works, #our-services, #service-areas,
  #stats-strip, #proof-section, #final-cta {
    padding-top: 24px !important; padding-bottom: 24px !important;
    padding-left: 8px !important; padding-right: 8px !important;
  }

  /* Hero: remove Elementor min-height 500px on mobile */
  #hero-section { min-height: 0 !important; }
  #final-cta { min-height: 0 !important; }

  /* SECTION INTERNAL GAP (between heading / subhead / row / cta) */
  #hero-section, #how-it-works, #our-services, #service-areas,
  #stats-strip, #proof-section, #final-cta { gap: 10px !important; }

  /* Also the e-con-inner wrappers of boxed sections */
  #hero-section > .e-con-inner,
  #our-services > .e-con-inner,
  #service-areas > .e-con-inner,
  #stats-strip > .e-con-inner,
  #proof-section > .e-con-inner,
  #final-cta > .e-con-inner { gap: 10px !important; }

  /* Row containers: no side padding, tight gap between columns */
  #our-services > .e-con, #service-areas > .e-con, #stats-strip > .e-con,
  #proof-section > .e-con, #how-it-works > .e-con {
    padding-left: 0 !important; padding-right: 0 !important;
  }
  #our-services > .e-con > .e-con-inner,
  #service-areas > .e-con > .e-con-inner,
  #stats-strip > .e-con > .e-con-inner,
  #proof-section > .e-con > .e-con-inner {
    padding: 0 !important; gap: 8px !important;
  }

  /* Column / card outer padding: 0 */
  #our-services > .e-con > .e-con-inner > .e-con,
  #service-areas > .e-con > .e-con-inner > .e-con,
  #proof-section > .e-con > .e-con-inner > .e-con,
  #how-it-works > .e-con > .e-con { padding-left: 0 !important; padding-right: 0 !important; }

  /* Card internal padding — compact breathing room */
  #our-services .e-con.e-con-boxed .e-con-inner,
  #service-areas .e-con.e-con-boxed .e-con-inner,
  #proof-section .e-con.e-con-boxed .e-con-inner { padding: 12px 10px !important; gap: 4px !important; }
  #stats-strip .e-con.e-con-boxed .e-con-inner { padding: 6px 4px !important; gap: 2px !important; }

  /* Widget margin reset */
  #how-it-works .elementor-widget, #our-services .elementor-widget,
  #service-areas .elementor-widget, #stats-strip .elementor-widget,
  #proof-section .elementor-widget, #final-cta .elementor-widget,
  #hero-section .elementor-widget { margin-bottom: 0 !important; }

  /* Proof: van photos + Yelp reviews go 2-up on mobile (halves vertical scroll) */
  #proof-section > .e-con > .e-con-inner > .e-con {
    max-width: calc(50% - 4px) !important;
    flex: 1 1 calc(50% - 4px) !important;
  }

  /* Buttons: compact */
  #hero-section .elementor-button,
  #our-services .elementor-button,
  #service-areas .elementor-button,
  #proof-section .elementor-button,
  #final-cta .elementor-button {
    font-size: 13px !important;
    padding: 8px 14px !important;
    white-space: normal !important;
  }
}
/* ---- Mr. Anthony location pages: side-by-side container children ---- */

/* Neighborhoods section (Jax dog hub, Space Coast hub, Jax cat hub) — 4-up desktop */
#neighborhoods > .e-con > .e-con-inner > .e-con {
  flex: 1 1 180px !important;
  width: auto !important;
  max-width: calc(25% - 16px) !important;
  min-width: 0;
}

/* Cat services section (Jax cat hub only) — 3-up desktop */
#cat-services > .e-con > .e-con-inner > .e-con {
  flex: 1 1 200px !important;
  width: auto !important;
  max-width: calc(33.333% - 16px) !important;
  min-width: 0;
}

/* Social proof image grid on location pages — 3-up desktop */
#social-proof > .e-con > .e-con-inner > .e-con,
#social-proof > .e-con > .e-con-inner > .elementor-widget-image {
  flex: 1 1 200px !important;
  width: auto !important;
  max-width: calc(33.333% - 14px) !important;
  min-width: 0;
}

/* Tablet (600–1023px): neighborhoods 3-up; cat services 2-up */
@media (min-width: 600px) and (max-width: 1023px) {
  #neighborhoods > .e-con > .e-con-inner > .e-con {
    max-width: calc(33.333% - 14px) !important;
  }
  #cat-services > .e-con > .e-con-inner > .e-con {
    max-width: calc(50% - 10px) !important;
  }
  #social-proof > .e-con > .e-con-inner > .e-con,
  #social-proof > .e-con > .e-con-inner > .elementor-widget-image {
    max-width: calc(50% - 10px) !important;
  }
}

/* Mobile (≤599px): neighborhoods 2-up; everything else stacks */
@media (max-width: 599px) {
  #neighborhoods > .e-con > .e-con-inner > .e-con {
    max-width: calc(50% - 6px) !important;
    flex: 1 1 calc(50% - 6px) !important;
  }
  #cat-services > .e-con > .e-con-inner > .e-con,
  #social-proof > .e-con > .e-con-inner > .e-con,
  #social-proof > .e-con > .e-con-inner > .elementor-widget-image {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}
/* ---- Mr. Anthony location pages: How It Works side-by-side ---- */

/* Location pages nest How It Works's row inside an e-con-inner wrapper */
#how-it-works > .e-con > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 20px !important;
  width: 100% !important;
}

#how-it-works > .e-con > .e-con-inner > .e-con {
  flex: 1 1 180px !important;
  width: auto !important;
  max-width: calc(33.333% - 14px) !important;  /* 3-up desktop */
  min-width: 0;
}

/* Tablet: 2-up */
@media (min-width: 600px) and (max-width: 1023px) {
  #how-it-works > .e-con > .e-con-inner > .e-con {
    max-width: calc(50% - 10px) !important;
  }
}

/* Mobile: stack */
@media (max-width: 599px) {
  #how-it-works > .e-con > .e-con-inner > .e-con {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* ---- Service areas: Cape Coral / Miami (e-con-full) padding fix ---- */
/* Elementor stores padding as CSS vars — override both vars AND physical padding */
#service-areas .e-con-full.e-child {
  --padding-top: 12px;
  --padding-bottom: 12px;
  --padding-left: 10px;
  --padding-right: 10px;
  padding: 12px 10px !important;
}



  /* ---- Carousel (n-carousel): compact headings on mobile ---- */
@media (max-width: 599px) {
	.elementor-widget-n-carousel .elementor-heading-title {
		    font-size: 17px !important;
		    line-height: 1.2 !important;
	}
	.elementor-widget-n-carousel .elementor-widget-text-editor p {
		    font-size: 13px !important;
		    line-height: 1.35 !important;
	}
  /* Section heading "What our customers love" — H5 tag, reduce for mobile */
  h5.elementor-heading-title {
    font-size: 16px !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
  }
}

/* ---- How It Works: tighten section + step padding on mobile ---- */
@media (max-width: 599px) {
  /* Section outer padding */
  #how-it-works {
    padding: 12px 0 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  /* Inner flex container top padding */
  #how-it-works > .e-con-full,
  #how-it-works .elementor-element-506413d8 {
    --padding-top: 8px !important;
    --padding-bottom: 0px !important;
    padding-top: 8px !important;
    padding-bottom: 0px !important;
  }
  /* Step card inner padding */
  #how-it-works .e-con-inner {
    --padding-top: 10px !important;
    --padding-bottom: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  /* Gap between steps */
  #how-it-works .elementor-element-506413d8 {
    gap: 8px !important;
    row-gap: 8px !important;
  }
  /* CTA: tighten padding on mobile */
  #final-cta {
    --padding-top: 20px !important;
    --padding-bottom: 20px !important;
    padding: 20px 15px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  #final-cta .e-con-inner {
    --padding-top: 8px !important;
    --padding-bottom: 8px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  /* Stats: reduce number size to fit 3-per-row */
  #stats-strip h3.elementor-heading-title {
    font-size: 19px !important;
  }
  /* Proof/reviews section: tighten padding */
  #proof-section {
    --padding-top: 12px !important;
    --padding-bottom: 12px !important;
    padding: 12px 0 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  #proof-section .e-con-inner {
    --padding-top: 8px !important;
    --padding-bottom: 8px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* Trust bar: all 4 social icons in one row, badge full width above */
  .elementor-element-62e3e0.elementor-grid-0 .elementor-social-icons-wrapper.elementor-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 12px !important;
  }
  #circle_v5_wrap {
    margin: 0 auto !important;
    display: block !important;
  }
/* ---- AUDIT FIXES: stats padding, HIW step gap, services caption, CTA tighten ---- */
@media (max-width: 599px) {

  /* FIX 1: Stats section — kill the unoverridden 24px padding */
  #stats-strip {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  /* Tighten the outer stats container gap too */
  #stats-strip > .e-con-inner,
  #stats-strip .e-con-boxed > .e-con-inner {
    gap: 4px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* FIX 2: HIW step internal gap (image → heading → text within each step card) */
  #how-it-works .e-con-inner {
    gap: 4px !important;
    row-gap: 4px !important;
  }
  /* Also kill any bottom margin Elementor adds between widgets in a step */
  #how-it-works .e-con-inner > .elementor-widget {
    margin-bottom: 0 !important;
  }

  /* FIX 3: Services disclaimer caption — smaller text */
  #our-services .elementor-widget-text-editor p,
  #our-services .e-con .elementor-widget-text-editor p {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  /* FIX 4: CTA — reduce from 20px to 10px (Block 6 only got it to 20px) */
  #final-cta {
    --padding-top: 10px !important;
    --padding-bottom: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}




/* ---- TWEAKS v2: fine print smaller, CTA top padding ---- */
@media (max-width: 599px) {

  /* Fine print — 9px */
  #our-services .elementor-widget-text-editor p,
  #our-services .e-con .elementor-widget-text-editor p {
    font-size: 9px !important;
    line-height: 1.3 !important;
  }

  /* CTA top padding — 4px */
  #final-cta {
    padding-top: 4px !important;
  }
}

/* ============================================================
   Brand color correction: replace olive #558632 with brand lime #A8D400
   Added 2026-05-22 evening as Gate 1.1 stopgap (CSS override).
   Source of truth fix: Elementor sections (Gate 1.4 styling pass).
   Affects 8 elements on the homepage: #hero-section, #final-cta,
   and 6 child Elementor sections.
   ============================================================ */
#hero-section,
#final-cta,
.elementor-element-40f8c261,
.elementor-element-cc2b9ad,
.elementor-element-2378b015,
.elementor-element-5b2ff8c,
.elementor-element-040a9bc,
.elementor-element-c798e13 {
  background-color: #A8D400 !important;
}

/* Comfortaa body font enforcement (added 2026-06-04 — neutralize Roboto leak on Elementor text-editor widgets inside Theme Builder templates) */
.ma-hero, .ma-hero *,
.ma-card-inner, .ma-card-inner *,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor a,
.elementor-widget-text-editor span,
.elementor-widget-text-editor div,
.elementor-widget-text-editor li {
  font-family: var(--global-body-font-family, Comfortaa), sans-serif !important;
}
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4,
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6 {
  font-family: var(--global-heading-font-family, DynaPuff), cursive !important;
}
