.reserva-modal {
    display:none;
    position:fixed;
    z-index:9999;
    left:0; top:0;
    width:100%; height:100%;
    background:rgba(0,0,0,0.6);
    align-items:center;
    justify-content:center;
}
.reserve-modal-content {
    background:#fff;
    padding:30px;
    border-radius:8px;
    position:relative;
}
.close {
    position:absolute;
    top:10px;
    right:15px;
    font-size:28px;
    cursor:pointer;
}
#form-reserve label {
    display:block;
    font-weight: normal;
    font-size: .875rem;
}
#form-reserve input,
#form-reserve textarea,
#form-reserve select {
    width:100%;
    padding:10px;
    border:1px solid #ccc;
    border-radius: 0;
}
#form-reserve button {
    background:#0073aa;
    color:#fff;
    padding:12px;
    border:none;
    width:100%;
    margin-top:15px;
    border-radius:0;
    cursor:pointer;
}
.form-field{
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: .875rem;
}
/* CHANGE: Added styles for multistep form */
.form-step {
    display: none;
}
.form-step.active {
    display: block;
}
.btn-nav {
    background: #0073aa;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin: 5px;
    width: auto;
    display: inline-block;
}
.btn-nav:disabled {
    background: #ccc;
    cursor: not-allowed;
}
.overview-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}
.overview-table th, .overview-table td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
}
#reserve-result {
    margin-top:15px;
    padding:15px;
    background:#d4edda;
    border:1px solid #c3e6cb;
    border-radius:0;
    display:none;
}
/* CHANGE: Added error class for validation */
span.error {
    color: #d63638;
    font-size: 0.875em;
    margin-top: .5rem;
    display: block;
}
#form-reserve input.error-field{
	border-color: #d63638 !important;
}