.cc-live-map {
  position: relative;
  width: 100%;
  min-height: 280px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: #090909;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
  isolation: isolate;
}

.cc-live-map::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 400;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), inset 0 -90px 100px rgba(0,0,0,.22);
}

.cc-live-map .leaflet-control-zoom a {
  background: rgba(12,12,10,.88);
  border-color: rgba(255,255,255,.12);
  color: #f4f0e8;
}

.cc-live-map .leaflet-popup-content-wrapper,
.cc-live-map .leaflet-popup-tip {
  background: #10100e;
  color: #f4f0e8;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 38px rgba(0,0,0,.36);
}

.cc-live-map-pin {
  position: relative;
  border-radius: 999px;
}

.cc-live-map-pin span {
  position: absolute;
  inset: 7px;
  display: block;
  border: 2px solid #0c0c0a;
  border-radius: inherit;
  background: #e03d0f;
  box-shadow: 0 0 0 7px rgba(224,61,15,.22), 0 0 28px rgba(224,61,15,.62);
}

.cc-live-map-pin--hoy span {
  background: #f2c94c;
  box-shadow: 0 0 0 7px rgba(242,201,76,.22), 0 0 30px rgba(242,201,76,.72);
}

.cc-live-map-pin--destacado span,
.cc-live-map-pin--agotadas span {
  background: #ff2aa3;
  box-shadow: 0 0 0 8px rgba(255,42,163,.22), 0 0 36px rgba(255,42,163,.82);
  animation: cc-live-map-pulse 1.6s ease-in-out infinite;
}

.cc-live-map-pin--cancelado span {
  background: #666;
  box-shadow: 0 0 0 7px rgba(120,120,120,.22), 0 0 20px rgba(120,120,120,.42);
}

@keyframes cc-live-map-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.22);
  }
}

@media (max-width: 640px) {
  .cc-live-map {
    min-height: 240px;
  }
}
