

.app { display: grid; grid-template-rows: auto auto; grid-template-columns: minmax(0, 1fr); }

.main-app { display: contents; }

.app-cuerpo {
  display: grid;
  grid-template-columns: var(--col-guia) minmax(0, 1fr);
  height: calc(100dvh - var(--h-4));
  min-height: 0;
  min-width: 0;

  position: relative;
}

.app-cuerpo.esta-plegada { grid-template-columns: 0 minmax(0, 1fr); }

.app-cuerpo.esta-plegada .guia {
  visibility: hidden;
  border-right: 0;
  box-shadow: none;
}

.guia, .app-cuerpo { transition: grid-template-columns .22s ease; }

.guia-abrir {
  position: absolute;
  top: var(--e-4);
  left: var(--e-4);
  z-index: 500;

  display: inline-flex; align-items: center; gap: var(--e-2);
  height: var(--h-1);
  padding: 0 var(--e-4);

  font: inherit; font-size: var(--t-2-size); font-weight: 600;
  color: var(--carbon);
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-full);
  box-shadow: 0 4px 16px rgb(var(--sombra-tinta) / .18);
  cursor: pointer;
}

.guia-abrir:hover { background: var(--sup-1); }
.guia-abrir:focus-visible { box-shadow: var(--foco); }

.guia-plegar {
  position: absolute;

  top: calc(var(--e-5) + (var(--h-4) - var(--h-1)) / 2);
  right: var(--e-4);
  z-index: 2;

  display: grid; place-items: center;
  width: var(--h-1); height: var(--h-1);
  padding: 0;

  color: var(--carbon-2);
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-full);
  box-shadow: var(--s-2);
  cursor: pointer;
  transition: background-color var(--dur-1) var(--curva),
              color var(--dur-1) var(--curva);
}

.guia-plegar:hover { background: var(--sup-1); color: var(--carbon); }
.guia-plegar:focus-visible { box-shadow: var(--foco); }

.guia-busqueda { position: relative; }

@media (prefers-reduced-motion: reduce) {
  .guia, .app-cuerpo { transition: none; }
}

.guia {

  container-type: inline-size;
  container-name: panel;

  display: grid;
  grid-template-rows: auto auto auto 1fr;

  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  min-width: 0;
  background: var(--sup-1);
  border-right: 1px solid var(--linea);
  z-index: 10;
  box-shadow: 1px 0 0 rgb(var(--sombra-tinta) / .02), 8px 0 24px rgb(var(--sombra-tinta) / .05);
}

.guia-busqueda {
  padding: var(--e-5) var(--e-4) var(--e-4);
  background: var(--sup-1);
}

.buscador {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--h-4);

  margin-right: calc(var(--h-1) + var(--e-2));
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-full);
  box-shadow: var(--s-1);
  transition: background-color var(--dur-1) var(--curva),
              border-color var(--dur-1) var(--curva),
              box-shadow var(--dur-1) var(--curva);
}
.buscador:hover { border-color: var(--trazo); }
.buscador:focus-within {
  border-color: var(--foco-color);
  box-shadow: 0 0 0 4px var(--acento-tinte), var(--s-1);
}

.buscador-lupa {
  display: grid; place-items: center;
  margin: 0 var(--e-2) 0 var(--e-4);
  flex-shrink: 0;
  color: var(--carbon-3);
  pointer-events: none;
  transition: color var(--dur-1) var(--curva);
}
.buscador:focus-within .buscador-lupa { color: var(--acento-texto); }

.buscador input.buscador-campo {
  flex: 1; min-width: 0;
  width: auto;
  height: 100%;
  padding: 0 var(--e-2);
  font-family: var(--f-texto);
  font-size: var(--t-4-size);
  letter-spacing: var(--t-4-ls);
  color: var(--carbon);
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.buscador input.buscador-campo:focus {
  outline: none;
  box-shadow: none;
  border-color: transparent;
}
.buscador-campo::placeholder { color: var(--carbon-3); }
.buscador-campo::-webkit-search-cancel-button { cursor: pointer; }

.buscador-limpiar {
  width: var(--h-1); height: var(--h-1);
  margin-right: var(--e-2);
  flex-shrink: 0;
  display: none;
  align-items: center; justify-content: center;
  font: inherit; line-height: 1;
  color: var(--carbon-2);
  background: none; border: 0; border-radius: var(--r-full);
  cursor: pointer;
}
.buscador-limpiar:hover { color: var(--carbon); background: var(--sup-0); }
.buscador.con-texto .buscador-limpiar { display: flex; }

.filtros {
  display: flex;
  flex-direction: column;
  gap: var(--e-2);
  margin-top: var(--e-4);
}

.filtros-rotulo {
  margin: var(--e-2) 0 0;
  font-family: var(--f-texto);
  font-size: var(--t-1-size);
  font-weight: var(--t-1-w);
  letter-spacing: var(--t-1-ls);
  line-height: 1;
  text-transform: uppercase;
  color: var(--carbon-3);
}

.ajuste-radio {
  align-self: flex-start;
  min-height: var(--h-1);
  display: inline-flex; align-items: center;
  padding: 0 var(--e-2);
  font-family: var(--f-texto);
  font-size: var(--t-2-size);
  font-weight: 500;
  color: var(--acento-texto);
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.ajuste-radio:hover { color: var(--carbon); }
.ajuste-radio:focus-visible { outline: var(--foco-outline); outline-offset: 2px; }

.ajuste-radio[hidden] { display: none; }

.tipos { display: flex; flex-wrap: wrap; gap: var(--e-2); }

.tipo:only-child { flex-grow: 0; }

.tipo {

  flex: 1 0 auto;
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  height: var(--h-1);
  padding: 0 var(--e-2) 0 var(--e-3);
  overflow: hidden;
  font-family: var(--f-texto);
  font-size: var(--t-2-size);
  font-weight: 500;
  line-height: 1;
  color: var(--carbon-2);
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-1);
  cursor: pointer;
  transition: background-color var(--dur-1) var(--curva),
              border-color var(--dur-1) var(--curva),
              color var(--dur-1) var(--curva);
}

.tipo[data-tipo="alquiler"] { --color-tipo: var(--tipo-alquiler); --fondo-tipo: var(--tipo-alquiler-fondo); }
.tipo[data-tipo="evento"]   { --color-tipo: var(--tipo-evento);   --fondo-tipo: var(--tipo-evento-fondo); }
.tipo[data-tipo="pedido"]   { --color-tipo: var(--tipo-pedido);   --fondo-tipo: var(--tipo-pedido-fondo); }

.tipo-barra {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--color-tipo, var(--trazo));
  opacity: .5;
  transition: width var(--dur-2) var(--curva), opacity var(--dur-1) var(--curva);
}

