.regulatory-license-map-wrap {
  max-width: 1080px;
}

.regulatory-license-leaflet {
  width: 100%;
  height: 560px;
  border: 1px solid #9ba9b0;
  background: #f7fbff;
}

.carrier-license-map-records {
  display: none;
}

.regulatory-license-map {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  border: 1px solid #9ba9b0;
  background: #f7fbff;
}

.regulatory-base-areas path {
  fill: #e4e9ed;
  stroke: #7d8b94;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.regulatory-license-areas path {
  stroke: #ffffff;
  stroke-width: 0.9;
  vector-effect: non-scaling-stroke;
  fill-opacity: 0.55;
}

.regulatory-license-areas a {
  cursor: pointer;
}

.regulatory-license-areas path:hover {
  stroke: #163f59;
  stroke-width: 2;
  fill-opacity: 0.82;
}

.regulatory-license-areas.ised-license-areas path {
  fill: #287f68;
}

.regulatory-pagination {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
}

.regulatory-pagination span {
  font-weight: bold;
}

.regulatory-fcc-results {
  position: relative;
}

.regulatory-frequency-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
}

.regulatory-frequency-filter label {
  font-weight: bold;
}

.regulatory-frequency-filter select {
  max-width: 280px;
}

.regulatory-fcc-results.is-loading {
  cursor: wait;
  min-height: 120px;
}

.regulatory-fcc-results.is-loading > * {
  opacity: 0.48;
  pointer-events: none;
}

.regulatory-fcc-results.is-loading::after {
  position: fixed;
  z-index: 1200;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  border: 4px solid rgba(29, 79, 110, 0.25);
  border-top-color: #1d4f6e;
  border-radius: 50%;
  content: "";
  animation: regulatory-results-spin 0.75s linear infinite;
}

@keyframes regulatory-results-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .regulatory-fcc-results.is-loading::after {
    animation-duration: 1.8s;
  }
}

.regulatory-map-note {
  margin-top: 5px;
  color: #4b555a;
  font-size: 0.9em;
}

.regulatory-map-popup strong,
.regulatory-map-popup span {
  display: block;
}

@media (max-width: 760px) {
  .regulatory-frequency-filter {
    align-items: flex-start;
    flex-direction: column;
  }
  .regulatory-pagination {
    flex-wrap: wrap;
  }
  .regulatory-license-leaflet {
    height: 420px;
  }
}
