.c593-explorer{--c593-navy:#071f41;--c593-blue:#123d73;--c593-yellow:#ffdd00;--c593-operation-rent:#ffdb03;--c593-operation-sale:#123d73;--c593-operation-ink:#031836;--c593-line:#e2e8f0;--c593-page:#f8fafc;display:grid;gap:12px;width:100%;color:var(--c593-navy)}
.c593-explorer__toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--c593-line);border-radius:10px;background:#fff;box-shadow:0 6px 22px rgb(7 31 65 / 7%)}
.c593-explorer__toolbar label{display:grid;gap:5px;min-width:0;font-size:12px;font-weight:700}.c593-explorer__toolbar input,.c593-explorer__toolbar select{width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--c593-navy);padding:7px 9px}.c593-explorer__toolbar input:focus,.c593-explorer__toolbar select:focus{outline:3px solid rgb(255 221 0 / 45%);outline-offset:1px;border-color:var(--c593-blue)}
.c593-explorer__status{min-height:20px;color:#475569;font-size:13px}.c593-explorer__map{height:var(--c593-explorer-height);min-height:360px;border:1px solid var(--c593-line);border-radius:16px;overflow:hidden;background:var(--c593-page);box-shadow:0 10px 32px rgb(7 31 65 / 9%)}.c593-explorer__map:focus{outline:3px solid var(--c593-yellow);outline-offset:2px}
.c593-explorer__marker-wrap{background:transparent;border:0}.c593-explorer__marker{display:flex;align-items:center;gap:5px;white-space:nowrap;transform:translateY(-4px)}.c593-explorer__marker img{display:block;width:30px;height:30px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 3px 10px rgb(7 31 65 / 22%)}.c593-explorer__marker b{display:block;padding:5px 7px;border-radius:7px;background:var(--c593-navy);color:#fff;font-size:11px;line-height:1;box-shadow:0 3px 10px rgb(7 31 65 / 22%)}
.c593-explorer__popup{display:grid;gap:8px;min-width:250px}.c593-explorer__offer{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;padding:5px;color:var(--c593-navy);text-decoration:none;border-radius:8px}.c593-explorer__offer:hover,.c593-explorer__offer:focus{background:var(--c593-page);outline:0}.c593-explorer__offer img{width:82px;height:62px;object-fit:cover;border-radius:6px}.c593-explorer__offer span{display:grid;gap:2px;min-width:0}.c593-explorer__offer strong{color:var(--c593-blue);font-size:12px}.c593-explorer__offer b{font-size:12px;line-height:1.25}.c593-explorer__offer small{color:#64748b;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
@media(max-width:849px){.c593-explorer__toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.c593-explorer__map{min-height:420px}}
@media(max-width:549px){.c593-explorer__toolbar{grid-template-columns:1fr;padding:12px}.c593-explorer__map{height:max(420px,var(--c593-explorer-height));border-radius:12px}.c593-explorer__marker b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.c593-explorer *{scroll-behavior:auto!important;transition:none!important}}
.c593-explorer__range-field{min-width:0}.c593-explorer__range-field input[type=range]{min-height:18px;padding:0;border:0;background:transparent;accent-color:var(--c593-blue);cursor:pointer}.c593-explorer__range-field input[type=number]{min-height:36px}

/* Popup inmobiliario: tarjeta compacta y legible, encapsulada en el explorador. */
.c593-explorer .leaflet-popup-content-wrapper{width:min(360px,calc(100vw - 32px));padding:0;border:1px solid var(--c593-line);border-radius:16px;background:#fff;box-shadow:0 16px 36px rgb(7 31 65 / 22%);overflow:hidden}
.c593-explorer .leaflet-popup-content{width:auto!important;max-width:none;margin:0}
.c593-explorer .leaflet-popup-tip{background:#fff;box-shadow:2px 2px 5px rgb(7 31 65 / 12%)}
.c593-explorer .leaflet-container a.leaflet-popup-close-button{top:9px;right:9px;width:28px;height:28px;padding:0;border-radius:50%;background:var(--c593-page);color:var(--c593-navy);font-size:18px;font-weight:600;line-height:28px;text-align:center;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.c593-explorer .leaflet-container a.leaflet-popup-close-button:hover,.c593-explorer .leaflet-container a.leaflet-popup-close-button:focus{background:var(--c593-yellow);color:var(--c593-navy);outline:0;transform:scale(1.04)}
.c593-explorer .leaflet-container a.leaflet-popup-close-button:focus-visible{outline:3px solid rgb(255 221 0 / 65%);outline-offset:2px}
.c593-explorer__popup{display:grid;gap:0;min-width:0;width:100%;max-height:min(360px,55vh);padding:13px;overflow:auto;scrollbar-color:var(--c593-blue) var(--c593-page);scrollbar-width:thin}
.c593-explorer__offer{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:0;color:var(--c593-navy);text-decoration:none;border-radius:12px}
.c593-explorer__offer+.c593-explorer__offer{margin-top:12px;padding-top:12px;border-top:1px solid var(--c593-line)}
.c593-explorer__offer:hover,.c593-explorer__offer:focus{background:var(--c593-page);outline:0}
.c593-explorer__offer:focus-visible{outline:3px solid rgb(255 221 0 / 65%);outline-offset:3px}
.c593-explorer__offer img{display:block;width:96px;height:72px;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--c593-line);border-radius:10px;background:var(--c593-page)}
.c593-explorer__offer span{display:grid;align-content:start;gap:5px;min-width:0;padding-right:20px}
.c593-explorer__offer strong{display:inline-flex;width:max-content;max-width:100%;box-sizing:border-box;padding:5px 8px;border-radius:999px;background:var(--c593-navy);color:#fff;font-size:12px;font-weight:800;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.c593-explorer__offer--sale strong{background:var(--c593-operation-sale);color:#fff}
.c593-explorer__offer--rent strong{background:var(--c593-operation-rent);color:var(--c593-operation-ink)}
.c593-explorer__offer b{display:-webkit-box;overflow:hidden;color:var(--c593-navy);font-size:14px;font-weight:750;line-height:1.28;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.c593-explorer__offer small{display:block;overflow-wrap:anywhere;color:#475569;font-size:11px;line-height:1.35}
.c593-explorer__offer .c593-explorer__location{color:var(--c593-blue);font-weight:650}
.c593-explorer__offer .c593-explorer__facts{color:#64748b;font-size:10.5px}
@media(max-width:549px){.c593-explorer .leaflet-popup-content-wrapper{width:calc(100vw - 28px);border-radius:14px}.c593-explorer__popup{padding:11px;max-height:52vh}.c593-explorer__offer{grid-template-columns:84px minmax(0,1fr);gap:10px}.c593-explorer__offer img{width:84px;height:63px}.c593-explorer__offer b{font-size:13px}.c593-explorer__offer span{padding-right:18px}}
@media(prefers-reduced-motion:reduce){.c593-explorer .leaflet-container a.leaflet-popup-close-button{transition:none}}


/* Popup vertical: fotografía protagonista e información en una segunda capa. */
.c593-explorer .leaflet-popup-content-wrapper{width:min(360px,calc(100vw - 28px));border-radius:18px;box-shadow:0 18px 42px rgb(7 31 65 / 25%)}
.c593-explorer__popup{display:grid;gap:0;width:100%;max-height:min(460px,65vh);padding:12px;overflow:auto}
.c593-explorer__offer{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;align-items:start;min-width:0;padding:0;border-radius:14px}
.c593-explorer__offer+.c593-explorer__offer{margin-top:14px;padding-top:14px;border-top:1px solid var(--c593-line)}
.c593-explorer__offer:hover,.c593-explorer__offer:focus{background:transparent}
.c593-explorer__photo{width:100%;min-height:150px;max-height:210px;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--c593-line);border-radius:13px;background:var(--c593-page);box-shadow:0 8px 20px rgb(7 31 65 / 10%);will-change:transform,opacity}
.c593-explorer__photo img{display:block;width:100%;height:100%;border:0;border-radius:0;object-fit:cover}
.c593-explorer__photo--empty{background:var(--c593-page)}
.c593-explorer__details{display:grid;gap:5px;min-width:0;padding:0 4px 2px;will-change:transform,opacity}
.c593-explorer__details strong{justify-self:start}
.c593-explorer__details b{font-size:15px;line-height:1.28}
.c593-explorer__details small{font-size:11px;line-height:1.35}
.c593-explorer__details>*{will-change:transform,opacity}
@media(max-width:549px){.c593-explorer .leaflet-popup-content-wrapper{width:calc(100vw - 24px);border-radius:15px}.c593-explorer__popup{padding:10px;max-height:58vh}.c593-explorer__photo{min-height:130px;max-height:185px}.c593-explorer__details b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.c593-explorer__photo,.c593-explorer__details,.c593-explorer__details>*{will-change:auto}}


/* Explorador: mapa 8/12 y filtros verticales 4/12 en escritorio. */
@media (min-width:960px){
  .c593-explorer{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-areas:"map toolbar" "status toolbar";column-gap:18px;row-gap:10px;align-items:start}
  .c593-explorer__map{grid-area:map;min-width:0}
  .c593-explorer__status{grid-area:status}
  .c593-explorer__toolbar{grid-area:toolbar;grid-template-columns:1fr;align-content:start;gap:12px;min-width:0;padding:16px}
  .c593-explorer__toolbar label,.c593-explorer__range-field{min-width:0}
}
@media (max-width:959px){
  .c593-explorer{grid-template-columns:minmax(0,1fr);grid-template-areas:"map" "status" "toolbar"}
  .c593-explorer__map{grid-area:map}
  .c593-explorer__status{grid-area:status}
  .c593-explorer__toolbar{grid-area:toolbar;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:549px){
  .c593-explorer__toolbar{grid-template-columns:minmax(0,1fr)}
}


/* Filtros compactos: misma lógica del directorio, con menos aire vertical. */
.c593-explorer__toolbar-title{color:var(--c593-navy);font-size:1.05rem;font-weight:800;line-height:1.2}
.c593-explorer__toolbar label{gap:4px;font-size:11px}
.c593-explorer__toolbar input:not([type=range]),.c593-explorer__toolbar select{min-height:38px;height:38px;padding:6px 9px}
.c593-explorer__price-range{display:grid;gap:6px;padding-top:1px}
.c593-explorer__price-range-header{display:flex;justify-content:space-between;gap:8px;color:#52657e;font-size:11px;font-weight:700}
.c593-explorer__price-range-header output{color:var(--c593-navy);font-weight:800;white-space:nowrap}
.c593-explorer__price-sliders{position:relative;height:20px}
.c593-explorer__price-sliders input[type=range]{position:absolute;inset:0;width:100%;height:20px;min-height:20px;margin:0;padding:0;border:0;pointer-events:none;appearance:none;background:transparent}
.c593-explorer__price-sliders input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#cbd5e1}
.c593-explorer__price-sliders input[type=range]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;border:3px solid #fff;border-radius:50%;background:var(--c593-blue);box-shadow:0 1px 4px rgb(7 31 65 / 25%);pointer-events:auto;appearance:none}
.c593-explorer__price-sliders input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#cbd5e1}
.c593-explorer__price-sliders input[type=range]::-moz-range-thumb{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--c593-blue);box-shadow:0 1px 4px rgb(7 31 65 / 25%);pointer-events:auto}
.c593-explorer__price-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.c593-explorer__price-inputs label{gap:3px;font-size:10px}
.c593-explorer__price-inputs input{min-height:34px!important;height:34px!important}
.c593-explorer__advanced{border-top:1px solid var(--c593-line);padding-top:8px}
.c593-explorer__advanced summary{cursor:pointer;color:var(--c593-blue);font-size:12px;font-weight:800;list-style:none}
.c593-explorer__advanced summary::-webkit-details-marker{display:none}
.c593-explorer__advanced summary:after{content:'+';float:right;font-size:16px;line-height:12px}
.c593-explorer__advanced[open] summary:after{content:'−'}
.c593-explorer__advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.c593-explorer__advanced-grid label{gap:3px;font-size:10px}
.c593-explorer__advanced-grid label:last-child{grid-column:1/-1}
.c593-explorer__advanced-grid input,.c593-explorer__advanced-grid select{min-height:34px!important;height:34px!important}
.c593-explorer__clear{min-height:36px;border:1px solid var(--c593-blue);border-radius:8px;background:#fff;color:var(--c593-blue);font-size:11px;font-weight:800;cursor:pointer}
.c593-explorer__clear:hover,.c593-explorer__clear:focus{background:var(--c593-blue);color:#fff;outline:0}
@media(max-width:959px){.c593-explorer__toolbar-title{font-size:1rem}.c593-explorer__toolbar{gap:9px}}
@media(max-width:549px){.c593-explorer__advanced-grid{grid-template-columns:minmax(0,1fr)}.c593-explorer__advanced-grid label:last-child{grid-column:auto}}


/* Mantener legibilidad al compactar: el ahorro viene del espaciado, no del tamaño de texto. */
.c593-explorer__toolbar label,.c593-explorer__price-range-header,.c593-explorer__price-inputs label,.c593-explorer__advanced-grid label{font-size:12px}
/* Proporción 10/12: mapa amplio y buscador vertical de 2/12 en escritorio. */
@media (min-width:960px){
  .c593-explorer{
    grid-template-columns:minmax(0,5fr) minmax(0,1fr);
  }
}

/* Marcadores por operación: venta en azul, alquiler en amarillo, con entrada GSAP. */
.c593-explorer{--c593-red:#d71920}
.c593-explorer__marker{position:relative;display:flex;align-items:center;gap:7px;white-space:nowrap;transform:translateY(-4px);filter:drop-shadow(0 4px 7px rgb(7 31 65 / 18%))}
.c593-explorer__marker img{display:block;width:34px;height:34px;border:3px solid #fff;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 3px 10px rgb(7 31 65 / 22%);transition:transform .18s ease,border-color .18s ease}
.c593-explorer__marker b{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:84px;padding:6px 10px 7px;border:1px solid transparent;border-radius:10px;line-height:1;box-shadow:0 4px 12px rgb(7 31 65 / 22%);transition:transform .18s ease,box-shadow .18s ease}
.c593-explorer__marker-operation{font-size:8px;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase;opacity:.78}
.c593-explorer__marker-price{font-size:11px;font-weight:800;line-height:1.15}
.c593-explorer__marker--sale b{background:var(--c593-operation-sale);color:#fff;border-color:rgb(255 255 255 / 24%)}
.c593-explorer__marker--sale img{border-color:var(--c593-operation-sale)}
.c593-explorer__marker--rent b{background:var(--c593-operation-rent);color:var(--c593-operation-ink);border-color:rgb(3 24 54 / 16%);box-shadow:0 4px 12px rgb(7 31 65 / 18%)}
.c593-explorer__marker--rent img{border-color:var(--c593-operation-rent)}
.c593-explorer__marker--mixed b{background:var(--c593-navy);color:#fff;border-color:var(--c593-yellow)}
.c593-explorer__marker--mixed img{border-color:var(--c593-red)}
.c593-explorer__marker--neutral b{background:var(--c593-navy);color:#fff}
.c593-explorer__marker:hover img,.c593-explorer__marker:focus-visible img{transform:scale(1.08)}
.c593-explorer__marker:hover b,.c593-explorer__marker:focus-visible b{transform:translateY(-1px);box-shadow:0 6px 16px rgb(7 31 65 / 28%)}
@media(max-width:549px){.c593-explorer__marker b{min-width:76px;padding:5px 8px}.c593-explorer__marker-operation{font-size:7px}.c593-explorer__marker-price{font-size:10px}}
@media(prefers-reduced-motion:reduce){.c593-explorer__marker img,.c593-explorer__marker b{transition:none}}

/* Etiquetas compactas: el marcador ocupa solo el ancho de su contenido. */
.c593-explorer__marker{width:max-content;max-width:calc(100vw - 24px)}
.c593-explorer__marker b{min-width:0}
@media(max-width:549px){.c593-explorer__marker{max-width:calc(100vw - 18px)}}

/* Etiqueta de operación en una sola línea: más legible y sin solapamientos. */
.c593-explorer__marker b{display:block;min-width:0;padding:7px 10px 8px;font-size:11px;line-height:1.1;white-space:nowrap}
@media(max-width:549px){.c593-explorer__marker b{font-size:11px;padding:6px 8px 7px}}

/* Leyenda mínima para explicar el código de color sin recargar los marcadores. */
.c593-explorer__legend{display:flex;align-items:center;gap:8px;margin:10px;border:1px solid var(--c593-line);border-radius:10px;padding:7px 9px;background:rgb(255 255 255 / 94%);box-shadow:0 4px 14px rgb(7 31 65 / 14%);color:var(--c593-navy);font-size:11px;font-weight:800;line-height:1}
.c593-explorer__legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.c593-explorer__legend-swatch{display:block;width:8px;height:8px;border-radius:50%}
.c593-explorer__legend-swatch--sale{background:var(--c593-operation-sale)}
.c593-explorer__legend-swatch--rent{background:var(--c593-operation-rent);border:1px solid rgb(3 24 54 / 25%)}
@media(max-width:549px){.c593-explorer__legend{gap:6px;margin:7px;padding:6px 8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.c593-explorer__legend{transition:none}}
/* El rango se controla con los sliders; ocultar los campos numéricos duplicados. */
.c593-explorer .c593-explorer__price-inputs{display:none!important}

/* El riel queda detrás; los puntos de ambos rangos se mantienen al frente. */
.c593-explorer .c593-explorer__price-sliders{isolation:isolate}
.c593-explorer .c593-explorer__price-sliders:before{content:"";position:absolute;inset-inline:0;top:8px;height:4px;border-radius:4px;background:#cbd5e1;pointer-events:none;z-index:0}

/* Unified component radius: all explorer surfaces use the same 10px language. */
.c593-explorer .c593-explorer__toolbar,
.c593-explorer .c593-explorer__map,
.c593-explorer .leaflet-popup-content-wrapper,
.c593-explorer .leaflet-popup-tip,
.c593-explorer .leaflet-container a.leaflet-popup-close-button,
.c593-explorer .c593-explorer__marker img,
.c593-explorer .c593-explorer__marker b,
.c593-explorer .c593-explorer__offer,
.c593-explorer .c593-explorer__offer img,
.c593-explorer .c593-explorer__offer strong,
.c593-explorer .c593-explorer__photo,
.c593-explorer .c593-explorer__clear,
.c593-explorer .c593-explorer__legend,
.c593-explorer .c593-explorer__legend-swatch,
.c593-explorer .c593-explorer__price-sliders:before,
.c593-explorer .c593-explorer__price-sliders input[type=range]::-webkit-slider-runnable-track,
.c593-explorer .c593-explorer__price-sliders input[type=range]::-moz-range-track,
.c593-explorer .c593-explorer__price-sliders input[type=range]::-webkit-slider-thumb,
.c593-explorer .c593-explorer__price-sliders input[type=range]::-moz-range-thumb{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders input[type=range]{z-index:1}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-webkit-slider-runnable-track{background:transparent}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-moz-range-track{background:transparent}

.c593-explorer .c593-explorer__toolbar,
.c593-explorer .c593-explorer__map,
.c593-explorer .leaflet-popup-content-wrapper,
.c593-explorer .leaflet-popup-tip,
.c593-explorer .leaflet-container a.leaflet-popup-close-button,
.c593-explorer .c593-explorer__marker img,
.c593-explorer .c593-explorer__marker b,
.c593-explorer .c593-explorer__offer,
.c593-explorer .c593-explorer__offer img,
.c593-explorer .c593-explorer__offer strong,
.c593-explorer .c593-explorer__photo,
.c593-explorer .c593-explorer__clear,
.c593-explorer .c593-explorer__legend,
.c593-explorer .c593-explorer__legend-swatch{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders:before{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-webkit-slider-runnable-track{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-moz-range-track{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-webkit-slider-thumb{border-radius:10px}
.c593-explorer .c593-explorer__price-sliders input[type=range]::-moz-range-thumb{border-radius:10px}
