.elementor-27076 .elementor-element.elementor-element-1181a457 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-07964bf ) 0%, #2A6BB3 100%);opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-27076 .elementor-element.elementor-element-1181a457 > .elementor-container{max-width:500px;}.elementor-27076 .elementor-element.elementor-element-1181a457{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-df908ec > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-a712f1e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-9px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-27076 .elementor-element.elementor-element-3742fd0 > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-07964bf ) 0%, #2A6BB3 100%);opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-27076 .elementor-element.elementor-element-3742fd0 > .elementor-container{max-width:500px;}.elementor-27076 .elementor-element.elementor-element-3742fd0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-cca3b62 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-66173cc{--display:flex;}.elementor-27076 .elementor-element.elementor-element-dba60f2{--display:flex;}.elementor-27076 .elementor-element.elementor-element-0863230{text-align:center;}.elementor-27076 .elementor-element.elementor-element-3183a1c{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-b1d3b98{--display:flex;}.elementor-27076 .elementor-element.elementor-element-d293970{text-align:center;}.elementor-27076 .elementor-element.elementor-element-db7a9d7{--display:flex;}.elementor-27076 .elementor-element.elementor-element-8ec8930{--display:grid;--e-con-grid-template-columns:repeat(7, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-d7e78d3{--display:flex;}.elementor-27076 .elementor-element.elementor-element-d16db2c{text-align:center;}.elementor-27076 .elementor-element.elementor-element-aa1e375{--display:grid;--e-con-grid-template-columns:repeat(7, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-8513c56.elementor-element{--align-self:center;}.elementor-27076 .elementor-element.elementor-element-8513c56{text-align:center;}@media(max-width:1024px){.elementor-27076 .elementor-element.elementor-element-3183a1c{--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-8ec8930{--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-aa1e375{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-27076 .elementor-element.elementor-element-1181a457 > .elementor-container{max-width:500px;}.elementor-27076 .elementor-element.elementor-element-1181a457{padding:10px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-3742fd0 > .elementor-container{max-width:500px;}.elementor-27076 .elementor-element.elementor-element-3742fd0{padding:10px 0px 0px 0px;}.elementor-27076 .elementor-element.elementor-element-3183a1c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-8ec8930{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-27076 .elementor-element.elementor-element-aa1e375{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-f420cb4 *//* Embed wrapper styles */
.spba-embed {
  max-width: var(--max);
  margin: 0 auto;
  padding: 8px 0;          /* tighten vertical padding here */
}
.spba-embed iframe {
  display: block;
  width: 100%;
  border: 0;
}

/* Reduce the next section's top padding so it doesn't stack up */
#why.spba-section { padding-top: 8px; }

/* Elementor sometimes adds widget margins - zero them just for this area */
#petition-section .elementor-widget-container { margin: 0 !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a712f1e *//* Trim extra space on this section only */
#petition.spba-section { padding-bottom: 16px; }
/* Responsive iframe heights — tune to taste */
#petition iframe { height: 1000px; }
@media (max-width: 1024px){ #petition iframe { height: 1200px; } }
@media (max-width: 768px) { #petition iframe { height: 1400px; } }/* End custom CSS */
/* Start custom CSS *//* =========================================
   iPhone overflow hardening (page-specific)
   ========================================= */

/* Viewport + page guard (merged block) */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background-color: #fff; /* match site bg so no odd gutter color */
  /* Modern browsers: prevent lateral elastic overscroll revealing gutters */
  overscroll-behavior-x: none;
}

/* Constrain this page containers */
body.page-id-1234 .elementor-section .elementor-container,
body.page-id-1234 .e-con.e-flex {
  max-width: 820px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Stretched sections can slip on iOS if offset left is used */
body.page-id-1234 .elementor-section.elementor-section-stretched {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

/* Any full width wrappers should never exceed 100% width */
body.page-id-1234 .elementor,
body.page-id-1234 .elementor-section,
body.page-id-1234 .elementor-container,
body.page-id-1234 .elementor-column,
body.page-id-1234 .elementor-widget-wrap {
  overflow-x: hidden;
  max-width: 100%;
}

/* Media should never overflow */
body.page-id-1234 img,
body.page-id-1234 video,
body.page-id-1234 iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Long words or URLs */
body.page-id-1234 .elementor-widget,
body.page-id-1234 .elementor-widget * {
  overflow-wrap: anywhere;   /* modern */
  word-wrap: break-word;     /* legacy fallback */
}

/* Common culprit: inline styles using 100vw inside sections.
   Replace with 100% so scrollbars are not included */
body.page-id-1234 [style*="100vw"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Another culprit: negative margins pushing content off-screen */
body.page-id-1234 [style*="margin-left:-"],
body.page-id-1234 [style*="margin-right:-"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Elementor sliders and maps can overflow by a pixel or two */
body.page-id-1234 .elementor-widget-image-carousel,
body.page-id-1234 .elementor-widget-slides,
body.page-id-1234 .elementor-widget-google_maps {
  overflow: hidden;
}

/* =========================================
   Back to Top button
   ========================================= */

/* Smooth scroll sitewide */
html { scroll-behavior: smooth; }

.back-to-top { display: none; } /* hidden on desktop */

@media (max-width: 768px) {
  .back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: #fdd312; /* SPBA yellow */
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 999;
    text-decoration: none;
  }

  .back-to-top svg {
    width: 20px;
    height: 20px;
    stroke: #000; /* black arrow for contrast */
  }

  .back-to-top:hover { background: #fdd312; }

  /* Respect iPhone safe areas (use a safer @supports test) */
  @supports (right: env(safe-area-inset-right)) {
    .back-to-top {
      bottom: max(20px, env(safe-area-inset-bottom));
      right:  max(20px, env(safe-area-inset-right));
    }
  }
}/* End custom CSS */