/* Elementor Post 5001 – Hail Damage & Recent Storms Service Page */

/* ============================
   HERO SECTION
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5hero:not(.elementor-motion-effects-element-type-background),
.elementor-5001 .elementor-element.elementor-element-h5hero > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("../images/roof-replacement-hail-damage-farmington-mn-bn-exteriors-before.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.elementor-5001 .elementor-element.elementor-element-h5hero > .elementor-background-overlay {
  background-color: var(--e-global-color-9e89d4e);
  opacity: 0.8;
  transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}
.elementor-5001 .elementor-element.elementor-element-h5hero > .elementor-container {
  max-width: 1280px;
  min-height: 90vh;
}
.elementor-5001 .elementor-element.elementor-element-h5hero {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}

/* Hero column widths: 70% text / 30% form */
.elementor-5001 .elementor-element.elementor-element-h5heroleft {
  width: 70%;
}
.elementor-5001 .elementor-element.elementor-element-h5heroright {
  width: 30%;
}

/* Hero left column (text side) */
.elementor-5001 .elementor-element.elementor-element-h5heroleft > .elementor-element-populated {
  padding: 30px 60px 30px 30px;
}
.elementor-5001 .elementor-element.elementor-element-h5heroleft .elementor-heading-title {
  color: var(--e-global-color-cef527d);
}
.elementor-5001 .elementor-element.elementor-element-h5heroleft h3.elementor-heading-title {
  font-size: 22px;
}
.elementor-5001 .elementor-element.elementor-element-h5heroleft .elementor-widget-text-editor .elementor-widget-container {
  font-size: 16px;
  color: var(--e-global-color-cef527d);
}

/* Hero right column (form side) */
.elementor-5001 .elementor-element.elementor-element-h5heroright:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
.elementor-5001 .elementor-element.elementor-element-h5heroright > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-147d088);
}
.elementor-5001 .elementor-element.elementor-element-h5heroright > .elementor-element-populated {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  margin: 10px;
  padding: 50px 30px;
}
.elementor-5001 .elementor-element.elementor-element-h5heroright .elementor-widget-heading {
  text-align: center;
}
.elementor-5001 .elementor-element.elementor-element-h5heroright .elementor-heading-title {
  color: var(--e-global-color-9e89d4e);
}
.elementor-5001 .elementor-element.elementor-element-h5heroright .elementor-widget-text-editor {
  text-align: center;
  font-size: 16px;
}

/* ============================
   RECENT HAIL STORMS (50/50 with image)
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5storms > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-5001 .elementor-element.elementor-element-h5storms > .elementor-container {
  max-width: 1280px;
}
.elementor-5001 .elementor-element.elementor-element-h5storms {
  padding: 90px 0px 90px 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5storms .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  max-height: 400px;
}
.elementor-5001 .elementor-element.elementor-element-h5storms .elementor-widget-text-editor {
  font-size: 16px;
}
.elementor-5001 .elementor-element.elementor-element-h5storms .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}

/* ============================
   ALTERNATING 50/50 CONTENT SECTIONS
   (damage, seeing, signs, todo, insurance)
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5damage > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-5001 .elementor-element.elementor-element-h5seeing > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-5001 .elementor-element.elementor-element-h5signs > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-5001 .elementor-element.elementor-element-h5todo > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor-5001 .elementor-element.elementor-element-h5insurance > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-5001 .elementor-element.elementor-element-h5damage > .elementor-container,
.elementor-5001 .elementor-element.elementor-element-h5seeing > .elementor-container,
.elementor-5001 .elementor-element.elementor-element-h5signs > .elementor-container,
.elementor-5001 .elementor-element.elementor-element-h5todo > .elementor-container,
.elementor-5001 .elementor-element.elementor-element-h5insurance > .elementor-container {
  max-width: 1280px;
}
.elementor-5001 .elementor-element.elementor-element-h5damage,
.elementor-5001 .elementor-element.elementor-element-h5seeing,
.elementor-5001 .elementor-element.elementor-element-h5signs,
.elementor-5001 .elementor-element.elementor-element-h5todo,
.elementor-5001 .elementor-element.elementor-element-h5insurance {
  padding: 90px 0px 90px 0px;
}

/* Alternate gray background sections */
.elementor-5001 .elementor-element.elementor-element-h5damage:not(.elementor-motion-effects-element-type-background),
.elementor-5001 .elementor-element.elementor-element-h5signs:not(.elementor-motion-effects-element-type-background),
.elementor-5001 .elementor-element.elementor-element-h5insurance:not(.elementor-motion-effects-element-type-background) {
  background-color: var(--e-global-color-147d088);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
}
.elementor-5001 .elementor-element.elementor-element-h5signs,
.elementor-5001 .elementor-element.elementor-element-h5insurance {
  padding-bottom: 10px !important;
}

