.bsb-booking {
    width: 100%;
    max-width: 950px;
    margin: 40px auto;
    padding: 48px;
    color: #ffffff;
    background: #d1cfcf;
    border: 1px solid #767676;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(176, 176, 176, 0.789);
    box-sizing: border-box;
}

.bsb-booking__header {
    margin-bottom: 35px;
    text-align: center;
}

.bsb-booking__label {
    display: block;
    margin-bottom: 12px;
    color: #767676;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
}

.bsb-booking h2 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 48px;
}

.bsb-booking__header p {
    color: #9b9287;
}

.bsb-booking__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.bsb-booking label {
    display: grid;
    gap: 8px;
    margin-bottom: 20px;
    font-weight: 600;
}

.bsb-booking input,
.bsb-booking select,
.bsb-booking textarea {
    width: 100%;
    padding: 14px;
    color: #111111;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 7px;
    box-sizing: border-box;
    font: inherit;
}

.bsb-booking input:focus,
.bsb-booking select:focus,
.bsb-booking textarea:focus {
    border-color: #767676;
    outline: 3px solid rgba(201, 165, 106, 0.2);
}

.bsb-booking button {
    width: 100%;
    padding: 16px;
    color: #111111;
    background: #767676;
    border: none;
    border-radius: 7px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

.bsb-booking button:hover {
    background: #767676;
}

.bsb-booking button:disabled {
    cursor: wait;
    opacity: 0.6;
}

#bsb-message {
    margin-top: 20px;
}

.bsb-success {
    padding: 14px;
    color: #14532d;
    background: #dcfce7;
    border-radius: 7px;
}

.bsb-error {
    padding: 14px;
    color: #312c2c;
    background: #fee2e2;
    border-radius: 7px;
}

@media (max-width: 700px) {
    .bsb-booking {
        padding: 28px 18px;
    }

    .bsb-booking__grid {
        grid-template-columns: 1fr;
    }

    .bsb-booking h2 {
        font-size: 36px;
    }
}
