.vnbt-book-btn {
    background-color: #0066CC;
    color: #ffffff;
    border-radius: 50px;
}

.vnbt-book-btn:hover {
    background-color: #FF8A00;
}

.vnbt-booking-header{
    text-align:center;
    margin-bottom:28px;
}

.vnbt-booking-title{
    margin:0;
    font-size:28px;
    font-weight:700;
    color:#111827;
}

.vnbt-booking-price{
    margin-top:10px;
    font-size:18px;
    font-weight:600;
    color:#0F766E;
}

/* Overlay */

.vnbt-popup{
    position: fixed;
    inset: 0;

    display: none;
    justify-content: center;
    align-items: center;

    padding: 24px;

    background: rgba(18,24,38,.55);
    backdrop-filter: blur(8px);
    z-index: 999999;
}


/* Popup */

.vnbt-popup-inner{
    width: min(80vw, 560px);
    max-height: 80vh;

    overflow-y: auto;

    background: #fff;
    border-radius: 28px;

    padding: 32px;

    position: relative;

    box-shadow:
        0 30px 60px rgba(0,0,0,.12),
        0 8px 24px rgba(0,0,0,.08);
}


@keyframes vnbtPopup{

    from{
        opacity:0;
        transform:translateY(20px) scale(.96);
    }

    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }

}


/* Close */

.vnbt-close{

    position:absolute;
    top:18px;
    right:18px;

    width:42px;
    height:42px;

    border:none;

    border-radius:50%;

    background:#f3f5f7;

    cursor:pointer;

    font-size:22px;

    transition:.25s;

}

.vnbt-close:hover{

    background:#111827;
    color:#fff;

}


/* Form */

#vnbt-form{

    display:flex;
    flex-direction:column;
    gap:18px;

}


/* Input */

#vnbt-form input,
#vnbt-form textarea{

    width:100%;

    border:1px solid #E4E7EC;

    border-radius:16px;

    background:#fff;

    padding:15px 18px;

    font-size:15px;

    transition:.25s;

    box-sizing:border-box;

}


#vnbt-form input:focus,
#vnbt-form textarea:focus{

    outline:none;

    border-color:#2F80ED;

    box-shadow:
        0 0 0 4px rgba(47,128,237,.12);

}


#vnbt-form textarea{

    resize:vertical;

    min-height:120px;

}


/* Button */

#vnbt-form button[type=submit]{

    border:none;

    border-radius:16px;

    padding:16px;

    background:#111827;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}


#vnbt-form button[type=submit]:hover{

    transform:translateY(-2px);

    background:#2563EB;

    box-shadow:0 12px 30px rgba(37,99,235,.28);

}


#vnbt-form button:disabled{

    opacity:.65;
    cursor:not-allowed;
    transform:none;

}


/* Loading */

.vnbt-loading{

    opacity:.7;
    pointer-events:none;

}


/* Message */

.vnbt-message{

    display:none;

    padding:15px 18px;

    border-radius:16px;

    font-size:15px;

    line-height:1.6;

}


.vnbt-message.success{

    display:block;

    background:#ECFDF3;

    color:#027A48;

    border:1px solid #ABEFC6;

}


.vnbt-message.error{

    display:block;

    background:#FEF3F2;

    color:#B42318;

    border:1px solid #FECDCA;

}


/* Placeholder */

#vnbt-form input::placeholder,
#vnbt-form textarea::placeholder{

    color:#98A2B3;

}


/* Mobile */

@media(max-width:768px){

    .vnbt-popup{

        padding:14px;

    }

    .vnbt-popup-inner{

        padding:24px;
        border-radius:20px;

    }

}