/* ==========================================================================
   Mike & Martin's Asphalt — post-migration overrides (custom.css)
   Loaded after the Webflow stylesheets. Version-bust with ?v=N on change.
   ========================================================================== */

/* ---- ALTCHA widget: self-contained theme so the "I'm not a robot" label
        stays legible on BOTH the light contact page and the dark hero forms ---- */
altcha-widget {
  display: block;
  margin: 0 0 16px;
  max-width: 280px;
  --altcha-color-base: #ffffff;
  --altcha-color-text: #1a1a1a;
  --altcha-color-border: #cbd2d9;
  --altcha-color-border-focus: #e91513;
  --altcha-color-active: #e91513;
  --altcha-color-error-text: #b42318;
  --altcha-color-footer-bg: #f4f6f8;
  --altcha-border-radius: 10px;
}
altcha-widget, .quote__form altcha-widget { color: #1a1a1a; }

/* ---- Form success box: a real green confirmation (Webflow's default is a
        washed-out mint that reads as disabled). contact.js sets display:block. ---- */
.quote__form-success.w-form-done,
.w-form-done {
  display: none;
  background: #e7f7ec;
  border: 1.5px solid #1a7f37;
  color: #0f5132;
  border-radius: 12px;
  padding: 24px 22px;
  text-align: center;
  font-weight: 600;
}
.w-form-fail { border-radius: 12px; }

/* ---- Service-card + service-area link hovers ---- */
.service-boxes__title-link { color: inherit; text-decoration: none; transition: color .2s ease; }
.service-boxes__title-link:hover { color: #e91513; }
.service-boxes__link { transition: color .2s ease; }
.service-area__text { transition: color .2s ease; }
.service-area__text:hover { color: #e91513; }
.s-area-item h3 a, .s-area-item h4 { transition: color .2s ease; }
.s-area-item:hover h3 a { color: #e91513; }

/* ---- Navbar must sit above hero overlays / background video on scroll ---- */
.navbar.w-nav { z-index: 1000; }

/* ---- Mobile hamburger <-> close-X: deterministic, keyed on the reliable
        .w--open class (core Webflow toggles it; don't rely on IX2 timing) ---- */
.navbar__close-icon-wrap { display: none; }
.navbar__menu-button.w--open .navbar__hamburguer-icon { display: none !important; }
.navbar__menu-button.w--open .navbar__close-icon-wrap { display: flex !important; }

/* ---- Location map: on desktop .map-absolute is position:absolute on the right
        half; on mobile stack info first, map below (else it overlaps/vanishes) ---- */
@media screen and (max-width: 991px) {
  .location.full-location .map-absolute {
    position: relative;
    width: 100%;
    height: 320px;
    margin: 24px 0 0;
    border-radius: 12px;
    overflow: hidden;
    inset: auto;
    order: 2;
  }
  .location.full-location .map-absolute iframe { width: 100%; height: 100%; border: 0; }
}

/* ---- iOS form foot-guns: 16px inputs (prevents auto-zoom), border-color focus
        (no box-shadow spread that overflows the viewport) ---- */
.quote__form-input.w-input,
.quote__form-input.w-input:focus,
textarea.quote__form-input {
  font-size: 16px;
}
.quote__form-input.w-input:focus {
  border-color: #e91513;
  box-shadow: none;
  outline: none;
}

/* ---- Service-areas hub search box ---- */
.area-search { max-width: 560px; margin: 0 auto 2rem; }
.area-search__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.95rem 1.15rem;
  font-size: 16px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  outline: none;
  background: #fff;
  color: #111;
}
.area-search__input:focus { border-color: #e91513; }
.area-search__empty { text-align: center; margin-top: 1rem; opacity: .85; color: #fff; }
.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;
}

/* ---- Home reviews carousel "See more Reviews" button: center it ---- */
.carousel-reviews__wrap > .button {
  display: block; width: max-content; max-width: 100%;
  margin-left: auto; margin-right: auto;
}

/* ---- Elfsight "Load More" on the reviews page: it ships with padding:0 and
        asks for Montserrat; give it a themed, tappable button ---- */
.reviews__wrap .es-load-more-button-container {
  margin-top: 40px !important;
  display: flex !important;
  justify-content: center !important;
}
.reviews__wrap .es-load-more-button.es-button-base-container {
  font-family: "Barlow", "Oswald", sans-serif !important;
  padding: 14px 30px !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* ---- Reviews page widget needs a min-height so it doesn't collapse pre-render.
        (NOT on the home carousel — that one is short and would leave a gap.) ---- */
.reviews__wrap .elfsight-app-f5681600-efa6-4858-ab02-4c70b9f1867a { min-height: 480px; }
