/* A little more spring in the greens, with the same Ready Solar identity. */
:root {
  --green: #387923;
  --sage: #d2edb1;
  --brand-green-soft: #d2edb1;
  --brand-green-spring: #c3e996;
  --brand-green-credit: #b7e574;
  --brand-green-credit-hover: #abdc66;
  --brand-green-deep: #24533a;
  --brand-green-deep-hover: #1e4732;
}
.inner-page {
  --reader-green: var(--brand-green-soft);
}
.section.soft-bg,
.builder-checklist,
.evidence,
.inner-page .layout-tone-green {
  background: var(--brand-green-soft);
}
.netzero-incentive,
.cta-section {
  background: var(--brand-green-spring);
}
.home-builder {
  background: linear-gradient(115deg, #d2edb1, #bce58b);
}
.homepage .home-reviews {
  background: #ddf0b9;
}
.home-learning .home-learning-credit {
  background: var(--brand-green-credit);
  border-color: #95c65a;
}
.home-learning .home-learning-credit:hover {
  background: var(--brand-green-credit-hover);
}
.home-learning .home-learning-storage {
  background: var(--brand-green-deep);
  border-color: #3e7652;
}
.home-learning .home-learning-storage:hover {
  background: var(--brand-green-deep-hover);
}
.bc-current-city {
  background: #dcefbe;
  border-color: #c2dfa0;
}
.bc-map-visual .bc-outline {
  fill: #d8eac6;
}
.bc-map-visual .bc-pin.is-active .bc-pin-hit {
  fill: #c5eb75;
}
.bc-map-tools button[aria-pressed=true] {
  background: #315e30;
  border-color: #315e30;
}

/* The header reappears on a small upward scroll, not only at the page top. */
.scroll-header-spacer[hidden] {
  display: none;
}
@media (max-width: 1024px) {
  html {
    scroll-padding-top: 104px;
  }
  .homepage .site-header.rich-header.mobile-scroll-header,
  .inner-page .site-header.rich-header.mobile-scroll-header {
    --scroll-header-top: calc(14px + env(safe-area-inset-top, 0px));
    position: fixed;
    top: var(--scroll-header-top);
    left: 16px;
    right: 16px;
    width: calc(100% - 32px);
    max-width: none;
    margin: 0;
    z-index: 90;
    transform: translateY(0);
    opacity: 1;
    transition: transform 200ms cubic-bezier(.23, 1, .32, 1), opacity 160ms ease;
  }
  .homepage .site-header.rich-header.mobile-scroll-header.is-scroll-hidden,
  .inner-page .site-header.rich-header.mobile-scroll-header.is-scroll-hidden {
    transform: translateY(calc(-100% - var(--scroll-header-top) - 16px));
    opacity: 0;
    pointer-events: none;
  }
  .site-header.rich-header.mobile-scroll-header #main-nav {
    max-height: calc(100dvh - 114px - env(safe-area-inset-top, 0px));
    overscroll-behavior-y: contain;
  }
}
@media (max-width: 700px) {
  .homepage .site-header.rich-header.mobile-scroll-header,
  .inner-page .site-header.rich-header.mobile-scroll-header {
    --scroll-header-top: calc(10px + env(safe-area-inset-top, 0px));
    left: 12px;
    right: 12px;
    width: calc(100% - 24px);
  }
  .site-header.rich-header.mobile-scroll-header #main-nav {
    max-height: calc(100dvh - 96px - env(safe-area-inset-top, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header.rich-header.mobile-scroll-header {
    transition: none !important;
  }
}

/* Clear, restrained contact feedback and text-only gallery controls. */
.quote-form .button { justify-content: center; }
.quote-form .button:disabled { opacity: .62; cursor: not-allowed; }
.quote-form [data-enquiry-status] { font-size: 13px; line-height: 1.65; margin: 16px 0 0; }
.quote-form [data-enquiry-status]:empty { display: none; }
.quote-form [data-enquiry-status]:not(:empty) { padding: 14px 16px; background: var(--brand-green-soft); border-radius: 10px; }
.quote-form [data-enquiry-fallback] { margin-top: 16px; line-height: 1.7; }
.quote-form [data-enquiry-fallback] a { text-decoration: underline; text-underline-offset: 3px; }
#gallery-previous, #gallery-next { width: auto; min-width: 64px; padding: 10px 15px; font-size: 12px; line-height: 1.4; }

@media (max-width: 700px) {
  .quote-form input:not([type=checkbox]), .quote-form select, .quote-form textarea { font-size: 16px; }
}