/* Images in 50/50 sections – fill column height */
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-widget-image,
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-widget-image,
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-widget-image,
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-widget-image {
  height: 100%;
}
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-widget-image .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-widget-image .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-widget-image .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-widget-image .elementor-widget-container {
  height: 100%;
}
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-widget-image img,
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-widget-image img,
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-widget-image img,
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}

/* Icon lists in content sections */
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5todo .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5whybn .elementor-widget-icon-list .elementor-widget-container,
.elementor-5001 .elementor-element.elementor-element-h5wait .elementor-widget-icon-list .elementor-widget-container {
  padding: 0px 0px 0px 30px;
}
.elementor-5001 .elementor-widget-icon-list .elementor-icon-list-icon i {
  transition: color 0.3s;
}
.elementor-5001 .elementor-widget-icon-list {
  --e-icon-list-icon-size: 14px;
  --icon-vertical-offset: 0px;
}
.elementor-5001 .elementor-widget-icon-list .elementor-icon-list-icon {
  padding-inline-end: 2px;
}
.elementor-5001 .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-5001 .elementor-widget-icon-list .elementor-icon-list-item > a {
  font-weight: 500;
  font-style: italic;
}

/* Text font size in content sections */
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-widget-text-editor,
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-widget-text-editor,
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-widget-text-editor,
.elementor-5001 .elementor-element.elementor-element-h5todo .elementor-widget-text-editor,
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-widget-text-editor {
  font-size: 16px;
}

/* Widget spacing in text columns */
.elementor-5001 .elementor-element.elementor-element-h5damage .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child),
.elementor-5001 .elementor-element.elementor-element-h5seeing .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child),
.elementor-5001 .elementor-element.elementor-element-h5signs .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child),
.elementor-5001 .elementor-element.elementor-element-h5todo .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child),
.elementor-5001 .elementor-element.elementor-element-h5insurance .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}

/* ============================
   WHY YOU SHOULDN'T WAIT (full-width, gray bg)
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5wait:not(.elementor-motion-effects-element-type-background),
.elementor-5001 .elementor-element.elementor-element-h5wait > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-147d088);
}
.elementor-5001 .elementor-element.elementor-element-h5wait > .elementor-container {
  max-width: 1024px;
}
.elementor-5001 .elementor-element.elementor-element-h5wait {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  padding: 30px 0px 90px 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5wait .elementor-widget-text-editor {
  font-size: 16px;
}
.elementor-5001 .elementor-element.elementor-element-h5wait .elementor-col-100 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}

/* ============================
   WHY HOMEOWNERS CHOOSE BN EXTERIORS (gray bg)
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5whybn:not(.elementor-motion-effects-element-type-background),
.elementor-5001 .elementor-element.elementor-element-h5whybn > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--e-global-color-147d088);
}
.elementor-5001 .elementor-element.elementor-element-h5whybn > .elementor-container {
  max-width: 1024px;
}
.elementor-5001 .elementor-element.elementor-element-h5whybn {
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  padding: 30px 0px 90px 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5whybn .elementor-widget-text-editor {
  font-size: 16px;
}
.elementor-5001 .elementor-element.elementor-element-h5whybn .elementor-col-100 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}

/* ============================
   SERVICE AREAS (map + inline list)
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5areas > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-5001 .elementor-element.elementor-element-h5areas > .elementor-container {
  max-width: 1280px;
}
.elementor-5001 .elementor-element.elementor-element-h5areas {
  padding: 90px 0px 90px 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5areas .elementor-widget-text-editor {
  font-size: 16px;
}
.elementor-5001 .elementor-element.elementor-element-h5areas .elementor-inline-items .elementor-icon-list-item {
  margin-right: 15px;
}
.elementor-5001 .elementor-element.elementor-element-h5areas .elementor-col-50 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}
.elementor-5001 .elementor-element.elementor-element-h5areas .elementor-custom-embed iframe {
  width: 100%;
  height: 450px;
  border: 0;
}

/* ============================
   FAQ SECTION
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5faq > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-5001 .elementor-element.elementor-element-h5faq > .elementor-container {
  max-width: 900px;
}
.elementor-5001 .elementor-element.elementor-element-h5faq {
  padding: 90px 0px 90px 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5faq .elementor-widget-heading {
  text-align: center;
}
.elementor-5001 .elementor-element.elementor-element-h5faq .elementor-col-100 > .elementor-element-populated {
  padding: 15px;
}
.elementor-5001 .elementor-element.elementor-element-h5faq:not(.elementor-motion-effects-element-type-background) {
  background-color: var(--e-global-color-147d088);
}
.elementor-5001 .elementor-element.elementor-element-h5faq .elementor-tab-title {
  background-color: #ffffff;
}
.elementor-5001 .elementor-element.elementor-element-h5faq .elementor-toggle-icon {
  margin-inline-end: 5px;
}
.elementor-5001 .elementor-element.elementor-element-h5faq .elementor-col-100 > .elementor-widget-wrap > .elementor-widget:not(:last-child) {
  margin-block-end: 25px;
}

/* ============================
   CONTACT SECTION
   ============================ */
