
.npcsh-wrap,.npcsh-wrap *{box-sizing:border-box}
.npcsh-wrap{width:100%;font-family:inherit}
.npcsh{
    --npcsh-bg:#FFFFFF;
    --npcsh-border:#EDE9FE;

    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 170px minmax(220px,.42fr);
    align-items:center;
    gap:0;

    background:var(--npcsh-bg);
    border:1px solid var(--npcsh-border);
    box-shadow:0 16px 40px rgba(124,58,237,.08),0 4px 14px rgba(17,24,39,.04);
}

.npcsh.npcsh-no-distance{
    grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
}

.npcsh-location,
.npcsh-radius{
    min-width:0;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 18px;
}

.npcsh-location-icon{
    width:24px;
    height:24px;
    flex:0 0 24px;
}

.npcsh-location-icon svg,
.npcsh-search-icon svg{
    width:100%;
    height:100%;
    display:block;
}

.npcsh-field{
    min-width:0;
    width:100%;
}

.npcsh label{
    display:block;
    margin:0 0 2px;
    font:inherit;
    font-size:.72em;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.npcsh input,
.npcsh select{
    width:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font:inherit!important;
    line-height:1.2!important;
}

.npcsh select{
    cursor:pointer;
}

.npcsh-divider{
    width:1px;
    height:42px;
    background:#E8E5EF;
}

.npcsh-submit{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    margin:0!important;
    padding:0 24px!important;
    border:0!important;

    font:inherit!important;
    font-weight:800!important;
    cursor:pointer;
    white-space:nowrap;

    transition:transform .15s ease,filter .15s ease;
}

.npcsh-submit:hover{
    transform:translateY(-1px);
    filter:brightness(1.03);
}

.npcsh-submit:active{
    transform:translateY(1px);
}

.npcsh-search-icon{
    width:23px;
    height:23px;
    flex:0 0 23px;
}

@media(max-width:767px){
    .npcsh,
    .npcsh.npcsh-no-distance{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:8px;
    }

    .npcsh-location,
    .npcsh-radius{
        width:100%;
        padding:0 13px;
        border:1px solid #ECEAF3;
        border-radius:12px;
        background:#fff;
    }

    .npcsh-divider{
        display:none;
    }

    .npcsh-submit{
        width:100%;
    }
}
