.bbm-booking-wrapper {
    max-width: 720px;
    margin: 30px auto;
    padding: 0 15px;
}

.bbm-booking-card {
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
}

.bbm-booking-card h3 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 28px;
}

.bbm-intro {
    margin-top: 0;
    color: #666;
}

.bbm-field {
    margin-bottom: 16px;
}

.bbm-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}

.bbm-input {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding: 10px 12px;
    box-sizing: border-box;
}

.bbm-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0;
}

.bbm-slot {
    border: 1px solid #222;
    background: #fff;
    color: #222;
    border-radius: 999px;
    padding: 10px 18px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bbm-slot:hover,
.bbm-slot-selected {
    background: #222;
    color: #fff;
}

.bbm-selected-box {
    background: #f7f7f7;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 16px;
}

.bbm-button {
    width: 100%;
    border: 0;
    background: #222;
    color: #fff;
    border-radius: 10px;
    padding: 14px 18px;
    font-weight: 700;
    cursor: pointer;
}

.bbm-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.bbm-message {
    margin-top: 14px;
    font-weight: 600;
}

.bbm-message-success {
    color: #0a7a2f;
}

.bbm-message-error {
    color: #b00020;
}

.bbm-loading,
.bbm-empty {
    width: 100%;
    color: #666;
}

@media (max-width: 600px) {
    .bbm-booking-card {
        padding: 20px;
        border-radius: 14px;
    }

    .bbm-slot {
        flex: 1 1 calc(50% - 10px);
    }
}
