.vs-book-date { position: relative; min-width: 0; }
.vs-book-date > input[type=text] { width:100%; padding-inline-end:46px; }
.vs-book-date > input[type=text]:focus-visible, .vs-date-picker:focus-within {
    outline:2px solid #68243c; outline-offset:2px;
}
.vs-date-picker {
    position:absolute; inset-block:0; inset-inline-end:0; width:44px; color:#68243c;
    display:grid; place-items:center; border-radius:5px;
}
.vs-book-date .vs-date-picker input.vs-calendar-input {
    position:absolute; inset:0; width:100%; height:100%; min-height:0;
    opacity:0; padding:0; margin:0; cursor:pointer;
}
.vs-availability form button.vs-request-booking {
    width:100%; min-height:48px; padding:10px 16px; display:flex; align-items:center;
    justify-content:center; gap:10px; border:1px solid #68243c; border-radius:6px;
    background:#68243c; color:#fff; font-size:16px; font-weight:700; line-height:1.25;
    text-align:center; box-shadow:0 2px 4px #3c13252a; cursor:pointer;
}
.vs-availability form button.vs-request-booking:hover { background:#4e192d; }
.vs-availability form button.vs-request-booking:focus-visible { outline:3px solid #a77032; outline-offset:3px; }
.vs-request-booking svg { flex:none; width:17px; height:17px; color:inherit; }
