html,
body{
    margin:0;
    padding:0;
    background:transparent;
    font-family:Arial, Helvetica, sans-serif;
    overflow:hidden;
}

.ss-search-wrap{
    box-sizing:border-box;
    width:100%;
    padding:0 12px;
}

.ss-search{
    box-sizing:border-box;
    width:100%;
    max-width:980px;
    margin:0 auto;
    padding:18px 0;
    color:#1f2d3a;
}

.ss-line{
    width:100%;
    height:2px;
    background:linear-gradient(
        to right,
        transparent,
        #9aa6b2 12%,
        #9aa6b2 88%,
        transparent
    );
}

.ss-line-top{
    margin:0 0 18px 0;
}

.ss-line-bottom{
    margin:20px 0 0 0;
}

.ss-search h2{
    margin:0 0 8px 0;
    font-size:24px;
    line-height:1.25;
    font-weight:700;
    text-align:center;
    color:#243746;
}

.ss-intro{
    max-width:760px;
    margin:0 auto 18px auto;
    font-size:15px;
    line-height:1.45;
    color:#4f5f6d;
    text-align:center;
}

.ss-grid{
    display:grid;
    grid-template-columns:1fr 1fr 180px 250px;
    gap:12px;
    align-items:end;
}

.ss-field{
    display:block;
}

.ss-field span{
    display:block;
    margin:0 0 6px 0;
    font-size:14px;
    font-weight:700;
    color:#243746;
}

.ss-field input,
.ss-field select{
    box-sizing:border-box;
    width:100%;
    min-height:48px;
    padding:10px 12px;
    border:1px solid #c9d3dc;
    border-radius:10px;
    background:#ffffff;
    color:#1f2d3a;
    font-size:16px;
    line-height:1.2;
    appearance:auto;
}

.ss-field input:focus,
.ss-field select:focus{
    outline:2px solid rgba(0,119,182,.22);
    border-color:#0077b6;
}

.ss-button{
    box-sizing:border-box;
    width:100%;
    min-height:48px;
    padding:10px 16px;
    border:0;
    border-radius:10px;
    background:#0077b6;
    color:#ffffff;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
}

.ss-button:hover,
.ss-button:focus{
    background:#005f8f;
}

.ss-error{
    display:none;
    margin:12px 0 0 0;
    padding:10px 12px;
    border-radius:8px;
    background:#fff3f3;
    color:#a00000;
    font-size:14px;
    line-height:1.35;
    text-align:center;
}

.ss-error.is-visible{
    display:block;
}

@media (max-width:900px){
    .ss-grid{
        grid-template-columns:1fr 1fr;
    }

    .ss-button{
        grid-column:1 / -1;
    }
}

@media (max-width:560px){
    .ss-search-wrap{
        padding:0 10px;
    }

    .ss-search{
        padding:14px 0;
    }

    .ss-search h2{
        font-size:21px;
        text-align:left;
    }

    .ss-intro{
        text-align:left;
        font-size:14px;
        margin-bottom:14px;
    }

    .ss-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .ss-field input,
    .ss-field select,
    .ss-button{
        min-height:46px;
    }
}
