/* Area Checker: page scroll lock while popup is open */
html.ac-lock {
  overflow: hidden;
}

/* Area Checker: full-screen overlay */
.ac-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  transition: opacity 0.2s ease;
  font-family: inherit;
}

.ac-modal[hidden] {
  display: none;
}

.ac-modal.is-open {
  opacity: 1;
}

/* Area Checker: white dialog box */
.ac-dialog {
  position: relative;
  width: 100%;
  max-width: 940px;
  margin: auto;
  padding: 90px 60px;
  background: #ffffff;
  border-radius: 24px;
  text-align: center;
  transform: translateY(20px);
  transition: transform 0.2s ease;
}

.ac-modal.is-open .ac-dialog {
  transform: translateY(0);
}

.ac-dialog:focus {
  outline: none;
}

/* Area Checker: close button (top right) */
.ac-close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: 0;
  font-size: 32px;
  line-height: 40px;
  color: #333333;
  cursor: pointer;
}

.ac-close:hover {
  color: #00a8e8;
}

/* Area Checker: views (check / yes / no) */
.ac-view[hidden] {
  display: none;
}

/* Area Checker: eyebrow "Check My Area" */
.ac-eyebrow {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  color: #ffae1a;
}

/* Area Checker: popup title */
.ac-title {
  margin: 0 0 24px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  color: #000000;
}

/* Area Checker: popup description */
.ac-text {
  max-width: 780px;
  margin: 0 auto 36px;
  font-size: 16px;
  line-height: 1.6;
  color: #555555;
}

/* Area Checker: yes / no emoji icon */
.ac-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.ac-icon img,
.ac-icon svg {
  display: block;
  width: 40px;
  height: 40px;
}

/* Area Checker: input + button row */
.ac-form {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
}

/* Area Checker: input wrapper */
.ac-field {
  position: relative;
  width: 100%;
  max-width: 388px;
  text-align: left;
}

/* Area Checker: city/zip input */
.ac-input {
  width: 100%;
  height: 64px;
  padding: 0 24px;
  background: #ffffff;
  border: 1px solid #c4c4c4;
  border-radius: 40px;
  font-family: inherit;
  font-size: 16px;
  color: #333333;
  box-sizing: border-box;
}

.ac-input:focus {
  outline: none;
  border-color: #00a8e8;
}

/* Area Checker: validation error under the form */
.ac-error {
  margin: 16px 0 0;
  font-size: 14px;
  color: #d93025;
}

.ac-error[hidden] {
  display: none;
}

/* Area Checker: buttons (shared) */
.ac-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 64px;
  padding: 0 40px;
  border: 0;
  border-radius: 40px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.2s ease;
  box-sizing: border-box;
}

.ac-btn:focus {
  outline: none;
}

/* Area Checker: blue button */
.ac-btn--blue {
  background: #00a8e8;
}

.ac-btn--blue:hover {
  background: #0090c8;
  color: #ffffff;
}

/* Area Checker: orange button */
.ac-btn--orange {
  background: #ffae1a;
}

.ac-btn--orange:hover {
  background: #e89b0c;
  color: #ffffff;
}

/* Area Checker: "Check My Area" button uppercase + arrow */
.ac-check {
  text-transform: uppercase;
}

.ac-arrow {
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 11px solid #ffae1a;
}

/* Area Checker: phone icon inside call button */
.ac-phone-icon {
  display: inline-flex;
}

/* Area Checker: yes / no action buttons row */
.ac-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* Area Checker: mobile layout */
@media (max-width: 767px) {
  .ac-dialog {
    padding: 70px 20px 40px;
    border-radius: 20px;
  }

  .ac-title {
    font-size: 28px;
  }

  .ac-form {
    flex-direction: column;
    align-items: stretch;
  }

  .ac-field {
    max-width: none;
  }

  .ac-btn {
    width: 100%;
    padding: 0 24px;
  }

  .ac-actions {
    flex-direction: column;
  }
}

