/* WTT AirROI v3.3.3
   Mobile modal overflow guard.
   This file is intentionally CSS-only. It does not touch AirROI calls, report data, cache, or address logic. */

html body .wtt-modal,
html body .wtt-modal *,
html body .wtt-modal *::before,
html body .wtt-modal *::after{
  box-sizing:border-box!important;
}

html body.wtt-modal-open{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

html body .wtt-modal{
  left:0!important;
  right:0!important;
  width:100dvw!important;
  max-width:100dvw!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}

html body .wtt-modal .wtt-modal-dialog{
  min-width:0!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
}

html body .wtt-modal .wtt-modal-body,
html body .wtt-modal .wtt-airroi-estimator,
html body .wtt-modal .wtt-shell,
html body .wtt-modal .wtt-main,
html body .wtt-modal .wtt-card,
html body .wtt-modal .wtt-results-grid,
html body .wtt-modal .wtt-airroi-results,
html body .wtt-modal .wtt-comp-gallery,
html body .wtt-modal .wtt-comp-listing-card,
html body .wtt-modal .wtt-grid,
html body .wtt-modal .wtt-field{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

html body .wtt-modal img,
html body .wtt-modal svg,
html body .wtt-modal canvas,
html body .wtt-modal video,
html body .wtt-modal table{
  max-width:100%!important;
}

html body .wtt-modal input,
html body .wtt-modal select,
html body .wtt-modal textarea,
html body .wtt-modal button{
  max-width:100%!important;
}

html body .wtt-modal .wtt-report-tabs{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}

html body .wtt-modal .wtt-report-tab,
html body .wtt-modal .wtt-comp-listing-card h5,
html body .wtt-modal .wtt-comp-location,
html body .wtt-modal .wtt-comp-link-note,
html body .wtt-modal .wtt-mini-card,
html body .wtt-modal .wtt-bar-row,
html body .wtt-modal .wtt-line,
html body .wtt-modal .wtt-note{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

@media (max-width:700px){
  html body .wtt-modal{
    padding:0!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
  }

  html body .wtt-modal .wtt-modal-dialog{
    width:100dvw!important;
    max-width:100dvw!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    transform:none!important;
  }

  html body .wtt-modal .wtt-modal-body{
    height:100%!important;
    max-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  html body .wtt-modal .wtt-airroi-estimator{
    margin:0!important;
    padding:0!important;
  }

  html body .wtt-modal .wtt-shell{
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  html body .wtt-modal .wtt-header,
  html body .wtt-modal .wtt-section,
  html body .wtt-modal .wtt-card,
  html body .wtt-modal .wtt-results-card{
    min-width:0!important;
  }

  html body .wtt-modal .wtt-comp-gallery{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }

  html body .wtt-modal .wtt-comp-listing-card .wtt-comp-image-link{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}


/* v3.3.8 address dropdown: portal overlay under Street Address / House Number, not a hidden scroll ledger. */
html body .wtt-modal .wtt-address-field{
  position:relative!important;
  overflow:visible!important;
  z-index:2147483000!important;
}

html body .wtt-address-suggestions-home{
  display:none!important;
}

html body .wtt-modal .wtt-address-suggestions[hidden],
html body .wtt-address-suggestions.wtt-address-suggestions--portal[hidden]{
  display:none!important;
}

html body .wtt-address-suggestions.wtt-address-suggestions--portal:not([hidden]){
  position:fixed!important;
  display:block!important;
  right:auto!important;
  z-index:2147483647!important;
  overflow:visible!important;
  max-height:none!important;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:auto!important;
  border-radius:18px!important;
  border:2px solid rgba(0,194,255,.82)!important;
  background:#ffffff!important;
  box-shadow:0 24px 64px rgba(2,27,58,.30)!important;
}

html body .wtt-address-suggestions.wtt-address-suggestions--portal:not([hidden]) .wtt-suggestion,
html body .wtt-address-suggestions.wtt-address-suggestions--portal:not([hidden]) .wtt-suggestion-empty,
html body .wtt-address-suggestions.wtt-address-suggestions--portal:not([hidden]) .wtt-suggestion-attribution{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

html body .wtt-address-suggestions.wtt-address-suggestions--portal:not([hidden]) .wtt-suggestion{
  min-height:48px!important;
  border-bottom:1px solid rgba(2,27,58,.10)!important;
}
