.availability-hero{
    background:linear-gradient(135deg, #eef7f2 0%, #f8fafb 50%, #f4f8f6 100%);
    padding:90px 0;
    position:relative;
    overflow:hidden;
}

.availability-hero::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:300px;
    height:300px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
}

.availability-hero::after{
    content:"";
    position:absolute;
    bottom:-100px;
    left:-100px;
    width:250px;
    height:250px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
}

.availability-hero .container{
    position:relative;
    z-index:2;
}

.availability-hero-title{
    color:black;
    font-size:clamp(2.2rem,5vw,4rem);
    font-weight:800;
    margin-bottom:18px;
}

.availability-hero-lead{
    max-width:750px;
    margin:auto;
    color:gray;
    font-size:1.15rem;
    line-height:1.8;
}
.zip-check-section{
    background:linear-gradient(135deg, #eef7f2 0%, #f8fafb 50%, #f4f8f6 100%);
}

.zip-check-card{
    background:#fff;
    padding:35px;
    border-radius:24px;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
    text-align:center;
}

.zip-check-title{
    font-size:32px;
    font-weight:800;
    color:#172331;
    margin-bottom:10px;
}

.zip-check-lead{
    color:#667788;
    font-size:16px;
    line-height:1.8;
    margin-bottom:25px;
}

.zip-check-bar{
    display:flex;
    align-items:center;
    background:#fff;
    border:2px solid #e5e7eb;
    border-radius:60px;
    overflow:hidden;
    padding:6px;
    box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.zip-check-icon{
    width:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0d8b55;
    font-size:20px;
    flex-shrink:0;
}

.zip-check-input{
    flex:1;
    border:none;
    outline:none;
    padding:14px 10px;
    font-size:16px;
    background:transparent;
}

.zip-check-btn{
    border:none;
    background:#0d8b55;
    color:#fff;
    font-weight:700;
    padding:14px 28px;
    border-radius:50px;
    transition:.3s ease;
}

.zip-check-btn:hover{
    background:#0a7547;
}

.zip-check-error{
    margin-top:12px;
    color:#dc3545;
    font-size:14px;
}
.availability-form-card{
    background:#fff;
    padding:40px;
    border-radius:24px;
    box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.availability-form-card .form-label{
    font-weight:600;
    color:#172331;
    margin-bottom:8px;
}

.availability-form-card .form-control,
.availability-form-card .form-select{
    border:1px solid #dce4ea;
    border-radius:14px;
    padding:14px 16px;
    min-height:54px;
}

.availability-form-card .form-control:focus,
.availability-form-card .form-select:focus{
    border-color:#0d8b55;
    box-shadow:0 0 0 .15rem rgba(13,139,85,.15);
}

.availability-form-card .input-group .btn{
    border-radius:14px;
}

.form-disclaimer{
    font-size:13px;
    line-height:1.8;
    color:#667788;
    margin-bottom:20px;
}

.form-disclaimer a{
    color:#0d8b55;
    text-decoration:none;
    font-weight:600;
}

.form-disclaimer a:hover{
    text-decoration:underline;
}

