.nls-cadmap-launch {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  margin-top: 8px;
}

.nls-cadmap-launch[hidden] { display: none !important; }

.nls-cadmap-launch__button {
  appearance: none;
  min-height: 34px;
  border: 1px solid #cfd5dd;
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  color: #27344b;
  font: 750 12px/1.2 inherit;
  cursor: pointer;
}

.nls-cadmap-launch__button:hover { border-color: #9ca6b4; background: #f7f8fa; }
.nls-cadmap-launch__button:disabled { cursor: not-allowed; opacity: .5; }
.nls-cadmap-launch__button:focus-visible,
.nls-cadmap-coords__input:focus-visible,
.nls-cadmap-coords__copy:focus-visible,
.nls-cadmap-dialog button:focus-visible,
.nls-cadmap-dialog .maplibregl-canvas:focus-visible,
.nls-cadmap-dialog .maplibregl-marker:focus-visible,
.nls-cadmap-inline .maplibregl-canvas:focus-visible,
.nls-cadmap-inline .maplibregl-marker:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(200, 16, 46, .28);
}

.nls-cadmap-launch__state {
  min-width: 0;
  color: #667085;
  font-size: 11.5px;
  line-height: 1.35;
}

.nls-cadmap-launch__state.is-linked { color: #157347; }

body.nls-cadmap-open { overflow: hidden !important; }

.nls-cadmap-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 24px;
  background: rgba(11, 18, 30, .68);
  backdrop-filter: blur(3px);
}

.nls-cadmap-dialog {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1120px, 100%);
  max-height: min(900px, calc(100vh - 48px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 16px;
  background: #fff;
  color: #182230;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
  font-family: inherit;
}

.nls-cadmap-dialog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  border-bottom: 1px solid #e7eaf0;
}

.nls-cadmap-dialog__eyebrow {
  margin: 0 0 3px;
  color: #c8102e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.nls-cadmap-dialog__head h2 {
  margin: 0;
  color: #18181b;
  font-size: clamp(20px, 2.3vw, 28px);
  line-height: 1.15;
}

.nls-cadmap-dialog__head p:last-child {
  max-width: 740px;
  margin: 5px 0 0;
  color: #667085;
  font-size: 12.5px;
  line-height: 1.45;
}

.nls-cadmap-dialog__close {
  appearance: none;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid #d7dce4;
  border-radius: 11px;
  background: #fff;
  color: #344054;
  font: 700 22px/1 inherit;
  cursor: pointer;
}

.nls-cadmap-dialog__body {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .78fr);
  min-height: 0;
  overflow: hidden;
}

.nls-cadmap-dialog__mapwrap,
.nls-cadmap-inline__frame {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #d7e1e6;
}

.nls-cadmap-dialog__map {
  width: 100%;
  min-height: 560px;
  height: 100%;
}

.nls-cadmap-inline { display: grid; gap: 8px; width: 100%; height: auto; overflow: visible; }
.nls-cadmap-inline__frame { width: 100%; height: 300px; border-radius: 11px; }
.nls-cadmap-inline__canvas { width: 100%; height: 100%; min-height: inherit; }

/* The Tour drawer is portalled beside #nls-sr-root, so its historical
   root-scoped map height never reaches this mount. Give the shared inline
   cadastral map a real viewport in that portal instead of a zero-height
   canvas that is technically running but impossible for the agent to see. */
.tw-drawer .tw-address-picker__map.nls-cadmap-inline {
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  z-index: 0;
}

.tw-drawer .nls-cadmap-inline__frame {
  height: 238px;
  min-height: 238px;
  border: 1px solid #e2e2e6;
  background: #edf2f4;
}

.nls-cadmap-coords {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin-top: 14px;
}

.nls-cadmap-inline > .nls-cadmap-coords { margin-top: 0; }
.nls-cadmap-coords__label { color: #344054; font-size: 12px; font-weight: 750; line-height: 1.3; }
.nls-cadmap-coords__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }

