/* ===========================
   TOUR BOOKING FORM
=========================== */

.form-heading{
    border-bottom: 1px solid #0000001f;
    padding-bottom: 15px;
}

.jpt-booking-wrapper,
.jpt-booking-wrapper *{
    font-family: "Inter", sans-serif !important;
}
.booking-group input::placeholder{
    color:#9CA3AF;
    opacity:1;
}
.jpt-booking-wrapper{
    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:16px;
    padding:28px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    margin:auto;
}

.jpt-booking-wrapper h3{
    margin:0 0 20px;
    font-size:24px;
    font-weight:700;
    color:#111827;
}

.booking-group{
    margin-bottom:18px;
}

.booking-group label{
    display:block;
    font-size:14px;
    font-weight:600;
    color:#374151;
    margin-bottom:8px;
}

.booking-group input,
.booking-group select{
    width:100%;
    height:40px;
    border:1px solid #dcdcdc;
    border-radius:5px;
    padding:0 16px;
    font-size:14px;
    background:#dcdcdc86;
    opacity: 1;
    color: black;
    transition:.3s;
    outline:none;
    box-sizing:border-box;
}

.booking-group input:focus,
.booking-group select:focus{
    border-color:#556B2F !important;
    box-shadow:0 0 0 3px rgba(245,166,35,.15);
}

.booking-group input[type="number"]{
    text-align:center;
}

.booking-total{
   background: #ffffff;
    margin: 25px 0;
    text-align: center;
}

.booking-total .total-label{
    font-size:14px;
    color:#666;
    margin-bottom:8px;
}

#booking_total{
    font-size:36px;
    font-weight:700;
    color:#556B2F;
    line-height:1;
}

.booking-btn{
    width:100%;
    height:45px;
    border:none;
    border-radius:5px;
    background:#556B2F;
    color:#fff;
    font-size:17px;
    font-weight:500;
    cursor:pointer;
    transition:.3s;
}

.booking-btn:hover{
    background:#17242B;
    transform:translateY(-2px);
}

.booking-btn:active{
    transform:scale(.98);
}

.booking-group select{
    cursor:pointer;
}


.selected-service{
    margin-top:10px;
    text-align:center;
    color:#777;
    font-size:14px;
}

.selected-service strong{
    color:#222;
    font-weight:600;
}



.jpt-checkout-booking{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:20px;
    border-radius:12px;
    margin-bottom:25px;
}

.jpt-checkout-booking h3{
    margin-bottom:15px;
    font-size:22px;
}

.jpt-checkout-booking table{
    width:100%;
}

.jpt-checkout-booking th{
    text-align:left;
    padding:10px 0;
    width:35%;
}

.jpt-checkout-booking td{
    padding:10px 0;
}
/* Responsive */

@media(max-width:767px){

    .jpt-booking-wrapper{
        padding:20px;
        border-radius:12px;
    }

    #booking_total{
        font-size:30px;
    }

}



/* ===== PHONE FIELD FINAL FIX ===== */

.iti {
    width: 100% !important;
}

/* Phone input */
.iti input#customer_phone {
    width: 100% !important;
    height: 44px !important;
    padding-left: 85px !important;
    padding-right: 12px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

/* Flag + country code container */
.iti .iti__country-container {
    left: 0 !important;
}

/* Selected country */
.iti .iti__selected-country {
    padding: 0 8px 0 0px !important;
}

/* Flag */
.iti .iti__flag {
    margin-right: 3px !important;
}

/* +91 */
.iti .iti__selected-dial-code {
    margin-left: 0px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
        margin-top: 0px !important;

}

/* Mobile */
@media (max-width: 767px) {

    .iti input#customer_phone {
        padding-left: 95px !important;
        padding-right: 8px !important;
        font-size: 13px !important;
    }
}