/* ==========================================================================
   D&H Paving — custom overrides layered on top of the Webflow export.
   Loaded after dh-paving.css on every page (injected by scripts/build.js).
   Keep the Webflow CSS pristine; put all migration tweaks here.
   ========================================================================== */

/* --- Contact form honeypot (spam trap; must be invisible & unfocusable) --- */
.dh-honey {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* --- ALTCHA spam-filter widget (replaces Webflow reCAPTCHA) --- */
.dh-altcha {
  display: block;
  margin: 0 0 16px;
  --altcha-max-width: 100%;
  --altcha-border-radius: 8px;
  --altcha-border-width: 1px;
  --altcha-color-border: #0000003d;
}

/* --- iOS: inputs must be >=16px or Safari auto-zooms and forces h-scroll --- */
@media screen and (max-width: 767px) {
  .quote__form-input,
  .quote__form-input.w-input,
  .quote__form-input.textarea {
    font-size: 16px !important;
  }
}

/* --- Navbar stays above hero overlays / background video on scroll --- */
.header.w-nav {
  position: relative;
  z-index: 1000;
}

/* --- Maps: keep embeds full-width and a sane height on tablet/mobile --- */
@media screen and (max-width: 991px) {
  .map-embed,
  .map-row,
  .map-embed iframe,
  .map-row iframe,
  .map-absolute iframe {
    width: 100% !important;
  }
  .map-embed iframe,
  .map-row iframe {
    height: 320px !important;
  }
  .map-absolute {
    position: relative !important;
    width: 100% !important;
    height: 320px !important;
    margin: 24px 0 0 !important;
    border-radius: 12px;
    overflow: hidden;
  }
}

/* --- Service-card title hover affordance (links are whole-card in this build) --- */
.card.service { transition: transform .2s ease, box-shadow .2s ease; }

/* --- Reviews page: center the Elfsight "Load More" button + theme it --- */
.rev-page .es-load-more-button-container,
.testimonials-right .es-load-more-button-container {
  margin-top: 32px !important;
  display: flex !important;
  justify-content: center !important;
}
.rev-page .es-load-more-button.es-button-base-container,
.testimonials-right .es-load-more-button.es-button-base-container {
  font-family: "Montserrat", sans-serif !important;
  padding: 14px 30px !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* --- Home reviews carousel "See more Reviews" button centering --- */
.testimonials-right > .flex-vc {
  width: 100%;
}

/* --- a11y helper used by injected markup (kept for parity with house template) --- */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