.elementor-5001 .elementor-element.elementor-element-h5contact > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content: center;
  align-items: center;
}
.elementor-5001 .elementor-element.elementor-element-h5contact > .elementor-container {
  max-width: 1040px;
}
.elementor-5001 .elementor-element.elementor-element-h5contact {
  padding: 90px 0px 90px 0px;
}

/* Contact left column (info card) */
.elementor-5001 .elementor-element.elementor-element-h5contactleft {
  width: 40%;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap {
  background-color: var(--e-global-color-147d088);
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft > .elementor-element-populated {
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  margin: 15px;
  padding: 35px 15px;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-text-editor {
  font-size: 16px;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-icon i {
  color: var(--e-global-color-primary);
  transition: color 0.3s;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-item > a {
  font-size: 18px;
  font-weight: 600;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-text {
  color: var(--e-global-color-primary);
  transition: color 0.3s;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-icon i {
  color: var(--e-global-color-secondary);
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft .elementor-widget-icon-list {
  --e-icon-list-icon-size: 16px;
  --icon-vertical-offset: 0px;
}
.elementor-5001 .elementor-element.elementor-element-h5contactleft h4.elementor-heading-title {
  padding-top: 3%;
}

/* Contact right column (form) */
.elementor-5001 .elementor-element.elementor-element-h5contactright {
  width: 60%;
}
.elementor-5001 .elementor-element.elementor-element-h5contactright > .elementor-element-populated {
  padding: 45px 15px 15px 15px;
}
.elementor-5001 .elementor-element.elementor-element-h5contactright .elementor-widget-heading {
  text-align: center;
}
.elementor-5001 .elementor-element.elementor-element-h5contactright .elementor-widget-divider {
  --divider-border-style: solid;
  --divider-color: var(--e-global-color-primary);
  --divider-border-width: 3px;
}
.elementor-5001 .elementor-element.elementor-element-h5contactright .elementor-divider-separator {
  width: 110px;
  margin: 0 auto;
}
.elementor-5001 .elementor-element.elementor-element-h5contactright .elementor-divider {
  text-align: center;
  padding-block-start: 10px;
  padding-block-end: 10px;
}

/* ============================
   RESPONSIVE
   ============================ */

/* Tablet (768px–1024px) */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-5001 .elementor-element.elementor-element-h5heroleft {
    width: 100%;
  }
  .elementor-5001 .elementor-element.elementor-element-h5heroright {
    width: 50%;
  }
  .elementor-5001 .elementor-element.elementor-element-h5hero > .elementor-container {
    min-height: 75vh;
  }
  .elementor-5001 .elementor-element.elementor-element-h5heroleft > .elementor-element-populated {
    padding: 20px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5heroright > .elementor-element-populated {
    margin: 20px;
    padding: 20px;
  }
}

/* Mobile (<767px) */
@media (max-width: 767px) {
  .elementor-5001 .elementor-element.elementor-element-h5heroleft,
  .elementor-5001 .elementor-element.elementor-element-h5heroright {
    width: 100%;
  }
  .elementor-5001 .elementor-element.elementor-element-h5hero > .elementor-container {
    min-height: auto;
  }
  .elementor-5001 .elementor-element.elementor-element-h5heroleft > .elementor-element-populated {
    padding: 15px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5heroright > .elementor-element-populated {
    margin: 15px;
    padding: 20px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5damage,
  .elementor-5001 .elementor-element.elementor-element-h5seeing,
  .elementor-5001 .elementor-element.elementor-element-h5signs,
  .elementor-5001 .elementor-element.elementor-element-h5todo,
  .elementor-5001 .elementor-element.elementor-element-h5insurance {
    padding: 50px 0px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5wait,
  .elementor-5001 .elementor-element.elementor-element-h5whybn {
    padding: 50px 20px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5faq {
    padding: 40px 10px;
  }
  .elementor-5001 .elementor-element.elementor-element-h5contactleft,
  .elementor-5001 .elementor-element.elementor-element-h5contactright {
    width: 100%;
  }
  .elementor-5001 .elementor-element.elementor-element-h5contact {
    padding: 50px 20px;
  }
}
