.grid-asesores{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
.asesor-card{
    background: #fff;
    border: 1px solid var(--borde);
    border-radius: var(--r);
    padding: 24px;
    display: flex; align-items: center; gap: 16px;
  }
.asesor-avatar{
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--gris-cl);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    border: 2px solid var(--borde);
  }
.asesor-avatar svg{ width: 28px; height: 28px; fill: var(--naranja); }
.asesor-nombre{ font-size: 15px; font-weight: 700; color: var(--gris); }
.asesor-cargo{ font-size: 12px; color: var(--gris-m); margin-bottom: 6px; }
.asesor-tel{ font-size: 13px; color: var(--naranja); font-weight: 600; }
@media(max-width: 900px){.grid-asesores{ grid-template-columns: 1fr; }}
.listado-breadcrumb{
    margin-top: 100px;
    background: var(--verde-osc);
    padding: 16px 5%;
    font-size: 13px;
  }
.breadcrumb-inner a{ color: rgba(255,255,255,.7); text-decoration: none; }
.breadcrumb-inner a:hover{ color: #fff; }
.breadcrumb-inner .sep{ color: rgba(255,255,255,.35); margin: 0 8px; }
.breadcrumb-inner strong{ color: var(--amarillo); font-weight: 600; }
.listado-filtros{
    background: #fff;
    border-bottom: 1px solid var(--borde);
    padding: 18px 5%;
    display: flex; align-items: center; justify-content: space-between;
    gap: 18px; flex-wrap: wrap;
  }
.filtro-buscador{
    flex: 1; min-width: 240px; max-width: 480px;
    display: flex; align-items: center; gap: 8px;
    border: 1.5px solid var(--borde); border-radius: 50px;
    padding: 10px 8px 10px 20px; background: var(--gris-cl);
  }
.filtro-buscador input{
    flex: 1; border: none; background: transparent; outline: none;
    font-family: 'Poppins', sans-serif; font-size: 14px; color: var(--texto);
  }
.filtro-buscador button{
    border: none; background: var(--naranja); color: #fff;
    width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
    font-size: 14px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: background .2s;
  }
.filtro-buscador button:hover{ background: var(--naranja-osc); }
.filtro-acciones{ display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.btn-filtro-toggle{
    border: 1.5px solid var(--borde); background: #fff; color: var(--gris);
    padding: 10px 20px; border-radius: 50px; font-size: 13.5px; font-weight: 600;
    cursor: pointer; transition: border-color .2s, color .2s;
  }
.btn-filtro-toggle:hover{ border-color: var(--naranja); color: var(--naranja); }
.btn-filtro-toggle.activo{ border-color: var(--naranja); color: #fff; background: var(--naranja); }
#select-orden{
    border: 1.5px solid var(--borde); background: #fff; color: var(--gris);
    padding: 10px 16px; border-radius: 50px; font-size: 13.5px; font-weight: 600;
    font-family: 'Poppins', sans-serif; cursor: pointer;
  }
.filtros-avanzados{
    display: none;
    background: var(--gris-cl);
    border-bottom: 1px solid var(--borde);
    padding: 22px 5%;
  }
.filtros-avanzados.activo{ display: block; }
.filtros-grid{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    align-items: end;
  }
.filtro-campo{ display: flex; flex-direction: column; gap: 6px; }
.filtro-campo label{
    font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 11.5px;
    text-transform: uppercase; letter-spacing: .3px; color: var(--gris-m);
  }
.filtro-campo select, .filtro-campo input[type="number"]{
    border: 1.5px solid var(--borde); background: #fff; color: var(--texto);
    border-radius: 10px; padding: 10px 12px; font-family: 'Poppins', sans-serif;
    font-size: 13px; width: 100%;
  }
.filtro-campo select:focus, .filtro-campo input:focus{ outline: none; border-color: var(--naranja); }
.filtro-rango{ display: flex; gap: 8px; }
.filtro-rango input{ min-width: 0; }
.filtro-check{
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--texto); font-weight: 600;
    padding-bottom: 10px;
  }
.filtro-check input{ accent-color: var(--naranja); width: 16px; height: 16px; }
.filtros-acciones-fila{
    grid-column: 1 / -1;
    display: flex; gap: 12px; justify-content: flex-end; margin-top: 4px;
  }
.btn-filtros-aplicar{
    background: var(--naranja); color: #fff; border: none;
    padding: 11px 24px; border-radius: 50px; font-weight: 700; font-size: 13.5px;
    font-family: 'Poppins', sans-serif; cursor: pointer; transition: background .2s;
  }
.btn-filtros-aplicar:hover{ background: var(--naranja-osc); }
.btn-filtros-limpiar{
    background: transparent; color: var(--gris-m); border: 1.5px solid var(--borde);
    padding: 11px 20px; border-radius: 50px; font-weight: 600; font-size: 13.5px;
    font-family: 'Poppins', sans-serif; cursor: pointer; transition: border-color .2s, color .2s;
  }
.btn-filtros-limpiar:hover{ border-color: var(--naranja); color: var(--naranja); }
@media(max-width: 1100px){.filtros-grid{ grid-template-columns: repeat(3, 1fr); }}
@media(max-width: 600px){.filtros-grid{ grid-template-columns: 1fr 1fr; }}
.listado-section{ padding: 40px 5% 72px; }
.listado-header{
    display: flex; align-items: baseline; justify-content: space-between;
    flex-wrap: wrap; gap: 8px; margin-bottom: 22px;
  }
.listado-header h1{
    font-family: 'Poppins', sans-serif; font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 700; color: var(--texto); margin: 0;
  }
#listado-contador{ font-size: 13.5px; color: var(--gris-m); font-weight: 600; }
.grid-listado{ grid-template-columns: repeat(4, 1fr); }
.listado-sentinel{
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    padding: 40px 0; color: var(--gris-m); font-size: 13.5px; font-weight: 600;
  }
.listado-spinner{
    width: 30px; height: 30px; border-radius: 50%;
    border: 3px solid var(--borde); border-top-color: var(--naranja);
    animation: girar 0.8s linear infinite;
  }
@keyframes girar{ to { transform: rotate(360deg); } }
.listado-fin{ text-align: center; color: var(--gris-m); font-size: 13.5px; padding: 20px 0 0; }
@media(max-width: 1100px){.grid-listado{ grid-template-columns: repeat(3, 1fr); }}
@media(max-width: 900px){.grid-listado{ grid-template-columns: repeat(2, 1fr); }.listado-filtros{ flex-direction: column; align-items: stretch; }}
@media(max-width: 600px){.grid-listado{ grid-template-columns: 1fr; }}
/* ===== Listado v2: barra superior, filtros laterales, mapa ===== */
.listado-hero{background:#2b2b2b;padding:128px 20px 22px}
.admin-bar .listado-hero{padding-top:150px}
.lh-inner{max-width:1280px;margin:0 auto}
.lh-migas{color:#fff;font-size:14px;display:flex;gap:10px;align-items:center;margin-bottom:16px}
.lh-migas a{color:#fff;text-decoration:none}.lh-migas .sep{opacity:.6}.lh-migas strong{color:#f5b52e;font-weight:600}
.lh-fila{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lh-buscador{background:#fff;border-radius:16px;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;width:380px;max-width:100%;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.lh-campo{flex:1;min-width:0}.lh-lbl{display:block;font-size:11px;color:#8a8a8a;font-weight:600;margin-bottom:2px}
.lh-input{display:flex;align-items:center;gap:8px;color:#444}.lh-input input{border:0;outline:0;width:100%;font:500 14px 'Poppins',sans-serif;background:transparent;color:#2b2b2b}
.lh-lupa{width:40px;height:40px;border-radius:50%;border:0;background:var(--naranja,#b85c38);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.lh-acciones{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 20px;font:600 14px 'Poppins',sans-serif;cursor:pointer;transition:transform .15s,box-shadow .15s}
.pill-acento{background:var(--naranja,#b85c38);color:#fff}.pill-acento:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.25)}
.lnk-borrar{background:none;border:0;color:#fff;text-decoration:underline;font:600 14px 'Poppins',sans-serif;cursor:pointer}
.pill-blanca{background:#fff;color:#2b2b2b;border:0;border-radius:999px;padding:12px 18px;font:600 14px 'Poppins',sans-serif;cursor:pointer}
.listado-section{max-width:1280px;margin:0 auto;padding:34px 20px 60px}
.listado-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.listado-layout{display:block}
.listado-mapa{display:none}
.listado-layout.con-mapa{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}
.listado-layout.con-mapa .listado-mapa{display:block;position:sticky;top:96px;height:calc(100vh - 130px);min-height:420px;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.listado-layout.con-mapa .grid-listado{grid-template-columns:repeat(2,minmax(0,1fr))}
#mapa-canvas{width:100%;height:100%}
.pin-precio span{display:inline-block;transform:translate(-50%,-100%);background:#fff;border:2px solid var(--naranja,#b85c38);color:#2b2b2b;font:700 12px 'Poppins',sans-serif;padding:5px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.pin-precio span:hover{background:var(--naranja,#b85c38);color:#fff}
.mapa-pop{width:230px;font-family:'Poppins',sans-serif}.mapa-pop img{width:100%;height:110px;object-fit:cover;border-radius:10px}.mapa-pop b{display:block;margin:8px 0 2px;font-size:13px;color:#2b2b2b}.mapa-pop span{color:var(--naranja,#b85c38);font-weight:700}.mapa-pop a{display:block;margin-top:8px;text-align:center;background:var(--naranja,#b85c38);color:#fff!important;border-radius:999px;padding:7px;text-decoration:none;font-size:12px;font-weight:600}
/* Ventana lateral de filtros */
.filtros-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s;z-index:1990}
.filtros-overlay.activo{opacity:1;pointer-events:auto}
.filtros-avanzados{position:fixed;top:0;left:0;bottom:0;width:380px;max-width:92vw;background:#fff;z-index:2000;display:flex!important;flex-direction:column;transform:translateX(-105%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:0 22px 22px 0;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:0;margin:0;max-height:none;border:0}
.filtros-avanzados.activo{transform:translateX(0)}
.fa-cab{background:#2b2b2b;color:#f5b52e;display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-radius:0 22px 0 0}
.fa-cab h2{margin:0;font:700 20px 'Poppins',sans-serif}
.fa-cerrar{width:30px;height:30px;border-radius:50%;border:0;background:#f5b52e;color:#2b2b2b;font-size:14px;cursor:pointer}
.fa-cuerpo{flex:1;overflow:auto;padding:6px 22px 18px}
.fa-grupo{padding:16px 0;border-bottom:1px solid #eee}.fa-grupo h3{margin:0 0 12px;font:600 15px 'Poppins',sans-serif;color:#8a8a8a}
.fa-grupo select{width:100%;padding:11px 12px;border:1px solid #cfcfcf;border-radius:10px;font:500 14px 'Poppins',sans-serif}
.fa-rango{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fa-rango label{font:600 12px 'Poppins',sans-serif;color:#2b2b2b;display:flex;flex-direction:column;gap:6px}
.fa-rango input{padding:11px 12px;border:1px solid #2b2b2b;border-radius:10px;font:500 13px 'Poppins',sans-serif;width:100%;box-sizing:border-box}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:0;background:#e6e6e6;color:#2b2b2b;border-radius:999px;padding:9px 14px;font:600 13px 'Poppins',sans-serif;cursor:pointer}.chip.on{background:var(--naranja,#b85c38);color:#fff}
.fa-check{display:flex;gap:10px;align-items:center;font:600 14px 'Poppins',sans-serif;color:#2b2b2b}
.fa-pie{display:flex;gap:10px;padding:14px 22px;border-top:1px solid #eee;background:#fff}
.fa-pie .btn-filtros-limpiar{flex:0 0 auto}.fa-pie .btn-filtros-aplicar{flex:1}
body.filtros-abiertos{overflow:hidden}
/* Móvil */
@media(max-width:900px){
  .listado-layout.con-mapa{display:block}
  .listado-layout.con-mapa .listado-lista{display:none}
  .listado-layout.con-mapa .listado-mapa{position:relative;top:0;height:68vh;border-radius:14px}
  .lh-buscador{width:100%}
  .lh-acciones{width:100%;justify-content:space-between}
  .lh-acciones .lnk-borrar{display:none}
  .lh-acciones .btn-mapa{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:1500;box-shadow:0 10px 26px rgba(0,0,0,.35)}
  .listado-hero{padding-top:118px}
  .filtros-avanzados{width:100%;max-width:100%;border-radius:0}
  .fa-cab{border-radius:0}
}

/* Mapa blanco y negro */
#mapa-canvas .leaflet-tile-pane{filter:grayscale(1) brightness(1.08) contrast(.9)}
.pin-precio span{border-color:#111!important;color:#111!important}
.pin-precio span:hover{background:#111!important;color:#fff!important}
.mapa-pop span{color:#111!important}.mapa-pop a{background:#111!important}

/* Botón del mapa en móvil: una sola línea, a la izquierda para no chocar con WhatsApp */
@media(max-width:700px){
  .lh-acciones .btn-mapa{left:14px;right:auto;transform:none;bottom:18px;white-space:nowrap;padding:11px 16px;font-size:13.5px;width:auto;max-width:calc(100vw - 100px)}
  .lh-acciones .btn-mapa svg{flex:0 0 auto}
}