.tipo .icono-svg {
  flex-shrink: 0;
  color: var(--color-tipo, var(--carbon-3));
  opacity: .62;
  transition: opacity var(--dur-1) var(--curva);
}

.tipo-texto { white-space: nowrap; }

.tipo:hover {
  color: var(--carbon);
  border-color: var(--trazo);
}
.tipo:hover .tipo-barra { opacity: .85; }
.tipo:hover .icono-svg  { opacity: .9; }

.tipo[aria-pressed="true"] {
  color: var(--color-tipo);
  font-weight: 600;
  background: var(--fondo-tipo);
  border-color: color-mix(in srgb, var(--color-tipo) 45%, transparent);
}
.tipo[aria-pressed="true"] .tipo-barra { width: 5px; opacity: 1; }
.tipo[aria-pressed="true"] .icono-svg  { opacity: 1; }

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  .tipo[aria-pressed="true"] { border-color: var(--color-tipo); }
}

.tipo:focus-visible { outline: var(--foco-outline); outline-offset: 2px; }

.abrir-rubros {
  display: flex; align-items: center; gap: var(--e-3);
  width: 100%;
  min-height: var(--h-2);
  margin-top: var(--e-1);
  padding: 0 var(--e-3);
  font-family: var(--f-texto);
  font-size: var(--t-3-size);
  font-weight: 500;
  color: var(--carbon);
  text-align: left;
  background: none;
  border: 0;
  border-radius: var(--r-1);
  box-shadow: inset 0 1px 0 var(--linea);
  cursor: pointer;
  transition: background-color var(--dur-1) var(--curva);
}
.abrir-rubros:hover { background: var(--sup-2); }
.abrir-rubros:focus-visible { outline: var(--foco-outline); outline-offset: 1px; }

.abrir-rubros > .icono-svg { flex-shrink: 0; color: var(--carbon-3); }
.abrir-rubros-texto { flex: 1 1 auto; min-width: 0; }

.abrir-rubros-cuenta {
  flex-shrink: 0;
  display: inline-grid; place-items: center;
  min-width: 22px; height: 22px;
  padding: 0 6px;
  font-size: var(--t-1-size);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--sobre-acento);
  background: var(--acento);
  border-radius: var(--r-full);
}
.abrir-rubros-cuenta:empty { display: none; }

.abrir-rubros-chevron {
  flex-shrink: 0;
  display: grid; place-items: center;
  color: var(--carbon-3);
  transition: transform var(--dur-1) var(--curva);
}
.abrir-rubros:hover .abrir-rubros-chevron { transform: translateX(2px); }

@media (prefers-reduced-motion: reduce) {
  .abrir-rubros:hover .abrir-rubros-chevron { transform: none; }
  .tipo-barra { transition: none; }
}

.estoy-abrir {
  position: absolute; left: var(--e-4); bottom: var(--e-4);
  z-index: 800;
  display: inline-flex; align-items: center; gap: var(--e-2);
  min-height: var(--h-1);
  padding: 0 var(--e-4);
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-2);
  box-shadow: var(--s-2);
  font: inherit; font-size: var(--t-2-size); font-weight: 600;
  color: var(--tinta);
  cursor: pointer;
  transition: transform .12s ease;
}

.estoy-abrir[hidden] { display: none; }
.estoy-abrir:hover { transform: translateY(-1px); }
.estoy-abrir:focus-visible { outline: var(--foco-outline); outline-offset: 2px; }

.estoy-abrir-punto {
  width: 8px; height: 8px;
  border-radius: var(--r-full);
  background: var(--trazo);
}
.estoy-abrir.esta-publicado .estoy-abrir-punto {
  background: var(--acento);
  animation: estoy-latido 1.6s ease-in-out infinite;
}

@keyframes estoy-latido {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .5; transform: scale(.82); }
}

.estoy-panel {
  position: absolute; left: var(--e-4); bottom: var(--e-4);
  z-index: 800;
  width: 20rem; max-width: calc(100% - var(--e-6));
  max-height: calc(100% - var(--e-8));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--e-4);
  background: var(--sup-0);
  border: 1px solid var(--linea);
  border-radius: var(--r-3);
  box-shadow: 0 10px 30px rgb(var(--sombra-tinta) / .18);
}
.estoy-panel[hidden] { display: none; }
.estoy-panel .ayuda { margin-top: var(--e-2); }
.estoy-panel input[type="text"] { width: 100%; }
.estoy-panel .fila { margin-top: var(--e-3); }

.estoy-cabecera {
  position: sticky; top: calc(var(--e-4) * -1);
  z-index: 1;
  align-items: center;
  margin: calc(var(--e-4) * -1) calc(var(--e-4) * -1) 0;
  padding: var(--e-3) var(--e-4);
  background: var(--sup-0);
}

