#nc-delivery {
  --nc-bg:#ffffff;
  --nc-card:#fff;
  --nc-ink:#253747;
  --nc-soft:#5c6c7a;
  --nc-line:#e0e8ef;
  --nc-accent:#456c8b;
  --nc-tint:#f6e7f0;
  --nc-free:#345f80;
  --nc-free-bg:#eaf3fa;
  box-sizing:border-box;
  background:var(--nc-bg);
  color:var(--nc-ink);
  font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  padding:32px 24px 48px;
  border-radius:12px;
  isolation:isolate
}

#nc-delivery *,#nc-delivery *::before,#nc-delivery *::after {
  box-sizing:border-box
}

#nc-delivery .nc-page {
  max-width:880px;
  margin:0 auto
}

#nc-delivery p {
  margin:0 0 20px
}

#nc-delivery .nc-subtitle {
  color:var(--nc-soft);
  font-size:15px;
  margin:0 0 24px
}

#nc-delivery h2 {
  font-size:20px;
  font-weight:700;
  line-height:1.4;
  margin:40px 0 8px;
  color:var(--nc-accent)
}

#nc-delivery h2::before,#nc-delivery h3::before {
  content:none
}

#nc-delivery .nc-tag {
  display:inline-block;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--nc-soft);
  background:var(--nc-tint);
  border-radius:6px;
  padding:2px 8px;
  margin-left:8px;
  vertical-align:middle
}

#nc-delivery .nc-promo {
  background:var(--nc-tint);
  border:1px solid #e8cddd;
  border-radius:10px;
  padding:16px 20px;
  margin:24px 0 28px;
  font-size:15px
}

#nc-delivery .nc-promo strong {
  color:var(--nc-accent)
}

#nc-delivery .nc-lead {
  color:var(--nc-soft);
  font-size:15px
}

#nc-delivery .nc-table-wrap {
  overflow-x:auto;
  border:1px solid var(--nc-line);
  border-radius:12px;
  background:var(--nc-card)
}

#nc-delivery table {
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  font-size:14.5px;
  min-width:720px;
  margin:0;
  border:0;
  background:var(--nc-card);
  color:var(--nc-ink)
}

#nc-delivery th {
  text-align:left;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--nc-soft);
  padding:12px 16px;
  border:0;
  border-bottom:1px solid var(--nc-line);
  background:#f4f8fb;
  line-height:1.55
}

#nc-delivery td {
  padding:14px 16px;
  border:0;
  border-bottom:1px solid var(--nc-line);
  vertical-align:top;
  background:var(--nc-card);
  line-height:1.55
}

#nc-delivery tr:last-child td {
  border-bottom:0
}

#nc-delivery .nc-method {
  font-weight:600;
  min-width:140px
}

#nc-delivery .nc-note {
  display:block;
  font-size:12.5px;
  color:var(--nc-soft);
  margin-top:4px;
  font-weight:400
}

#nc-delivery .nc-free {
  display:inline-block;
  background:var(--nc-free-bg);
  color:var(--nc-free);
  font-weight:600;
  border-radius:6px;
  padding:2px 8px;
  white-space:nowrap
}

#nc-delivery .nc-notes {
  margin:16px 0 0;
  padding:0 0 0 20px;
  font-size:14px;
  color:var(--nc-soft);
  list-style:disc
}

#nc-delivery li {
  list-style:inherit;
  margin:0 0 4px;
  padding:0
}

#nc-delivery li::before {
  content:none
}

#nc-delivery .nc-payment-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:8px
}

#nc-delivery .nc-payment-card {
  background:var(--nc-card);
  border:1px solid var(--nc-line);
  border-radius:12px;
  padding:18px 20px
}

#nc-delivery h3 {
  margin:0 0 8px;
  font-size:15px;
  line-height:1.5;
  font-weight:700;
  color:var(--nc-ink)
}

#nc-delivery .nc-payment-card ul {
  margin:0;
  padding-left:18px;
  font-size:14.5px;
  list-style:disc
}

#nc-delivery .nc-map-card {
  position:relative;
  background:#fff;
  border:1px solid var(--nc-line);
  border-radius:12px;
  padding:20px
}

#nc-delivery .nc-map-card h2 {
  margin:0 0 6px
}

#nc-delivery .nc-map-help {
  color:var(--nc-soft);
  font-size:14px;
  margin:0 0 16px
}

#nc-delivery .nc-map-layout {
  display:grid;
  grid-template-columns:minmax(0,500px) minmax(180px,1fr);
  gap:22px;
  align-items:start
}

#nc-delivery .nc-map-image {
  position:relative;
  width:100%;
  max-width:500px;
  margin:0 auto
}

#nc-delivery .nc-map-image img {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0;
  border:0;
  user-select:none
}

#nc-delivery .nc-legend {
  display:grid;
  gap:10px
}

