/* Explorador de localidades */

/* Respaldo: ocultar el realce select2/tom-select del campo de zonas (lo maneja el explorador) */
.hp-form__field:has(.uv-loc-select) .select2,
.hp-form__field:has(.uv-loc-select) .select2-container,
.hp-form__field:has(.uv-loc-select) .ts-wrapper{display:none!important;}
.uv-loc-select ~ .select2, .uv-loc-select ~ .select2-container, .uv-loc-select ~ .ts-wrapper{display:none!important;}

.uv-loc-ui{margin-top:8px;}
.uv-loc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.uv-loc-empty{color:#94A3B8;font:500 14px Inter,sans-serif;}
.uv-loc-chip{display:inline-flex;align-items:center;gap:8px;background:#EFF6FF;color:#1E3A8A;border:1px solid #BFD3F5;
  border-radius:999px;padding:6px 12px;font:600 13px Inter,sans-serif;}
.uv-loc-chip b{cursor:pointer;color:#2563EB;font-weight:800;}
.uv-loc-chip b:hover{color:#DC2626;}
.uv-loc-open{display:inline-flex;align-items:center;gap:8px;background:#2563EB;color:#fff;border:0;border-radius:999px;
  padding:11px 18px;font:800 14px Montserrat,sans-serif;cursor:pointer;}
.uv-loc-open:hover{background:#1E3A8A;}

.uv-loc-modal{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:16px;}
.uv-loc-box{background:#fff;border-radius:18px;width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);}
.uv-loc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #EEF2F7;font-family:Montserrat,sans-serif;font-size:17px;}
.uv-loc-close{border:0;background:#F1F5F9;width:34px;height:34px;border-radius:10px;font-size:22px;line-height:1;cursor:pointer;color:#334155;
  display:inline-flex;align-items:center;justify-content:center;padding:0;}
.uv-loc-close:hover{background:#E2E8F0;color:#0F172A;}
.uv-loc-searchbar{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid #EEF2F7;color:#64748B;}
.uv-loc-searchbar input{flex:1;border:1px solid #CBD5E1;border-radius:12px;padding:10px 12px;font:500 15px Inter,sans-serif;}
.uv-loc-tree{overflow:auto;padding:8px 12px;flex:1;}
.uv-loc-node{display:flex;align-items:center;gap:6px;padding:2px 0;}
/* Botón de desplegar (chevron): área táctil cómoda, hover y foco visibles, giro suave */
.uv-loc-exp{border:0;background:transparent;color:#64748B;cursor:pointer;width:30px;height:30px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;
  transition:background .15s,color .15s,transform .22s cubic-bezier(.4,0,.2,1);}
.uv-loc-exp:hover{background:#EFF6FF;color:#2563EB;}
.uv-loc-exp:focus-visible{outline:2px solid #2563EB;outline-offset:1px;}
.uv-loc-exp i{transition:transform .22s cubic-bezier(.4,0,.2,1);pointer-events:none;}
.uv-loc-node.open > .uv-loc-exp{color:#2563EB;background:#EFF6FF;}
.uv-loc-node.open > .uv-loc-exp i{transform:rotate(90deg);}
.uv-loc-exp-none{width:30px;display:inline-block;flex:0 0 30px;}
.uv-loc-check{display:flex;align-items:center;gap:8px;font:600 15px/1.3 Inter,sans-serif;color:#0F172A;cursor:pointer;padding:6px 8px;border-radius:8px;flex:1;transition:background .15s;}
.uv-loc-check:hover{background:#F8FAFC;}
.uv-loc-check input{width:17px;height:17px;accent-color:#2563EB;}
.uv-loc-flat .uv-loc-check span{font-weight:500;}
.uv-loc-children{margin-left:30px;border-left:1px dashed #D9E1EC;padding-left:6px;display:none;}
.uv-loc-children.uv-open{display:block;animation:uvLocDown .22s cubic-bezier(.4,0,.2,1);}
@keyframes uvLocDown{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.uv-loc-loading{color:#94A3B8;font:500 14px Inter,sans-serif;padding:10px 6px;}
.uv-loc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid #EEF2F7;}
.uv-loc-hint{color:#64748B;font:500 12.5px Inter,sans-serif;}
.uv-loc-done{background:#2563EB;color:#fff;border:0;border-radius:999px;padding:10px 22px;font:800 14px Montserrat,sans-serif;cursor:pointer;}
.uv-loc-done:hover{background:#1E3A8A;}

/* Nivel de la zona (Comunidad / Provincia / Municipio) junto al nombre en el explorador.
   Sin esto, «València» (ciudad) y «Valencia» (provincia) se leen igual y marcar una por otra
   reduce la cobertura del anuncio de 266 municipios a 1. */
.uv-loc-nivel{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;
  background:#F1F5F9;color:#64748B;font:600 11px Inter,sans-serif;font-style:normal;vertical-align:1px;}
.uv-loc-node.open > .uv-loc-check .uv-loc-nivel,
.uv-loc-check input:checked ~ span .uv-loc-nivel{background:#DBEAFE;color:#2563EB;}
