/* Carlisle + Elementor bridge. Keeps the approved coded layout pixel-stable while
   allowing page bodies to be managed by custom Elementor widgets. */
.elementor-section.carlisle-elementor-canvas,
.elementor-section.carlisle-elementor-canvas > .elementor-container,
.elementor-section.carlisle-elementor-canvas .carlisle-elementor-column,
.elementor-section.carlisle-elementor-canvas .elementor-widget-wrap,
.elementor-section.carlisle-elementor-canvas .elementor-widget,
.elementor-section.carlisle-elementor-canvas .elementor-widget-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-section.carlisle-elementor-canvas{overflow:visible !important}
.elementor-section.carlisle-elementor-canvas > .elementor-container{display:block !important}
.elementor-section.carlisle-elementor-canvas .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-section.carlisle-elementor-canvas .elementor-column-gap-narrow > .elementor-column > .elementor-element-populated,
.elementor-section.carlisle-elementor-canvas .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.elementor-section.carlisle-elementor-canvas .elementor-column-gap-wide > .elementor-column > .elementor-element-populated,
.elementor-section.carlisle-elementor-canvas .elementor-column-gap-wider > .elementor-column > .elementor-element-populated{padding:0 !important}
.carlisle-elementor-page{width:100%;max-width:none;margin:0;padding:0;overflow:visible}
body.elementor-editor-active .carlisle-elementor-page a{pointer-events:none}


/* v1.8.1 — Elementor content-area bridge. Header/footer remain theme-owned. */
#carlisle-elementor-content,
.carlisle-elementor-content {
  width: 100%;
  margin: 0;
  padding: 0;
}
#carlisle-elementor-content > .elementor,
.carlisle-elementor-content > .elementor {
  width: 100%;
}
body.elementor-editor-active #carlisle-elementor-content,
body.elementor-editor-preview #carlisle-elementor-content {
  min-height: 1px;
}

/* v1.8.2 — full-bleed Elementor rows + independent section editing. */
html,
body.carlisle-site {
  overflow-x: clip;
}

#carlisle-elementor-content,
.carlisle-elementor-content,
#carlisle-elementor-content > .elementor,
.carlisle-elementor-content > .elementor,
#carlisle-elementor-content .elementor-inner,
#carlisle-elementor-content .elementor-section-wrap {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Break each Carlisle row out of Elementor/parent-theme boxed content widths. */
#carlisle-elementor-content .elementor-section.carlisle-elementor-row {
  position: relative;
  left: 50%;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 0 !important;
}

#carlisle-elementor-content .elementor-section.carlisle-elementor-row > .elementor-container,
#carlisle-elementor-content .elementor-section.carlisle-elementor-row .elementor-column,
#carlisle-elementor-content .elementor-section.carlisle-elementor-row .elementor-widget-wrap,
#carlisle-elementor-content .elementor-section.carlisle-elementor-row .elementor-widget,
#carlisle-elementor-content .elementor-section.carlisle-elementor-row .elementor-widget-container,
#carlisle-elementor-content .elementor-section.carlisle-elementor-row .carlisle-elementor-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#carlisle-elementor-content .elementor-section.carlisle-elementor-row > .elementor-container {
  display: block !important;
}

/* Elementor editor/preview already gives us the exact iframe viewport. Keep the
   same full-width result without forcing any desktop canvas dimensions. */
body.elementor-editor-active #carlisle-elementor-content .elementor-section.carlisle-elementor-row,
body.elementor-editor-preview #carlisle-elementor-content .elementor-section.carlisle-elementor-row {
  left: 50%;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* Preserve the FAQ page's original continuous body spacing after it is split
   into two Elementor rows (questions + CTA). */
.carlisle-elementor-faq--faqs .faq-body-match {
  padding-bottom: 0;
}
.carlisle-elementor-faq--cta .faq-body-match--cta {
  padding-top: 0;
}
@media (max-width: 760px) {
  .carlisle-elementor-faq--faqs .faq-body-match { padding-bottom: 0; }
  .carlisle-elementor-faq--cta .faq-body-match--cta { padding-top: 0; }
}


/* v1.8.3 — remove Hello Elementor's boxed page gutter on Carlisle builder pages.
   This is applied to the Carlisle content root itself, so every independent
   Elementor row stays edge-to-edge while each section's own inner max-width
   continues to control its approved content alignment. */
body.carlisle-site main#carlisle-elementor-content,
body.carlisle-site #carlisle-elementor-content.carlisle-elementor-content {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.carlisle-site #carlisle-elementor-content > .elementor,
body.carlisle-site #carlisle-elementor-content > .elementor > .elementor-inner,
body.carlisle-site #carlisle-elementor-content > .elementor > .elementor-section-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elementor 3/4 can render top-level content as legacy sections or flex
   containers. Keep both forms full width without touching nested design
   containers inside Carlisle's own section markup. */
body.carlisle-site #carlisle-elementor-content > .elementor > .elementor-element,
body.carlisle-site #carlisle-elementor-content > .elementor > .elementor-inner > .elementor-section-wrap > .elementor-element,
body.carlisle-site #carlisle-elementor-content > .elementor > .elementor-section-wrap > .elementor-element {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 767px) {
  body.carlisle-site main#carlisle-elementor-content,
  body.carlisle-site #carlisle-elementor-content.carlisle-elementor-content {
    min-width: 100vw !important;
  }
}
