.najn-postnr-block { max-width: 680px; }
.najn-label { display:block; font-weight:600; margin-bottom:6px; }

.najn-row { display:flex; align-items:center; gap:10px; }

.najn-input-wrap { position: relative; flex: 1 1 520px; min-width: 320px; }

.najn-zip {
  width: 100%;
  height: 44px;
  border: 2px solid #d0d6e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px;        /* padding-top ingår i toppberäkningen */
  padding-right: 48px;       /* plats för ikon */
  font-size: 16px;
  line-height: 1.4;
  outline: none;
  background: #fff;
  font-family: inherit;
}
.najn-zip:focus { border-color:#0740f9; box-shadow: 0 0 0 3px rgba(7,64,249,.1); }

/* Orten inline i input – top: exakt samma baslinjestart som input-texten */
.najn-city {
  position: absolute;
  top: var(--zip-top, var(--zip-pt, 10px));  /* sätts i JS */
  left: var(--city-left, 100px);             /* start efter postnr (sätts i JS) */
  right: 40px;                               /* lämna plats för ikon */
  transform: none;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  font-family: inherit;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ikonbild inne i input; visas bara på träff (togglar i JS) */
.najn-icon-img {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  object-fit: contain;
  pointer-events: none;
  display: none;
}

/* Osynlig mätare för textbredd (för city-left) */
.najn-measure {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
  white-space: pre;
  left: 12px;
  top: 0;
  font-size: 16px;
  line-height: 1.4;
  font-family: inherit;
  font-weight: 400;
}

/* Knappen */
.najn-btn {
  height: 44px;
  padding: 12px 20px !important;
  border: none;
  border-radius: 12px;
  background: #0740f9;     /* primär */
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition: background-color .15s ease, box-shadow .15s ease, transform .02s ease;
  box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 10px rgba(7,64,249,.15);
}
.najn-btn:hover { background: #063AE3; }
.najn-btn:active { transform: translateY(1px); }
.najn-btn:focus { background:#063AE3; }
.najn-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(7,64,249,.3); }

/* Feltext */
.najn-error { margin-top: 6px; color: #c62828; font-size: 14px; }
.najn-zip.najn-has-error { border-color:#c62828; background:#fff7f7; }
