/*
 * NMV Address Checker component styles.
 * Colors / spacing come from the site design tokens (defined :root in the NMV
 * Header template). Fallbacks after the comma keep it presentable if the
 * widget is dropped somewhere without those tokens.
 */
.checker {
  position: relative;
  z-index: 3;
  margin: 0 auto var(--s-2, 8px);
  max-width: 780px;
  background: var(--white, #fff);
  border-radius: var(--r-lg, 20px);
  box-shadow: 0 32px 60px rgba(10, 37, 64, .16), 0 2px 0 rgba(201, 166, 107, .45);
  padding: var(--s-8, 32px);
  border: 1px solid rgba(201, 166, 107, .32);
}
.checker h3 {
  font-size: var(--t-2xl, 1.6rem);
  margin-bottom: 4px;
  color: var(--navy, #0A2540);
  font-family: "Cormorant Garamond", serif;
}
.checker .ck-sub {
  color: var(--stone, #6b7280);
  font-size: var(--t-sm, .9rem);
  margin-bottom: var(--s-5, 20px);
}
.ck-row { display: flex; gap: var(--s-3, 12px); }
.ck-input {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--sand-soft, #f5efe3);
  border: 1.5px solid var(--line, #e5e0d5);
  border-radius: var(--r-md, 12px);
  padding: 0 var(--s-4, 16px);
  transition: border-color .18s, box-shadow .18s;
}
.ck-input:focus-within {
  border-color: var(--gulf, #1B4F72);
  box-shadow: 0 0 0 3px rgba(27, 79, 114, .14);
  background: #fff;
}
.ck-input svg { width: 18px; height: 18px; stroke: var(--gulf, #1B4F72); flex-shrink: 0; }
.ck-input input {
  border: none;
  background: none;
  outline: none;
  font-family: inherit;
  font-size: var(--t-base, 1rem);
  padding: 15px 0;
  width: 100%;
  color: var(--ink, #1A1A1A);
}
.checker .btn-navy {
  background: linear-gradient(180deg, #15385a, #0A2540);
  color: #fff;
  border: none;
  border-radius: var(--r-md, 12px);
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: var(--t-base, 1rem);
  padding: 14px 22px;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 6px 16px rgba(10, 37, 64, .22);
}
.ck-result {
  margin-top: var(--s-5, 20px);
  border-radius: var(--r-md, 12px);
  padding: var(--s-4, 16px) var(--s-5, 20px);
  display: none;
  align-items: flex-start;
  gap: 12px;
  font-size: var(--t-sm, .9rem);
  line-height: 1.55;
}
.ck-result.show { display: flex; }
.ck-result .ic {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.ck-result .ic svg { width: 15px; height: 15px; }
.ck-result.in { background: var(--ok-bg, #e7f4e8); color: #1d521f; }
.ck-result.in .ic { background: var(--ok, #2e7d32); color: #fff; }
.ck-result.out { background: var(--no-bg, #fbeaea); color: #7a1414; }
.ck-result.out .ic { background: var(--no, #c0392b); color: #fff; }
.ck-result strong { display: block; font-size: var(--t-base, 1rem); margin-bottom: 2px; font-weight: 700; }
.ck-result a { color: inherit; font-weight: 700; text-decoration: underline; }
.ck-hint { margin-top: var(--s-3, 12px); font-size: var(--t-xs, .78rem); color: var(--stone, #6b7280); }
.ck-hint b { color: var(--gulf, #1B4F72); }
@media (max-width: 560px) {
  .ck-row { flex-direction: column; }
  .checker { padding: var(--s-6, 24px); }
}

/* Google Places suggestion dropdown sits above the card and sticky chrome. */
.pac-container {
  z-index: 100000;
  border-radius: 12px;
  margin-top: 6px;
  box-shadow: 0 12px 30px rgba(10, 37, 64, .18);
  border: 1px solid rgba(201, 166, 107, .32);
  font-family: inherit;
}

/* ===== [nmv_service_map] ===== */
.nmv-map{border-radius:var(--r-lg,16px);box-shadow:var(--sh-2,0 12px 32px rgba(10,37,64,.12));overflow:hidden;background:linear-gradient(150deg,#dfeaf2,#cfddeb)}
.nmv-map-wrap .legend{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.nmv-map-wrap .legend .li{display:flex;align-items:center;gap:9px;font-size:var(--t-sm,14px);color:var(--stone,#5c6670)}
.nmv-map-wrap .legend .sw{width:26px;height:14px;border-radius:5px}
.nmv-map-wrap .legend .sw.full{background:rgba(27,79,114,.30);border:1.5px solid var(--gulf,#1B4F72)}
.nmv-map-wrap .legend .sw.part{background:rgba(201,166,107,.22);border:1.5px dashed var(--gold-deep,#B08D4E)}
.nmv-map-wrap .legend .sw.none{background:#f0ece3;border:1.5px solid #cdc6b8}
