
/* FINAL LOCAL PATCHES - readability, original scrolling header, working roof tool */
:root { --ge-blue:#051f3d; --ge-yellow:#f2b705; }
html body #header,
html body header.u-header,
html body header.u-sticky,
html body .u-sticky,
html body .u-sticky-fixed,
html body .u-sticky-placeholder { position: relative !important; top: auto !important; left: auto !important; right: auto !important; transform: none !important; }
html body { padding-top: 0 !important; }
/* no white-on-white or blue-on-blue */
.u-white p, .u-white h1, .u-white h2, .u-white h3, .u-white h4, .u-white h5, .u-white h6,
.u-grey-5 p, .u-grey-5 h1, .u-grey-5 h2, .u-grey-5 h3, .u-grey-5 h4, .u-grey-5 h5, .u-grey-5 h6,
.u-grey-light-2 p, .u-grey-light-2 h1, .u-grey-light-2 h2, .u-grey-light-2 h3, .u-grey-light-2 h4, .u-grey-light-2 h5, .u-grey-light-2 h6,
.u-section-1:not(.u-custom-color-2):not(.u-image) .u-text,
.u-section-2:not(.u-custom-color-2):not(.u-image) .u-text,
.u-section-3:not(.u-custom-color-2):not(.u-image) .u-text { color: var(--ge-blue) !important; }
.u-custom-color-2 .u-text, .u-custom-color-2 p, .u-custom-color-2 h1, .u-custom-color-2 h2, .u-custom-color-2 h3, .u-custom-color-2 h4, .u-custom-color-2 h5, .u-custom-color-2 h6 { color:#fff !important; }
/* financing banner text treatment — all blue, spans yellow */
.ge-low-interest-banner-text { color:#051f3d !important; -webkit-text-fill-color:#051f3d !important; text-shadow:none !important; }
.ge-low-interest-banner-text * { color:#051f3d !important; -webkit-text-fill-color:#051f3d !important; }
.ge-low-interest-banner-text span,
.ge-low-interest-banner-text .u-text-custom-color-1 { color:#f2b705 !important; -webkit-text-fill-color:#f2b705 !important; }
/* keep roof type cards visible and not distorted */
#stepRoofType .roof-type-card img { object-fit: cover !important; object-position: center center !important; }
#stepRoofType .roof-type-label { background: var(--ge-yellow) !important; color: var(--ge-blue) !important; }

/* ── FAQ ACCORDION: + / × icon ── */
/* Hide the original SVG-based plus icon */
.u-accordion-link-icon svg {
  display: none !important;
}
/* Replace with a text + sign */
.u-accordion-link-icon::after {
  content: '+';
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
  border: 2px solid #051f3d;
  border-radius: 4px;
  background: #fff;
  box-sizing: border-box;
  transition: transform 0.2s ease;
}
/* When the link is active (open), show × */
.u-accordion-link.active .u-accordion-link-icon::after {
  content: '×';
  font-size: 26px;
}

/* ── "Safety and Service / get a free quote" yellow strip: fix uneven height/two-tone ── */
.u-section-7 .u-layout-row {
  align-items: stretch !important;
}
.u-section-7 .u-layout-cell-1,
.u-section-7 .u-layout-cell-2 {
  min-height: 165px !important;
  background-color: var(--ge-yellow) !important;
  background-image: none !important;
}
@media (max-width: 1199px) {
  .u-section-7 .u-layout-cell-1,
  .u-section-7 .u-layout-cell-2 {
    min-height: 136px !important;
  }
}
@media (max-width: 991px) {
  .u-section-7 .u-layout-cell-1,
  .u-section-7 .u-layout-cell-2 {
    min-height: 146px !important;
  }
}
@media (max-width: 767px) {
  .u-section-7 .u-layout-cell-1,
  .u-section-7 .u-layout-cell-2 {
    min-height: 202px !important;
  }
}

/* ── 9-CARD SERVICE GRID: static grid, no carousel ── */
.u-section-10 .u-sheet-1 {
  min-height: 0 !important;
  padding-top: 40px;
  padding-bottom: 40px;
}
.ge-service-grid {
  display: grid !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  overflow: visible !important;
}
.ge-service-grid-repeater {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  position: static !important;
  transform: none !important;
}
.ge-service-grid-repeater .u-repeater-item {
  position: static !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}
.ge-service-grid-repeater .u-container-layout {
  height: auto !important;
  min-height: 0 !important;
  padding: 16px !important;
}
.ge-service-grid-repeater .u-image {
  position: relative !important;
  height: 200px !important;
  margin-bottom: 12px !important;
}
.ge-service-grid-repeater h4 {
  margin: 0 !important;
}
@media (max-width: 991px) {
  .ge-service-grid-repeater {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 599px) {
  .ge-service-grid-repeater {
    grid-template-columns: 1fr !important;
  }
  .ge-service-grid-repeater .u-image {
    height: 220px !important;
  }
}