.nls-cadmap-coords__input {
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  border: 1px solid #cfd5dd;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: #182230;
  font: 650 13px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.nls-cadmap-coords__input[aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 2px rgba(180, 35, 24, .1); }

.nls-cadmap-coords__copy {
  appearance: none;
  min-height: 40px;
  border: 1px solid #cfd5dd;
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
  color: #27344b;
  font: 750 12px/1.2 inherit;
  cursor: pointer;
}

.nls-cadmap-coords__copy:hover { border-color: #9ca6b4; background: #f7f8fa; }
.nls-cadmap-coords__copy:disabled { cursor: not-allowed; opacity: .5; }
.nls-cadmap-coords__hint { margin: 0; color: #667085; font-size: 10.5px; line-height: 1.4; }
.nls-cadmap-coords__hint.is-error { color: #b42318; }

.nls-cadmap-legend {
  position: absolute;
  z-index: 3;
  left: 12px;
  bottom: 12px;
  display: grid;
  gap: 5px;
  max-width: calc(100% - 24px);
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 9px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 4px 18px rgba(22, 34, 48, .2);
  color: #344054;
  font-size: 11px;
  line-height: 1.25;
  pointer-events: none;
}

.nls-cadmap-legend span { display: flex; align-items: center; gap: 7px; }
.nls-cadmap-legend i { width: 19px; height: 10px; border-radius: 2px; }
.nls-cadmap-legend__plot { border: 2px solid #f5b700; background: rgba(245, 183, 0, .13); }
.nls-cadmap-legend__building { border: 2px solid #c8102e; background: rgba(200, 16, 46, .3); }
.nls-cadmap-legend__nearby { border: 1px solid #fff; background: rgba(36, 72, 98, .32); }

.nls-cadmap-dialog__side {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: auto;
  padding: 18px;
  border-left: 1px solid #e7eaf0;
  background: #fff;
}

.nls-cadmap-dialog__status {
  min-height: 38px;
  margin: 0 0 12px;
  color: #475467;
  font-size: 12.5px;
  line-height: 1.45;
}

.nls-cadmap-dialog__status.is-error { color: #b42318; }

.nls-cadmap-dialog__details {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  background: #f8fafc;
}

.nls-cadmap-dialog__details[hidden] { display: none; }
.nls-cadmap-dialog__details h3 { margin: 0; color: #1d2939; font-size: 15px; line-height: 1.35; }
.nls-cadmap-dialog__details code { color: #c8102e; font: 700 11.5px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all; }
.nls-cadmap-dialog__details dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 10px; margin: 0; font-size: 11.5px; }
.nls-cadmap-dialog__details dt { color: #667085; }
.nls-cadmap-dialog__details dd { margin: 0; color: #1d2939; font-weight: 700; }
.nls-cadmap-dialog__note { margin: 0; color: #667085; font-size: 11px; line-height: 1.45; }

.nls-cadmap-dialog__actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding-top: 18px;
}

.nls-cadmap-dialog__action {
  appearance: none;
  width: 100%;
  min-height: 42px;
  border: 1px solid #ccd2db;
  border-radius: 9px;
  padding: 9px 12px;
  background: #fff;
  color: #27344b;
  font: 750 12.5px/1.25 inherit;
  cursor: pointer;
}

.nls-cadmap-dialog__action--primary { border-color: #c8102e; background: #c8102e; color: #fff; }
.nls-cadmap-dialog__action--manual { border-style: dashed; }
.nls-cadmap-dialog__action:disabled { cursor: not-allowed; opacity: .48; }

.nls-cadmap-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #475467;
  text-align: center;
}

.nls-cadmap-dialog .maplibregl-ctrl-group,
.nls-cadmap-inline .maplibregl-ctrl-group { border-radius: 8px; }
.nls-cadmap-dialog .maplibregl-ctrl-attrib,
.nls-cadmap-inline .maplibregl-ctrl-attrib { font-size: 10px; }

@media (max-width: 760px) {
  .nls-cadmap-overlay { align-items: stretch; padding: 0; }
  .nls-cadmap-dialog { width: 100%; max-height: 100dvh; height: 100dvh; border: 0; border-radius: 0; }
  .nls-cadmap-dialog__head { padding: 14px 15px; }
  .nls-cadmap-dialog__head p:last-child { display: none; }
  .nls-cadmap-dialog__body { display: flex; flex-direction: column; overflow: auto; }
  .nls-cadmap-dialog__mapwrap { flex: 0 0 auto; min-height: 365px; }
  .nls-cadmap-dialog__map { height: 365px; min-height: 365px; }
  .nls-cadmap-dialog__side { overflow: visible; border-top: 1px solid #e7eaf0; border-left: 0; }
  .nls-cadmap-dialog__actions { margin-top: 4px; }
}

@media (max-width: 420px) {
  .nls-cadmap-dialog__mapwrap,
  .nls-cadmap-dialog__map { min-height: 325px; height: 325px; }
  .nls-cadmap-legend { left: 8px; bottom: 8px; }
  .tw-drawer .nls-cadmap-inline__frame { height: 210px; min-height: 210px; }
}

/* 2026-10-15 — editable address + numbered instructions in the side panel */
.nls-cadmap-addr{ margin:0 0 14px; }
.nls-cadmap-addr__label{ display:block; font-size:12px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:#555; margin:0 0 6px; }
.nls-cadmap-addr__row{ display:flex; gap:8px; }
.nls-cadmap-addr__input{ flex:1 1 auto; min-width:0; height:40px; padding:0 12px; border:1px solid #d6d6da; border-radius:10px; font-size:14px; background:#fff; }
.nls-cadmap-addr__input:focus{ outline:2px solid rgba(200,16,46,.35); border-color:#c8102e; }
.nls-cadmap-addr__find{ flex:0 0 auto; height:40px; padding:0 16px; border:0; border-radius:10px; background:#c8102e; color:#fff; font-weight:600; cursor:pointer; }
.nls-cadmap-addr__find:disabled{ opacity:.6; cursor:progress; }
.nls-cadmap-addr__msg{ margin:6px 0 0; font-size:12.5px; color:#555; min-height:1em; }
.nls-cadmap-addr__msg.is-error{ color:#b4232f; }
.nls-cadmap-addr__msg.is-ok{ color:#1d6b3a; }
.nls-cadmap-steps{ margin:0 0 6px; padding-left:20px; font-size:13px; line-height:1.45; color:#333; }
.nls-cadmap-steps li{ margin:0 0 6px; }
.nls-cadmap-steps__note{ margin:0 0 12px; font-size:12px; color:#666; }

/* 2026-10-15 — live map under the Add Property address field (attach({ inlineMap: true })) */
.nls-cadmap-inlinebox{ margin:10px 0 4px; }
.nls-cadmap-inlinebox__hint{ margin:0 0 8px; font-size:12.5px; color:#555; line-height:1.4; }
.nls-cadmap-inlinebox__map .nls-cadmap-inline__frame{ height:320px; }
@media (max-width:640px){ .nls-cadmap-inlinebox__map .nls-cadmap-inline__frame{ height:240px; } }

.nls-cadmap-inlinebox__title{ margin:0 0 4px; font-weight:600; font-size:14px; color:#1a1a1a; }
.nls-cadmap-inlinebox__steps{ margin:0 0 6px; padding-left:20px; font-size:13px; line-height:1.45; color:#333; }
.nls-cadmap-inlinebox__steps li{ margin:0 0 3px; }
.nls-cadmap-inlinebox__hint:empty{ display:none; }
.nls-cadmap-inlinebox__hint{ padding:8px 10px; border-radius:8px; background:#f6f7f9; color:#333; }

/* Conor 2026-10-15: instructions first (guide at the top of Location), the street search + checks directly above the map. */
.nls-cadmap-guide{ margin:0 0 16px; padding:14px 16px 8px; border-radius:14px; background:#fff; border:1px solid #ece7e7; box-shadow:0 1px 2px rgba(16,24,40,.04); transition:background .25s ease, border-color .25s ease; }
.nls-cadmap-guide__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 8px; }
.nls-cadmap-guide__title{ margin:0; font-weight:700; font-size:15px; color:#1a1a1a; }
.nls-cadmap-guide__title small{ margin-left:6px; font-weight:500; font-size:12px; color:#4b7a5c; }
.nls-cadmap-guide__toggle{ border:0; background:none; padding:0; color:#c8102e; font-weight:600; font-size:12.5px; text-decoration:underline; cursor:pointer; }
.nls-cadmap-guide__steps{ list-style:none; margin:0; padding:0; counter-reset:none; }
.nls-cadmap-guide__steps li{ list-style:none; display:flex; gap:12px; align-items:flex-start; margin:0 0 4px; padding:8px 10px; border-radius:10px; cursor:pointer; transition:background .2s ease; }
.nls-cadmap-guide__steps li[hidden]{ display:none; }
.nls-cadmap-guide__steps li:hover{ background:#faf6f6; }
.nls-cadmap-guide__steps li:focus-visible{ outline:2px solid #1a1a1a; outline-offset:1px; }
.nls-cadmap-guide__steps li div{ font-size:13px; line-height:1.4; color:#333; }
.nls-cadmap-guide__steps li b{ font-size:13.5px; color:#1a1a1a; }
.nls-cadmap-guide__steps li em{ margin-left:6px; padding:1px 6px; border-radius:999px; background:#f1eeee; font-style:normal; font-size:11px; font-weight:600; color:#8a8a8a; text-transform:uppercase; letter-spacing:.04em; }
.nls-cadmap-guide__steps li span{ display:block; color:#666; font-size:12.5px; }
.nls-cadmap-guide__n{ flex:0 0 26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-style:normal; font-size:12.5px; font-weight:700; color:#777; background:#f1eeee; transition:all .25s ease; }
.nls-cadmap-guide__steps li.is-current{ background:#fff4f5; }
.nls-cadmap-guide__steps li.is-current .nls-cadmap-guide__n{ background:#c8102e; color:#fff; box-shadow:0 0 0 4px rgba(200,16,46,.15); }
.nls-cadmap-guide__steps li.is-done .nls-cadmap-guide__n{ background:#1d8a4a; color:#fff; font-size:0; }
.nls-cadmap-guide__steps li.is-done .nls-cadmap-guide__n::after{ content:"✓"; font-size:13px; }
.nls-cadmap-guide__steps li.is-done b{ color:#4b7a5c; }
.nls-cadmap-guide.is-placed{ padding-bottom:12px; background:#f1faf4; border-color:#cfe9d8; }
.nls-cadmap-guide.is-placed .nls-cadmap-guide__head{ margin:0; }
.nls-cadmap-guide.is-placed .nls-cadmap-guide__title{ color:#1d6b3a; }
.nls-cadmap-guide.is-placed .nls-cadmap-guide__steps{ display:none; }
.nls-cadmap-inlinebox{ margin-top:8px; }
/* The page's own "you don't need the house number" line repeats the guide under the map. */
.nls-cadmap-inlinebox ~ .nls-listing-address-instruction{ display:none; }
/* The map is the last row of the address control: on phones the check badge (static there) stays above it. */
.nls-listing-address-control>.nls-cadmap-inlinebox{ grid-column:1/-1; order:2; }
.nls-listing-address-control>.nls-cup{ grid-column:1/-1; order:3; }
/* Manual location bar (above the map). Quiet link by default; amber when nothing was found; a clear state when on. */
.nls-cadmap-manual{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0 0 8px; padding:6px 2px; font-size:12.5px; color:#667085; }
.nls-cadmap-manual button{ border:0; background:none; padding:0; color:#c8102e; font-weight:600; font-size:12.5px; text-decoration:underline; cursor:pointer; }
.nls-cadmap-manual.is-offer{ padding:9px 12px; border-radius:10px; background:#fff7e6; border:1px solid #f3d9a4; color:#7a4b00; }
.nls-cadmap-manual.is-offer button{ padding:5px 12px; border-radius:999px; background:#c8102e; color:#fff; text-decoration:none; }
.nls-cadmap-manual.is-on{ padding:9px 12px; border-radius:10px; background:#eef4ff; border:1px solid #c9d8f5; color:#1e3a6e; }
.nls-cadmap-manual.is-on b{ color:#14294d; }