/* Area Checker trigger button: pointer icon after the text (every .btn.area-checker-open) */
.btn.area-checker-open::after {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-left: 12px;
  vertical-align: middle;
  background-color: #000000;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.208 2.33337C16.9759 2.33337 16.7534 2.42556 16.5893 2.58966C16.4252 2.75375 16.333 2.97631 16.333 3.20837V6.12504C16.333 6.35711 16.4252 6.57967 16.5893 6.74376C16.7534 6.90785 16.9759 7.00004 17.208 7.00004C17.4401 7.00004 17.6626 6.90785 17.8267 6.74376C17.9908 6.57967 18.083 6.35711 18.083 6.12504V3.20837C18.083 2.97631 17.9908 2.75375 17.8267 2.58966C17.6626 2.42556 17.4401 2.33337 17.208 2.33337ZM22.7847 4.63171C22.6206 4.46785 22.3982 4.37581 22.1663 4.37581C21.9345 4.37581 21.7121 4.46785 21.548 4.63171L19.5063 6.67337C19.4204 6.75348 19.3514 6.85008 19.3036 6.95741C19.2558 7.06475 19.2301 7.18061 19.228 7.2981C19.2259 7.41558 19.2475 7.53229 19.2915 7.64124C19.3355 7.75019 19.401 7.84916 19.4841 7.93225C19.5672 8.01534 19.6662 8.08084 19.7751 8.12485C19.8841 8.16886 20.0008 8.19047 20.1183 8.1884C20.2358 8.18632 20.3516 8.16061 20.459 8.11279C20.5663 8.06496 20.6629 7.99601 20.743 7.91004L22.7847 5.86837C22.9485 5.70431 23.0406 5.48192 23.0406 5.25004C23.0406 5.01817 22.9485 4.79577 22.7847 4.63171ZM11.6313 4.63171C11.4675 4.79577 11.3754 5.01817 11.3754 5.25004C11.3754 5.48192 11.4675 5.70431 11.6313 5.86837L13.673 7.91004C13.7531 7.99601 13.8497 8.06496 13.957 8.11279C14.0644 8.16061 14.1802 8.18632 14.2977 8.1884C14.4152 8.19047 14.5319 8.16886 14.6409 8.12485C14.7498 8.08084 14.8488 8.01534 14.9319 7.93225C15.015 7.84916 15.0805 7.75019 15.1245 7.64124C15.1685 7.53229 15.1901 7.41558 15.188 7.2981C15.186 7.18061 15.1602 7.06475 15.1124 6.95741C15.0646 6.85008 14.9956 6.75348 14.9097 6.67337L12.868 4.63171C12.7039 4.46785 12.4816 4.37581 12.2497 4.37581C12.0178 4.37581 11.7954 4.46785 11.6313 4.63171ZM25.083 10.2084C25.083 9.97631 24.9908 9.75375 24.8267 9.58966C24.6626 9.42556 24.4401 9.33337 24.208 9.33337H21.2913C21.0593 9.33337 20.8367 9.42556 20.6726 9.58966C20.5085 9.75375 20.4163 9.97631 20.4163 10.2084C20.4163 10.4404 20.5085 10.663 20.6726 10.8271C20.8367 10.9912 21.0593 11.0834 21.2913 11.0834H24.208C24.4401 11.0834 24.6626 10.9912 24.8267 10.8271C24.9908 10.663 25.083 10.4404 25.083 10.2084ZM18.083 11.0682C18.083 9.75338 16.5407 9.04404 15.5432 9.90037L5.67201 18.361C4.61034 19.271 5.21467 21.0105 6.61118 21.0677L11.0912 21.2462C11.573 21.2649 12.0257 21.4795 12.3477 21.8377L15.3973 25.2467C16.3388 26.3002 18.083 25.6329 18.083 24.22V11.0682Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.208 2.33337C16.9759 2.33337 16.7534 2.42556 16.5893 2.58966C16.4252 2.75375 16.333 2.97631 16.333 3.20837V6.12504C16.333 6.35711 16.4252 6.57967 16.5893 6.74376C16.7534 6.90785 16.9759 7.00004 17.208 7.00004C17.4401 7.00004 17.6626 6.90785 17.8267 6.74376C17.9908 6.57967 18.083 6.35711 18.083 6.12504V3.20837C18.083 2.97631 17.9908 2.75375 17.8267 2.58966C17.6626 2.42556 17.4401 2.33337 17.208 2.33337ZM22.7847 4.63171C22.6206 4.46785 22.3982 4.37581 22.1663 4.37581C21.9345 4.37581 21.7121 4.46785 21.548 4.63171L19.5063 6.67337C19.4204 6.75348 19.3514 6.85008 19.3036 6.95741C19.2558 7.06475 19.2301 7.18061 19.228 7.2981C19.2259 7.41558 19.2475 7.53229 19.2915 7.64124C19.3355 7.75019 19.401 7.84916 19.4841 7.93225C19.5672 8.01534 19.6662 8.08084 19.7751 8.12485C19.8841 8.16886 20.0008 8.19047 20.1183 8.1884C20.2358 8.18632 20.3516 8.16061 20.459 8.11279C20.5663 8.06496 20.6629 7.99601 20.743 7.91004L22.7847 5.86837C22.9485 5.70431 23.0406 5.48192 23.0406 5.25004C23.0406 5.01817 22.9485 4.79577 22.7847 4.63171ZM11.6313 4.63171C11.4675 4.79577 11.3754 5.01817 11.3754 5.25004C11.3754 5.48192 11.4675 5.70431 11.6313 5.86837L13.673 7.91004C13.7531 7.99601 13.8497 8.06496 13.957 8.11279C14.0644 8.16061 14.1802 8.18632 14.2977 8.1884C14.4152 8.19047 14.5319 8.16886 14.6409 8.12485C14.7498 8.08084 14.8488 8.01534 14.9319 7.93225C15.015 7.84916 15.0805 7.75019 15.1245 7.64124C15.1685 7.53229 15.1901 7.41558 15.188 7.2981C15.186 7.18061 15.1602 7.06475 15.1124 6.95741C15.0646 6.85008 14.9956 6.75348 14.9097 6.67337L12.868 4.63171C12.7039 4.46785 12.4816 4.37581 12.2497 4.37581C12.0178 4.37581 11.7954 4.46785 11.6313 4.63171ZM25.083 10.2084C25.083 9.97631 24.9908 9.75375 24.8267 9.58966C24.6626 9.42556 24.4401 9.33337 24.208 9.33337H21.2913C21.0593 9.33337 20.8367 9.42556 20.6726 9.58966C20.5085 9.75375 20.4163 9.97631 20.4163 10.2084C20.4163 10.4404 20.5085 10.663 20.6726 10.8271C20.8367 10.9912 21.0593 11.0834 21.2913 11.0834H24.208C24.4401 11.0834 24.6626 10.9912 24.8267 10.8271C24.9908 10.663 25.083 10.4404 25.083 10.2084ZM18.083 11.0682C18.083 9.75338 16.5407 9.04404 15.5432 9.90037L5.67201 18.361C4.61034 19.271 5.21467 21.0105 6.61118 21.0677L11.0912 21.2462C11.573 21.2649 12.0257 21.4795 12.3477 21.8377L15.3973 25.2467C16.3388 26.3002 18.083 25.6329 18.083 24.22V11.0682Z' fill='black'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Area Checker trigger button: bold black "Click Here" part inside the button text */
.btn.area-checker-open strong {
  color: #000000;
  font-weight: 700;
}

.area-margin {
  margin-bottom: 92px;
}

@media (max-width: 767px) {
  .area-margin {
    margin-bottom: 40px;
  }
}