/* v1.16.857 – canonical Mapbox/address autocomplete presentation.
   This component is intentionally isolated from generic/global button styles. */
.snavio-address-results{
  position:absolute;
  z-index:1000;
  left:0;
  right:0;
  top:calc(100% + 4px);
  box-sizing:border-box;
  max-height:320px;
  overflow:auto;
  padding:0;
  background:#fff;
  color:#1f2937;
  border:1px solid var(--sn-line,#d7dee8);
  border-radius:10px;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  font:inherit;
  text-align:left;
}
.snavio-address-results[hidden]{display:none!important}
.snavio-address-results button.snavio-address-option,
.snavio-address-results button[data-snavio-address-choice],
.snavio-address-results button.snavio-address-suggestion{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid #edf0f4!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  color:#1f2937!important;
  -webkit-text-fill-color:#1f2937!important;
  box-shadow:none!important;
  font:inherit!important;
  text-align:left!important;
  line-height:1.35!important;
  white-space:normal!important;
  cursor:pointer!important;
}
.snavio-address-results button.snavio-address-option:last-of-type,
.snavio-address-results button[data-snavio-address-choice]:last-of-type,
.snavio-address-results button.snavio-address-suggestion:last-of-type{border-bottom:0!important}
.snavio-address-results button.snavio-address-option:hover,
.snavio-address-results button.snavio-address-option:focus-visible,
.snavio-address-results button[data-snavio-address-choice]:hover,
.snavio-address-results button[data-snavio-address-choice]:focus-visible,
.snavio-address-results button.snavio-address-suggestion:hover,
.snavio-address-results button.snavio-address-suggestion:focus-visible{
  background:#f6f8fb!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  outline:0!important;
  box-shadow:inset 3px 0 0 var(--sn-primary,#2563eb)!important;
}
.snavio-address-results strong{
  display:block;
  color:#202634!important;
  -webkit-text-fill-color:#202634!important;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
.snavio-address-results .snavio-address-option>span,
.snavio-address-results [data-snavio-address-choice]>span,
.snavio-address-results .snavio-address-suggestion>span:not(.snavio-address-kind){
  display:block;
  margin-top:2px;
  color:#667085!important;
  -webkit-text-fill-color:#667085!important;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
}
.snavio-address-results .snavio-address-provider,
.snavio-address-results .snavio-address-mapbox,
.snavio-address-results .snavio-address-empty,
.snavio-address-results .snavio-address-suggestions-empty{
  display:block;
  box-sizing:border-box;
  padding:8px 12px;
  color:#667085;
  background:#fff;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
}
.snavio-address-results .snavio-address-provider,
.snavio-address-results .snavio-address-mapbox{
  margin:0;
  border-top:1px solid var(--sn-line,#e5e9ef);
  color:#7b8798;
  text-align:left;
}
.snavio-address-results .snavio-address-kind{
  display:inline-flex;
  margin-top:4px;
  border-radius:999px;
  padding:2px 6px;
  background:#f2f4f7;
  color:#667085;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
}

@media (max-width:640px){
  .snavio-address-results{max-height:280px;border-radius:10px}
  .snavio-address-results .snavio-address-option,
  .snavio-address-results [data-snavio-address-choice],
  .snavio-address-results .snavio-address-suggestion{min-height:44px;padding:11px}
}


/* Canonical visual emphasis for every Mapbox-backed address search field. */
.snavio-address-input{
  border-color:var(--sn-primary,#2563eb)!important;
  background:#f2f7ff!important;
  box-shadow:0 0 0 1px rgba(37,99,235,.10)!important;
}
.snavio-address-input:hover{background:#edf4ff!important}
.snavio-address-input:focus{
  border-color:var(--sn-primary,#2563eb)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14)!important;
  outline:0!important;
}

/* Provider master-data address search: shared by Settings and guided onboarding. */
.snavio-provider-address-search{position:relative;display:grid;gap:6px;max-width:720px}
.snavio-company-fields>.snavio-provider-address-search{width:100%;max-width:720px}
.snavio-provider-address-search>[data-snavio-provider-address-results]{position:absolute;z-index:50;left:0;right:0;top:100%;margin-top:4px}
.snavio-onboarding-grid .snavio-provider-address-search{max-width:none}

/* v1.16.868 - canonical customer account address search */
.snavio-customer-address-search{position:relative;display:grid;gap:6px;max-width:760px;margin:10px 0 14px;padding:12px;border:1px solid #b7cef8;border-radius:12px;background:#f4f8ff}
.snavio-customer-address-search>label{display:grid;gap:6px;color:#244a86}
.snavio-customer-address-search input[data-snavio-customer-address-input]{width:100%;background:#fff;border-color:#8fb3f4}
.snavio-customer-address-search>[data-snavio-customer-address-results]{position:absolute;z-index:60;left:12px;right:12px;top:calc(100% - 8px)}
.snavio-customer-address-search>small{color:#62708a}
.snavio-customer-master-form{display:grid;gap:14px}


/* v1.16.961 – Canonical Mapbox-derived master-address fields. */
.snavio-address-derived[readonly]{
  background:#f3f5f8!important;
  color:#4c5870!important;
  border-color:#d8dee8!important;
  cursor:not-allowed;
  box-shadow:none!important;
}
.snavio-address-derived[readonly]:focus{outline:none!important;border-color:#d8dee8!important;box-shadow:none!important}
