/* Asphalt Maintenance & Sealcoating — post-migration overrides.
   Loaded AFTER the Webflow stylesheets. Brand primary: #d35826. */

:root { --brand: #d35826; }

/* ---- Navbar / header above hero videos & overlays on scroll ---- */
.navbar.w-nav,
.navbar,
.header { z-index: 1000; }

/* ---- ALTCHA widget: self-contained light theme so the "I'm not a robot"
   label stays legible on BOTH light pages and dark hero/quote 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: #d35826;
  --altcha-color-active: #d35826;
  --altcha-color-error-text: #b42318;
  --altcha-color-footer-bg: #f4f6f8;
  --altcha-border-radius: 10px;
}
altcha-widget,
.quote__form altcha-widget { color: #1a1a1a; }

/* ---- Success box: a real green confirmation (replaces Webflow's mint) ---- */
.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;
}
/* leave .w-form-fail as Webflow's default red */

/* ---- iOS form foot-guns ---- */
.quote__form-input,
.quote__form-input.w-input,
input.quote__form-input,
textarea.quote__form-input { font-size: 16px; } /* prevents iOS auto-zoom */
.quote__form-input:focus {
  border-color: #d35826;
  box-shadow: none; /* no spread ring → no mobile horizontal scroll */
  outline: none;
}

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

/* ---- Service-area pager (areas-paginate.js) ---- */
.areas-pager {
  display: flex; flex-wrap: wrap; gap: 8px;
  justify-content: center; margin: 32px auto 0;
}
.areas-pager__btn {
  min-width: 42px; padding: 9px 14px;
  border: 1px solid #d9d9d9; background: #fff; color: #212121;
  border-radius: 8px; font-weight: 600; cursor: pointer;
  font-size: 15px; line-height: 1;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.areas-pager__btn:hover:not(:disabled) { border-color: #d35826; color: #d35826; }
.areas-pager__btn.is-active { background: #d35826; border-color: #d35826; color: #fff; }
.areas-pager__btn:disabled { opacity: .45; cursor: default; }
.areas-pager__dots { align-self: center; padding: 0 4px; color: #888; }

/* ---- Service-areas search box (injected on the hub page) ---- */
.area-search { max-width: 520px; margin: 0 auto 2rem; }
.area-search__input {
  width: 100%; box-sizing: border-box; padding: .85rem 1.1rem;
  font-size: 16px; border: 1px solid #d9d9d9; border-radius: 8px; outline: none;
}
.area-search__input:focus { border-color: #d35826; } /* border only — no shadow (iOS) */
.area-search__empty { text-align: center; margin-top: 1rem; opacity: .85; }
.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;
}

/* ---- Gallery filter tabs (gallery-filter.js) ---- */
.gallery__filter-tab {
  display: inline-block; padding: 8px 18px; margin: 0 6px 10px 0;
  border: 1px solid #d9d9d9; border-radius: 999px; background: #fff;
  color: #212121; font-weight: 600; font-size: 15px; cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.gallery__filter-tab:hover { border-color: #d35826; color: #d35826; }
.gallery__filter-tab.is-active { background: #d35826; border-color: #d35826; color: #fff; }

/* ---- Elfsight reviews (reviews page only — NOT the home .carousel-reviews):
   reserve height so the page doesn't jump while the widget boots ---- */
.reviews__wrap [class*="elfsight-app-"] { min-height: 480px; }
.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: "Saira", 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;
}
/* Home reviews carousel "See more Reviews" button centered */
.carousel-reviews__wrap > .button {
  display: block; width: max-content; max-width: 100%;
  margin-left: auto; margin-right: auto;
}

/* ---- Location map: stack info above map on mobile (defensive) ---- */
@media screen and (max-width: 991px) {
  .location.full-location .map-absolute {
    position: relative; width: 100%; margin-left: 0;
    height: 320px; margin-top: 24px; border-radius: 12px; overflow: hidden;
  }
  .location.full-location .map-absolute iframe { width: 100%; height: 100%; border: 0; }
}