#nc-delivery .nc-zone {
  display:block;
  width:100%;
  min-height:76px;
  padding:12px;
  text-align:left;
  white-space:normal;
  font:inherit;
  line-height:1.5;
  color:var(--nc-ink);
  border:1px solid var(--nc-line);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  box-shadow:none;
  text-transform:none;
  letter-spacing:normal
}

#nc-delivery .nc-zone:hover,#nc-delivery .nc-zone[aria-pressed=true] {
  border-color:var(--nc-free);
  background:var(--nc-free-bg)
}

#nc-delivery .nc-zone strong,#nc-delivery .nc-zone span {
  display:block
}

#nc-delivery .nc-zone span {
  font-size:13px;
  color:var(--nc-soft)
}

#nc-delivery .nc-dot {
  display:inline-block!important;
  width:10px;
  height:10px;
  border-radius:50%;
  margin-right:6px;
  background:#72a6c9;
  border:1px solid #487798
}

#nc-delivery .nc-dot-light {
  background:#efbfd7
}

#nc-delivery .nc-map-status {
  min-height:72px;
  margin:16px 0 0;
  padding:12px 14px;
  background:#f4f8fb;
  border-radius:8px;
  color:var(--nc-soft);
  font-size:14px
}

#nc-delivery .nc-map-status span,#nc-delivery .nc-map-status strong {
  display:block
}

#nc-delivery .nc-map-status strong {
  color:var(--nc-free)
}

#nc-delivery .nc-tooltip {
  position:fixed;
  z-index:10;
  max-width:260px;
  width:max-content;
  pointer-events:none;
  padding:12px 14px;
  border:1px solid var(--nc-line);
  border-radius:10px;
  background:#fff;
  color:var(--nc-ink);
  font-size:13px;
  box-shadow:0 6px 24px #25374724;
  line-height:1.45
}

#nc-delivery .nc-tooltip strong,#nc-delivery .nc-tooltip span {
  display:block
}

#nc-delivery .nc-tooltip strong {
  font-size:14px;
  color:var(--nc-free);
  margin:3px 0
}

#nc-delivery [hidden] {
  display:none!important
}

#nc-delivery :focus-visible {
  outline:3px solid var(--nc-accent);
  outline-offset:3px
}

#nc-delivery .nc-scroll-hint {
  display:none;
  font-size:12px;
  color:var(--nc-soft);
  margin:0 0 8px
}

@media(max-width:760px) {
  #nc-delivery {
    padding:24px 16px 32px
  }
  #nc-delivery .nc-map-layout {
    grid-template-columns:1fr
  }
  #nc-delivery .nc-legend {
    grid-template-columns:1fr 1fr
  }
  #nc-delivery .nc-scroll-hint {
    display:block
  }
  #nc-delivery .nc-map-card {
    padding:16px
  }
}

@media(max-width:560px) {
  #nc-delivery .nc-payment-grid {
    grid-template-columns:1fr
  }
  #nc-delivery .nc-tag {
    margin:6px 0 0;
    display:table
  }
  #nc-delivery .nc-legend {
    grid-template-columns:1fr
  }
  #nc-delivery .nc-promo {
    padding:14px
  }
  #nc-delivery h2 {
    font-size:19px
  }
}

@media(prefers-reduced-motion:reduce) {
  #nc-delivery * {
    scroll-behavior:auto!important
  }
}

#nc-delivery .nc-zone {
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

#nc-delivery .nc-zone:hover {
  box-shadow: 0 3px 12px #2537470a;
}

@media (prefers-reduced-motion: reduce) {
  #nc-delivery * {
    transition: none !important;
  }
}

/* City labels */
#nc-delivery .nc-cities {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  user-select: none;
}

#nc-delivery .nc-cities text {
  font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -.25px;
  fill: #253747;
  stroke: #ffffff;
  stroke-width: 4px;
  stroke-linejoin: round;
  paint-order: stroke fill;
}

#nc-delivery .nc-city-line {
  fill: none;
  stroke: #4c6579;
  stroke-width: 1.1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .7;
}

#nc-delivery .nc-city-dot {
  fill: #253747;
  stroke: #ffffff;
  stroke-width: 1.8px;
}

#nc-delivery .nc-map-caption {
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--nc-soft);
}

@media (max-width: 560px) {
  #nc-delivery .nc-cities text {
    font-size: 18px;
    stroke-width: 4.5px;
  }
  #nc-delivery .nc-city-dot {
    r: 4.5px;
  }
}


