/* ===============================
   GLOBAL OVERFLOW FIX — Mobile white strip
   =============================== */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Catch-all for any element bleeding past viewport on home page */
.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.elementor-widget,
.e-con,
.e-con-inner {
  max-width: 100% !important;
  overflow-x: hidden !important;
}
/* Restore footer inner centering — must come AFTER the catch-all above */
.apm-footer-breakout,
.apm-footer,
.apm-footer-inner {
  max-width: unset !important;
  overflow-x: unset !important;
}
.apm-footer-inner {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}
/* Full-width coloured sections — remove white edge strip */
.elementor-section.elementor-section-full_width,
.elementor-section.elementor-section-stretched,
.e-con.e-con-full-width {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* === APM Ninja Forms layout (NO field classes needed) === */
.apm-nf-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
/* 2 columns on desktop */
@media (min-width:768px){
  .apm-nf-grid{
    grid-template-columns:1fr 1fr;
  }
}
/* Target Ninja Forms field containers directly */
.apm-nf-grid .nf-field-container{
  margin:0 !important;
}
/* Make message + submit full width */
.apm-nf-grid .nf-field-container:nth-last-child(2),
.apm-nf-grid .nf-field-container:last-child{
  grid-column:1 / -1;
}
/* Inputs styling */
.apm-nf-grid input[type="text"],
.apm-nf-grid input[type="email"],
.apm-nf-grid input[type="tel"],
.apm-nf-grid select,
.apm-nf-grid textarea{
  width:100% !important;
  border:1px solid #e2e8f0 !important;
  border-radius:12px !important;
  padding:12px 16px !important;
  font-size:16px !important;
  background:#fff !important;
}
/* Focus ring */
.apm-nf-grid input:focus,
.apm-nf-grid select:focus,
.apm-nf-grid textarea:focus{
  border-color:#22d3ee !important;
  box-shadow:0 0 0 2px rgba(34,211,238,0.45) !important;
}
/* Labels */
.apm-nf-grid label{
  font-size:14px;
  font-weight:600;
  margin-bottom:8px;
  color:#0f172a;
}
/* Submit button */
.apm-nf-grid input[type="submit"],
.apm-nf-grid button{
  border:none !important;
  border-radius:9999px !important;
  background:#06b6d4 !important;
  color:#fff !important;
  padding:12px 24px !important;
  font-weight:600 !important;
  cursor:pointer !important;
}
.apm-nf-grid input[type="submit"]:hover{
  background:#0891b2 !important;
}
/* Fix white box spacing between table and reviews section */
.elementor-widget-table {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Remove background from potential spacer elements between sections */
.elementor [class*="spacer"] {
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Ensure sections don't have excessive padding causing white box appearance */
.elementor-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Target any element with light background that might be the white box */
[style*="background"] .elementor-widget-wrap {
  background-color: transparent !important;
}
/* Hide WordPress.com footer branding */
#footer,
.site-info,
.site-credits,
footer .site-info,
[class*="powered"],
[class*="credits"] {
  display: none !important;
}
/* Hide NitroPack badge */
#nitropack-badge,
.nitropack-badge,
[id*="nitropack"],
[class*="nitropack"] {
  display: none !important;
}
/* ===============================
   WHITE STRIP ABOVE FOOTER FIX
   =============================== */
.elementor-location-footer,
.elementor-section:last-of-type,
.e-con:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* ===============================
   REVIEWS BREAKOUT OVERFLOW FIX
   Prevents .apm-reviews-breakout negative
   margin from creating horizontal scrollbar
   and white strip
   =============================== */
.apm-reviews-breakout {
  overflow-x: clip !important;
  max-width: 100% !important;
}
.elementor-element-2774c4a5 {
  overflow-x: clip !important;
}
/* ===============================
   UNIVERSAL PAGE CONTAINER FIX
   Clips overflow on ALL Elementor root
   containers across every page
   =============================== */
.e-con.e-parent,
.elementor-section.elementor-top-section {
  overflow-x: clip !important;
}
/* ===============================
   FOOTER CONTENT FIX
   Restore inner padding/centering for
   the HTML footer widget
   =============================== */
.apm-footer-inner {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}

.google-review-badge-wrapper {
	margin-top: 40px;
}