.estoy-detalle { margin-top: var(--e-2); }
.estoy-detalle summary {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.estoy-detalle summary:focus-visible { outline: var(--foco-outline); outline-offset: 2px; }

@media (max-width: 767px), (max-width: 900px) and (orientation: portrait), (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {

  .estoy-abrir { left: var(--e-3); bottom: calc(var(--barra-abajo, 0px) + var(--e-3)); }

  .estoy-panel {
    left: var(--e-3); right: var(--e-3);
    width: auto; max-width: none;
    bottom: calc(var(--barra-abajo, 0px) + var(--e-3));
    max-height: calc(100% - var(--barra-abajo, 0px) - var(--e-6));
  }
}

@media (prefers-reduced-motion: reduce) {
  .estoy-abrir { transition: none; }
  .estoy-abrir:hover { transform: none; }
  .estoy-abrir.esta-publicado .estoy-abrir-punto { animation: none; }
}

.segmento.esta-buscando .icono-svg {
  opacity: 1;
  animation: cerca-latido 1s ease-in-out infinite;
}

@keyframes cerca-latido {
  0%, 100% { opacity: .35; transform: scale(.86); }
  50%      { opacity: 1;   transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .segmento.esta-buscando .icono-svg { animation: none; opacity: .7; }
}

.aplicados {
  display: flex; flex-wrap: wrap; gap: var(--e-2);
  padding: 0 var(--e-4);
  margin-bottom: var(--e-3);
}
.aplicados:empty { display: none; }

.aplicado {
  display: inline-flex; align-items: center; gap: var(--e-2);

  min-height: var(--h-1);
  padding: 0 var(--e-3) 0 var(--e-4);
  font-size: var(--t-2-size); font-weight: 600;
  color: var(--sobre-acento);
  background: var(--acento);
  border: 1px solid var(--acento-texto);
  border-radius: var(--r-full);
  cursor: pointer;
}
.aplicado:hover { background: var(--acento-fuerte); }
.aplicado::after { content: '×'; font-size: 16px; line-height: 1; opacity: .7; }

.aplicados-limpiar {

  min-height: var(--h-1);
  display: inline-flex; align-items: center;
  padding: 0 var(--e-2);
  font-size: var(--t-2-size); color: var(--carbon-3);
  background: none; border: 0; cursor: pointer;
  text-decoration: underline; text-underline-offset: 2px;
}
.aplicados-limpiar:hover { color: var(--carbon); }

.conteo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: var(--e-3);
  row-gap: 3px;
  padding: var(--e-3) var(--e-4);
  background: var(--sup-1);
}

.conteo-texto {
  order: 1;
  grid-column: 1 / -1;
  font-size: var(--t-1-size);
  font-weight: var(--t-1-w);
  letter-spacing: var(--t-1-ls);
  text-transform: uppercase;
  color: var(--carbon-3);
}

.conteo-cifra {
  order: 2;
  font-family: var(--f-nombre);
  font-size: var(--t-5-size);
  font-weight: var(--t-5-w);
  letter-spacing: var(--t-5-ls);
  font-variant-numeric: tabular-nums;
  color: var(--carbon);
}

.conteo-detalle {
  order: 3;
  font-size: var(--t-2-size);
  line-height: 1.35;
  color: var(--carbon-3);
}
.conteo-detalle:empty { display: none; }

.guia-lista {
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
  display: flex; flex-direction: column; gap: var(--e-3);
  padding: 0 var(--e-4) var(--e-6);

}

.entrada {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: stretch;
  min-height: 104px;

  flex-shrink: 0;
  background: var(--sup-2);
  border: 1px solid var(--linea);
  border-radius: var(--r-3);
  overflow: hidden;
  color: var(--carbon);
  text-decoration: none;
  transition: box-shadow var(--dur-2) var(--curva),
              border-color var(--dur-2) var(--curva);
}
.entrada:hover {
  text-decoration: none;
  border-color: transparent;
  box-shadow: var(--s-tarjeta);
}
.entrada:focus-visible { outline: var(--foco-outline); outline-offset: 2px; }

.entrada.elegida {
  border-color: var(--acento);
  box-shadow: 0 0 0 1px var(--acento), var(--s-tarjeta);
}
.entrada.elegida .entrada-nombre { color: var(--acento-texto); }

.entrada-mini {
  display: block;
  width: 96px; height: 100%;
  min-height: 104px;
  background: var(--sup-0);
  overflow: hidden;
}
.entrada-mini img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.entrada-mini-vacia {
  display: grid; place-items: center;
  background: var(--sup-1);
  color: var(--carbon-3);
  box-shadow: inset -1px 0 0 var(--linea);
}

.entrada-cuerpo {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: var(--e-3) var(--e-4);
}

.entrada-linea-1 {
  display: flex; align-items: center;
  gap: var(--e-2);
  flex-wrap: wrap;
  min-width: 0;
}

.entrada-nombre {
  flex: 1 1 auto;
  min-width: 12ch;
  font-family: var(--f-nombre);
  font-size: var(--t-3-size);
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--carbon);

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.entrada-linea-1 .sello { flex-shrink: 0; }

.entrada-meta {
  display: block; min-width: 0;
  font-size: var(--t-2-size);
  color: var(--carbon-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.entrada-pie {
  display: flex; align-items: center; gap: var(--e-2) var(--e-3);
  flex-wrap: wrap;
  min-width: 0;
  font-size: var(--t-2-size);
}

.entrada-estado {
  min-width: 0;
  white-space: normal;
  line-height: 1.35;
}

.entrada-estado::before { flex-shrink: 0; }

.entrada-dist {
  margin-left: auto; flex-shrink: 0;
  color: var(--carbon-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.entrada-pie .puntaje { flex-shrink: 0; }

.entrada-dato {
  min-width: 0;
  font-weight: 700;
  white-space: normal;
  line-height: 1.35;
}

.entrada-dato-alquiler { color: var(--indigo); }
.entrada-dato-evento   { color: var(--ambar-texto); }
.entrada-dato-pedido   { color: var(--verde); }

.entrada-mini-alquiler { color: var(--indigo); background: var(--indigo-tinte); }
.entrada-mini-evento   { color: var(--ambar-texto); background: var(--ambar-fondo); }
.entrada-mini-pedido   { color: var(--verde); background: var(--verde-tinte); }

@media (max-width: 1099px) {
  .entrada-dist { margin-left: 0; }
}

.lista-encabezado {
  position: sticky; top: 0; z-index: 3;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--e-2);
  margin: 0 calc(var(--e-4) * -1);
  padding: var(--e-3) var(--e-5);
  background: var(--vidrio);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--linea);
  font-size: var(--t-1-size); letter-spacing: var(--t-1-ls); font-weight: var(--t-1-w);
  text-transform: uppercase; color: var(--carbon-2);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .lista-encabezado { background: var(--sup-2); }
}

.mapa-zona { position: relative; min-height: 0; background: var(--sup-1); }

#mapa, .mapa { width: 100%; height: 100%; background: var(--sup-1); }

.leaflet-container { background: var(--sup-1); font-family: var(--f-texto); }

.mapa-controles {
  position: absolute; right: var(--e-4); bottom: var(--e-4);
  z-index: 600;
  display: grid; gap: var(--e-2);
}
.mapa-controles .btn-icono {
  border: 0;
  border-radius: var(--r-full);
  background: var(--sup-2);
  box-shadow: var(--s-3);
}
.mapa-controles .btn-icono:hover { background: var(--sup-1); color: var(--acento-texto); }

.mapa-guia {
  position: absolute;
  right: var(--e-4);
  bottom: calc(var(--e-4) + 3 * 40px + 2 * var(--e-2) + var(--e-2));
  z-index: 600;
  display: grid;
  gap: 2px;
  justify-items: end;
  padding: var(--e-2) var(--e-3);
  border: 1px solid var(--linea);
  border-radius: var(--r-2);
  background: var(--sup-2);
  box-shadow: var(--s-3);
  font-size: 12px;
  line-height: 1.35;
  color: var(--carbon-3);
}
.mapa-guia[hidden] { display: none; }

.mapa-guia-nivel { color: var(--carbon-2); }

.mapa-guia form { display: contents; }

.mapa-guia-linea {
  width: 100%;
  height: 1px;
  margin: var(--e-1) 0;
  background: var(--linea);
}

.mapa-guia--mal { color: var(--acento-texto); }

.mapa-guia-aviso {
  max-width: 24ch;
  margin-top: 2px;
  padding: 4px 8px;
  border: 1px solid var(--acento-borde);
  border-radius: var(--r-1);
  background: var(--acento-tinte);
  color: var(--carbon-2);
  text-align: right;
  text-wrap: balance;
}
.mapa-guia-aviso[hidden] { display: none; }
.mapa-guia-nivel b,
.mapa-guia-tope b { font-variant-numeric: tabular-nums; }

.mapa-guia-fijar {
  margin-top: var(--e-1);
  padding: 5px 10px;
  border: 0;
  border-radius: var(--r-1);
  background: var(--grad-luz);
  color: var(--sobre-acento);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}
.mapa-guia-fijar:hover { background: var(--grad-luz-viva); }

.mapa-guia-fijar:disabled {
  background: var(--sup-3);
  color: var(--carbon-3);
  cursor: default;
}
.mapa-guia-fijar:disabled:hover { filter: none; }

@media (max-width: 640px) {
  .mapa-guia {
    left: var(--e-3);
    right: var(--e-3);
    justify-items: center;
    font-size: 11px;
  }
}

.leaflet-control-attribution {
  background: var(--vidrio) !important;
  color: var(--carbon-3) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 0 var(--r-1) 0 0 !important;
}
.leaflet-control-attribution a { color: var(--carbon-2) !important; }

.leaflet-control-zoom { display: none; }

.leaflet-marker-pane,
.leaflet-marker-pane .leaflet-marker-icon { will-change: transform; }

.pin {
  position: relative;
  display: grid; place-items: center;
  width: 22px; height: 22px;
  border-radius: var(--r-full);
  background: var(--sup-2);
  color: var(--acento-texto);
  cursor: pointer;
  transition: transform var(--dur-1) var(--curva),
              box-shadow var(--dur-1) var(--curva),
              opacity var(--dur-1) var(--curva);
}
.pin svg { display: block; }

.pin-abierto-ahora {
  position: absolute; right: -2px; bottom: -2px;
  width: 9px; height: 9px;
  border-radius: var(--r-full);
  background: var(--verde);
  box-shadow: 0 0 0 2px var(--sup-2);
}

.pin::after {
  content: '';
  position: absolute; top: 50%; left: 50%;
  width: 44px; height: 44px;
  transform: translate(-50%, -50%);
}

.pin-abierto,
.pin-cerrado,
.pin-sin-horario {
  box-shadow: 0 0 0 1px var(--filete-mapa),
              0 1px 3px rgb(var(--sombra-tinta) / .22);
}

.pin-cerrado { opacity: .72; }
.pin-sin-horario { opacity: .6; }

.pin-cerrado:hover, .pin-cerrado.resaltada, .pin-cerrado.elegida,
.pin-sin-horario:hover, .pin-sin-horario.resaltada, .pin-sin-horario.elegida {
  opacity: 1;
}

.pin-paga {  }

.pin-tipo-alquiler,
.pin-tipo-evento,
.pin-tipo-pedido {
  box-shadow: 0 0 0 1px var(--filete-mapa),
              0 1px 3px rgb(var(--sombra-tinta) / .22);
}

.pin-tipo-alquiler { color: var(--tipo-alquiler); }
.pin-tipo-evento   { color: var(--tipo-evento); }
.pin-tipo-pedido   { color: var(--tipo-pedido); }

.pin-tipo-alquiler { border-radius: var(--r-1); }

.pin-tipo-evento {
  border-radius: 4px;
  transform: rotate(45deg);
}
.pin-tipo-evento > svg,
.pin-tipo-evento > .pin-abierto-ahora {
  transform: rotate(-45deg);
}

.pin.pin-tipo-evento:hover,
.pin.pin-tipo-evento.resaltada { transform: rotate(45deg) scale(1.14); }

.pin-tipo-pedido {
  border-radius: var(--r-full) var(--r-full) var(--r-full) 4px;
}

.pin-tipo-servicio {
  color: var(--tipo-servicio);
  box-shadow: 0 0 0 1px var(--filete-mapa),

              0 0 0 2px var(--sup-2),
              0 0 0 3.5px var(--tipo-servicio),
              0 1px 3px rgb(var(--sombra-tinta) / .22);
}

.pin:not([class*="pin-tipo-"]) { color: var(--tipo-local); }

.pin:hover, .pin.resaltada { transform: scale(1.14); }

.pin.elegida {
  width: 30px; height: 30px;
  background: var(--acento);
  color: var(--sobre-acento);
  box-shadow: inset 0 0 0 1px var(--acento-texto),
              0 0 0 2.5px var(--sup-2),
              0 0 0 3.5px var(--filete-mapa),
              var(--brillo);
}
.pin.elegida .pin-abierto-ahora {
  width: 10px; height: 10px;
  right: -1px; bottom: -1px;
  box-shadow: 0 0 0 2.5px var(--acento);
}

.hay-eleccion .pin:not(.elegida),
.hay-eleccion .grupo { opacity: .45; }

.pin-rotulo {
  position: absolute; left: calc(100% + 12px); top: 50%;
  transform: translateY(calc(-50% + var(--rotulo-y, 0px)));
  display: flex; align-items: center; gap: 5px;

  width: max-content;
  max-width: 28ch;
  padding: 3px 9px 3px 7px;
  font-size: 11.5px; font-weight: 550;
  letter-spacing: -.004em; line-height: 1.35;
  color: var(--carbon);
  background: var(--sup-2);
  border-radius: var(--r-full);
  box-shadow: 0 0 0 1px var(--filete-mapa-suave),
              0 1px 2px rgb(var(--sombra-tinta) / .08),
              0 3px 10px rgb(var(--sombra-tinta) / .10);
  white-space: nowrap;
  pointer-events: none;
}

.pin-rotulo-icono {
  flex: 0 0 auto;
  display: grid; place-items: center;
  color: currentColor;
  opacity: .95;
}
.pin-rotulo-icono svg { display: block; }

.pin-rotulo-cuerpo {
  display: flex; flex-direction: column;
  min-width: 0;
}

.pin-rotulo-nombre {
  overflow: hidden; text-overflow: ellipsis; min-width: 0;
}

.pin-rotulo-dato {
  overflow: hidden; text-overflow: ellipsis; min-width: 0;
  font-size: 10.5px; font-weight: 500;
  font-variant-numeric: tabular-nums;
  opacity: .78;
}

.pin-rotulo-rico {
  padding: 4px 9px 4px 7px;
  max-width: 32ch;
}

.pin-rotulo-dos .pin-rotulo-dato {
  font-size: 11.5px;
  font-weight: 550;
  opacity: .92;
}

.pin-rotulo-local {
  color: var(--tipo-local);
  background: var(--tipo-local-fondo);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tipo-local) 34%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

.pin-rotulo-servicio {
  color: var(--tipo-servicio);
  background: var(--tipo-servicio-fondo);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tipo-servicio) 34%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

.pin-rotulo-alquiler {
  color: var(--tipo-alquiler);
  background: var(--tipo-alquiler-fondo);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tipo-alquiler) 30%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

.pin-rotulo-evento {
  color: var(--tipo-evento);
  background: var(--tipo-evento-fondo);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tipo-evento) 34%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

.pin-rotulo-pedido {
  color: var(--tipo-pedido);
  background: var(--tipo-pedido-fondo);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tipo-pedido) 34%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  .pin-rotulo-local, .pin-rotulo-servicio, .pin-rotulo-alquiler,
  .pin-rotulo-evento, .pin-rotulo-pedido {
    box-shadow: 0 0 0 1px var(--filete-mapa-suave),
                0 3px 10px rgb(var(--sombra-tinta) / .28);
  }
}

.pin-rotulo-local { border-radius: var(--r-full); }

.pin-rotulo-servicio {
  border-radius: var(--r-full);
  box-shadow: 0 0 0 1px var(--tipo-servicio-fondo),
              0 0 0 2px color-mix(in srgb, var(--tipo-servicio) 42%, transparent),
              0 3px 10px rgb(var(--sombra-tinta) / .28);
}

.pin-rotulo-alquiler { border-radius: 4px; }

.pin-rotulo-evento {
  border-radius: 0 var(--r-1) var(--r-1) 0;
  clip-path: polygon(9px 0, 100% 0, 100% 100%, 9px 100%, 0 50%);
  padding-left: 13px;
  box-shadow: none;
  border: 1px solid color-mix(in srgb, var(--tipo-evento) 40%, transparent);
}

.pin-rotulo-evento.a-la-izquierda {
  border-radius: var(--r-1) 0 0 var(--r-1);
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 50%, calc(100% - 9px) 100%, 0 100%);
  padding-left: 7px;
  padding-right: 13px;
}

.pin-rotulo-pedido {
  border-radius: var(--r-full) var(--r-full) var(--r-full) 0;
}
.pin-rotulo-pedido.a-la-izquierda {
  border-radius: var(--r-full) var(--r-full) 0 var(--r-full);
}

@supports not (clip-path: polygon(0 0, 1px 0, 0 1px)) {
  .pin-rotulo-evento,
  .pin-rotulo-evento.a-la-izquierda {
    clip-path: none;
    border-radius: var(--r-1);
    padding-left: 7px; padding-right: 9px;
  }
}

.pin-rotulo.a-la-izquierda { left: auto; right: calc(100% + 12px); }

.pin.elegida ~ .pin-rotulo {
  background: var(--carbon);
  color: var(--sup-2);
  font-weight: 600;
  box-shadow: 0 2px 10px rgb(var(--sombra-tinta) / .34);

  border-color: transparent;
}

.racimo-caja { display: grid; place-items: center; }

.grupo {
  position: relative;
  display: grid;
  place-items: center;
  background: var(--sup-2);
  border: 0;
  border-radius: var(--r-full);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  color: var(--carbon);
  line-height: 1;

  box-shadow: 0 0 0 1px var(--filete-mapa),
              0 0 0 3px var(--sup-2),
              0 0 0 4px var(--filete-mapa-suave),
              0 1px 5px rgb(var(--sombra-tinta) / .18);
  cursor: pointer;
  transition: box-shadow var(--dur-1) var(--curva),
              transform var(--dur-1) var(--curva),
              opacity var(--dur-1) var(--curva);
}
.grupo:hover, .grupo:focus-visible {
  transform: scale(1.1);
  box-shadow: 0 0 0 1px var(--filete-mapa),
              0 0 0 3px var(--sup-2),
              0 0 0 5px var(--acento),
              0 3px 10px rgb(var(--sombra-tinta) / .22);
  outline: none;
}

.grupo-abiertos::after {
  content: '';
  position: absolute; right: -3px; bottom: -3px;
  width: 9px; height: 9px;
  border-radius: var(--r-full);
  background: var(--verde);

  box-shadow: 0 0 0 2.5px var(--sup-2);
}

.grupo-chico  { width: 26px; height: 26px; font-size: 12px; }
.grupo-medio  { width: 30px; height: 30px; font-size: 13px; }
.grupo-grande { width: 34px; height: 34px; font-size: 14px; }

.grupo-abre {

  outline: 2px dashed var(--filete-mapa-suave);
  outline-offset: 5px;
}
.grupo-abre:hover, .grupo-abre:focus-visible { outline-color: var(--acento); }

.abanico-hilo {
  stroke: var(--filete-mapa);
  stroke-dasharray: 3 3;
  fill: none;
}

.abanico-centro {
  display: block;
  width: 12px; height: 12px;
  border-radius: var(--r-full);
  background: var(--sup-2);
  box-shadow: 0 0 0 1px var(--filete-mapa), 0 1px 3px rgb(var(--sombra-tinta) / .22);
  cursor: pointer;
}
.abanico-centro:hover { background: var(--acento); }

.pin-yo {
  display: block;
  width: 14px; height: 14px;
  border-radius: var(--r-full);
  background: var(--marcador-visitante);
  box-shadow: 0 0 0 2.5px var(--sup-2), 0 1px 5px var(--halo-visitante);
}

.ficha-mapa {
  position: absolute;
  z-index: 700;
  width: 300px; max-width: calc(100% - var(--e-6));
  background: var(--sup-2);
  border-radius: var(--r-3);
  box-shadow: 0 8px 32px rgb(var(--sombra-tinta) / .18), 0 2px 6px rgb(var(--sombra-tinta) / .10);
  overflow: hidden;
}
.ficha-mapa[hidden] { display: none; }

.ficha-mapa.anclada {
  left: var(--e-4); top: var(--e-4);
  transition: left var(--dur-2) var(--curva), top var(--dur-2) var(--curva);
}

.ficha-mapa-foto {
  width: 100%; aspect-ratio: 16 / 9;
  object-fit: cover; display: block;
  background: var(--sup-0);
}

.ficha-mapa-cuerpo { padding: var(--e-4); display: grid; gap: 5px; }

.ficha-mapa-nombre {
  margin: 0;
  font-family: var(--f-nombre);
  font-size: var(--t-4-size); font-weight: 600; letter-spacing: -.017em;
  color: var(--carbon);
}
.ficha-mapa-meta { margin: 0; font-size: var(--t-2-size); color: var(--carbon-2); }
.ficha-mapa-meta::first-letter { color: var(--ambar-texto); }

.ficha-mapa-dato {
  margin: 0;
  font-size: var(--t-4-size);
  font-weight: 700;
  letter-spacing: -.012em;
  line-height: 1.25;
}

.ficha-mapa-dato-alquiler { color: var(--indigo); }
.ficha-mapa-dato-evento   { color: var(--ambar-texto); }
.ficha-mapa-dato-pedido   { color: var(--verde); }

.ficha-mapa-fila {
  margin: 0;
  display: flex; align-items: center; gap: var(--e-3); flex-wrap: wrap;
  font-size: var(--t-2-size);
}

.ficha-mapa-fila:empty { display: none; }
.ficha-mapa-dist { color: var(--carbon-2); font-variant-numeric: tabular-nums; }
.ficha-mapa-domicilio { margin: 0; font-size: var(--t-2-size); color: var(--indigo); font-weight: 500; }

.ficha-mapa-acciones {
  display: flex; flex-wrap: wrap; gap: var(--e-2);
  margin-top: var(--e-2);
}

.ficha-mapa-acciones > * {
  flex: 1 1 auto;
  min-width: 132px;

  white-space: normal;
  line-height: 1.25;
  text-align: center;

  height: auto;
  min-height: var(--h-2);
  padding-block: 6px;
}

.ficha-mapa-ver { flex-basis: 100%; min-width: 0; }

.ficha-mapa-cerrar {
  position: absolute; right: var(--e-2); top: var(--e-2);
  width: 30px; height: 30px;
  display: grid; place-items: center;
  font: inherit; font-size: 19px; line-height: 1;
  color: var(--carbon);
  background: var(--vidrio);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 0; border-radius: var(--r-full);
  box-shadow: var(--s-1);
  cursor: pointer;
}
.ficha-mapa-cerrar:hover { background: var(--sup-2); color: var(--acento-texto); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ficha-mapa-cerrar { background: var(--sup-2); }
}

.mapa-aviso {
  position: absolute; left: 50%; top: var(--e-4);
  z-index: 900;
  transform: translateX(-50%);
  width: max-content;
  max-width: min(34rem, calc(100% - var(--e-6)));
  padding: var(--e-3) var(--e-4);
  font-size: var(--t-2-size); font-weight: 500;
  line-height: 1.45;
  color: var(--carbon);
  background: var(--sup-2);
  border-radius: var(--r-2);
  box-shadow: var(--s-3);
  text-align: center;

  overflow-wrap: anywhere;
}
.mapa-aviso[hidden] { display: none; }
.mapa-aviso.es-error { color: var(--peligro); }
.mapa-aviso.es-bien  { color: var(--verde); }

@media (max-width: 767px), (max-width: 900px) and (orientation: portrait), (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {

  .mapa-aviso {
    left: var(--e-3); right: var(--e-3);
    width: auto; max-width: none;
    transform: none;
  }
}

.ruta-funda { stroke: var(--sup-2); }
.ruta-trazo { stroke: var(--acento); }

.mapa-ruta {
  position: absolute; left: var(--e-4); right: var(--e-4); bottom: var(--e-4);
  z-index: 720;
  display: flex; align-items: center; gap: var(--e-4);
  padding: var(--e-3) var(--e-3) var(--e-3) var(--e-4);
  background: var(--sup-2);
  border-radius: var(--r-3);
  box-shadow: 0 8px 28px rgb(var(--sombra-tinta) / .20), 0 2px 6px rgb(var(--sombra-tinta) / .10);
}
.mapa-ruta[hidden] { display: none; }

.ruta-texto { flex: 1; min-width: 0; }

.ruta-titular {
  margin: 0;
  font-size: var(--t-3-size); color: var(--carbon);
  font-variant-numeric: tabular-nums;
}
.ruta-titular strong { font-weight: 650; }

.ruta-detalle {
  margin: 2px 0 0;
  font-size: var(--t-2-size); color: var(--carbon-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mapa-ruta[data-momento="calculando"] .ruta-titular { color: var(--carbon-2); }
.mapa-ruta[data-momento="sin-servicio"] .ruta-titular,
.mapa-ruta[data-momento="sin-ubicacion"] .ruta-titular { color: var(--carbon); font-weight: 550; }

.mapa-ruta[data-momento="sin-servicio"] .ruta-detalle,
.mapa-ruta[data-momento="sin-ubicacion"] .ruta-detalle { white-space: normal; }

.ruta-ir { flex-shrink: 0; }

.ruta-cerrar {
  flex-shrink: 0;
  width: 32px; height: 32px;
  display: grid; place-items: center;
  font: inherit; font-size: 19px; line-height: 1;
  color: var(--carbon-2);
  background: transparent;
  border: 0; border-radius: var(--r-full);
  cursor: pointer;
}
.ruta-cerrar:hover { background: var(--sup-1); color: var(--carbon); }

.mapa-zona.sin-teselas::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background-image:
    repeating-linear-gradient(0deg, var(--linea) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, var(--linea) 0 1px, transparent 1px 24px);
  opacity: .5;
}

.hoja-filtros {
  width: min(600px, calc(100vw - var(--e-5)));
  max-width: none;

  margin: auto;

  max-height: min(760px, calc(100dvh - var(--e-6)));

  padding: 0;
  border: 0;
  border-radius: var(--r-4);
  background: var(--sup-2);
  color: var(--carbon);
  box-shadow: var(--s-3);
}
.hoja-filtros::backdrop { background: rgb(var(--sombra-tinta) / .40); }

.hoja-filtros-cabecera {
  position: sticky; top: 0; z-index: 2;
  display: flex; align-items: center; justify-content: space-between;
  height: var(--h-4); padding: 0 var(--e-5);
  background: var(--sup-2);
  border-bottom: 1px solid var(--linea);
}
.hoja-filtros-cuerpo { padding: var(--e-4) var(--e-5); overflow-y: auto; overscroll-behavior: contain; }
.hoja-filtros-pie {
  position: sticky; bottom: 0;
  display: flex; gap: var(--e-3); align-items: center;
  padding: var(--e-4) var(--e-5);
  background: var(--sup-2);
  border-top: 1px solid var(--linea);
}

.filtro-seccion > .rotulo { margin-bottom: var(--e-2); }

.filtro-seccion {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 2px var(--e-2);
  margin-bottom: var(--e-5);
}

.filtro-opcion {
  display: flex; align-items: center; gap: var(--e-3);
  min-height: var(--h-2);
  padding: 0 var(--e-3);
  border-radius: var(--r-2);
  cursor: pointer;

  min-width: 0;
}
.filtro-opcion > span:not(.cuenta) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.filtro-opcion:hover { background: var(--sup-1); }

.filtro-opcion:has(input:checked) {
  background: var(--sup-0);
  color: var(--acento-texto);
  font-weight: 600;
}
.filtro-opcion .cuenta { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--carbon-3); font-size: var(--t-2-size); }

.conmutador { display: none; }

@media (max-width: 767px), (max-width: 900px) and (orientation: portrait), (max-width: 950px) and (max-height: 500px) and (orientation: landscape) {

  .app-cuerpo {
    grid-template-columns: minmax(0, 1fr);
    height: calc(100dvh - var(--h-4) - var(--barra-abajo, 0px) - env(safe-area-inset-bottom, 0px));
  }

  .app[data-vista="lista"] .mapa-zona { display: none; }
  .app[data-vista="mapa"] .guia { display: none; }

  .guia-plegar,
  .guia-abrir { display: none; }

  .buscador { margin-right: 0; }
  .app-cuerpo.esta-plegada { grid-template-columns: minmax(0, 1fr); }
  .app-cuerpo.esta-plegada .guia { visibility: visible; }

  .guia { border-right: 0; background: var(--sup-1); box-shadow: none; }
  .guia-busqueda { padding: var(--e-4) var(--e-4) var(--e-3); background: var(--sup-1); }
  .conteo { padding: 0 var(--e-4) var(--e-3); background: var(--sup-1); }
  .aplicados { padding: 0 var(--e-4); }

  .guia-lista { padding: 0 var(--e-4) var(--e-9); gap: var(--e-3); }

  .entrada { border-color: transparent; box-shadow: var(--s-tarjeta); }

  .ficha-mapa {
    position: fixed;
    left: var(--e-3); right: var(--e-3);
    bottom: calc(var(--barra-abajo, 0px) + env(safe-area-inset-bottom, 0px) + var(--e-3));
    width: auto; max-width: none;
    z-index: 960;
    animation: subir-ficha var(--dur-2) var(--curva);
  }
  @keyframes subir-ficha { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }

  .app:has(#mapa-ficha:not([hidden])) .conmutador,
  .app:has(#mapa-ruta:not([hidden])) .conmutador { display: none; }

  .mapa-ruta {
    position: fixed;
    left: var(--e-3); right: var(--e-3);
    bottom: calc(var(--barra-abajo, 0px) + env(safe-area-inset-bottom, 0px) + var(--e-3));
    z-index: 960;
    animation: subir-ficha var(--dur-2) var(--curva);
  }
  .app:has(#mapa-ruta:not([hidden])) #mapa-ficha { display: none; }

  .ficha-mapa-foto { aspect-ratio: 21 / 9; }

  .leaflet-bottom.leaflet-left { top: 0; bottom: auto; }
  .leaflet-control-attribution { border-radius: 0 0 var(--r-1) 0 !important; }

  :root { --alto-atribucion: 18px; }

  .guia-abrir { top: calc(var(--e-4) + var(--alto-atribucion, 18px)); }

  .conmutador {
    position: fixed;
    left: 50%;
    bottom: calc(var(--barra-abajo, 0px) + env(safe-area-inset-bottom, 0px) + var(--e-3));
    transform: translateX(-50%);
    z-index: 940;
    display: inline-grid;
    grid-auto-flow: column;
    gap: 2px;
    padding: 4px;
    background: var(--carbon);
    border-radius: var(--r-full);
    box-shadow: 0 4px 20px rgb(var(--sombra-tinta) / .34), 0 1px 3px rgb(var(--sombra-tinta) / .22);
  }

  .conmutador button {
    display: grid; place-items: center;

    min-height: var(--tocable); padding: 0 var(--e-5);
    border-radius: var(--r-full);
    font-family: var(--f-texto);
    font-size: var(--t-2-size); font-weight: 600;
    color: var(--sup-2);
    background: none; border: 0;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color var(--dur-1) var(--curva), color var(--dur-1) var(--curva);
  }

  .conmutador button[aria-selected="true"] {
    color: var(--carbon);
    background: var(--sup-2);
  }
  .conmutador button:focus-visible { outline: 2px solid var(--sup-2); outline-offset: 2px; }

  .hoja-filtros {
    width: 100vw; height: 100dvh; max-height: 100dvh;
    margin: 0; max-width: none;
    border-radius: 0;
    animation: subir var(--dur-2) var(--curva);
  }
  @keyframes subir { from { transform: translateY(100%); } to { transform: none; } }

  .filtros { margin-top: var(--e-3); gap: var(--e-2); }

  @media (max-width: 400px) {
    .segmento { font-size: 12px; gap: 4px; padding: 0 6px; }
  }
}

@container panel (max-width: 351px) {
  .segmento { font-size: 12px; gap: 5px; padding: 0 var(--e-2); }
}

@container panel (min-width: 620px) {

  .guia-lista {
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
  }

  .guia-lista > .entrada { flex: 1 1 340px; }

  .guia-lista > .vacio,
  .guia-lista > .lista-encabezado,
  .guia-lista > .invitacion { flex: 1 1 100%; }
}

@container panel (max-width: 336px) {
  .entrada { grid-template-columns: 76px minmax(0, 1fr); }
  .entrada-mini { width: 76px; }
  .guia-busqueda { padding-inline: var(--e-3); }
  .conteo, .aplicados { padding-inline: var(--e-3); }
  .guia-lista { padding-inline: var(--e-3); }
}


.radar-pin {
  display: grid; place-items: center;
  width: 26px; height: 26px;
  border-radius: 50%;
  box-shadow: 0 0 0 1.5px var(--filete-mapa), var(--s-2);
}

.radar-pin-transito {
  color: var(--radar-transito);
  background: color-mix(in srgb, var(--radar-transito) 16%, var(--sup-1));
}
.radar-pin-infraestructura {
  color: var(--radar-infra);
  background: color-mix(in srgb, var(--radar-infra) 16%, var(--sup-1));
}
.radar-pin-evento {
  color: var(--radar-evento);
  background: color-mix(in srgb, var(--radar-evento) 16%, var(--sup-1));
}
.radar-pin-situacion {
  color: var(--radar-situacion);
  background: color-mix(in srgb, var(--radar-situacion) 16%, var(--sup-1));
}

.radar-pin-sin-confirmar {
  opacity: .72;
  box-shadow: 0 0 0 1.5px var(--filete-mapa-suave);
  outline: 1.5px dashed currentColor;
  outline-offset: -1.5px;
}

.radar-pin-oficial {
  color: var(--sobre-acento);
  background: var(--marcador-visitante);
  box-shadow: 0 0 0 2px var(--filete-mapa),
              0 0 0 6px color-mix(in srgb, var(--marcador-visitante) 28%, transparent),
              var(--s-2);
}

.radar-pin-confirmado { box-shadow: 0 0 0 2px var(--filete-mapa), var(--s-2); }

.radar-zona {
  fill: currentColor;
  fill-opacity: .07;
  stroke: currentColor;
  stroke-opacity: .55;
  stroke-width: 1.5;
  stroke-dasharray: 5 4;
}

.radar-zona-firme { stroke-dasharray: none; stroke-opacity: .8; fill-opacity: .11; }

.radar-zona-transito { color: var(--radar-transito); }
.radar-zona-infraestructura { color: var(--radar-infra); }
.radar-zona-evento { color: var(--radar-evento); }
.radar-zona-situacion { color: var(--radar-situacion); }

.radar-popup .leaflet-popup-content-wrapper {
  background: var(--sup-2);
  color: var(--tinta);
  border: 1px solid var(--linea);
  border-radius: var(--r-2);
  box-shadow: var(--s-3);
}
.radar-popup .leaflet-popup-tip { background: var(--sup-2); border: 1px solid var(--linea); }
.radar-popup .leaflet-popup-content { margin: var(--e-4); }

.radar-globo { display: flex; flex-direction: column; gap: var(--e-2); }
.radar-globo-titulo {
  margin: 0;
  font-family: var(--f-nombre);
  font-size: var(--t-4-size);
  line-height: var(--t-4-lh);
  letter-spacing: var(--t-4-ls);
  font-weight: 600;
}
.radar-globo-meta { margin: 0; font-size: var(--t-2-size); color: var(--tinta-2); }
.radar-globo-enlace { font-size: var(--t-2-size); font-weight: 600; color: var(--acento-texto); }