/* NEVA: powder pink, cool blue and a white page */
#nc-delivery .nc-map-card { border-color: #dce7ef; box-shadow: 0 8px 32px #456c8b08; }
#nc-delivery .nc-promo { background: #f8edf4; border-color: #ecd4e3; }
#nc-delivery .nc-promo strong { color: #865774; }
#nc-delivery .nc-payment-card:first-child { border-top: 3px solid #91b4d0; }
#nc-delivery .nc-payment-card:last-child { border-top: 3px solid #dfb2ce; }
#nc-delivery .nc-dot-light { background: repeating-linear-gradient(135deg,#efbfd7 0 3px,#ce92b3 3px 4px); border-color: #ad7293; }
#nc-delivery .nc-zone[data-zone="light"]:hover,
#nc-delivery .nc-zone[data-zone="light"][aria-pressed="true"] { border-color: #c38aaa; background: #fbecf5; }
#nc-delivery .nc-map-status[data-zone="light"] { background: #fbecf5; }
#nc-delivery .nc-map-status[data-zone="light"] strong,
#nc-delivery .nc-tooltip[data-zone="light"] strong { color: #895674; }
#nc-delivery .nc-map-status[data-zone="green"] { background: #edf5fb; }
#nc-delivery .nc-map-paint { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#nc-delivery.nc-map-painted #nc-map { opacity: 0; }
#nc-delivery .nc-cities { z-index: 1; }


/* City lookup */
#nc-delivery .nc-map-sidebar { min-width: 0; display: grid; gap: 20px; align-self: start; }
#nc-delivery .nc-city-search { margin: 0; padding: 0; }
#nc-delivery .nc-city-search label { display: block; font-size: 16px; font-weight: 700; color: var(--nc-ink); margin: 0 0 6px; }
#nc-delivery #nc-search-help { font-size: 13px; line-height: 1.5; color: var(--nc-soft); margin: 0 0 12px; }
#nc-delivery .nc-search-field { display: flex; align-items: stretch; gap: 7px; }
#nc-delivery #nc-city-input { min-width: 0; width: 100%; border: 1px solid #c8d9e6; border-radius: 8px; background: #fff; color: var(--nc-ink); font: inherit; font-size: 14px; line-height: 1.4; padding: 11px 10px; height: 44px; box-shadow: none; }
#nc-delivery #nc-city-input::placeholder { color: #718291; opacity: 1; }
#nc-delivery .nc-find-button { border: 0; border-radius: 8px; background: #456c8b; color: #fff; font: inherit; font-size: 13px; font-weight: 600; padding: 0 13px; cursor: pointer; min-height: 44px; text-transform: none; letter-spacing: normal; }
#nc-delivery .nc-find-button:hover { background: #365773; }
#nc-delivery .nc-city-suggestions { list-style: none; padding: 4px; margin: 8px 0 0; border: 1px solid #dce7ef; border-radius: 8px; background: #fff; max-height: 224px; overflow-y: auto; }
#nc-delivery .nc-city-suggestions li { margin: 0; padding: 0; list-style: none; }
#nc-delivery .nc-city-suggestions button { display: block; width: 100%; min-height: 42px; padding: 9px 10px; border: 0; border-radius: 5px; background: #fff; color: var(--nc-ink); text-align: left; font: inherit; font-size: 14px; line-height: 1.4; cursor: pointer; }
#nc-delivery .nc-city-suggestions button:hover, #nc-delivery .nc-city-suggestions button:focus { background: #edf5fb; }
#nc-delivery .nc-city-result { margin-top: 12px; padding: 14px; border: 1px solid #d1e2ef; border-radius: 10px; background: #edf5fb; font-size: 13px; line-height: 1.5; }
#nc-delivery .nc-city-result[data-zone="light"] { background: #fbecf5; border-color: #ecd4e3; }
#nc-delivery .nc-city-result[data-zone="other"], #nc-delivery .nc-city-result[data-zone="unknown"] { background: #f5f7f9; border-color: #e0e8ef; }
#nc-delivery .nc-city-result strong, #nc-delivery .nc-city-result span { display: block; }
#nc-delivery .nc-city-result .nc-result-title { margin-bottom: 6px; font-size: 15px; color: #345f80; }
#nc-delivery .nc-city-result[data-zone="light"] .nc-result-title { color: #895674; }
#nc-delivery .nc-city-result .nc-result-price { font-size: 16px; margin-bottom: 6px; }
#nc-delivery .nc-city-result .nc-result-note { margin-top: 7px; color: var(--nc-soft); }
#nc-delivery .nc-city.is-selected .nc-city-dot { fill: #fff; stroke: #253747; stroke-width: 3px; r: 6px; }
#nc-delivery .nc-city.is-selected text { fill: #213f57; font-weight: 800; stroke-width: 6px; }
@media (max-width: 760px) {
  #nc-delivery .nc-map-sidebar { display: contents; }
  #nc-delivery .nc-city-search { grid-row: 1; }
  #nc-delivery .nc-map-image { grid-row: 2; }
  #nc-delivery #nc-city-input { font-size: 16px; }
}
